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 | 44 ++++++++++++++---- examples/shapes/shapes_rectangle_advanced.png | Bin 16847 -> 6839 bytes 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/examples/shapes/shapes_rectangle_advanced.c b/examples/shapes/shapes_rectangle_advanced.c index ee1bfd2ef..a103e82a1 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; +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); + //-------------------------------------------------------------------------------------- - while (!WindowShouldClose()) { + // 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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 literal 16847 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 RW?*1o@O1TaS?83{1OSYE0=xhK