freeglut -> glut rename

This commit is contained in:
Andrew Willmott 2019-04-03 14:53:11 +01:00 committed by omar
parent 3fad375f5f
commit ece322ff12
10 changed files with 87 additions and 87 deletions

View File

@ -134,7 +134,7 @@ Languages: (third-party bindings)
Frameworks: Frameworks:
- Renderers: DirectX 9/10/11/12, Metal, OpenGL2, OpenGL3+/ES2/ES3, Vulkan: [examples/](https://github.com/ocornut/imgui/tree/master/examples) - Renderers: DirectX 9/10/11/12, Metal, OpenGL2, OpenGL3+/ES2/ES3, Vulkan: [examples/](https://github.com/ocornut/imgui/tree/master/examples)
- Platform: GLFW, SDL, Win32, OSX, Freeglut: [examples/](https://github.com/ocornut/imgui/tree/master/examples) - Platform: GLFW, SDL, Win32, OSX, GLUT: [examples/](https://github.com/ocornut/imgui/tree/master/examples)
- Framework: Allegro 5, Marmalade: [examples/](https://github.com/ocornut/imgui/tree/master/examples) - Framework: Allegro 5, Marmalade: [examples/](https://github.com/ocornut/imgui/tree/master/examples)
- Unmerged PR: SDL2 + OpenGLES + Emscripten: [#336](https://github.com/ocornut/imgui/pull/336) - Unmerged PR: SDL2 + OpenGLES + Emscripten: [#336](https://github.com/ocornut/imgui/pull/336)
- Unmerged PR: Android: [#421](https://github.com/ocornut/imgui/pull/421) - Unmerged PR: Android: [#421](https://github.com/ocornut/imgui/pull/421)

2
examples/.gitignore vendored
View File

@ -33,7 +33,7 @@ example_glfw_opengl2/example_glfw_opengl2
example_glfw_opengl3/example_glfw_opengl3 example_glfw_opengl3/example_glfw_opengl3
example_sdl_opengl2/example_sdl_opengl2 example_sdl_opengl2/example_sdl_opengl2
example_sdl_opengl3/example_sdl_opengl3 example_sdl_opengl3/example_sdl_opengl3
example_freeglut_opengl2/example_freeglut_opengl2 example_glut_opengl2/example_glut_opengl2
## Dear ImGui Ini files ## Dear ImGui Ini files
imgui.ini imgui.ini

View File

@ -104,7 +104,7 @@ List of Platforms Bindings in this repository:
imgui_impl_osx.mm ; macOS native API imgui_impl_osx.mm ; macOS native API
imgui_impl_sdl.cpp ; SDL2 (Windows, macOS, Linux, iOS, Android) https://www.libsdl.org imgui_impl_sdl.cpp ; SDL2 (Windows, macOS, Linux, iOS, Android) https://www.libsdl.org
imgui_impl_win32.cpp ; Win32 native API (Windows) imgui_impl_win32.cpp ; Win32 native API (Windows)
imgui_impl_freeglut.cpp ; FreeGLUT (if you really miss the 90's) imgui_impl_glut.cpp ; GLUT (if you really miss the 90's)
List of Renderer Bindings in this repository: List of Renderer Bindings in this repository:
@ -223,9 +223,9 @@ example_allegro5/
Allegro 5 example. Allegro 5 example.
= main.cpp + imgui_impl_allegro5.cpp = main.cpp + imgui_impl_allegro5.cpp
example_freeglut_opengl2/ example_glut_opengl2/
FreeGLUT + OpenGL2. GLUT (E.g., FreeGLUT on Linux/Windows, GLUT framework on OSX) + OpenGL2.
= main.cpp + imgui_impl_freeglut.cpp + imgui_impl_opengl2.cpp = main.cpp + imgui_impl_glut.cpp + imgui_impl_opengl2.cpp
example_marmalade/ example_marmalade/
Marmalade example using IwGx. Marmalade example using IwGx.

View File

@ -9,9 +9,9 @@
#CXX = g++ #CXX = g++
#CXX = clang++ #CXX = clang++
EXE = example_freeglut_opengl2 EXE = example_glut_opengl2
SOURCES = main.cpp SOURCES = main.cpp
SOURCES += ../imgui_impl_freeglut.cpp ../imgui_impl_opengl2.cpp SOURCES += ../imgui_impl_glut.cpp ../imgui_impl_opengl2.cpp
SOURCES += ../../imgui.cpp ../../imgui_demo.cpp ../../imgui_draw.cpp ../../imgui_widgets.cpp SOURCES += ../../imgui.cpp ../../imgui_demo.cpp ../../imgui_draw.cpp ../../imgui_widgets.cpp
OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES)))) OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))

