From 1185626c50dd0c874ed39f8c6d7b188b4d057f65 Mon Sep 17 00:00:00 2001 From: Jeffery Myers Date: Sat, 11 Jul 2026 11:41:55 -0700 Subject: [PATCH] add render callback example, put the core basic window back how it was --- examples/Makefile | 1 + examples/Makefile.Web | 1 + examples/core/core_basic_window.c | 36 +- examples/core/core_render_callback.c | 72 +++ examples/core/core_render_callback.png | Bin 0 -> 9477 bytes .../examples/core_render_callback.vcxproj | 569 ++++++++++++++++++ projects/VS2022/raylib.sln | 27 + 7 files changed, 688 insertions(+), 18 deletions(-) create mode 100644 examples/core/core_render_callback.c create mode 100644 examples/core/core_render_callback.png create mode 100644 projects/VS2022/examples/core_render_callback.vcxproj diff --git a/examples/Makefile b/examples/Makefile index 3e1844fc3..26122f592 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -562,6 +562,7 @@ CORE = \ core/core_monitor_detector \ core/core_random_sequence \ core/core_random_values \ + core/core_render_callback \ core/core_render_texture \ core/core_scissor_test \ core/core_screen_recording \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index 709072be1..7f6e505ad 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -535,6 +535,7 @@ CORE = \ core/core_random_sequence \ core/core_random_values \ core/core_render_texture \ + core/core_render_callback \ core/core_scissor_test \ core/core_screen_recording \ core/core_smooth_pixelperfect \ diff --git a/examples/core/core_basic_window.c b/examples/core/core_basic_window.c index 6e48acb8f..c1009fc76 100644 --- a/examples/core/core_basic_window.c +++ b/examples/core/core_basic_window.c @@ -27,22 +27,6 @@ ********************************************************************************************/ #include "raylib.h" -#include - -bool RunFrame(void) -{ - if (WindowShouldClose()) - return false; - - ClearBackground(BLACK); - - float offset = cosf(GetTime() * 2.0f) *60.0f; - DrawTextEx(GetFontDefault(), "Congrats! You created your first window!", (Vector2) { 190, 200 + offset}, 20, 2, LIGHTGRAY); - - DrawFPS(10, 10); - DrawText(TextFormat("FrameTime %0.3f", GetFrameTime()), 10, 30, 20, GRAY); - return true; -} //------------------------------------------------------------------------------------ // Program main entry point @@ -54,14 +38,30 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - SetConfigFlags(FLAG_WINDOW_RESIZABLE); InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop - RunGameLoop(RunFrame); + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + // TODO: Update your variables here + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } // De-Initialization //-------------------------------------------------------------------------------------- diff --git a/examples/core/core_render_callback.c b/examples/core/core_render_callback.c new file mode 100644 index 000000000..95b1e1813 --- /dev/null +++ b/examples/core/core_render_callback.c @@ -0,0 +1,72 @@ +/******************************************************************************************* +* +* raylib [core] example - basic render callback +* +* Example complexity rating: [★★☆☆] 2/4 +* +* Welcome to raylib! +* +* To test examples, just press F6 and execute 'raylib_compile_execute' script +* Note that compiled executable is placed in the same folder as .c file +* +* To test the examples on Web, press F6 and execute 'raylib_compile_execute_web' script +* Web version of the program is generated in the same folder as .c file +* +* You can find all basic examples on C:\raylib\raylib\examples folder or +* raylib official webpage: www.raylib.com +* +* Enjoy using raylib. :) +* +* Example originally created with raylib 6.1, last time updated with raylib 6.1 +* +* 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) 2013-2026 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" +#include + +// called by raylib once per frame. On web will use emcscrpten callback +bool RunFrame(void) +{ + // return false if you want to exit + if (WindowShouldClose()) + return false; + + ClearBackground(BLACK); + + // animate the text so you can see it move while the window is resized or dragged + float offset = cosf((float)GetTime() * 2.0f) *60.0f; + DrawTextEx(GetFontDefault(), "Hello Render Callback, drag the window!", (Vector2) { 190, 200 + offset}, 20, 2, LIGHTGRAY); + return true; +} + +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_WINDOW_HIGHDPI | FLAG_VSYNC_HINT); + InitWindow(screenWidth, screenHeight, "raylib [core] example - basic render callback"); + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Run a game loop using the provided callback function, which will be called every frame + RunGameLoop(RunFrame); + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/core/core_render_callback.png b/examples/core/core_render_callback.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d5554c6cf0dd38f7e9e4dedd83503ddb24d0b8 GIT binary patch literal 9477 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 + + + + 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 + + + + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3} + Win32Proj + core_render_callback + 10.0 + core_render_callback + + + + 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\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\core + 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 c852d7855..c4e7b945f 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -445,6 +445,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_cel_shading", "exam EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "audio_stream_callback", "examples\audio_stream_callback.vcxproj", "{F94B1675-03AE-4EB0-BC0E-071F3C33B9ED}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core_basic_window", "examples\core_render_callback.vcxproj", "{3997E75B-15CD-41D2-BC83-9A6DD8E252B3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.DLL|ARM64 = Debug.DLL|ARM64 @@ -5573,6 +5575,30 @@ Global {F94B1675-03AE-4EB0-BC0E-071F3C33B9ED}.Release|x64.Build.0 = Release|x64 {F94B1675-03AE-4EB0-BC0E-071F3C33B9ED}.Release|x86.ActiveCfg = Release|Win32 {F94B1675-03AE-4EB0-BC0E-071F3C33B9ED}.Release|x86.Build.0 = Release|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug.DLL|x64.Build.0 = Debug.DLL|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug|ARM64.Build.0 = Debug|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug|x64.ActiveCfg = Debug|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug|x64.Build.0 = Debug|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug|x86.ActiveCfg = Debug|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Debug|x86.Build.0 = Debug|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release.DLL|x64.ActiveCfg = Release.DLL|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release.DLL|x64.Build.0 = Release.DLL|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release.DLL|x86.Build.0 = Release.DLL|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release|ARM64.ActiveCfg = Release|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release|ARM64.Build.0 = Release|ARM64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release|x64.ActiveCfg = Release|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release|x64.Build.0 = Release|x64 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release|x86.ActiveCfg = Release|Win32 + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -5797,6 +5823,7 @@ Global {6E6F4A8A-675A-42F2-8AD1-4BF2757C2654} = {DA049009-21FF-4AC0-84E4-830DD1BCD0CE} {D5556782-5113-403C-8E7A-2417B8CD0CC6} = {5317807F-61D4-4E0F-B6DC-2D9F12621ED9} {F94B1675-03AE-4EB0-BC0E-071F3C33B9ED} = {CC132A4D-D081-4C26-BFB9-AB11984054F8} + {3997E75B-15CD-41D2-BC83-9A6DD8E252B3} = {6C82BAAE-BDDF-457D-8FA8-7E2490B07035} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E926C768-6307-4423-A1EC-57E95B1FAB29}