mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Examples: Comments to make ImGuiConfigFlags_NoMouseCursorChange more visible (#1027). + Allegro5: Added support for ImGuiConfigFlags_NoMouseCursorChange flag.
This commit is contained in:
		| @@ -77,6 +77,7 @@ Other Changes: | ||||
|  - ImFontConfig: Added GlyphMinAdvanceX/GlyphMaxAdvanceX settings useful to make a font appears monospaced, particularly useful for icon fonts. (#1869) | ||||
|  - ImFontAtlas: Added GetGlyphRangesChineseSimplifiedCommon() helper that returns a list of ~2500 most common Simplified Chinese characters. (#1859) [@JX-Master, @ocornut] | ||||
|  - Examples: GLFW: Made it possible to Shutdown/Init the backend again (by reseting the time storage properly). (#1827) [@ice1000] | ||||
|  - Examples: Allegro5: Added support for ImGuiConfigFlags_NoMouseCursorChange flag. | ||||
|  - Misc: Updated stb_textedit from 1.09 + patches to 1.12 + minor patches. | ||||
|  - Internals: PushItemFlag() flags are inherited by BeginChild(). | ||||
|  | ||||
|   | ||||
| @@ -2,9 +2,11 @@ | ||||
| // (Info: Allegro 5 is a cross-platform general purpose library for handling windows, inputs, graphics, etc.) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'ALLEGRO_BITMAP*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| // Missing features: | ||||
| //  [ ] Clipboard support via al_set_clipboard_text/al_clipboard_has_text. | ||||
| //  [X] Renderer: User texture binding. Use 'ALLEGRO_BITMAP*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. | ||||
| // Issues: | ||||
| //  [ ] Renderer: The renderer is suboptimal as we need to convert vertices. | ||||
| //  [ ] Platform: Clipboard support via al_set_clipboard_text/al_clipboard_has_text. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
| @@ -13,6 +15,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2018-06-11: Misc: Setup io.BackendFlags ImGuiBackendFlags_HasMouseCursors flag + honor ImGuiConfigFlags_NoMouseCursorChange flag. | ||||
| //  2018-04-18: Misc: Renamed file from imgui_impl_a5.cpp to imgui_impl_allegro5.cpp. | ||||
| //  2018-04-18: Misc: Added support for 32-bits vertex indices to avoid conversion at runtime. Added imconfig_allegro5.h to enforce 32-bit indices when included from imgui.h. | ||||
| //  2018-02-16: Misc: Obsoleted the io.RenderDrawListsFn callback and exposed ImGui_ImplAllegro5_RenderDrawData() in the .h file so you can call it yourself. | ||||
| @@ -175,6 +178,10 @@ bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display) | ||||
| { | ||||
|     g_Display = display; | ||||
|  | ||||
|     // Setup back-end capabilities flags | ||||
|     ImGuiIO& io = ImGui::GetIO(); | ||||
|     io.BackendFlags |= ImGuiBackendFlags_HasMouseCursors;       // We can honor GetMouseCursor() values (optional) | ||||
|  | ||||
|     // Create custom vertex declaration. | ||||
|     // Unfortunately Allegro doesn't support 32-bits packed colors so we have to convert them to 4 floats. | ||||
|     // We still use a custom declaration to use 'ALLEGRO_PRIM_TEX_COORD' instead of 'ALLEGRO_PRIM_TEX_COORD_PIXEL' else we can't do a reliable conversion. | ||||
| @@ -187,7 +194,6 @@ bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display) | ||||
|     }; | ||||
|     g_VertexDecl = al_create_vertex_decl(elems, sizeof(ImDrawVertAllegro)); | ||||
|  | ||||
|     ImGuiIO& io = ImGui::GetIO(); | ||||
|     io.KeyMap[ImGuiKey_Tab] = ALLEGRO_KEY_TAB; | ||||
|     io.KeyMap[ImGuiKey_LeftArrow] = ALLEGRO_KEY_LEFT; | ||||
|     io.KeyMap[ImGuiKey_RightArrow] = ALLEGRO_KEY_RIGHT; | ||||
| @@ -224,7 +230,7 @@ void ImGui_ImplAllegro5_Shutdown() | ||||
| // Generally you may always pass all inputs to dear imgui, and hide them from your application based on those two flags. | ||||
| bool ImGui_ImplAllegro5_ProcessEvent(ALLEGRO_EVENT *ev) | ||||
| { | ||||
|     ImGuiIO &io = ImGui::GetIO(); | ||||
|     ImGuiIO& io = ImGui::GetIO(); | ||||
|  | ||||
|     switch (ev->type) | ||||
|     { | ||||
| @@ -246,6 +252,34 @@ bool ImGui_ImplAllegro5_ProcessEvent(ALLEGRO_EVENT *ev) | ||||
|     return false; | ||||
| } | ||||
|  | ||||
| static void ImGui_ImplAllegro5_UpdateMouseCursor() | ||||
| { | ||||
|     ImGuiIO& io = ImGui::GetIO(); | ||||
|     if (io.ConfigFlags & ImGuiConfigFlags_NoMouseCursorChange) | ||||
|         return; | ||||
|  | ||||
|     ImGuiMouseCursor imgui_cursor = ImGui::GetMouseCursor(); | ||||
|     if (io.MouseDrawCursor || imgui_cursor == ImGuiMouseCursor_None) | ||||
|     { | ||||
|         // Hide OS mouse cursor if imgui is drawing it or if it wants no cursor | ||||
|         al_set_mouse_cursor(g_Display, g_MouseCursorInvisible); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         ALLEGRO_SYSTEM_MOUSE_CURSOR cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_DEFAULT; | ||||
|         switch (imgui_cursor) | ||||
|         { | ||||
|         case ImGuiMouseCursor_TextInput:    cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_EDIT; break; | ||||
|         case ImGuiMouseCursor_ResizeAll:    cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_MOVE; break; | ||||
|         case ImGuiMouseCursor_ResizeNS:     cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_N; break; | ||||
|         case ImGuiMouseCursor_ResizeEW:     cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_E; break; | ||||
|         case ImGuiMouseCursor_ResizeNESW:   cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_NE; break; | ||||
|         case ImGuiMouseCursor_ResizeNWSE:   cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_NW; break; | ||||
|         } | ||||
|         al_set_system_mouse_cursor(g_Display, cursor_id); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void ImGui_ImplAllegro5_NewFrame() | ||||
| { | ||||
|     if (!g_Texture) | ||||
| @@ -288,23 +322,5 @@ void ImGui_ImplAllegro5_NewFrame() | ||||
|     io.MouseDown[1] = mouse.buttons & (1 << 1); | ||||
|     io.MouseDown[2] = mouse.buttons & (1 << 2); | ||||
|  | ||||
|     // Hide OS mouse cursor if ImGui is drawing it | ||||
|     if (io.MouseDrawCursor) | ||||
|     { | ||||
|         al_set_mouse_cursor(g_Display, g_MouseCursorInvisible); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         ALLEGRO_SYSTEM_MOUSE_CURSOR cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_DEFAULT; | ||||
|         switch (ImGui::GetMouseCursor()) | ||||
|         { | ||||
|         case ImGuiMouseCursor_TextInput:    cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_EDIT; break; | ||||
|         case ImGuiMouseCursor_ResizeAll:    cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_MOVE; break; | ||||
|         case ImGuiMouseCursor_ResizeNS:     cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_N; break; | ||||
|         case ImGuiMouseCursor_ResizeEW:     cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_E; break; | ||||
|         case ImGuiMouseCursor_ResizeNESW:   cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_NE; break; | ||||
|         case ImGuiMouseCursor_ResizeNWSE:   cursor_id = ALLEGRO_SYSTEM_MOUSE_CURSOR_RESIZE_NW; break; | ||||
|         } | ||||
|         al_set_system_mouse_cursor(g_Display, cursor_id); | ||||
|     } | ||||
|     ImGui_ImplAllegro5_UpdateMouseCursor(); | ||||
| } | ||||
|   | ||||
| @@ -2,9 +2,11 @@ | ||||
| // (Info: Allegro 5 is a cross-platform general purpose library for handling windows, inputs, graphics, etc.) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'ALLEGRO_BITMAP*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| // Missing features: | ||||
| //  [ ] Clipboard support via al_set_clipboard_text/al_clipboard_has_text. | ||||
| //  [X] Renderer: User texture binding. Use 'ALLEGRO_BITMAP*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. | ||||
| // Issues: | ||||
| //  [ ] Renderer: The renderer is suboptimal as we need to convert vertices. | ||||
| //  [ ] Platform: Missing clipboard support via al_set_clipboard_text/al_clipboard_has_text. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. Win32) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. Win32) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. Win32) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,8 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. Win32) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Multi-viewport rendering (when ImGuiConfigFlags_ViewportsEnable is enabled). | ||||
| //  [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // FIXME: 64-bit only for now! (Because sizeof(ImTextureId) == sizeof(void*)) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // FIXME: 64-bit only for now! (Because sizeof(ImTextureId) == sizeof(void*)) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. Win32) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. Win32) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -3,7 +3,9 @@ | ||||
| // (Info: GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan graphics context creation, etc.) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] Gamepad navigation mapping. Enable with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'. | ||||
| //  [X] Platform: Clipboard support. | ||||
| //  [X] Platform: Gamepad navigation mapping. Enable with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'. | ||||
| //  [x] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. FIXME: 3 cursors types are missing from GLFW. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -3,7 +3,9 @@ | ||||
| // (Info: GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan graphics context creation, etc.) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] Gamepad navigation mapping. Enable with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'. | ||||
| //  [X] Platform: Clipboard support. | ||||
| //  [X] Platform: Gamepad navigation mapping. Enable with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'. | ||||
| //  [x] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. FIXME: 3 cursors types are missing from GLFW. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| // ImGui Renderer + Platform Binding for: Marmalade + IwGx | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'CIwTexture*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'CIwTexture*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| // ImGui Renderer + Platform Binding for: Marmalade + IwGx | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'CIwTexture*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'CIwTexture*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. GLFW, SDL, Win32, custom..) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)** | ||||
| // **Prefer using the code in imgui_impl_opengl3.cpp** | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. GLFW, SDL, Win32, custom..) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // **DO NOT USE THIS CODE IF YOUR CODE/ENGINE IS USING MODERN OPENGL (SHADERS, VBO, VAO, etc.)** | ||||
| // **Prefer using the code in imgui_impl_opengl3.cpp** | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| // (Note: We are using GL3W as a helper library to access OpenGL functions since there is no standard header to access modern OpenGL functions easily. Alternatives are GLEW, Glad, etc..) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Renderer: User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // CHANGELOG  | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
|   | ||||
| @@ -3,8 +3,7 @@ | ||||
| // (Note: We are using GL3W as a helper library to access OpenGL functions since there is no standard header to access modern OpenGL functions easily. Alternatives are GLEW, Glad, etc..) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
| //  [X] Multi-viewport rendering (when ImGuiConfigFlags_ViewportsEnable is enabled). | ||||
| //  [X] Renderer: User texture binding. Use 'GLUint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. | ||||
|  | ||||
| // About GLSL version: | ||||
| // The 'glsl_version' initialization parameter defaults to "#version 150" if NULL. | ||||
|   | ||||
| @@ -2,8 +2,11 @@ | ||||
| // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..) | ||||
| // (Info: SDL2 is a cross-platform general purpose library for handling windows, inputs, graphics context creation, etc.) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. | ||||
| //  [X] Platform: Clipboard support. | ||||
| // Missing features: | ||||
| //  [ ] SDL2 handling of IME under Windows appears to be broken and it explicitly disable the regular Windows IME. You can restore Windows IME by compiling SDL with SDL_DISABLE_WINDOWS_IME. | ||||
| //  [ ] Platform: SDL2 handling of IME under Windows appears to be broken and it explicitly disable the regular Windows IME. You can restore Windows IME by compiling SDL with SDL_DISABLE_WINDOWS_IME. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,8 +2,11 @@ | ||||
| // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..) | ||||
| // (Info: SDL2 is a cross-platform general purpose library for handling windows, inputs, graphics context creation, etc.) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. | ||||
| //  [X] Platform: Clipboard support. | ||||
| // Missing features: | ||||
| //  [ ] SDL2 handling of IME under Windows appears to be broken and it explicitly disable the regular Windows IME. You can restore Windows IME by compiling SDL with SDL_DISABLE_WINDOWS_IME. | ||||
| //  [ ] Platform: SDL2 handling of IME under Windows appears to be broken and it explicitly disable the regular Windows IME. You can restore Windows IME by compiling SDL with SDL_DISABLE_WINDOWS_IME. | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. GLFW, SDL, Win32, custom..) | ||||
|  | ||||
| // Missing features: | ||||
| //  [ ] User texture binding. Changes of ImTextureID aren't supported by this binding! See https://github.com/ocornut/imgui/pull/914 | ||||
| //  [ ] Renderer: User texture binding. Changes of ImTextureID aren't supported by this binding! See https://github.com/ocornut/imgui/pull/914 | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 5 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXX_CreateFontsTexture(), ImGui_ImplXXXX_NewFrame(), ImGui_ImplXXXX_Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| // This needs to be used along with a Platform Binding (e.g. GLFW, SDL, Win32, custom..) | ||||
|  | ||||
| // Missing features: | ||||
| //  [ ] User texture binding. Changes of ImTextureID aren't supported by this binding! See https://github.com/ocornut/imgui/pull/914 | ||||
| //  [ ] Renderer: User texture binding. Changes of ImTextureID aren't supported by this binding! See https://github.com/ocornut/imgui/pull/914 | ||||
|  | ||||
| // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. | ||||
| // If you use this binding you'll need to call 5 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXX_CreateFontsTexture(), ImGui_ImplXXXX_NewFrame(), ImGui_ImplXXXX_Render() and ImGui_ImplXXXX_Shutdown(). | ||||
|   | ||||
| @@ -1,6 +1,10 @@ | ||||
| // ImGui Platform Binding for: Windows (standard windows API for 32 and 64 bits applications) | ||||
| // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] Platform: Clipboard support (for Win32 this is actually part of core imgui) | ||||
| //  [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. | ||||
|  | ||||
| #include "imgui.h" | ||||
| #include "imgui_impl_win32.h" | ||||
| #define WIN32_LEAN_AND_MEAN | ||||
|   | ||||
| @@ -1,6 +1,10 @@ | ||||
| // ImGui Platform Binding for: Windows (standard windows API for 32 and 64 bits applications) | ||||
| // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..) | ||||
|  | ||||
| // Implemented features: | ||||
| //  [X] Platform: Clipboard support (for Win32 this is actually part of core imgui) | ||||
| //  [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. | ||||
|  | ||||
| IMGUI_API bool        ImGui_ImplWin32_Init(void* hwnd); | ||||
| IMGUI_API void        ImGui_ImplWin32_Shutdown(); | ||||
| IMGUI_API void        ImGui_ImplWin32_NewFrame(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user