mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01: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