summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorRay <[email protected]>2020-12-03 20:17:50 +0100
committerRay <[email protected]>2020-12-03 20:17:50 +0100
commit7e9028ae08993a33266078178ecc4f63ae22c2ee (patch)
tree09626c1ae370466a9e4c61973b8f08d3f41ec5ea /examples
parent1c9726fd8ccc80dbbf9843532a7053052b0c58ba (diff)
downloadraylib-7e9028ae08993a33266078178ecc4f63ae22c2ee.tar.gz
raylib-7e9028ae08993a33266078178ecc4f63ae22c2ee.zip
Update user name
Diffstat (limited to 'examples')
-rw-r--r--examples/audio/audio_multichannel_sound.c4
-rw-r--r--examples/core/core_basic_window.c184
-rw-r--r--examples/core/core_quat_conversion.c4
-rw-r--r--examples/shaders/resources/plasma.pngbin42966 -> 581880 bytes
-rw-r--r--examples/shaders/shaders_fog.c6
-rw-r--r--examples/shaders/shaders_simple_mask.c4
-rw-r--r--examples/shaders/shaders_spotlight.c4
7 files changed, 167 insertions, 39 deletions
diff --git a/examples/audio/audio_multichannel_sound.c b/examples/audio/audio_multichannel_sound.c
index fe811d33..b9a76f9d 100644
--- a/examples/audio/audio_multichannel_sound.c
+++ b/examples/audio/audio_multichannel_sound.c
@@ -5,9 +5,9 @@
* This example has been created using raylib 2.6 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
-* Example contributed by Chris Camacho (@codifies) and reviewed by Ramon Santamaria (@raysan5)
+* Example contributed by Chris Camacho (@chriscamacho) and reviewed by Ramon Santamaria (@raysan5)
*
-* Copyright (c) 2019 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5)
+* Copyright (c) 2019 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5)
*
********************************************************************************************/
diff --git a/examples/core/core_basic_window.c b/examples/core/core_basic_window.c
index dce8622e..7446bade 100644
--- a/examples/core/core_basic_window.c
+++ b/examples/core/core_basic_window.c
@@ -1,22 +1,11 @@
/*******************************************************************************************
*
-* raylib [core] example - Basic window
+* raylib [core] example - window flags
*
-* Welcome to raylib!
-*
-* To test examples in Notepad++, provided with default raylib installer package,
-* just press F6 and run [raylib_compile_execute] script, it will compile and execute.
-* Note that compiled executable is placed in the same folder as .c file
-*
-* You can find all basic examples on [C:\raylib\raylib\examples] directory and
-* raylib official webpage: [www.raylib.com]
-*
-* Enjoy using raylib. :)
-*
-* This example has been created using raylib 1.0 (www.raylib.com)
+* This example has been created using raylib 3.5 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
-* Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
+* Copyright (c) 2020 Ramon Santamaria (@raysan5)
*
********************************************************************************************/
@@ -25,39 +14,178 @@
int main(void)
{
// Initialization
- //--------------------------------------------------------------------------------------
+ //---------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
- InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window");
+ // Possible window flags
+ /*
+ FLAG_VSYNC_HINT
+ FLAG_FULLSCREEN_MODE -> not working properly -> wrong scaling!
+ FLAG_WINDOW_RESIZABLE
+ FLAG_WINDOW_UNDECORATED
+ FLAG_WINDOW_TRANSPARENT
+ FLAG_WINDOW_HIDDEN
+ FLAG_WINDOW_MINIMIZED -> Not supported on window creation
+ FLAG_WINDOW_MAXIMIZED -> Not supported on window creation
+ FLAG_WINDOW_UNFOCUSED
+ FLAG_WINDOW_TOPMOST
+ FLAG_WINDOW_HIGHDPI -> errors after minimize-resize, fb size is recalculated
+ FLAG_WINDOW_ALWAYS_RUN
+ FLAG_MSAA_4X_HINT
+ */
+
+ // Set configuration flags for window creation
+ SetConfigFlags(FLAG_VSYNC_HINT | FLAG_MSAA_4X_HINT | FLAG_WINDOW_HIGHDPI);
+ InitWindow(screenWidth, screenHeight, "raylib [core] example - window flags");
+
+ Vector2 ballPosition = { GetScreenWidth() / 2, GetScreenHeight() / 2 };
+ Vector2 ballSpeed = { 5.0f, 4.0f };
+ int ballRadius = 20;
+
+ int framesCounter = 0;
- SetTargetFPS(60); // Set our game to run at 60 frames-per-second
- //--------------------------------------------------------------------------------------
+ //SetTargetFPS(60); // Set our game to run at 60 frames-per-second
+ //----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
- //----------------------------------------------------------------------------------
- // TODO: Update your variables here
- //----------------------------------------------------------------------------------
+ //-----------------------------------------------------
+ if (IsKeyPressed(KEY_F)) ToggleFullscreen(); // modifies window size when scaling!
+
+ if (IsKeyPressed(KEY_R))
+ {
+ if (IsWindowState(FLAG_WINDOW_RESIZABLE)) ClearWindowState(FLAG_WINDOW_RESIZABLE);
+ else SetWindowState(FLAG_WINDOW_RESIZABLE);
+ }
+
+ if (IsKeyPressed(KEY_D))
+ {
+ if (IsWindowState(FLAG_WINDOW_UNDECORATED)) ClearWindowState(FLAG_WINDOW_UNDECORATED);
+ else SetWindowState(FLAG_WINDOW_UNDECORATED);
+ }
+
+ if (IsKeyPressed(KEY_H))
+ {
+ if (!IsWindowState(FLAG_WINDOW_HIDDEN)) SetWindowState(FLAG_WINDOW_HIDDEN);
+
+ framesCounter = 0;
+ }
+
+ if (IsWindowState(FLAG_WINDOW_HIDDEN))
+ {
+ framesCounter++;
+ if (framesCounter >= 240) ClearWindowState(FLAG_WINDOW_HIDDEN); // Show window after 3 seconds
+ }
+
+ if (IsKeyPressed(KEY_N))
+ {
+ if (!IsWindowState(FLAG_WINDOW_MINIMIZED)) MinimizeWindow();
+
+ framesCounter = 0;
+ }
+
+ if (IsWindowState(FLAG_WINDOW_MINIMIZED))
+ {
+ framesCounter++;
+ if (framesCounter >= 240) RestoreWindow(); // Restore window after 3 seconds
+ }
+
+ if (IsKeyPressed(KEY_M))
+ {
+ // NOTE: Requires FLAG_WINDOW_RESIZABLE enabled!
+ if (IsWindowState(FLAG_WINDOW_MAXIMIZED)) RestoreWindow();
+ else MaximizeWindow();
+ }
+
+ if (IsKeyPressed(KEY_U))
+ {
+ if (IsWindowState(FLAG_WINDOW_UNFOCUSED)) ClearWindowState(FLAG_WINDOW_UNFOCUSED);
+ else SetWindowState(FLAG_WINDOW_UNFOCUSED);
+ }
+
+ if (IsKeyPressed(KEY_T))
+ {
+ if (IsWindowState(FLAG_WINDOW_TOPMOST)) ClearWindowState(FLAG_WINDOW_TOPMOST);
+ else SetWindowState(FLAG_WINDOW_TOPMOST);
+ }
+
+ if (IsKeyPressed(KEY_A))
+ {
+ if (IsWindowState(FLAG_WINDOW_ALWAYS_RUN)) ClearWindowState(FLAG_WINDOW_ALWAYS_RUN);
+ else SetWindowState(FLAG_WINDOW_ALWAYS_RUN);
+ }
+
+ if (IsKeyPressed(KEY_V))
+ {
+ if (IsWindowState(FLAG_VSYNC_HINT)) ClearWindowState(FLAG_VSYNC_HINT);
+ else SetWindowState(FLAG_VSYNC_HINT);
+ }
+
+ // Bouncing ball logic
+ ballPosition.x += ballSpeed.x;
+ ballPosition.y += ballSpeed.y;
+ if ((ballPosition.x >= (GetScreenWidth() - ballRadius)) || (ballPosition.x <= ballRadius)) ballSpeed.x *= -1.0f;
+ if ((ballPosition.y >= (GetScreenHeight() - ballRadius)) || (ballPosition.y <= ballRadius)) ballSpeed.y *= -1.0f;
+ //-----------------------------------------------------
// Draw
- //----------------------------------------------------------------------------------
+ //-----------------------------------------------------
BeginDrawing();
- ClearBackground(RAYWHITE);
+ if (IsWindowState(FLAG_WINDOW_TRANSPARENT)) ClearBackground(BLANK);
+ else ClearBackground(RAYWHITE);
+
+ DrawCircleV(ballPosition, ballRadius, MAROON);
+ DrawRectangleLinesEx((Rectangle) { 0, 0, GetScreenWidth(), GetScreenHeight() }, 4, RAYWHITE);
+
+ DrawCircleV(GetMousePosition(), 10, DARKBLUE);
+
+ DrawFPS(10, 10);
+
+ DrawText(FormatText("Screen Size: [%i, %i]", GetScreenWidth(), GetScreenHeight()), 10, 40, 10, GREEN);
+
+ // Draw window state info
+ DrawText("Following flags can set after window creation:", 10, 60, 10, GRAY);
+ if (IsWindowState(FLAG_FULLSCREEN_MODE)) DrawText("[F] FLAG_FULLSCREEN_MODE: on", 10, 80, 10, LIME);
+ else DrawText("[F] FLAG_FULLSCREEN_MODE: off", 10, 80, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_RESIZABLE)) DrawText("[R] FLAG_WINDOW_RESIZABLE: on", 10, 100, 10, LIME);
+ else DrawText("[R] FLAG_WINDOW_RESIZABLE: off", 10, 100, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_UNDECORATED)) DrawText("[D] FLAG_WINDOW_UNDECORATED: on", 10, 120, 10, LIME);
+ else DrawText("[D] FLAG_WINDOW_UNDECORATED: off", 10, 120, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_HIDDEN)) DrawText("[H] FLAG_WINDOW_HIDDEN: on", 10, 140, 10, LIME);
+ else DrawText("[H] FLAG_WINDOW_HIDDEN: off", 10, 140, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_MINIMIZED)) DrawText("[N] FLAG_WINDOW_MINIMIZED: on", 10, 160, 10, LIME);
+ else DrawText("[N] FLAG_WINDOW_MINIMIZED: off", 10, 160, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_MAXIMIZED)) DrawText("[M] FLAG_WINDOW_MAXIMIZED: on", 10, 180, 10, LIME);
+ else DrawText("[M] FLAG_WINDOW_MAXIMIZED: off", 10, 180, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_UNFOCUSED)) DrawText("[G] FLAG_WINDOW_UNFOCUSED: on", 10, 200, 10, LIME);
+ else DrawText("[U] FLAG_WINDOW_UNFOCUSED: off", 10, 200, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_TOPMOST)) DrawText("[T] FLAG_WINDOW_TOPMOST: on", 10, 220, 10, LIME);
+ else DrawText("[T] FLAG_WINDOW_TOPMOST: off", 10, 220, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_ALWAYS_RUN)) DrawText("[A] FLAG_WINDOW_ALWAYS_RUN: on", 10, 240, 10, LIME);
+ else DrawText("[A] FLAG_WINDOW_ALWAYS_RUN: off", 10, 240, 10, MAROON);
+ if (IsWindowState(FLAG_VSYNC_HINT)) DrawText("[V] FLAG_VSYNC_HINT: on", 10, 260, 10, LIME);
+ else DrawText("[V] FLAG_VSYNC_HINT: off", 10, 260, 10, MAROON);
- DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);
+ DrawText("Following flags can only be set before window creation:", 10, 300, 10, GRAY);
+ if (IsWindowState(FLAG_WINDOW_HIGHDPI)) DrawText("FLAG_WINDOW_HIGHDPI: on", 10, 320, 10, LIME);
+ else DrawText("FLAG_WINDOW_HIGHDPI: off", 10, 320, 10, MAROON);
+ if (IsWindowState(FLAG_WINDOW_TRANSPARENT)) DrawText("FLAG_WINDOW_TRANSPARENT: on", 10, 340, 10, LIME);
+ else DrawText("FLAG_WINDOW_TRANSPARENT: off", 10, 340, 10, MAROON);
+ if (IsWindowState(FLAG_MSAA_4X_HINT)) DrawText("FLAG_MSAA_4X_HINT: on", 10, 360, 10, LIME);
+ else DrawText("FLAG_MSAA_4X_HINT: off", 10, 360, 10, MAROON);
EndDrawing();
- //----------------------------------------------------------------------------------
+ //-----------------------------------------------------
}
// De-Initialization
- //--------------------------------------------------------------------------------------
+ //---------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
- //--------------------------------------------------------------------------------------
+ //----------------------------------------------------------
return 0;
-} \ No newline at end of file
+}
diff --git a/examples/core/core_quat_conversion.c b/examples/core/core_quat_conversion.c
index 0b2bb01e..85231a89 100644
--- a/examples/core/core_quat_conversion.c
+++ b/examples/core/core_quat_conversion.c
@@ -8,9 +8,9 @@
* This example has been created using raylib 3.5 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
-* Example contributed by @chriscamacho and @codifies, reviewed by Ramon Santamaria (@raysan5)
+* Example contributed by Chris Camacho (@chriscamacho) and reviewed by Ramon Santamaria (@raysan5)
*
-* Copyright (c) 2020 @chriscamacho and @codifies
+* Copyright (c) 2020 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5)
*
********************************************************************************************/
diff --git a/examples/shaders/resources/plasma.png b/examples/shaders/resources/plasma.png
index ebdf13b7..01c2d883 100644
--- a/examples/shaders/resources/plasma.png
+++ b/examples/shaders/resources/plasma.png
Binary files differ
diff --git a/examples/shaders/shaders_fog.c b/examples/shaders/shaders_fog.c
index 35f0a9e7..78f8c9ca 100644
--- a/examples/shaders/shaders_fog.c
+++ b/examples/shaders/shaders_fog.c
@@ -10,9 +10,9 @@
* This example has been created using raylib 2.5 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
-* Example contributed by Chris Camacho (@codifies) and reviewed by Ramon Santamaria (@raysan5)
+* Example contributed by Chris Camacho (@chriscamacho) and reviewed by Ramon Santamaria (@raysan5)
*
-* Chris Camacho (@codifies - http://bedroomcoders.co.uk/) notes:
+* Chris Camacho (@chriscamacho - http://bedroomcoders.co.uk/) notes:
*
* This is based on the PBR lighting example, but greatly simplified to aid learning...
* actually there is very little of the PBR example left!
@@ -21,7 +21,7 @@
* a testement to the authors of raylib (including rlights.h) that the example
* came together fairly quickly.
*
-* Copyright (c) 2019 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5)
+* Copyright (c) 2019 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5)
*
********************************************************************************************/
diff --git a/examples/shaders/shaders_simple_mask.c b/examples/shaders/shaders_simple_mask.c
index cf1ee905..df0d2b6e 100644
--- a/examples/shaders/shaders_simple_mask.c
+++ b/examples/shaders/shaders_simple_mask.c
@@ -5,9 +5,9 @@
* This example has been created using raylib 2.5 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
-* Example contributed by Chris Camacho (@codifies) and reviewed by Ramon Santamaria (@raysan5)
+* Example contributed by Chris Camacho (@chriscamacho) and reviewed by Ramon Santamaria (@raysan5)
*
-* Copyright (c) 2019 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5)
+* Copyright (c) 2019 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5)
*
********************************************************************************************
*
diff --git a/examples/shaders/shaders_spotlight.c b/examples/shaders/shaders_spotlight.c
index d2394b4f..6c075441 100644
--- a/examples/shaders/shaders_spotlight.c
+++ b/examples/shaders/shaders_spotlight.c
@@ -5,10 +5,10 @@
* This example has been created using raylib 2.5 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
-* Example contributed by Chris Camacho (@codifies - http://bedroomcoders.co.uk/)
+* Example contributed by Chris Camacho (@chriscamacho - http://bedroomcoders.co.uk/)
* and reviewed by Ramon Santamaria (@raysan5)
*
-* Copyright (c) 2019 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5)
+* Copyright (c) 2019 Chris Camacho (@chriscamacho) and Ramon Santamaria (@raysan5)
*
********************************************************************************************
*