View File

@ -20,7 +20,7 @@
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{F90D0333-5FB1-440D-918D-DD39A1B5187E}</ProjectGuid> <ProjectGuid>{F90D0333-5FB1-440D-918D-DD39A1B5187E}</ProjectGuid>
<RootNamespace>example_freeglut_opengl2</RootNamespace> <RootNamespace>example_glut_opengl2</RootNamespace>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
@ -154,7 +154,7 @@
<ClCompile Include="..\..\imgui_demo.cpp" /> <ClCompile Include="..\..\imgui_demo.cpp" />
<ClCompile Include="..\..\imgui_draw.cpp" /> <ClCompile Include="..\..\imgui_draw.cpp" />
<ClCompile Include="..\..\imgui_widgets.cpp" /> <ClCompile Include="..\..\imgui_widgets.cpp" />
<ClCompile Include="..\imgui_impl_freeglut.cpp" /> <ClCompile Include="..\imgui_impl_glut.cpp" />
<ClCompile Include="..\imgui_impl_opengl2.cpp" /> <ClCompile Include="..\imgui_impl_opengl2.cpp" />
<ClCompile Include="main.cpp" /> <ClCompile Include="main.cpp" />
</ItemGroup> </ItemGroup>
@ -162,7 +162,7 @@
<ClInclude Include="..\..\imconfig.h" /> <ClInclude Include="..\..\imconfig.h" />
<ClInclude Include="..\..\imgui.h" /> <ClInclude Include="..\..\imgui.h" />
<ClInclude Include="..\..\imgui_internal.h" /> <ClInclude Include="..\..\imgui_internal.h" />
<ClInclude Include="..\imgui_impl_freeglut.h" /> <ClInclude Include="..\imgui_impl_glut.h" />
<ClInclude Include="..\imgui_impl_opengl2.h" /> <ClInclude Include="..\imgui_impl_opengl2.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -172,4 +172,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>
</Project> </Project>

View File

