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
// Helpers: Misc
ImU32ImHash(constvoid*data,intdata_size,ImU32seed=0);// Pass data_size==0 for zero-terminated strings
// We are keeping those not leaking to the user by default, in the case the user has implicit cast operators between ImVec2 and its own types (when IM_VEC2_CLASS_EXTRA is defined)
@ -182,7 +182,7 @@ enum ImGuiDataType
// 2D axis aligned bounding-box
// NB: we can't rely on ImVec2 math operators being available here
structImRect
structIMGUI_API ImRect
{
ImVec2Min;// Upper-left
ImVec2Max;// Lower-right
@ -249,21 +249,21 @@ struct ImGuiGroupData
};
// Simple column measurement currently used for MenuItem() only. This is very short-sighted for now and not a generic helper.
structImGuiSimpleColumns
structIMGUI_API ImGuiSimpleColumns
{
intCount;
floatSpacing;
floatWidth,NextWidth;
floatPos[8],NextWidths[8];
intCount;
floatSpacing;
floatWidth,NextWidth;
floatPos[8],NextWidths[8];
ImGuiSimpleColumns();
voidUpdate(intcount,floatspacing,boolclear);
floatDeclColumns(floatw0,floatw1,floatw2);
floatCalcExtraSpace(floatavail_w);
voidUpdate(intcount,floatspacing,boolclear);
floatDeclColumns(floatw0,floatw1,floatw2);
floatCalcExtraSpace(floatavail_w);
};
// Internal state of the currently focused/edited text input box
structImGuiTextEditState
structIMGUI_API ImGuiTextEditState
{
ImGuiIDId;// widget id owning the text state
ImVector<ImWchar>Text;// edit buffer, we need to persist but can't guarantee the persistence of the user-provided buffer. so we copy into own buffer.