From 41cee3b156e6075733df2215a10903b628eab1c1 Mon Sep 17 00:00:00 2001 From: Gideon Serfontein Date: Thu, 2 Oct 2025 14:25:36 +0200 Subject: [PATCH] Added shapes_pie_chart example --- examples/Makefile | 1 + examples/Makefile.Web | 4 + examples/README.md | 5 +- examples/examples_list.txt | 1 + examples/shapes/shapes_pie_chart.c | 81 +++ examples/shapes/shapes_pie_chart.png | Bin 0 -> 7733 bytes .../VS2022/examples/shapes_pie_chart.vcxproj | 569 ++++++++++++++++++ projects/VS2022/raylib.sln | 27 + 8 files changed, 686 insertions(+), 2 deletions(-) create mode 100644 examples/shapes/shapes_pie_chart.c create mode 100644 examples/shapes/shapes_pie_chart.png create mode 100644 projects/VS2022/examples/shapes_pie_chart.vcxproj diff --git a/examples/Makefile b/examples/Makefile index fb33b4894..94a8a2bac 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -557,6 +557,7 @@ SHAPES = \ shapes/shapes_lines_bezier \ shapes/shapes_logo_raylib \ shapes/shapes_logo_raylib_anim \ + shapes/shapes_pie_chart \ shapes/shapes_rectangle_advanced \ shapes/shapes_rectangle_scaling \ shapes/shapes_ring_drawing \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 0dbefadf2..1640383f2 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -557,6 +557,7 @@ SHAPES = \ shapes/shapes_lines_bezier \ shapes/shapes_logo_raylib \ shapes/shapes_logo_raylib_anim \ + shapes/shapes_pie_chart \ shapes/shapes_rectangle_advanced \ shapes/shapes_rectangle_scaling \ shapes/shapes_ring_drawing \ @@ -862,6 +863,9 @@ shapes/shapes_logo_raylib: shapes/shapes_logo_raylib.c shapes/shapes_logo_raylib_anim: shapes/shapes_logo_raylib_anim.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) +shapes/shapes_pie_chart: shapes/shapes_pie_chart.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) + shapes/shapes_rectangle_advanced: shapes/shapes_rectangle_advanced.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) diff --git a/examples/README.md b/examples/README.md index 70e07df2b..66062c539 100644 --- a/examples/README.md +++ b/examples/README.md @@ -17,7 +17,7 @@ You may find it easier to use than other toolchains, especially when it comes to - `zig build [module]` to compile all examples for a module (e.g. `zig build core`) - `zig build [example]` to compile _and run_ a particular example (e.g. `zig build core_basic_window`) -## EXAMPLES COLLECTION [TOTAL: 172] +## EXAMPLES COLLECTION [TOTAL: 173] ### category: core [40] @@ -66,7 +66,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c | [core_undo_redo](core/core_undo_redo.c) | core_undo_redo | ⭐⭐⭐☆ | 5.5 | 5.6 | [Ramon Santamaria](https://github.com/raysan5) | | [core_input_actions](core/core_input_actions.c) | core_input_actions | ⭐⭐☆☆ | 5.5 | 5.6 | [Jett](https://github.com/JettMonstersGoBoom) | -### category: shapes [23] +### category: shapes [24] Examples using raylib shapes drawing functionality, provided by raylib [shapes](../src/rshapes.c) module. @@ -95,6 +95,7 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | [shapes_double_pendulum](shapes/shapes_double_pendulum.c) | shapes_double_pendulum | ⭐⭐☆☆ | 5.5 | 5.5 | [JoeCheong](https://github.com/Joecheong2006) | | [shapes_dashed_line](shapes/shapes_dashed_line.c) | shapes_dashed_line | ⭐☆☆☆ | 5.5 | 5.5 | [Luís Almeida](https://github.com/luis605) | | [shapes_vector_angle](shapes/shapes_vector_angle.c) | shapes_vector_angle | ⭐⭐☆☆ | 1.0 | 5.0 | [Ramon Santamaria](https://github.com/raysan5) | +| [shapes_pie_chart](shapes/shapes_pie_chart.c) | shapes_pie_chart | ⭐☆☆☆ | 5.5 | 5.6 | [Gideon Serfontein](https://github.com/GideonSerf) | ### category: textures [26] diff --git a/examples/examples_list.txt b/examples/examples_list.txt index 50643bf2b..8d0aa336f 100644 --- a/examples/examples_list.txt +++ b/examples/examples_list.txt @@ -70,6 +70,7 @@ shapes;shapes_digital_clock;★★★★;5.5;5.6;2025;2025;"Hamza RAHAL";@hmz-rh shapes;shapes_double_pendulum;★★☆☆;5.5;5.5;2025;2025;"JoeCheong";@Joecheong2006 shapes;shapes_dashed_line;★☆☆☆;5.5;5.5;2025;2025;"Luís Almeida";@luis605 shapes;shapes_vector_angle;★★☆☆;1.0;5.0;2023;2025;"Ramon Santamaria";@raysan5 +shapes;shapes_pie_chart;★☆☆☆;5.5;5.6;2025;2025;"Gideon Serfontein";@GideonSerf textures;textures_logo_raylib;★☆☆☆;1.0;1.0;2014;2025;"Ramon Santamaria";@raysan5 textures;textures_srcrec_dstrec;★★★☆;1.3;1.3;2015;2025;"Ramon Santamaria";@raysan5 textures;textures_image_drawing;★★☆☆;1.4;1.4;2016;2025;"Ramon Santamaria";@raysan5 diff --git a/examples/shapes/shapes_pie_chart.c b/examples/shapes/shapes_pie_chart.c new file mode 100644 index 000000000..e69b8501b --- /dev/null +++ b/examples/shapes/shapes_pie_chart.c @@ -0,0 +1,81 @@ +/******************************************************************************************* +* +* raylib [shapes] example - pie chart +* +* Example complexity rating: [★☆☆☆] 1/4 +* +* Example originally created with raylib 5.5, last time updated with raylib 5.6 +* +* Example contributed by Gideon Serfontein (@GideonSerf) and reviewed by Ramon Santamaria (@raysan5) +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +* Copyright (c) 2025 Gideon Serfontein (@GideonSerf) +* +********************************************************************************************/ + +#include "raylib.h" + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - pie chart"); + + // Pie slice angles (must sum to 360) + const int angles[] = { 30, 10, 45, 35, 60, 38, 75, 67 }; + const int anglesCount = (int)(sizeof(angles)/sizeof(angles[0])); + + const float radius = 150.0f; + const Vector2 center = { screenWidth/2.0f, screenHeight/2.0f }; + + // Set our game to run at 60 frames-per-second + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + float lastAngleDeg = 0.0f; + + // Number of radial segments for sector drawing + const int segments = 100; + + for (int i = 0; i < anglesCount; i++) + { + // Gradient gray color per slice + unsigned char gray = (unsigned char)((i/(float)anglesCount)*255.0f); + + // Draw pie piece using DrawCircleSector() + DrawCircleSector(center, radius, lastAngleDeg, lastAngleDeg + (float)angles[i], + segments, (Color){ gray, gray, gray, 255 }); + + lastAngleDeg += (float)angles[i]; + } + + DrawText("Pie chart drawing example", 260, 400, 20, LIGHTGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} diff --git a/examples/shapes/shapes_pie_chart.png b/examples/shapes/shapes_pie_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..f20102c8b3d2a250c7766d24290dc53c61eda2ae GIT binary patch literal 7733 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%0AbA!SL*>lw|ZT z8Rj>h4GjL*4fieT`z%`Wr--Mw_Z6h;%yZFk-z2`zp(Q_xWP15NGWMuAG$dM`3BM4y zZ&F`epL-3%dIgZkIfzIsXh>=?r$E9AzArONC#+uv>WLL|eehvokyz(k8z%ci`_+Y~ z70_;e+@j=KGucP0U)^{b@hgU@N5P?C`pb;@p6x$YSyfo}+4VCl<`8(W)ap+91;Krr z`r`T)o>x5J0UmAmVf>mQJ{HvTdd{C;|(K82J`D|Ld{Z zC#c|l`8nSMQ5KE@3E3~{mp}G0SWdFbXIQV~(BS-Xg?%?)e%&R(Gug0#55MDoB}*zk zPv%QJ_WCpHhb$%*izR%2lwZGimM(j^=jwB=2OKOM1rf5p+^-xwyWOfoa`}1T1A!a@ z4=z~!=wH@6`+cdz=bG9+hCY`DhUFI?*0ado+Oz)gjOQHfxeV^ zi_dc(2;>xa5F*96{?f#=+xSwyU4PE<-~sv3z_9$fN5wLbP{A|9zyFx$^fE9myAV*( z#+SYBGUM65zxJ|QC^ItoEIznlJ4i_IZ0)aFb_;DrCZDAjH%#x#T6bOX?Au?q>=wq1 zOg<|aKX&kCl@F~|JE^`@oQl4&dLd4H|c-*;+gv2IHolY4GiAd6&?N0Uwnv*-QUijEvUf2Ik7KY z?mFYXRglp@hJW*aRLtZ1DEjp`+XgL0CIQ*=HtUjWRR7j7uJLPN$a&H6%ux2(=GV|+ zMsBMmJN?;zt@-tr@j)~b%L6ajD|ePT*P8v^$MC_9k*Q!YC`=C8b=TQ5{FuSOxFeX| zO#XF&{q8z>h8=wjj1>XxX767&*suQgo4G(5JVcte@2X|^a$C+rvf+s(Ma9yBW3{!`29TmPc}b__Pt z85k=Tf-?J${Xzd_86?~r7-U@7fA>f+DSw5I=(1n^XxHp^(D>_n;f7=Z1qStthV^c} zEw*3Zb2lUlDKMyCEv#qjZFB$fp1Gk|K!HK{Cv-2Q*%+e>--kV$3{|9He)ojO9 zYvb+Thlc&Fb^BZXuJp_O{IY-l8W#&F90lW9|5Bx8C?&No73ob^c zn$oupJHPDX}P!k>#s?5@22g`KYjDv`}vc9NW04mwnualM9oB#T&>fbxMwfCoO zzI)&PxoYkIX&1kL|9)rJzOTO~RlncAi;zF`IleU{#{Xb@80^=*MINQi(T*iJwNvS`QN{y zYVR)wiT%2Ce*Ip)0&Pa7ny;xDF{|I-u8N($?)ts&@w?*o?q9FJ^Xos|>2}Mn|Na&D zchBDV@b%wIV|T?(e|LY^z4_n2ZvC~-9VGU3>HPR=*#}`vEI(e|TX^w%ZDp;eefsHp z-@jMYuh-qXfBx>L*M4u0`86l*{cG=E&+lIP{kdsBu`~Lmce{s=O_4ehb*M866`NeYYz3bDzoZr3l z`}?oEs`jpbed+73qW`M3@%Qh~|NcvL@Be$(ufDFmJ0BiOcdbo+?b}y(W$pa(m;d6x zR_%L&aF^cQ`>(6_uZw&CdRNKbyuJ0WYiny?K99aGUkh^T^g6x|I$-}PUi$v^>*Bn> zd%VAYuLApCb^E>jPcJ?HQWYOx^zvWa{okcutKzROeO>zcZ}j`uuf6T>@A~%wE8L9mwx|Vy!}h@s_*$Pe{cKpukIYk-|p}4 zgTm_k-Am_hBB!6d|F2!2o^yBq*U!4~@7OD*Ffi`hRi5#sR#q>Xs-`Azt>%4t_1~TY zHY^+r!4bI=)_;4>`b^P*!J_q_J?E`U-_K@kwbwV`XJk5{X=1YNOYP>Ux97RfI1l)A z;rxG}=l`$y?##f@uy^m)joZ=HHNQ^B|NC^86(%WP_v7L5`oFK^ z@5iz*Fx)sDUA$-O@#XjbecNsinq>R)jt!)8kLhuc*4y|0eS19r|DWgb|G(G&e}4S` zkNYhQ3=Gy)zwg)VIePqk-S^${^(OS)Ww;ruEychL&t!3Tc*YW><)UzdB6n=c~#8CzY1_n=8KbLh*2~7YsP>Kxz literal 0 HcmV?d00001 diff --git a/projects/VS2022/examples/shapes_pie_chart.vcxproj b/projects/VS2022/examples/shapes_pie_chart.vcxproj new file mode 100644 index 000000000..058a9b577 --- /dev/null +++ b/projects/VS2022/examples/shapes_pie_chart.vcxproj @@ -0,0 +1,569 @@ + + + + + Debug.DLL + ARM64 + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + ARM64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {6B1A933E-71B8-4C1F-9E79-02D98830E671} + Win32Proj + shapes_pie_chart + 10.0 + shapes_pie_chart + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\shapes + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + \ No newline at end of file diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 0d7019b61..9643e7005 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -365,6 +365,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_monitor_change", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "web_basic_window", "examples\web_basic_window.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_pie_chart", "examples\shapes_pie_chart.vcxproj", "{6B1A933E-71B8-4C1F-9E79-02D98830E671}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.DLL|ARM64 = Debug.DLL|ARM64 @@ -4507,6 +4509,30 @@ Global {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|ARM64.Build.0 = Debug|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.ActiveCfg = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x64.Build.0 = Debug|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.ActiveCfg = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Debug|x86.Build.0 = Debug|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.ActiveCfg = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|ARM64.Build.0 = Release|ARM64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.ActiveCfg = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x64.Build.0 = Release|x64 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.ActiveCfg = Release|Win32 + {6B1A933E-71B8-4C1F-9E79-02D98830E671}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4690,6 +4716,7 @@ Global {2CCCD9E4-9058-4291-BD89-39C979F0CA1E} = {AF5BEC5C-1F2B-4DA8-B12D-D09FE569237C} {9DB1F875-6E65-4195-B23F-ED8095C0B99C} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9} {52BA9067-A5FC-4CE8-82AD-7204ECFDEF9F} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} + {6B1A933E-71B8-4C1F-9E79-02D98830E671} = {278D8859-20B1-428F-8448-064F46E1F021} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29}