Sfoglia il codice sorgente

freeglut -> glut rename

Andrew Willmott 6 anni fa
parent
commit
ece322ff12

+ 1 - 1
docs/README.md

@@ -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)

+ 1 - 1
examples/.gitignore

@@ -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

+ 4 - 4
examples/README.txt

@@ -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/
-    FreeGLUT + OpenGL2.
-    = main.cpp + imgui_impl_freeglut.cpp + imgui_impl_opengl2.cpp
+example_glut_opengl2/
+    GLUT (E.g., FreeGLUT on Linux/Windows, GLUT framework on OSX) + OpenGL2.
+    = main.cpp + imgui_impl_glut.cpp + imgui_impl_opengl2.cpp
 
 
 example_marmalade/
 example_marmalade/
     Marmalade example using IwGx.
     Marmalade example using IwGx.

+ 2 - 2
examples/example_freeglut_opengl2/Makefile → examples/example_glut_opengl2/Makefile

@@ -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))))
 
 

+ 4 - 4
examples/example_freeglut_opengl2/example_freeglut_opengl2.vcxproj → examples/example_glut_opengl2/example_freeglut_opengl2.vcxproj

@@ -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>

+ 3 - 3
examples/example_freeglut_opengl2/example_freeglut_opengl2.vcxproj.filters → examples/example_glut_opengl2/example_freeglut_opengl2.vcxproj.filters

@@ -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>

+ 9 - 9
examples/example_freeglut_opengl2/main.cpp → examples/example_glut_opengl2/main.cpp

@@ -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,
-    // otherwise it is possible to install our own functions and call the imgui_impl_freeglut.h functions ourselves.
+    // 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_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_ImplFreeGLUT_InstallFuncs();
+    ImGui_ImplGLUT_Init();
+    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;

+ 0 - 33
examples/imgui_impl_freeglut.h

@@ -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

+ 30 - 30
examples/imgui_impl_freeglut.cpp → examples/imgui_impl_glut.cpp

@@ -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);
-    glutMotionFunc(ImGui_ImplFreeGLUT_MotionFunc);
-    glutPassiveMotionFunc(ImGui_ImplFreeGLUT_MotionFunc);
-    glutMouseFunc(ImGui_ImplFreeGLUT_MouseFunc);
+    glutReshapeFunc(ImGui_ImplGLUT_ReshapeFunc);
+    glutMotionFunc(ImGui_ImplGLUT_MotionFunc);
+    glutPassiveMotionFunc(ImGui_ImplGLUT_MotionFunc);
+    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);
-    glutKeyboardUpFunc(ImGui_ImplFreeGLUT_KeyboardUpFunc);
-    glutSpecialFunc(ImGui_ImplFreeGLUT_SpecialFunc);
-    glutSpecialUpFunc(ImGui_ImplFreeGLUT_SpecialUpFunc);
+    glutKeyboardFunc(ImGui_ImplGLUT_KeyboardFunc);
+    glutKeyboardUpFunc(ImGui_ImplGLUT_KeyboardUpFunc);
+    glutSpecialFunc(ImGui_ImplGLUT_SpecialFunc);
+    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);

+ 33 - 0
examples/imgui_impl_glut.h

@@ -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