Browse Source

Update user name

Ray 4 năm trước cách đây
mục cha
commit
7e9028ae08

+ 2 - 2
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)
 *
 ********************************************************************************************/
 

+ 156 - 28
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;
-}
+}

+ 2 - 2
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)
 *
 ********************************************************************************************/
 

BIN
examples/shaders/resources/plasma.png


+ 3 - 3
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)
 *
 ********************************************************************************************/
 

+ 2 - 2
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)
 *
 ********************************************************************************************
 *

+ 2 - 2
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)
 *
 ********************************************************************************************
 *