@ -22,7 +22,7 @@
<ClCompile Include="..\..\imgui_draw.cpp"> <ClCompile Include="..\..\imgui_draw.cpp">
<Filter>imgui</Filter> <Filter>imgui</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\imgui_impl_freeglut.cpp"> <ClCompile Include="..\imgui_impl_glut.cpp">
<Filter>sources</Filter> <Filter>sources</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\imgui_impl_opengl2.cpp"> <ClCompile Include="..\imgui_impl_opengl2.cpp">
@ -42,7 +42,7 @@
<ClInclude Include="..\..\imgui_internal.h"> <ClInclude Include="..\..\imgui_internal.h">
<Filter>imgui</Filter> <Filter>imgui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\imgui_impl_freeglut.h"> <ClInclude Include="..\imgui_impl_glut.h">
<Filter>sources</Filter> <Filter>sources</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\imgui_impl_opengl2.h"> <ClInclude Include="..\imgui_impl_opengl2.h">
@ -55,4 +55,4 @@
<Filter>sources</Filter> <Filter>sources</Filter>
</None> </None>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,11 +1,11 @@
// dear imgui: standalone example application for FreeGLUT + OpenGL2, using legacy fixed pipeline // dear imgui: standalone example application for GLUT + OpenGL2, using legacy fixed pipeline
// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp. // If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
// !!! GLUT IS OBSOLETE SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!! // !!! GLUT IS OBSOLETE SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!!
// !!! If someone or something is teaching you GLUT in 2019, you are being abused. Please show some resistance. !!! // !!! If someone or something is teaching you GLUT in 2019, you are being abused. Please show some resistance. !!!
#include "imgui.h" #include "imgui.h"
#include "../imgui_impl_freeglut.h" #include "../imgui_impl_glut.h"
#include "../imgui_impl_opengl2.h" #include "../imgui_impl_opengl2.h"
#ifdef __APPLE__ #ifdef __APPLE__
#include <GLUT/glut.h> #include <GLUT/glut.h>
@ -65,7 +65,7 @@ void glut_display_func()
{ {
// Start the Dear ImGui frame // Start the Dear ImGui frame
ImGui_ImplOpenGL2_NewFrame(); ImGui_ImplOpenGL2_NewFrame();
ImGui_ImplFreeGLUT_NewFrame(); ImGui_ImplGLUT_NewFrame();
my_display_code(); my_display_code();
@ -96,11 +96,11 @@ int main(int argc, char** argv)
#endif #endif
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_MULTISAMPLE); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_MULTISAMPLE);
glutInitWindowSize(1280, 720); glutInitWindowSize(1280, 720);
glutCreateWindow("Dear ImGui FreeGLUT+OpenGL2 Example"); glutCreateWindow("Dear ImGui GLUT+OpenGL2 Example");
// Setup GLUT display function // Setup GLUT display function
// We will also call ImGui_ImplFreeGLUT_InstallFuncs() to get all the other functions installed for us, // We will also call ImGui_ImplGLUT_InstallFuncs() to get all the other functions installed for us,
// otherwise it is possible to install our own functions and call the imgui_impl_freeglut.h functions ourselves. // otherwise it is possible to install our own functions and call the imgui_impl_glut.h functions ourselves.
glutDisplayFunc(glut_display_func); glutDisplayFunc(glut_display_func);
// Setup Dear ImGui context // Setup Dear ImGui context
@ -113,8 +113,8 @@ int main(int argc, char** argv)
//ImGui::StyleColorsClassic(); //ImGui::StyleColorsClassic();
// Setup Platform/Renderer bindings // Setup Platform/Renderer bindings
ImGui_ImplFreeGLUT_Init(); ImGui_ImplGLUT_Init();
ImGui_ImplFreeGLUT_InstallFuncs(); ImGui_ImplGLUT_InstallFuncs();
ImGui_ImplOpenGL2_Init(); ImGui_ImplOpenGL2_Init();
// Load Fonts // Load Fonts
@ -136,7 +136,7 @@ int main(int argc, char** argv)
// Cleanup // Cleanup
ImGui_ImplOpenGL2_Shutdown(); ImGui_ImplOpenGL2_Shutdown();
ImGui_ImplFreeGLUT_Shutdown(); ImGui_ImplGLUT_Shutdown();
ImGui::DestroyContext(); ImGui::DestroyContext();
return 0; return 0;

View File

@ -1,33 +0,0 @@
// dear imgui: Platform Binding for FreeGLUT
// This needs to be used along with a Renderer (e.g. OpenGL2)
// !!! GLUT IS OBSOLETE SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!!
// !!! If someone or something is teaching you GLUT in 2019, you are being abused. Please show some resistance. !!!
// Issues:
// [ ] Platform: GLUT is unable to distinguish e.g. Backspace from CTRL+H or TAB from CTRL+I
// [ ] Platform: Missing clipboard support (not supported by Glut).
// [ ] Platform: Missing gamepad support.
// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
// https://github.com/ocornut/imgui
#pragma once
IMGUI_IMPL_API bool ImGui_ImplFreeGLUT_Init();
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_InstallFuncs();
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_Shutdown();
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_NewFrame();
// You can call ImGui_ImplFreeGLUT_InstallFuncs() to get all those functions installed automatically,
// or call them yourself from your own GLUT handlers. We are using the same weird names as GLUT for consistency..
//---------------------------------------- GLUT name --------------------------------------------- Decent Name ---------
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_ReshapeFunc(int w, int h); // ~ ResizeFunc
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_MotionFunc(int x, int y); // ~ MouseMoveFunc
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_MouseFunc(int button, int state, int x, int y); // ~ MouseButtonFunc
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_MouseWheelFunc(int button, int dir, int x, int y); // ~ MouseWheelFunc
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_KeyboardFunc(unsigned char c, int x, int y); // ~ CharPressedFunc
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_KeyboardUpFunc(unsigned char c, int x, int y); // ~ CharReleasedFunc
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_SpecialFunc(int key, int x, int y); // ~ KeyPressedFunc
IMGUI_IMPL_API void ImGui_ImplFreeGLUT_SpecialUpFunc(int key, int x, int y); // ~ KeyReleasedFunc

