mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00:00 
			
		
		
		
	This commit is contained in:
		| @@ -20,6 +20,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2023-10-05: Inputs: Added support for extra ImGuiKey values: F13 to F24 function keys. | ||||
| //  2023-07-18: Inputs: Revert ignoring mouse data on GLFW_CURSOR_DISABLED as it can be used differently. User may set ImGuiConfigFLags_NoMouse if desired. (#5625, #6609) | ||||
| //  2023-06-12: Accept glfwGetTime() not returning a monotonically increasing value. This seems to happens on some Windows setup when peripherals disconnect, and is likely to also happen on browser + Emscripten. (#6491) | ||||
| //  2023-04-04: Inputs: Added support for io.AddMouseSourceEvent() to discriminate ImGuiMouseSource_Mouse/ImGuiMouseSource_TouchScreen/ImGuiMouseSource_Pen on Windows ONLY, using a custom WndProc hook. (#2702) | ||||
| @@ -274,6 +275,18 @@ static ImGuiKey ImGui_ImplGlfw_KeyToImGuiKey(int key) | ||||
|         case GLFW_KEY_F10: return ImGuiKey_F10; | ||||
|         case GLFW_KEY_F11: return ImGuiKey_F11; | ||||
|         case GLFW_KEY_F12: return ImGuiKey_F12; | ||||
|         case GLFW_KEY_F13: return ImGuiKey_F13; | ||||
|         case GLFW_KEY_F14: return ImGuiKey_F14; | ||||
|         case GLFW_KEY_F15: return ImGuiKey_F15; | ||||
|         case GLFW_KEY_F16: return ImGuiKey_F16; | ||||
|         case GLFW_KEY_F17: return ImGuiKey_F17; | ||||
|         case GLFW_KEY_F18: return ImGuiKey_F18; | ||||
|         case GLFW_KEY_F19: return ImGuiKey_F19; | ||||
|         case GLFW_KEY_F20: return ImGuiKey_F20; | ||||
|         case GLFW_KEY_F21: return ImGuiKey_F21; | ||||
|         case GLFW_KEY_F22: return ImGuiKey_F22; | ||||
|         case GLFW_KEY_F23: return ImGuiKey_F23; | ||||
|         case GLFW_KEY_F24: return ImGuiKey_F24; | ||||
|         default: return ImGuiKey_None; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -29,6 +29,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2023-10-05: Inputs: Added support for extra ImGuiKey values: F13 to F20 function keys. Stopped mapping F13 into PrintScreen. | ||||
| //  2023-04-09: Inputs: Added support for io.AddMouseSourceEvent() to discriminate ImGuiMouseSource_Mouse/ImGuiMouseSource_Pen. | ||||
| //  2023-02-01: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices). | ||||
| //  2022-11-02: Fixed mouse coordinates before clicking the host window. | ||||
| @@ -337,36 +338,36 @@ static ImGuiKey ImGui_ImplOSX_KeyCodeToImGuiKey(int key_code) | ||||
|         case kVK_RightOption: return ImGuiKey_RightAlt; | ||||
|         case kVK_RightCommand: return ImGuiKey_RightSuper; | ||||
| //      case kVK_Function: return ImGuiKey_; | ||||
| //      case kVK_F17: return ImGuiKey_; | ||||
| //      case kVK_VolumeUp: return ImGuiKey_; | ||||
| //      case kVK_VolumeDown: return ImGuiKey_; | ||||
| //      case kVK_Mute: return ImGuiKey_; | ||||
| //      case kVK_F18: return ImGuiKey_; | ||||
| //      case kVK_F19: return ImGuiKey_; | ||||
| //      case kVK_F20: return ImGuiKey_; | ||||
|         case kVK_F1: return ImGuiKey_F1; | ||||
|         case kVK_F2: return ImGuiKey_F2; | ||||
|         case kVK_F3: return ImGuiKey_F3; | ||||
|         case kVK_F4: return ImGuiKey_F4; | ||||
|         case kVK_F5: return ImGuiKey_F5; | ||||
|         case kVK_F6: return ImGuiKey_F6; | ||||
|         case kVK_F7: return ImGuiKey_F7; | ||||
|         case kVK_F3: return ImGuiKey_F3; | ||||
|         case kVK_F8: return ImGuiKey_F8; | ||||
|         case kVK_F9: return ImGuiKey_F9; | ||||
|         case kVK_F11: return ImGuiKey_F11; | ||||
|         case kVK_F13: return ImGuiKey_PrintScreen; | ||||
| //      case kVK_F16: return ImGuiKey_; | ||||
| //      case kVK_F14: return ImGuiKey_; | ||||
|         case kVK_F10: return ImGuiKey_F10; | ||||
|         case 0x6E: return ImGuiKey_Menu; | ||||
|         case kVK_F11: return ImGuiKey_F11; | ||||
|         case kVK_F12: return ImGuiKey_F12; | ||||
| //      case kVK_F15: return ImGuiKey_; | ||||
|         case kVK_F13: return ImGuiKey_F13; | ||||
|         case kVK_F14: return ImGuiKey_F14; | ||||
|         case kVK_F15: return ImGuiKey_F15; | ||||
|         case kVK_F16: return ImGuiKey_F16; | ||||
|         case kVK_F17: return ImGuiKey_F17; | ||||
|         case kVK_F18: return ImGuiKey_F18; | ||||
|         case kVK_F19: return ImGuiKey_F19; | ||||
|         case kVK_F20: return ImGuiKey_F20; | ||||
|         case 0x6E: return ImGuiKey_Menu; | ||||
|         case kVK_Help: return ImGuiKey_Insert; | ||||
|         case kVK_Home: return ImGuiKey_Home; | ||||
|         case kVK_PageUp: return ImGuiKey_PageUp; | ||||
|         case kVK_ForwardDelete: return ImGuiKey_Delete; | ||||
|         case kVK_F4: return ImGuiKey_F4; | ||||
|         case kVK_End: return ImGuiKey_End; | ||||
|         case kVK_F2: return ImGuiKey_F2; | ||||
|         case kVK_PageDown: return ImGuiKey_PageDown; | ||||
|         case kVK_F1: return ImGuiKey_F1; | ||||
|         case kVK_LeftArrow: return ImGuiKey_LeftArrow; | ||||
|         case kVK_RightArrow: return ImGuiKey_RightArrow; | ||||
|         case kVK_DownArrow: return ImGuiKey_DownArrow; | ||||
|   | ||||
| @@ -21,6 +21,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2023-10-05: Inputs: Added support for extra ImGuiKey values: F13 to F24 function keys. | ||||
| //  2023-04-06: Inputs: Avoid calling SDL_StartTextInput()/SDL_StopTextInput() as they don't only pertain to IME. It's unclear exactly what their relation is to IME. (#6306) | ||||
| //  2023-04-04: Inputs: Added support for io.AddMouseSourceEvent() to discriminate ImGuiMouseSource_Mouse/ImGuiMouseSource_TouchScreen. (#2702) | ||||
| //  2023-02-23: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644) | ||||
| @@ -263,6 +264,18 @@ static ImGuiKey ImGui_ImplSDL2_KeycodeToImGuiKey(int keycode) | ||||
|         case SDLK_F10: return ImGuiKey_F10; | ||||
|         case SDLK_F11: return ImGuiKey_F11; | ||||
|         case SDLK_F12: return ImGuiKey_F12; | ||||
|         case SDLK_F13: return ImGuiKey_F13; | ||||
|         case SDLK_F14: return ImGuiKey_F14; | ||||
|         case SDLK_F15: return ImGuiKey_F15; | ||||
|         case SDLK_F16: return ImGuiKey_F16; | ||||
|         case SDLK_F17: return ImGuiKey_F17; | ||||
|         case SDLK_F18: return ImGuiKey_F18; | ||||
|         case SDLK_F19: return ImGuiKey_F19; | ||||
|         case SDLK_F20: return ImGuiKey_F20; | ||||
|         case SDLK_F21: return ImGuiKey_F21; | ||||
|         case SDLK_F22: return ImGuiKey_F22; | ||||
|         case SDLK_F23: return ImGuiKey_F23; | ||||
|         case SDLK_F24: return ImGuiKey_F24; | ||||
|     } | ||||
|     return ImGuiKey_None; | ||||
| } | ||||
|   | ||||
| @@ -22,6 +22,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2023-10-05: Inputs: Added support for extra ImGuiKey values: F13 to F24 function keys. | ||||
| //  2023-05-04: Fixed build on Emscripten/iOS/Android. (#6391) | ||||
| //  2023-04-06: Inputs: Avoid calling SDL_StartTextInput()/SDL_StopTextInput() as they don't only pertain to IME. It's unclear exactly what their relation is to IME. (#6306) | ||||
| //  2023-04-04: Inputs: Added support for io.AddMouseSourceEvent() to discriminate ImGuiMouseSource_Mouse/ImGuiMouseSource_TouchScreen. (#2702) | ||||
| @@ -214,6 +215,18 @@ static ImGuiKey ImGui_ImplSDL3_KeycodeToImGuiKey(int keycode) | ||||
|         case SDLK_F10: return ImGuiKey_F10; | ||||
|         case SDLK_F11: return ImGuiKey_F11; | ||||
|         case SDLK_F12: return ImGuiKey_F12; | ||||
|         case SDLK_F13: return ImGuiKey_F13; | ||||
|         case SDLK_F14: return ImGuiKey_F14; | ||||
|         case SDLK_F15: return ImGuiKey_F15; | ||||
|         case SDLK_F16: return ImGuiKey_F16; | ||||
|         case SDLK_F17: return ImGuiKey_F17; | ||||
|         case SDLK_F18: return ImGuiKey_F18; | ||||
|         case SDLK_F19: return ImGuiKey_F19; | ||||
|         case SDLK_F20: return ImGuiKey_F20; | ||||
|         case SDLK_F21: return ImGuiKey_F21; | ||||
|         case SDLK_F22: return ImGuiKey_F22; | ||||
|         case SDLK_F23: return ImGuiKey_F23; | ||||
|         case SDLK_F24: return ImGuiKey_F24; | ||||
|     } | ||||
|     return ImGuiKey_None; | ||||
| } | ||||
|   | ||||
| @@ -39,6 +39,7 @@ typedef DWORD (WINAPI *PFN_XInputGetState)(DWORD, XINPUT_STATE*); | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2023-10-05: Inputs: Added support for extra ImGuiKey values: F13 to F24 function keys. | ||||
| //  2023-09-25: Inputs: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it (same behavior as GLFW/SDL). | ||||
| //  2023-09-07: Inputs: Added support for keyboard codepage conversion for when application is compiled in MBCS mode and using a non-Unicode window. | ||||
| //  2023-04-19: Added ImGui_ImplWin32_InitForOpenGL() to facilitate combining raw Win32/Winapi with OpenGL. (#3218) | ||||
| @@ -516,6 +517,18 @@ static ImGuiKey ImGui_ImplWin32_VirtualKeyToImGuiKey(WPARAM wParam) | ||||
|         case VK_F10: return ImGuiKey_F10; | ||||
|         case VK_F11: return ImGuiKey_F11; | ||||
|         case VK_F12: return ImGuiKey_F12; | ||||
|         case VK_F13: return ImGuiKey_F13; | ||||
|         case VK_F14: return ImGuiKey_F14; | ||||
|         case VK_F15: return ImGuiKey_F15; | ||||
|         case VK_F16: return ImGuiKey_F16; | ||||
|         case VK_F17: return ImGuiKey_F17; | ||||
|         case VK_F18: return ImGuiKey_F18; | ||||
|         case VK_F19: return ImGuiKey_F19; | ||||
|         case VK_F20: return ImGuiKey_F20; | ||||
|         case VK_F21: return ImGuiKey_F21; | ||||
|         case VK_F22: return ImGuiKey_F22; | ||||
|         case VK_F23: return ImGuiKey_F23; | ||||
|         case VK_F24: return ImGuiKey_F24; | ||||
|         default: return ImGuiKey_None; | ||||
|     } | ||||
| } | ||||
| @@ -553,6 +566,8 @@ static ImGuiMouseSource GetMouseSourceFromMessageExtraInfo() | ||||
|     return ImGuiMouseSource_Mouse; | ||||
| } | ||||
|  | ||||
| #include "imgui_internal.h" | ||||
|  | ||||
| IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | ||||
| { | ||||
|     if (ImGui::GetCurrentContext() == nullptr) | ||||
| @@ -659,6 +674,7 @@ IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hwnd, UINT msg, WPARA | ||||
|                 vk = IM_VK_KEYPAD_ENTER; | ||||
|             const ImGuiKey key = ImGui_ImplWin32_VirtualKeyToImGuiKey(vk); | ||||
|             const int scancode = (int)LOBYTE(HIWORD(lParam)); | ||||
|             printf("vk = %X -> key %d, scancode %d\n", vk, key, scancode); | ||||
|  | ||||
|             // Special behavior for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit the key down event. | ||||
|             if (key == ImGuiKey_PrintScreen && !is_key_down) | ||||
|   | ||||
| @@ -125,6 +125,7 @@ Other changes: | ||||
|   register contents size in a way that would affect the scrolling layer. | ||||
|   Was most often noticable when using an horizontal scrollbar. (#6789) | ||||
| - Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846) | ||||
| - IO: Add extra keys to ImGuiKey enum: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921) | ||||
| - IO: Setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228) [@bertaye] | ||||
| - Debug Tools: Metrics: Added log of recent alloc/free calls. | ||||
| - Debug Tools: Metrics: Added "Show groups rectangles" in tools. | ||||
| @@ -132,12 +133,16 @@ Other changes: | ||||
| - ImVector: Added find_index() helper. | ||||
| - Demo: Added "Drag and Drop -> Tooltip at target location" demo. | ||||
| - Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019) [@halx99] | ||||
| - Backends: GLFW: Added support for F13 to F24 function keys. (#6891) | ||||
| - Backends: SDL2, SDL3: Added support for F13 to F24 function keys. (#6891) | ||||
| - Backends: Win32: Added support for F13 to F24 function keys. (#6891) | ||||
| - Backends: Win32: Added support for keyboard codepage conversion for when application | ||||
|   is compiled in MBCS mode and using a non-Unicode window. (#6785, #6782, #5725, #5961) [@sneakyevil] | ||||
| - Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows | ||||
|   doesn't emit it (same behavior as GLFW/SDL). (#6859) [@thedmd, @SuperWangKai] | ||||
| - Backends: OpenGL3: rename symbols in our internal loader so that LTO compilation with another | ||||
|   copy of gl3w becomes possible. (#6875, #6668, #4445) [@nicolasnoble] | ||||
| - Backends: OSX: Added support for F13 to F20 function keys. Support mapping F13 to PrintScreen. (#6891) | ||||
| - Internals: Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861) | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ocornut
					ocornut