mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Amend 790132a (breaking)
			
			
This commit is contained in:
		| @@ -17,7 +17,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModsEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2021-12-08: Renderer: Fixed mishandling of the the ImDrawCmd::IdxOffset field! This is an old bug but it never had an effect until some internal rendering changes in 1.86. | ||||
| //  2021-08-17: Calling io.AddFocusEvent() on ALLEGRO_EVENT_DISPLAY_SWITCH_OUT/ALLEGRO_EVENT_DISPLAY_SWITCH_IN events. | ||||
| //  2021-06-29: Reorganized backend to pull data from a single structure to facilitate usage with multiple-contexts (all g_XXXX access changed to bd->XXXX). | ||||
| @@ -570,7 +570,7 @@ void ImGui_ImplAllegro5_NewFrame() | ||||
|         ((al_key_down(&keys, ALLEGRO_KEY_LSHIFT) || al_key_down(&keys, ALLEGRO_KEY_RSHIFT)) ? ImGuiKeyModFlags_Shift : 0) | | ||||
|         ((al_key_down(&keys, ALLEGRO_KEY_ALT) || al_key_down(&keys, ALLEGRO_KEY_ALTGR)) ? ImGuiKeyModFlags_Alt : 0) | | ||||
|         ((al_key_down(&keys, ALLEGRO_KEY_LWIN) || al_key_down(&keys, ALLEGRO_KEY_RWIN)) ? ImGuiKeyModFlags_Super : 0); | ||||
|     io.AddKeyModEvent(key_mods); | ||||
|     io.AddKeyModsEvent(key_mods); | ||||
|  | ||||
|     ImGui_ImplAllegro5_UpdateMouseCursor(); | ||||
| } | ||||
|   | ||||
| @@ -19,7 +19,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModsEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2021-03-04: Initial version. | ||||
|  | ||||
| #include "imgui.h" | ||||
| @@ -292,7 +292,7 @@ void ImGui_ImplAndroid_NewFrame() | ||||
|         io.SetKeyEventNativeData(key_event.Key, key_event.NativeKeycode, key_event.NativeScancode); // To support legacy indexing (<1.87 user code) | ||||
|         key_queue.second.pop(); | ||||
|     } | ||||
|     io.AddKeyModEvent(g_KeyModFlags); | ||||
|     io.AddKeyModsEvent(g_KeyModFlags); | ||||
|  | ||||
|     // Setup display size (every frame to accommodate for window resizing) | ||||
|     int32_t window_width = ANativeWindow_getWidth(g_Window); | ||||
|   | ||||
| @@ -16,7 +16,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModsEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-05: Inputs: Converting GLFW untranslated keycodes back to translated keycodes (in the ImGui_ImplGlfw_KeyCallback() function) in order to match the behavior of every other backend, and facilitate the use of GLFW with lettered-shortcuts API. | ||||
| //  2021-08-17: *BREAKING CHANGE*: Now using glfwSetWindowFocusCallback() to calling io.AddFocusEvent(). If you called ImGui_ImplGlfw_InitXXX() with install_callbacks = false, you MUST install glfwSetWindowFocusCallback() and forward it to the backend via ImGui_ImplGlfw_WindowFocusCallback(). | ||||
| //  2021-07-29: *BREAKING CHANGE*: Now using glfwSetCursorEnterCallback(). MousePos is correctly reported when the host platform window is hovered but not focused. If you called ImGui_ImplGlfw_InitXXX() with install_callbacks = false, you MUST install glfwSetWindowFocusCallback() callback and forward it to the backend via ImGui_ImplGlfw_CursorEnterCallback(). | ||||
| @@ -549,7 +549,7 @@ static void ImGui_ImplGlfw_UpdateKeyModifiers() | ||||
|         (((glfwGetKey(bd->Window, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS) || (glfwGetKey(bd->Window, GLFW_KEY_RIGHT_SHIFT) == GLFW_PRESS)) ? ImGuiKeyModFlags_Shift : 0) | | ||||
|         (((glfwGetKey(bd->Window, GLFW_KEY_LEFT_ALT) == GLFW_PRESS) || (glfwGetKey(bd->Window, GLFW_KEY_RIGHT_ALT) == GLFW_PRESS)) ? ImGuiKeyModFlags_Alt : 0) | | ||||
|         (((glfwGetKey(bd->Window, GLFW_KEY_LEFT_SUPER) == GLFW_PRESS) || (glfwGetKey(bd->Window, GLFW_KEY_RIGHT_SUPER) == GLFW_PRESS)) ? ImGuiKeyModFlags_Super : 0); | ||||
|     io.AddKeyModEvent(key_mods); | ||||
|     io.AddKeyModsEvent(key_mods); | ||||
| } | ||||
|  | ||||
| void ImGui_ImplGlfw_NewFrame() | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModsEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2019-04-03: Misc: Renamed imgui_impl_freeglut.cpp/.h to imgui_impl_glut.cpp/.h. | ||||
| //  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. | ||||
| @@ -210,7 +210,7 @@ static void ImGui_ImplGLUT_UpdateKeyboardMods() | ||||
|         ((glut_key_mods & GLUT_ACTIVE_CTRL) ? ImGuiKeyModFlags_Ctrl : 0) | | ||||
|         ((glut_key_mods & GLUT_ACTIVE_SHIFT) ? ImGuiKeyModFlags_Shift : 0) | | ||||
|         ((glut_key_mods & GLUT_ACTIVE_ALT) ? ImGuiKeyModFlags_Alt : 0); | ||||
|     io.AddKeyModEvent(key_mods); | ||||
|     io.AddKeyModsEvent(key_mods); | ||||
| } | ||||
|  | ||||
| static void ImGui_ImplGLUT_AddKeyEvent(ImGuiKey key, bool down, int native_keycode) | ||||
|   | ||||
| @@ -22,7 +22,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModsEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2021-12-13: *BREAKING CHANGE* Add NSView parameter to ImGui_ImplOSX_Init(). Generally fix keyboard support. Using kVK_* codes for keyboard keys. | ||||
| //  2021-12-13: Add game controller support. | ||||
| //  2021-09-21: Use mach_absolute_time as CFAbsoluteTimeGetCurrent can jump backwards. | ||||
| @@ -496,7 +496,7 @@ static void ImGui_ImplOSX_UpdateGamepads() | ||||
| static void ImGui_ImplOSX_UpdateKeyModifiers() | ||||
| { | ||||
|     ImGuiIO& io = ImGui::GetIO(); | ||||
|     io.AddKeyModEvent(g_KeyModifiers); | ||||
|     io.AddKeyModsEvent(g_KeyModifiers); | ||||
| } | ||||
|  | ||||
| void ImGui_ImplOSX_NewFrame(NSView* view) | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModsEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2021-08-17: Calling io.AddFocusEvent() on SDL_WINDOWEVENT_FOCUS_GAINED/SDL_WINDOWEVENT_FOCUS_LOST. | ||||
| //  2021-07-29: Inputs: MousePos is correctly reported when the host platform window is hovered but not focused (using SDL_GetMouseFocus() + SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH, requires SDL 2.0.5+) | ||||
| //  2021-06-29: *BREAKING CHANGE* Removed 'SDL_Window* window' parameter to ImGui_ImplSDL2_NewFrame() which was unnecessary. | ||||
| @@ -510,8 +510,7 @@ static void ImGui_ImplSDL2_UpdateKeyModifiers() | ||||
|         ((sdl_key_mods & KMOD_SHIFT) ? ImGuiKeyModFlags_Shift : 0) | | ||||
|         ((sdl_key_mods & KMOD_ALT) ? ImGuiKeyModFlags_Alt : 0) | | ||||
|         ((sdl_key_mods & KMOD_GUI) ? ImGuiKeyModFlags_Super : 0); | ||||
|     io.AddKeyModEvent(key_mods); | ||||
|  | ||||
|     io.AddKeyModsEvent(key_mods); | ||||
| } | ||||
|  | ||||
| void ImGui_ImplSDL2_NewFrame() | ||||
|   | ||||
| @@ -33,7 +33,7 @@ typedef DWORD (WINAPI *PFN_XInputGetState)(DWORD, XINPUT_STATE*); | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2022-01-10: Inputs: calling new io.AddKeyEvent(), io.AddKeyModsEvent() + io.SetKeyEventNativeData() API (1.87+). Support for full ImGuiKey range. | ||||
| //  2021-12-16: Inputs: Fill VK_LCONTROL/VK_RCONTROL/VK_LSHIFT/VK_RSHIFT/VK_LMENU/VK_RMENU for completeness. | ||||
| //  2021-08-17: Calling io.AddFocusEvent() on WM_SETFOCUS/WM_KILLFOCUS messages. | ||||
| //  2021-08-02: Inputs: Fixed keyboard modifiers being reported when host window doesn't have focus. | ||||
| @@ -235,7 +235,7 @@ static void ImGui_ImplWin32_UpdateKeyModifiers() | ||||
|         ((IsVkDown(VK_LSHIFT) || IsVkDown(VK_RSHIFT)) ? ImGuiKeyModFlags_Shift : 0) | | ||||
|         ((IsVkDown(VK_LMENU) || IsVkDown(VK_RMENU)) ? ImGuiKeyModFlags_Alt : 0) | | ||||
|         ((IsVkDown(VK_LWIN) || IsVkDown(VK_RWIN)) ? ImGuiKeyModFlags_Super : 0); | ||||
|     io.AddKeyModEvent(key_mods); | ||||
|     io.AddKeyModsEvent(key_mods); | ||||
| } | ||||
|  | ||||
| static void ImGui_ImplWin32_UpdateMousePos() | ||||
|   | ||||
| @@ -39,7 +39,7 @@ Breaking Changes: | ||||
|  | ||||
| - Reworked IO keyboard input system. (#2625, #3724) [@thedmd, @ocornut] | ||||
|   - Added io.AddKeyEvent() function, obsoleting writing directly to io.KeyMap[], io.KeysDown[] arrays. | ||||
|   - Added io.AddKeyModEvent() function, obsoleting writing directly to io.KeyCtrl, io.KeyShift etc. | ||||
|   - Added io.AddKeyModsEvent() function, obsoleting writing directly to io.KeyCtrl, io.KeyShift etc. | ||||
|   - Added io.SetKeyEventNativeData() function (optional) to pass native and old legacy indices. | ||||
|   - Added full range of key enums in ImGuiKey (e.g. ImGuiKey_F1). | ||||
|   - Added GetKeyName() helper function. | ||||
|   | ||||
| @@ -390,7 +390,7 @@ CODE | ||||
|                         - IsKeyPressed(MY_NATIVE_KEY_XXX)              -> use IsKeyPressed(ImGuiKey_XXX) | ||||
|                         - IsKeyPressed(GetKeyIndex(ImGuiKey_XXX))      -> use IsKeyPressed(ImGuiKey_XXX) | ||||
|                         - Backend writing to io.KeyMap[],io.KeysDown[] -> backend should call io.AddKeyEvent() | ||||
|                      - inputs: added io.AddKeyModEvent() instead of writing directly to io.KeyCtrl, io.KeyShift, io.KeyAlt, io.KeySuper. | ||||
|                      - inputs: added io.AddKeyModsEvent() instead of writing directly to io.KeyCtrl, io.KeyShift, io.KeyAlt, io.KeySuper. | ||||
|  - 2022/01/05 (1.87) - inputs: renamed ImGuiKey_KeyPadEnter to ImGuiKey_KeypadEnter to align with new symbols. Kept redirection enum. | ||||
|  - 2022/01/05 (1.87) - removed io.ImeSetInputScreenPosFn() in favor of more flexible io.SetPlatformImeDataFn(). Removed 'void* io.ImeWindowHandle' in favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'. | ||||
|  - 2022/01/01 (1.87) - commented out redirecting functions/enums names that were marked obsolete in 1.69, 1.70, 1.71, 1.72 (March-July 2019) | ||||
| @@ -1282,7 +1282,7 @@ void ImGuiIO::SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void ImGuiIO::AddKeyModEvent(ImGuiKeyModFlags modifiers) | ||||
| void ImGuiIO::AddKeyModsEvent(ImGuiKeyModFlags modifiers) | ||||
| { | ||||
|     KeyMods = modifiers; | ||||
|     KeyCtrl = (modifiers & ImGuiKeyModFlags_Ctrl) != 0; | ||||
|   | ||||
							
								
								
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -2007,7 +2007,7 @@ struct ImGuiIO | ||||
|  | ||||
|     // Input Functions | ||||
|     IMGUI_API void  AddKeyEvent(ImGuiKey key, bool down);       // Queue a new key down/up event. Key should be "translated" (as in, generally ImGuiKey_A matches the key end-user would use to emit an 'A' character) | ||||
|     IMGUI_API void  AddKeyModEvent(ImGuiKeyModFlags modifiers); // Queue a change of Ctrl/Shift/Alt/Super modifiers | ||||
|     IMGUI_API void  AddKeyModsEvent(ImGuiKeyModFlags modifiers);// Queue a change of Ctrl/Shift/Alt/Super modifiers | ||||
|     IMGUI_API void  AddFocusEvent(bool focused);                // Queue an hosting application/platform windows gain or loss of focus | ||||
|     IMGUI_API void  AddInputCharacter(unsigned int c);          // Queue new character input | ||||
|     IMGUI_API void  AddInputCharacterUTF16(ImWchar16 c);        // Queue new character input from an UTF-16 character, it can be a surrogate | ||||
|   | ||||
		Reference in New Issue
	
	Block a user