|
@@ -35,6 +35,7 @@ Index of this file:
|
|
|
// [SECTION] Drawing API (ImDrawCallback, ImDrawCmd, ImDrawIdx, ImDrawVert, ImDrawChannel, ImDrawListSplitter, ImDrawFlags, ImDrawListFlags, ImDrawList, ImDrawData)
|
|
|
// [SECTION] Font API (ImFontConfig, ImFontGlyph, ImFontGlyphRangesBuilder, ImFontAtlasFlags, ImFontAtlas, ImFont)
|
|
|
// [SECTION] Viewports (ImGuiViewportFlags, ImGuiViewport)
|
|
|
+// [SECTION] Platform Dependent Interfaces (ImGuiPlatformImeData)
|
|
|
// [SECTION] Obsolete functions and types
|
|
|
|
|
|
*/
|
|
@@ -64,7 +65,7 @@ Index of this file:
|
|
|
// Version
|
|
|
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
|
|
|
#define IMGUI_VERSION "1.87 WIP"
|
|
|
-#define IMGUI_VERSION_NUM 18602
|
|
|
+#define IMGUI_VERSION_NUM 18603
|
|
|
#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
|
|
|
#define IMGUI_HAS_TABLE
|
|
|
|
|
@@ -154,6 +155,7 @@ struct ImGuiInputTextCallbackData; // Shared state of InputText() when using cu
|
|
|
struct ImGuiListClipper; // Helper to manually clip large list of items
|
|
|
struct ImGuiOnceUponAFrame; // Helper for running a block of code not more than once a frame
|
|
|
struct ImGuiPayload; // User data payload for drag and drop operations
|
|
|
+struct ImGuiPlatformImeData; // Platform IME data for io.SetPlatformImeDataFn() function.
|
|
|
struct ImGuiSizeCallbackData; // Callback data when using SetNextWindowSizeConstraints() (rare/advanced use)
|
|
|
struct ImGuiStorage; // Helper for key->value storage
|
|
|
struct ImGuiStyle; // Runtime data for styling/colors
|
|
@@ -1868,8 +1870,12 @@ struct ImGuiIO
|
|
|
|
|
|
// Optional: Notify OS Input Method Editor of the screen position of your cursor for text input position (e.g. when using Japanese/Chinese IME on Windows)
|
|
|
// (default to use native imm32 api on Windows)
|
|
|
- void (*ImeSetInputScreenPosFn)(int x, int y);
|
|
|
- void* ImeWindowHandle; // = NULL // (Windows) Set this to your HWND to get automatic IME cursor positioning.
|
|
|
+ void (*SetPlatformImeDataFn)(ImGuiViewport* viewport, ImGuiPlatformImeData* data);
|
|
|
+#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
|
|
|
+ void* ImeWindowHandle; // = NULL // [Obsolete] Set ImGuiViewport::PlatformHandleRaw instead. Set this to your HWND to get automatic IME cursor positioning.
|
|
|
+#else
|
|
|
+ void* _UnusedPadding; // Unused field to keep data structure the same size.
|
|
|
+#endif
|
|
|
|
|
|
//------------------------------------------------------------------
|
|
|
// Input - Fill before calling NewFrame()
|
|
@@ -2809,6 +2815,9 @@ struct ImGuiViewport
|
|
|
ImVec2 WorkPos; // Work Area: Position of the viewport minus task bars, menus bars, status bars (>= Pos)
|
|
|
ImVec2 WorkSize; // Work Area: Size of the viewport minus task bars, menu bars, status bars (<= Size)
|
|
|
|
|
|
+ // Platform/Backend Dependent Data
|
|
|
+ void* PlatformHandleRaw; // void* to hold lower-level, platform-native window handle (under Win32 this is expected to be a HWND, unused for other platforms)
|
|
|
+
|
|
|
ImGuiViewport() { memset(this, 0, sizeof(*this)); }
|
|
|
|
|
|
// Helpers
|
|
@@ -2816,6 +2825,16 @@ struct ImGuiViewport
|
|
|
ImVec2 GetWorkCenter() const { return ImVec2(WorkPos.x + WorkSize.x * 0.5f, WorkPos.y + WorkSize.y * 0.5f); }
|
|
|
};
|
|
|
|
|
|
+//-----------------------------------------------------------------------------
|
|
|
+// [SECTION] Platform Dependent Interfaces
|
|
|
+//-----------------------------------------------------------------------------
|
|
|
+
|
|
|
+// (Optional) Support for IME (Input Method Editor) via the io.SetPlatformImeDataFn() function.
|
|
|
+struct ImGuiPlatformImeData
|
|
|
+{
|
|
|
+ ImVec2 InputPos; // Position of the input cursor
|
|
|
+};
|
|
|
+
|
|
|
//-----------------------------------------------------------------------------
|
|
|
// [SECTION] Obsolete functions and types
|
|
|
// (Will be removed! Read 'API BREAKING CHANGES' section in imgui.cpp for details)
|