// If the current ActiveId was declared within the boundary of our group, we copy it to LastItemId so IsItemActive(), IsItemDeactivated() etc. will be functional on the entire group.
// If the current ActiveId was declared within the boundary of our group, we copy it to LastItemId so IsItemActive(), IsItemDeactivated() etc. will be functional on the entire group.
// It would be be neater if we replaced window.DC.LastItemId by e.g. 'bool LastItemIsActive', but put a little more burden on individual widgets.
// It would be be neater if we replaced window.DC.LastItemId by e.g. 'bool LastItemIsActive', but put a little more burden on individual widgets.
// (and if you grep for LastItemId you'll notice it is only used in that context.
// (and if you grep for LastItemId you'll notice it is only used in that context.
ImGuiSelectableFlags_DontClosePopups=1<<0,// Clicking this don't close parent popup window
ImGuiSelectableFlags_DontClosePopups=1<<0,// Clicking this don't close parent popup window
ImGuiSelectableFlags_SpanAllColumns=1<<1,// Selectable frame can span all columns (text will still fit in current column)
ImGuiSelectableFlags_SpanAllColumns=1<<1,// Selectable frame can span all columns (text will still fit in current column)
ImGuiSelectableFlags_AllowDoubleClick=1<<2// Generate press events on double clicks too
ImGuiSelectableFlags_AllowDoubleClick=1<<2,// Generate press events on double clicks too
ImGuiSelectableFlags_Disabled=1<<3// Cannot be selected, display greyed out text
};
};
// Flags for ImGui::BeginCombo()
// Flags for ImGui::BeginCombo()
@ -1184,6 +1185,7 @@ struct ImGuiIO
intMetricsRenderIndices;// Indices output during last call to Render() = number of triangles * 3
intMetricsRenderIndices;// Indices output during last call to Render() = number of triangles * 3
intMetricsRenderWindows;// Number of visible windows
intMetricsRenderWindows;// Number of visible windows
intMetricsActiveWindows;// Number of active windows
intMetricsActiveWindows;// Number of active windows
intMetricsActiveAllocations;// Number of active allocations, updated by MemAlloc/MemFree based on current context. May be off if you have multiple imgui contexts.
ImVec2MouseDelta;// Mouse delta. Note that this is zero if either current or previous position are invalid (-FLT_MAX,-FLT_MAX), so a disappearing/reappearing mouse won't have a huge delta.
ImVec2MouseDelta;// Mouse delta. Note that this is zero if either current or previous position are invalid (-FLT_MAX,-FLT_MAX), so a disappearing/reappearing mouse won't have a huge delta.
IMGUI_APIintImTextCountCharsFromUtf8(constchar*in_text,constchar*in_text_end);// return number of UTF-8 code-points (NOT bytes count)
IMGUI_APIintImTextCountCharsFromUtf8(constchar*in_text,constchar*in_text_end);// return number of UTF-8 code-points (NOT bytes count)
IMGUI_APIintImTextCountUtf8BytesFromStr(constImWchar*in_text,constImWchar*in_text_end);// return number of bytes to express string as UTF-8 code-points
IMGUI_APIintImTextCountUtf8BytesFromChar(constchar*in_text,constchar*in_text_end);// return number of bytes to express one char in UTF-8
IMGUI_APIintImTextCountUtf8BytesFromStr(constImWchar*in_text,constImWchar*in_text_end);// return number of bytes to express string in UTF-8
// Helpers: Misc
// Helpers: Misc
IMGUI_APIImU32ImHash(constvoid*data,intdata_size,ImU32seed=0);// Pass data_size==0 for zero-terminated strings
IMGUI_APIImU32ImHash(constvoid*data,intdata_size,ImU32seed=0);// Pass data_size==0 for zero-terminated strings