From ef0c18b4479410cef40f872aa2bd68a35f010126 Mon Sep 17 00:00:00 2001 From: evertonse Date: Tue, 29 Oct 2024 17:57:54 -0300 Subject: [PATCH] "[shapes] rectangle advanced: fix screen width and height to fit with other examples" --- examples/shapes/shapes_rectangle_advanced.c | 46 +++++++++++++----- examples/shapes/shapes_rectangle_advanced.png | Bin 16847 -> 6839 bytes 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/examples/shapes/shapes_rectangle_advanced.c b/examples/shapes/shapes_rectangle_advanced.c index ee1bfd2e..a103e82a 100644 --- a/examples/shapes/shapes_rectangle_advanced.c +++ b/examples/shapes/shapes_rectangle_advanced.c @@ -3,6 +3,7 @@ #include // Draw rectangle with rounded edges and horizontal gradient, with options to choose side of roundness +// Adapted from both `DrawRectangleRounded` and `DrawRectangleGradientH` void DrawRectangleRoundedGradientH(Rectangle rec, float roundnessLeft, float roundnessRight, int segments, Color left, Color right) { // Neither side is rounded @@ -197,7 +198,7 @@ void DrawRectangleRoundedGradientH(Rectangle rec, float roundnessLeft, float rou rlBegin(RL_TRIANGLES); // Draw all of the 4 corners: [1] Upper Left Corner, [3] Upper Right Corner, [5] Lower Right Corner, [7] Lower Left Corner - for (int k = 0; k < 4; ++k) + for (int k = 0; k < 4; ++k) { Color color; float radius; @@ -274,18 +275,35 @@ void DrawRectangleRoundedGradientH(Rectangle rec, float roundnessLeft, float rou #endif } -int main(int argc, char *argv[]) { - InitWindow(600, 900, "Rectangle Rounded Gradient"); - double width = 600/2.0, height = 900/6.0; - - while (!WindowShouldClose()) { +int main(int argc, char *argv[]) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - rectangle avanced"); + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update rectangle bounds + //---------------------------------------------------------------------------------- + double width = GetScreenWidth()/2.0, height = GetScreenHeight()/6.0; + Rectangle rec = { + GetScreenWidth() / 2.0 - width/2, + GetScreenHeight() / 2.0 - (5)*(height/2), + width, height + }; + //-------------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- BeginDrawing(); ClearBackground(RAYWHITE); - Rectangle rec = { - GetScreenWidth() / 2.0 - width/2, - GetScreenHeight() / 2.0 - (5)*(height/2), - width, height - }; + + // Draw All Rectangles with different roundess for each side and different gradients DrawRectangleRoundedGradientH(rec, 0.8, 0.8, 36, BLUE, RED); rec.y += rec.height + 1; @@ -300,7 +318,13 @@ int main(int argc, char *argv[]) { rec.y += rec.height + 1; DrawRectangleRoundedGradientH(rec, 1.0, 0.0, 36, BLUE, PINK); EndDrawing(); + //-------------------------------------------------------------------------------------- } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- return 0; } diff --git a/examples/shapes/shapes_rectangle_advanced.png b/examples/shapes/shapes_rectangle_advanced.png index be25afed303f83db20daac02e42239f29f885d0a..a68170a31f5c9ba3e184a002b510b12fe82c3a2a 100644 GIT binary patch literal 6839 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 ytITia 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 QVURmyeDpxpz7v=K3yggNyZ`_I