|
@@ -48,7 +48,7 @@ Index of this file:
|
|
|
// (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)
|
|
// (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.70 WIP"
|
|
#define IMGUI_VERSION "1.70 WIP"
|
|
|
#define IMGUI_VERSION_NUM 16991
|
|
#define IMGUI_VERSION_NUM 16991
|
|
|
-#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert))
|
|
|
|
|
|
|
+#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
|
|
|
|
|
|
|
|
// Define attributes of all API symbols declarations (e.g. for DLL under Windows)
|
|
// Define attributes of all API symbols declarations (e.g. for DLL under Windows)
|
|
|
// IMGUI_API is used for core imgui functions, IMGUI_IMPL_API is used for the default bindings files (imgui_impl_xxx.h)
|
|
// IMGUI_API is used for core imgui functions, IMGUI_IMPL_API is used for the default bindings files (imgui_impl_xxx.h)
|
|
@@ -208,7 +208,7 @@ namespace ImGui
|
|
|
IMGUI_API void DestroyContext(ImGuiContext* ctx = NULL); // NULL = destroy current context
|
|
IMGUI_API void DestroyContext(ImGuiContext* ctx = NULL); // NULL = destroy current context
|
|
|
IMGUI_API ImGuiContext* GetCurrentContext();
|
|
IMGUI_API ImGuiContext* GetCurrentContext();
|
|
|
IMGUI_API void SetCurrentContext(ImGuiContext* ctx);
|
|
IMGUI_API void SetCurrentContext(ImGuiContext* ctx);
|
|
|
- IMGUI_API bool DebugCheckVersionAndDataLayout(const char* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert);
|
|
|
|
|
|
|
+ IMGUI_API bool DebugCheckVersionAndDataLayout(const char* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx);
|
|
|
|
|
|
|
|
// Main
|
|
// Main
|
|
|
IMGUI_API ImGuiIO& GetIO(); // access the IO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags)
|
|
IMGUI_API ImGuiIO& GetIO(); // access the IO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags)
|
|
@@ -270,7 +270,7 @@ namespace ImGui
|
|
|
// Prefer using SetNextXXX functions (before Begin) rather that SetXXX functions (after Begin).
|
|
// Prefer using SetNextXXX functions (before Begin) rather that SetXXX functions (after Begin).
|
|
|
IMGUI_API void SetNextWindowPos(const ImVec2& pos, ImGuiCond cond = 0, const ImVec2& pivot = ImVec2(0,0)); // set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.
|
|
IMGUI_API void SetNextWindowPos(const ImVec2& pos, ImGuiCond cond = 0, const ImVec2& pivot = ImVec2(0,0)); // set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.
|
|
|
IMGUI_API void SetNextWindowSize(const ImVec2& size, ImGuiCond cond = 0); // set next window size. set axis to 0.0f to force an auto-fit on this axis. call before Begin()
|
|
IMGUI_API void SetNextWindowSize(const ImVec2& size, ImGuiCond cond = 0); // set next window size. set axis to 0.0f to force an auto-fit on this axis. call before Begin()
|
|
|
- IMGUI_API void SetNextWindowSizeConstraints(const ImVec2& size_min, const ImVec2& size_max, ImGuiSizeCallback custom_callback = NULL, void* custom_callback_data = NULL); // set next window size limits. use -1,-1 on either X/Y axis to preserve the current size. Use callback to apply non-trivial programmatic constraints.
|
|
|
|
|
|
|
+ IMGUI_API void SetNextWindowSizeConstraints(const ImVec2& size_min, const ImVec2& size_max, ImGuiSizeCallback custom_callback = NULL, void* custom_callback_data = NULL); // set next window size limits. use -1,-1 on either X/Y axis to preserve the current size. Sizes will be rounded down. Use callback to apply non-trivial programmatic constraints.
|
|
|
IMGUI_API void SetNextWindowContentSize(const ImVec2& size); // set next window content size (~ enforce the range of scrollbars). not including window decorations (title bar, menu bar, etc.). set an axis to 0.0f to leave it automatic. call before Begin()
|
|
IMGUI_API void SetNextWindowContentSize(const ImVec2& size); // set next window content size (~ enforce the range of scrollbars). not including window decorations (title bar, menu bar, etc.). set an axis to 0.0f to leave it automatic. call before Begin()
|
|
|
IMGUI_API void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond = 0); // set next window collapsed state. call before Begin()
|
|
IMGUI_API void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond = 0); // set next window collapsed state. call before Begin()
|
|
|
IMGUI_API void SetNextWindowFocus(); // set next window to be focused / front-most. call before Begin()
|
|
IMGUI_API void SetNextWindowFocus(); // set next window to be focused / front-most. call before Begin()
|
|
@@ -1436,7 +1436,8 @@ struct ImGuiIO
|
|
|
bool MouseClicked[5]; // Mouse button went from !Down to Down
|
|
bool MouseClicked[5]; // Mouse button went from !Down to Down
|
|
|
bool MouseDoubleClicked[5]; // Has mouse button been double-clicked?
|
|
bool MouseDoubleClicked[5]; // Has mouse button been double-clicked?
|
|
|
bool MouseReleased[5]; // Mouse button went from Down to !Down
|
|
bool MouseReleased[5]; // Mouse button went from Down to !Down
|
|
|
- bool MouseDownOwned[5]; // Track if button was clicked inside a window. We don't request mouse capture from the application if click started outside ImGui bounds.
|
|
|
|
|
|
|
+ bool MouseDownOwned[5]; // Track if button was clicked inside an imgui window. We don't request mouse capture from the application if click started outside ImGui bounds.
|
|
|
|
|
+ bool MouseDownWasDoubleClick[5]; // Track if button down was a double-click
|
|
|
float MouseDownDuration[5]; // Duration the mouse button has been down (0.0f == just clicked)
|
|
float MouseDownDuration[5]; // Duration the mouse button has been down (0.0f == just clicked)
|
|
|
float MouseDownDurationPrev[5]; // Previous time the mouse button has been down
|
|
float MouseDownDurationPrev[5]; // Previous time the mouse button has been down
|
|
|
ImVec2 MouseDragMaxDistanceAbs[5]; // Maximum distance, absolute, on each axis, of how much mouse has traveled from the clicking point
|
|
ImVec2 MouseDragMaxDistanceAbs[5]; // Maximum distance, absolute, on each axis, of how much mouse has traveled from the clicking point
|