View File

@ -1,4 +1,4 @@
// dear imgui: Platform Binding for FreeGLUT // dear imgui: Platform Binding for GLUT
// This needs to be used along with a Renderer (e.g. OpenGL2) // This needs to be used along with a Renderer (e.g. OpenGL2)
// !!! GLUT IS OBSOLETE SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!! // !!! GLUT IS OBSOLETE SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!!
@ -17,10 +17,10 @@
// (minor and older changes stripped away, please see git history for details) // (minor and older changes stripped away, please see git history for details)
// 2019-03-25: Misc: Made io.DeltaTime always above zero. // 2019-03-25: Misc: Made io.DeltaTime always above zero.
// 2018-11-30: Misc: Setting up io.BackendPlatformName so it can be displayed in the About Window. // 2018-11-30: Misc: Setting up io.BackendPlatformName so it can be displayed in the About Window.
// 2018-03-22: Added FreeGLUT Platform binding. // 2018-03-22: Added GLUT Platform binding.
#include "imgui.h" #include "imgui.h"
#include "imgui_impl_freeglut.h" #include "imgui_impl_glut.h"
#ifdef __APPLE__ #ifdef __APPLE__
#include <GLUT/glut.h> #include <GLUT/glut.h>
#else #else
@ -33,10 +33,10 @@
static int g_Time = 0; // Current time, in milliseconds static int g_Time = 0; // Current time, in milliseconds
bool ImGui_ImplFreeGLUT_Init() bool ImGui_ImplGLUT_Init()
{ {
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
io.BackendPlatformName ="imgui_impl_freeglut"; io.BackendPlatformName ="imgui_impl_glut";
g_Time = 0; g_Time = 0;
@ -66,26 +66,26 @@ bool ImGui_ImplFreeGLUT_Init()
return true; return true;
} }
void ImGui_ImplFreeGLUT_InstallFuncs() void ImGui_ImplGLUT_InstallFuncs()
{ {
glutReshapeFunc(ImGui_ImplFreeGLUT_ReshapeFunc); glutReshapeFunc(ImGui_ImplGLUT_ReshapeFunc);
glutMotionFunc(ImGui_ImplFreeGLUT_MotionFunc); glutMotionFunc(ImGui_ImplGLUT_MotionFunc);
glutPassiveMotionFunc(ImGui_ImplFreeGLUT_MotionFunc); glutPassiveMotionFunc(ImGui_ImplGLUT_MotionFunc);
glutMouseFunc(ImGui_ImplFreeGLUT_MouseFunc); glutMouseFunc(ImGui_ImplGLUT_MouseFunc);
#ifdef __FREEGLUT_EXT_H__ #ifdef __FREEGLUT_EXT_H__
glutMouseWheelFunc(ImGui_ImplFreeGLUT_MouseWheelFunc); glutMouseWheelFunc(ImGui_ImplGLUT_MouseWheelFunc);
#endif #endif
glutKeyboardFunc(ImGui_ImplFreeGLUT_KeyboardFunc); glutKeyboardFunc(ImGui_ImplGLUT_KeyboardFunc);
glutKeyboardUpFunc(ImGui_ImplFreeGLUT_KeyboardUpFunc); glutKeyboardUpFunc(ImGui_ImplGLUT_KeyboardUpFunc);
glutSpecialFunc(ImGui_ImplFreeGLUT_SpecialFunc); glutSpecialFunc(ImGui_ImplGLUT_SpecialFunc);
glutSpecialUpFunc(ImGui_ImplFreeGLUT_SpecialUpFunc); glutSpecialUpFunc(ImGui_ImplGLUT_SpecialUpFunc);
} }
void ImGui_ImplFreeGLUT_Shutdown() void ImGui_ImplGLUT_Shutdown()
{ {
} }
void ImGui_ImplFreeGLUT_NewFrame() void ImGui_ImplGLUT_NewFrame()
{ {
// Setup time step // Setup time step
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
@ -100,7 +100,7 @@ void ImGui_ImplFreeGLUT_NewFrame()
ImGui::NewFrame(); ImGui::NewFrame();
} }
static void ImGui_ImplFreeGLUT_UpdateKeyboardMods() static void ImGui_ImplGLUT_UpdateKeyboardMods()
{ {
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
int mods = glutGetModifiers(); int mods = glutGetModifiers();
@ -109,7 +109,7 @@ static void ImGui_ImplFreeGLUT_UpdateKeyboardMods()
io.KeyAlt = (mods & GLUT_ACTIVE_ALT) != 0; io.KeyAlt = (mods & GLUT_ACTIVE_ALT) != 0;
} }
void ImGui_ImplFreeGLUT_KeyboardFunc(unsigned char c, int x, int y) void ImGui_ImplGLUT_KeyboardFunc(unsigned char c, int x, int y)
{ {
// Send character to imgui // Send character to imgui
//printf("char_down_func %d '%c'\n", c, c); //printf("char_down_func %d '%c'\n", c, c);
@ -127,11 +127,11 @@ void ImGui_ImplFreeGLUT_KeyboardFunc(unsigned char c, int x, int y)
io.KeysDown[c] = io.KeysDown[c - 'A' + 'a'] = true; io.KeysDown[c] = io.KeysDown[c - 'A' + 'a'] = true;
else else
io.KeysDown[c] = true; io.KeysDown[c] = true;
ImGui_ImplFreeGLUT_UpdateKeyboardMods(); ImGui_ImplGLUT_UpdateKeyboardMods();
(void)x; (void)y; // Unused (void)x; (void)y; // Unused
} }
void ImGui_ImplFreeGLUT_KeyboardUpFunc(unsigned char c, int x, int y) void ImGui_ImplGLUT_KeyboardUpFunc(unsigned char c, int x, int y)
{ {
//printf("char_up_func %d '%c'\n", c, c); //printf("char_up_func %d '%c'\n", c, c);
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
@ -143,31 +143,31 @@ void ImGui_ImplFreeGLUT_KeyboardUpFunc(unsigned char c, int x, int y)
io.KeysDown[c] = io.KeysDown[c - 'A' + 'a'] = false; io.KeysDown[c] = io.KeysDown[c - 'A' + 'a'] = false;
else else
io.KeysDown[c] = false; io.KeysDown[c] = false;
ImGui_ImplFreeGLUT_UpdateKeyboardMods(); ImGui_ImplGLUT_UpdateKeyboardMods();
(void)x; (void)y; // Unused (void)x; (void)y; // Unused
} }
void ImGui_ImplFreeGLUT_SpecialFunc(int key, int x, int y) void ImGui_ImplGLUT_SpecialFunc(int key, int x, int y)
{ {
//printf("key_down_func %d\n", key); //printf("key_down_func %d\n", key);
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
if (key + 256 < IM_ARRAYSIZE(io.KeysDown)) if (key + 256 < IM_ARRAYSIZE(io.KeysDown))
io.KeysDown[key + 256] = true; io.KeysDown[key + 256] = true;
ImGui_ImplFreeGLUT_UpdateKeyboardMods(); ImGui_ImplGLUT_UpdateKeyboardMods();
(void)x; (void)y; // Unused (void)x; (void)y; // Unused
} }
void ImGui_ImplFreeGLUT_SpecialUpFunc(int key, int x, int y) void ImGui_ImplGLUT_SpecialUpFunc(int key, int x, int y)
{ {
//printf("key_up_func %d\n", key); //printf("key_up_func %d\n", key);
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
if (key + 256 < IM_ARRAYSIZE(io.KeysDown)) if (key + 256 < IM_ARRAYSIZE(io.KeysDown))
io.KeysDown[key + 256] = false; io.KeysDown[key + 256] = false;
ImGui_ImplFreeGLUT_UpdateKeyboardMods(); ImGui_ImplGLUT_UpdateKeyboardMods();
(void)x; (void)y; // Unused (void)x; (void)y; // Unused
} }
void ImGui_ImplFreeGLUT_MouseFunc(int glut_button, int state, int x, int y) void ImGui_ImplGLUT_MouseFunc(int glut_button, int state, int x, int y)
{ {
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
io.MousePos = ImVec2((float)x, (float)y); io.MousePos = ImVec2((float)x, (float)y);
@ -182,7 +182,7 @@ void ImGui_ImplFreeGLUT_MouseFunc(int glut_button, int state, int x, int y)
} }
#ifdef __FREEGLUT_EXT_H__ #ifdef __FREEGLUT_EXT_H__
void ImGui_ImplFreeGLUT_MouseWheelFunc(int button, int dir, int x, int y) void ImGui_ImplGLUT_MouseWheelFunc(int button, int dir, int x, int y)
{ {
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
io.MousePos = ImVec2((float)x, (float)y); io.MousePos = ImVec2((float)x, (float)y);
@ -194,13 +194,13 @@ void ImGui_ImplFreeGLUT_MouseWheelFunc(int button, int dir, int x, int y)
} }
#endif #endif
void ImGui_ImplFreeGLUT_ReshapeFunc(int w, int h) void ImGui_ImplGLUT_ReshapeFunc(int w, int h)
{ {
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
io.DisplaySize = ImVec2((float)w, (float)h); io.DisplaySize = ImVec2((float)w, (float)h);
} }
void ImGui_ImplFreeGLUT_MotionFunc(int x, int y) void ImGui_ImplGLUT_MotionFunc(int x, int y)
{ {
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
io.MousePos = ImVec2((float)x, (float)y); io.MousePos = ImVec2((float)x, (float)y);

View File

@ -0,0 +1,33 @@
// dear imgui: Platform Binding for GLUT
// This needs to be used along with a Renderer (e.g. OpenGL2)
// !!! GLUT IS OBSOLETE SOFTWARE. Using GLUT is not recommended unless you really miss the 90's. !!!
// !!! If someone or something is teaching you GLUT in 2019, you are being abused. Please show some resistance. !!!
// Issues:
// [ ] Platform: GLUT is unable to distinguish e.g. Backspace from CTRL+H or TAB from CTRL+I
// [ ] Platform: Missing clipboard support (not supported by Glut).
// [ ] Platform: Missing gamepad support.
// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
// https://github.com/ocornut/imgui
#pragma once
IMGUI_IMPL_API bool ImGui_ImplGLUT_Init();
IMGUI_IMPL_API void ImGui_ImplGLUT_InstallFuncs();
IMGUI_IMPL_API void ImGui_ImplGLUT_Shutdown();
IMGUI_IMPL_API void ImGui_ImplGLUT_NewFrame();
// You can call ImGui_ImplGLUT_InstallFuncs() to get all those functions installed automatically,
// or call them yourself from your own GLUT handlers. We are using the same weird names as GLUT for consistency..
//---------------------------------------- GLUT name --------------------------------------------- Decent Name ---------
IMGUI_IMPL_API void ImGui_ImplGLUT_ReshapeFunc(int w, int h); // ~ ResizeFunc
IMGUI_IMPL_API void ImGui_ImplGLUT_MotionFunc(int x, int y); // ~ MouseMoveFunc
IMGUI_IMPL_API void ImGui_ImplGLUT_MouseFunc(int button, int state, int x, int y); // ~ MouseButtonFunc
IMGUI_IMPL_API void ImGui_ImplGLUT_MouseWheelFunc(int button, int dir, int x, int y); // ~ MouseWheelFunc
IMGUI_IMPL_API void ImGui_ImplGLUT_KeyboardFunc(unsigned char c, int x, int y); // ~ CharPressedFunc
IMGUI_IMPL_API void ImGui_ImplGLUT_KeyboardUpFunc(unsigned char c, int x, int y); // ~ CharReleasedFunc
IMGUI_IMPL_API void ImGui_ImplGLUT_SpecialFunc(int key, int x, int y); // ~ KeyPressedFunc
IMGUI_IMPL_API void ImGui_ImplGLUT_SpecialUpFunc(int key, int x, int y); // ~ KeyReleasedFunc