From c6f9f76afb0543d0091dedfbb1b549f1b45397e3 Mon Sep 17 00:00:00 2001 From: GideonSerf Date: Thu, 16 Oct 2025 09:53:55 +0200 Subject: [PATCH] [examples] Added donut pie charts to `shapes_pie_chart` (#5277) * Added donut chart option to pie chart example * Increased example description buffer size * Testing mouse trail building * Removed unused variable --------- Co-authored-by: Gideon Serfontein --- examples/shapes/shapes_mouse_trail.c | 6 +++--- examples/shapes/shapes_pie_chart.c | 26 +++++++++++++++++++++++--- examples/shapes/shapes_pie_chart.png | Bin 17457 -> 15301 bytes 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/examples/shapes/shapes_mouse_trail.c b/examples/shapes/shapes_mouse_trail.c index 88a7c0ce5..ad1166548 100644 --- a/examples/shapes/shapes_mouse_trail.c +++ b/examples/shapes/shapes_mouse_trail.c @@ -1,6 +1,3 @@ -#include "raylib.h" -#include "raymath.h" - /******************************************************************************************* * * raylib [shapes] example - Draw a mouse trail (position history) @@ -18,6 +15,9 @@ * ********************************************************************************************/ +#include "raylib.h" +#include "raymath.h" + // Define the maximum number of positions to store in the trail #define MAX_TRAIL_LENGTH 30 diff --git a/examples/shapes/shapes_pie_chart.c b/examples/shapes/shapes_pie_chart.c index 35250c5be..1fa938905 100644 --- a/examples/shapes/shapes_pie_chart.c +++ b/examples/shapes/shapes_pie_chart.c @@ -36,6 +36,7 @@ int main(void) #define MAX_SLICES 10 int sliceCount = 7; + float donutInnerRadius = 25.0f; float values[MAX_SLICES] = {300.0f, 100.0f, 450.0f, 350.0f, 600.0f, 380.0f, 750.0f}; //initial slice values char labels[MAX_SLICES][32]; bool editingLabel[MAX_SLICES] = {false}; @@ -45,6 +46,7 @@ int main(void) bool showValues = true; bool showPercentages = false; + bool showDonut = false; int hoveredSlice = -1; Rectangle scrollPanelBounds = {0}; Vector2 scrollContentOffset = {0}; @@ -72,7 +74,7 @@ int main(void) const Rectangle panelRect = { panelPos.x, panelPos.y, (float)panelWidth, - (float)screenHeight - 2.0f*panelMargin + (float)screenHeight - 2.0f*panelMargin }; // Pie chart geometry @@ -159,6 +161,12 @@ int main(void) DrawText(labelText, (int)labelPos.x, (int)labelPos.y, 18, WHITE); } + if(showDonut) + { + // Draw inner circle to create donut effect + DrawCircle(center.x, center.y, donutInnerRadius, RAYWHITE); + } + startAngle += sweepAngle; } //------------------------------------------------------------------------------ @@ -177,17 +185,29 @@ int main(void) currentY += 30; GuiCheckBox((Rectangle){ panelPos.x + 20, (float)currentY, 20, 20 }, "Show Percentages", &showPercentages); - currentY += 40; + currentY += 30; + + GuiCheckBox((Rectangle){ panelPos.x + 20, (float)currentY, 20, 20 }, "Make Donut", &showDonut); + currentY += 30; + + if(showDonut) + { + GuiSliderBar((Rectangle){ panelPos.x + 80, (float)currentY, panelRect.width - 100, 30 }, + "Inner Radius", NULL, &donutInnerRadius, 5.0f, radius - 10.0f); + currentY += 40; + } GuiLine((Rectangle){ panelPos.x + 10, (float)currentY, panelRect.width - 20, 1 }, NULL); currentY += 20; + + // Scrollable area for slice editors scrollPanelBounds = (Rectangle){ panelPos.x+panelMargin, (float)currentY, panelRect.width-panelMargin*2, panelRect.y + panelRect.height - currentY - panelMargin }; int contentHeight = sliceCount * 35; GuiScrollPanel(scrollPanelBounds, NULL, - (Rectangle){ 0, 0, panelRect.width - 20, (float)contentHeight }, + (Rectangle){ 0, 0, panelRect.width - 25, (float)contentHeight }, &scrollContentOffset, &view); const float contentX = view.x + scrollContentOffset.x; // left of content diff --git a/examples/shapes/shapes_pie_chart.png b/examples/shapes/shapes_pie_chart.png index bad7960f476c0d66e32df5d38b7aded5a81b5a75..afc0a8c2d930a695661611746b3fb83083dc7eff 100644 GIT binary patch literal 15301 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