From 26892981b9e4246bfea72b8a1bcdfc5e8fc91868 Mon Sep 17 00:00:00 2001 From: Andrey Penechko Date: Tue, 17 Nov 2015 20:58:37 +0200 Subject: [PATCH] Add ImDrawList functions. Fix spacing. --- cimgui/cimgui.cpp | 432 ++++++++++++++++++++++---------------------- cimgui/cimgui.h | 70 ++++++- cimgui/drawList.cpp | 216 +++++++++++++++++++++- 3 files changed, 492 insertions(+), 226 deletions(-) diff --git a/cimgui/cimgui.cpp b/cimgui/cimgui.cpp index a2aff97..cc23d2b 100644 --- a/cimgui/cimgui.cpp +++ b/cimgui/cimgui.cpp @@ -89,9 +89,9 @@ CIMGUI_API void igGetContentRegionMax(ImVec2* out) *out = ImGui::GetContentRegionMax(); } -CIMGUI_API void igGetContentRegionAvail(struct ImVec2* out) +CIMGUI_API void igGetContentRegionAvail(struct ImVec2* out) { - *out = ImGui::GetContentRegionAvail(); + *out = ImGui::GetContentRegionAvail(); } CIMGUI_API float igGetContentRegionAvailWidth() @@ -239,7 +239,7 @@ CIMGUI_API float igGetScrollX() return ImGui::GetScrollX(); } -CIMGUI_API float igGetScrollY() +CIMGUI_API float igGetScrollY() { return ImGui::GetScrollY(); } @@ -249,7 +249,7 @@ CIMGUI_API float igGetScrollMaxX() return ImGui::GetScrollMaxX(); } -CIMGUI_API float igGetScrollMaxY() +CIMGUI_API float igGetScrollMaxY() { return ImGui::GetScrollMaxY(); } @@ -259,120 +259,120 @@ CIMGUI_API void igSetScrollX(float scroll_x) return ImGui::SetScrollX(scroll_x); } -CIMGUI_API void igSetScrollY(float scroll_y) +CIMGUI_API void igSetScrollY(float scroll_y) { return ImGui::SetScrollY(scroll_y); } -CIMGUI_API void igSetScrollHere(float center_y_ratio) +CIMGUI_API void igSetScrollHere(float center_y_ratio) { ImGui::SetScrollHere(center_y_ratio); } -CIMGUI_API void igSetScrollFromPosY(float pos_y, float center_y_ratio) +CIMGUI_API void igSetScrollFromPosY(float pos_y, float center_y_ratio) { return ImGui::SetScrollFromPosY(pos_y,center_y_ratio); } -CIMGUI_API void igSetKeyboardFocusHere(int offset) +CIMGUI_API void igSetKeyboardFocusHere(int offset) { ImGui::SetKeyboardFocusHere(offset); } -CIMGUI_API void igSetStateStorage(ImGuiStorage* tree) +CIMGUI_API void igSetStateStorage(ImGuiStorage* tree) { ImGui::SetStateStorage(tree); } -CIMGUI_API ImGuiStorage* igGetStateStorage() +CIMGUI_API ImGuiStorage* igGetStateStorage() { return ImGui::GetStateStorage(); } // Parameters stacks (shared) -CIMGUI_API void igPushFont(ImFont* font) +CIMGUI_API void igPushFont(ImFont* font) { ImGui::PushFont(font); } -CIMGUI_API void igPopFont() +CIMGUI_API void igPopFont() { return ImGui::PopFont(); } -CIMGUI_API void igPushStyleColor(ImGuiCol idx, CONST ImVec4 col) +CIMGUI_API void igPushStyleColor(ImGuiCol idx, CONST ImVec4 col) { return ImGui::PushStyleColor(idx, col); } -CIMGUI_API void igPopStyleColor(int count) +CIMGUI_API void igPopStyleColor(int count) { return ImGui::PopStyleColor(count); } -CIMGUI_API void igPushStyleVar(ImGuiStyleVar idx, float val) +CIMGUI_API void igPushStyleVar(ImGuiStyleVar idx, float val) { return ImGui::PushStyleVar(idx, val); } -CIMGUI_API void igPushStyleVarVec(ImGuiStyleVar idx, CONST ImVec2 val) +CIMGUI_API void igPushStyleVarVec(ImGuiStyleVar idx, CONST ImVec2 val) { return ImGui::PushStyleVar(idx, val); } -CIMGUI_API void igPopStyleVar(int count) +CIMGUI_API void igPopStyleVar(int count) { return ImGui::PopStyleVar(count); } // Parameters stacks (current window) -CIMGUI_API void igPushItemWidth(float item_width) +CIMGUI_API void igPushItemWidth(float item_width) { return ImGui::PushItemWidth(item_width); } -CIMGUI_API void igPopItemWidth() +CIMGUI_API void igPopItemWidth() { return ImGui::PopItemWidth(); } -CIMGUI_API float igCalcItemWidth() +CIMGUI_API float igCalcItemWidth() { return ImGui::CalcItemWidth(); } -CIMGUI_API void igPushAllowKeyboardFocus(bool v) +CIMGUI_API void igPushAllowKeyboardFocus(bool v) { return ImGui::PushAllowKeyboardFocus(v); } -CIMGUI_API void igPopAllowKeyboardFocus() +CIMGUI_API void igPopAllowKeyboardFocus() { return ImGui::PopAllowKeyboardFocus(); } -CIMGUI_API void igPushTextWrapPos(float wrap_pos_x) +CIMGUI_API void igPushTextWrapPos(float wrap_pos_x) { return ImGui::PushTextWrapPos(wrap_pos_x); } -CIMGUI_API void igPopTextWrapPos() +CIMGUI_API void igPopTextWrapPos() { return ImGui::PopTextWrapPos(); } -CIMGUI_API void igPushButtonRepeat(bool repeat) +CIMGUI_API void igPushButtonRepeat(bool repeat) { return ImGui::PushButtonRepeat(repeat); } -CIMGUI_API void igPopButtonRepeat() +CIMGUI_API void igPopButtonRepeat() { return ImGui::PopButtonRepeat(); } // Tooltip -CIMGUI_API void igSetTooltip(CONST char* fmt, ...) +CIMGUI_API void igSetTooltip(CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -380,169 +380,169 @@ CIMGUI_API void igSetTooltip(CONST char* fmt, ...) va_end(args); } -CIMGUI_API void igSetTooltipV(CONST char* fmt, va_list args) +CIMGUI_API void igSetTooltipV(CONST char* fmt, va_list args) { ImGui::SetTooltipV(fmt, args); } -CIMGUI_API void igBeginTooltip() +CIMGUI_API void igBeginTooltip() { return ImGui::BeginTooltip(); } -CIMGUI_API void igEndTooltip() +CIMGUI_API void igEndTooltip() { return ImGui::EndTooltip(); } // Popup -CIMGUI_API void igOpenPopup(const char* str_id) +CIMGUI_API void igOpenPopup(CONST char* str_id) { return ImGui::OpenPopup(str_id); } -CIMGUI_API bool igBeginPopup(const char* str_id) +CIMGUI_API bool igBeginPopup(CONST char* str_id) { return ImGui::BeginPopup(str_id); } -CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_opened, ImGuiWindowFlags extra_flags) +CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_opened, ImGuiWindowFlags extra_flags) { return ImGui::BeginPopupModal(name, p_opened, extra_flags); } -CIMGUI_API bool igBeginPopupContextItem(CONST char* str_id, int mouse_button) +CIMGUI_API bool igBeginPopupContextItem(CONST char* str_id, int mouse_button) { return ImGui::BeginPopupContextItem(str_id, mouse_button); } -CIMGUI_API bool igBeginPopupContextWindow(bool also_over_items, CONST char* str_id, int mouse_button) +CIMGUI_API bool igBeginPopupContextWindow(bool also_over_items, CONST char* str_id, int mouse_button) { return ImGui::BeginPopupContextWindow(also_over_items, str_id, mouse_button); } -CIMGUI_API bool igBeginPopupContextVoid(CONST char* str_id, int mouse_button) +CIMGUI_API bool igBeginPopupContextVoid(CONST char* str_id, int mouse_button) { return ImGui::BeginPopupContextVoid(str_id, mouse_button); } -CIMGUI_API void igEndPopup() +CIMGUI_API void igEndPopup() { return ImGui::EndPopup(); } -CIMGUI_API void igCloseCurrentPopup() +CIMGUI_API void igCloseCurrentPopup() { return ImGui::CloseCurrentPopup(); } // Layout -CIMGUI_API void igBeginGroup() +CIMGUI_API void igBeginGroup() { return ImGui::BeginGroup(); } -CIMGUI_API void igEndGroup() +CIMGUI_API void igEndGroup() { return ImGui::EndGroup(); } -CIMGUI_API void igSeparator() +CIMGUI_API void igSeparator() { return ImGui::Separator(); } -CIMGUI_API void igSameLine(float local_pos_x, float spacing_w) +CIMGUI_API void igSameLine(float local_pos_x, float spacing_w) { return ImGui::SameLine(local_pos_x, spacing_w); } -CIMGUI_API void igSpacing() +CIMGUI_API void igSpacing() { return ImGui::Spacing(); } -CIMGUI_API void igDummy(CONST ImVec2* size) +CIMGUI_API void igDummy(CONST ImVec2* size) { return ImGui::Dummy(*size); } -CIMGUI_API void igIndent() +CIMGUI_API void igIndent() { return ImGui::Indent(); } -CIMGUI_API void igUnindent() +CIMGUI_API void igUnindent() { return ImGui::Unindent(); } -CIMGUI_API void igColumns(int count, CONST char* id, bool border) +CIMGUI_API void igColumns(int count, CONST char* id, bool border) { return ImGui::Columns(count, id, border); } -CIMGUI_API void igNextColumn() +CIMGUI_API void igNextColumn() { return ImGui::NextColumn(); } -CIMGUI_API int igGetColumnIndex() +CIMGUI_API int igGetColumnIndex() { return ImGui::GetColumnIndex(); } -CIMGUI_API float igGetColumnOffset(int column_index) +CIMGUI_API float igGetColumnOffset(int column_index) { return ImGui::GetColumnOffset(column_index); } -CIMGUI_API void igSetColumnOffset(int column_index, float offset_x) +CIMGUI_API void igSetColumnOffset(int column_index, float offset_x) { return ImGui::SetColumnOffset(column_index, offset_x); } -CIMGUI_API float igGetColumnWidth(int column_index) +CIMGUI_API float igGetColumnWidth(int column_index) { return ImGui::GetColumnWidth(column_index); } -CIMGUI_API int igGetColumnsCount() +CIMGUI_API int igGetColumnsCount() { return ImGui::GetColumnsCount(); } -CIMGUI_API void igGetCursorPos(ImVec2* pOut) +CIMGUI_API void igGetCursorPos(ImVec2* pOut) { *pOut = ImGui::GetCursorPos(); } -CIMGUI_API float igGetCursorPosX() +CIMGUI_API float igGetCursorPosX() { return ImGui::GetCursorPosX(); } -CIMGUI_API float igGetCursorPosY() +CIMGUI_API float igGetCursorPosY() { return ImGui::GetCursorPosY(); } -CIMGUI_API void igSetCursorPos(CONST ImVec2 local_pos) +CIMGUI_API void igSetCursorPos(CONST ImVec2 local_pos) { return ImGui::SetCursorPos(local_pos); } -CIMGUI_API void igSetCursorPosX(float x) +CIMGUI_API void igSetCursorPosX(float x) { return ImGui::SetCursorPosX(x); } -CIMGUI_API void igSetCursorPosY(float y) +CIMGUI_API void igSetCursorPosY(float y) { return ImGui::SetCursorPosY(y); } -CIMGUI_API void igGetCursorStartPos(ImVec2* pOut) +CIMGUI_API void igGetCursorStartPos(ImVec2* pOut) { *pOut = ImGui::GetCursorStartPos(); } @@ -552,27 +552,27 @@ CIMGUI_API void igGetCursorScreenPos(ImVec2* pOut) *pOut = ImGui::GetCursorScreenPos(); } -CIMGUI_API void igSetCursorScreenPos(CONST ImVec2 pos) +CIMGUI_API void igSetCursorScreenPos(CONST ImVec2 pos) { return ImGui::SetCursorScreenPos(pos); } -CIMGUI_API void igAlignFirstTextHeightToWidgets() +CIMGUI_API void igAlignFirstTextHeightToWidgets() { return ImGui::AlignFirstTextHeightToWidgets(); } -CIMGUI_API float igGetTextLineHeight() +CIMGUI_API float igGetTextLineHeight() { return ImGui::GetTextLineHeight(); } -CIMGUI_API float igGetTextLineHeightWithSpacing() +CIMGUI_API float igGetTextLineHeightWithSpacing() { return ImGui::GetTextLineHeightWithSpacing(); } -CIMGUI_API float igGetItemsLineHeightWithSpacing() +CIMGUI_API float igGetItemsLineHeightWithSpacing() { return ImGui::GetItemsLineHeightWithSpacing(); } @@ -580,49 +580,49 @@ CIMGUI_API float igGetItemsLineHeightWithSpacing() // ID scopes // If you are creating widgets in a loop you most likely want to push a unique identifier so ImGui can differentiate them // You can also use "##extra" within your widget name to distinguish them from each others (see 'Programmer Guide') -CIMGUI_API void igPushIdStr(CONST char* str_id) +CIMGUI_API void igPushIdStr(CONST char* str_id) { return ImGui::PushID(str_id); } -CIMGUI_API void igPushIdStrRange(CONST char* str_begin, CONST char* str_end) +CIMGUI_API void igPushIdStrRange(CONST char* str_begin, CONST char* str_end) { return ImGui::PushID(str_begin, str_end); } -CIMGUI_API void igPushIdPtr(CONST void* ptr_id) +CIMGUI_API void igPushIdPtr(CONST void* ptr_id) { return ImGui::PushID(ptr_id); } -CIMGUI_API void igPushIdInt(int int_id) +CIMGUI_API void igPushIdInt(int int_id) { return ImGui::PushID(int_id); } -CIMGUI_API void igPopId() +CIMGUI_API void igPopId() { return ImGui::PopID(); } -CIMGUI_API ImGuiID igGetIdStr(CONST char* str_id) +CIMGUI_API ImGuiID igGetIdStr(CONST char* str_id) { return ImGui::GetID(str_id); } -CIMGUI_API ImGuiID igGetIdStrRange(CONST char* str_begin, CONST char* str_end) +CIMGUI_API ImGuiID igGetIdStrRange(CONST char* str_begin, CONST char* str_end) { return ImGui::GetID(str_begin, str_end); } -CIMGUI_API ImGuiID igGetIdPtr(CONST void* ptr_id) +CIMGUI_API ImGuiID igGetIdPtr(CONST void* ptr_id) { return ImGui::GetID(ptr_id); } // Widgets -CIMGUI_API void igText(CONST char* fmt, ...) +CIMGUI_API void igText(CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -630,12 +630,12 @@ CIMGUI_API void igText(CONST char* fmt, ...) va_end(args); } -CIMGUI_API void igTextV(CONST char* fmt, va_list args) +CIMGUI_API void igTextV(CONST char* fmt, va_list args) { ImGui::TextV(fmt, args); } -CIMGUI_API void igTextColored(CONST ImVec4 col, CONST char* fmt, ...) +CIMGUI_API void igTextColored(CONST ImVec4 col, CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -643,12 +643,12 @@ CIMGUI_API void igTextColored(CONST ImVec4 col, CONST char* fmt, ...) va_end(args); } -CIMGUI_API void igTextColoredV(CONST ImVec4 col, CONST char* fmt, va_list args) +CIMGUI_API void igTextColoredV(CONST ImVec4 col, CONST char* fmt, va_list args) { ImGui::TextColoredV(col,fmt,args); } -CIMGUI_API void igTextDisabled(CONST char* fmt, ...) +CIMGUI_API void igTextDisabled(CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -656,12 +656,12 @@ CIMGUI_API void igTextDisabled(CONST char* fmt, ...) va_end(args); } -CIMGUI_API void igTextDisabledV(CONST char* fmt, va_list args) +CIMGUI_API void igTextDisabledV(CONST char* fmt, va_list args) { return ImGui::TextDisabledV(fmt,args); } -CIMGUI_API void igTextWrapped(CONST char* fmt, ...) +CIMGUI_API void igTextWrapped(CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -669,17 +669,17 @@ CIMGUI_API void igTextWrapped(CONST char* fmt, ...) va_end(args); } -CIMGUI_API void igTextWrappedV(CONST char* fmt, va_list args) +CIMGUI_API void igTextWrappedV(CONST char* fmt, va_list args) { ImGui::TextWrappedV(fmt, args); } -CIMGUI_API void igTextUnformatted(CONST char* text, CONST char* text_end) +CIMGUI_API void igTextUnformatted(CONST char* text, CONST char* text_end) { return ImGui::TextUnformatted(text, text_end); } -CIMGUI_API void igLabelText(CONST char* label, CONST char* fmt, ...) +CIMGUI_API void igLabelText(CONST char* label, CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -687,17 +687,17 @@ CIMGUI_API void igLabelText(CONST char* label, CONST char* fmt, ...) va_end(args); } -CIMGUI_API void igLabelTextV(CONST char* label, CONST char* fmt, va_list args) +CIMGUI_API void igLabelTextV(CONST char* label, CONST char* fmt, va_list args) { ImGui::LabelTextV(label, fmt, args); } -CIMGUI_API void igBullet() +CIMGUI_API void igBullet() { return ImGui::Bullet(); } -CIMGUI_API void igBulletText(CONST char* fmt, ...) +CIMGUI_API void igBulletText(CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -705,282 +705,282 @@ CIMGUI_API void igBulletText(CONST char* fmt, ...) va_end(args); } -CIMGUI_API void igBulletTextV(CONST char* fmt, va_list args) +CIMGUI_API void igBulletTextV(CONST char* fmt, va_list args) { ImGui::BulletTextV(fmt, args); } -CIMGUI_API bool igButton(CONST char* label, CONST ImVec2 size) +CIMGUI_API bool igButton(CONST char* label, CONST ImVec2 size) { return ImGui::Button(label, size); } -CIMGUI_API bool igSmallButton(CONST char* label) +CIMGUI_API bool igSmallButton(CONST char* label) { return ImGui::SmallButton(label); } -CIMGUI_API bool igInvisibleButton(CONST char* str_id, CONST ImVec2 size) +CIMGUI_API bool igInvisibleButton(CONST char* str_id, CONST ImVec2 size) { return ImGui::InvisibleButton(str_id, size); } -CIMGUI_API void igImage(ImTextureID user_texture_id, CONST ImVec2 size, CONST ImVec2 uv0, CONST ImVec2 uv1, CONST ImVec4 tint_col, CONST ImVec4 border_col) +CIMGUI_API void igImage(ImTextureID user_texture_id, CONST ImVec2 size, CONST ImVec2 uv0, CONST ImVec2 uv1, CONST ImVec4 tint_col, CONST ImVec4 border_col) { return ImGui::Image(user_texture_id, size, uv0, uv1, tint_col, border_col); } -CIMGUI_API bool igImageButton(ImTextureID user_texture_id, CONST ImVec2 size, CONST ImVec2 uv0, CONST ImVec2 uv1, int frame_padding, CONST ImVec4 bg_col, CONST ImVec4 tint_col) +CIMGUI_API bool igImageButton(ImTextureID user_texture_id, CONST ImVec2 size, CONST ImVec2 uv0, CONST ImVec2 uv1, int frame_padding, CONST ImVec4 bg_col, CONST ImVec4 tint_col) { return ImGui::ImageButton(user_texture_id, size, uv0, uv1, frame_padding, bg_col, tint_col); } -CIMGUI_API bool igCollapsingHeader(CONST char* label, CONST char* str_id, bool display_frame, bool default_open) +CIMGUI_API bool igCollapsingHeader(CONST char* label, CONST char* str_id, bool display_frame, bool default_open) { return ImGui::CollapsingHeader(label, str_id, display_frame, default_open); } -CIMGUI_API bool igCheckbox(CONST char* label, bool* v) +CIMGUI_API bool igCheckbox(CONST char* label, bool* v) { return ImGui::Checkbox(label, v); } -CIMGUI_API bool igCheckboxFlags(CONST char* label, unsigned int* flags, unsigned int flags_value) +CIMGUI_API bool igCheckboxFlags(CONST char* label, unsigned int* flags, unsigned int flags_value) { return ImGui::CheckboxFlags(label, flags, flags_value); } -CIMGUI_API bool igRadioButtonBool(CONST char* label, bool active) +CIMGUI_API bool igRadioButtonBool(CONST char* label, bool active) { return ImGui::RadioButton(label, active); } -CIMGUI_API bool igRadioButton(CONST char* label, int* v, int v_button) +CIMGUI_API bool igRadioButton(CONST char* label, int* v, int v_button) { return ImGui::RadioButton(label, v, v_button); } -CIMGUI_API bool igCombo(CONST char* label, int* current_item, CONST char** items, int items_count, int height_in_items) +CIMGUI_API bool igCombo(CONST char* label, int* current_item, CONST char** items, int items_count, int height_in_items) { return ImGui::Combo(label, current_item, items, items_count, height_in_items); } -CIMGUI_API bool igCombo2(CONST char* label, int* current_item, CONST char* items_separated_by_zeros, int height_in_items) +CIMGUI_API bool igCombo2(CONST char* label, int* current_item, CONST char* items_separated_by_zeros, int height_in_items) { return ImGui::Combo(label, current_item, items_separated_by_zeros, height_in_items); } -CIMGUI_API bool igCombo3(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items) +CIMGUI_API bool igCombo3(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items) { return ImGui::Combo(label, current_item, items_getter, data, items_count, height_in_items); } -CIMGUI_API bool igColorButton(CONST ImVec4 col, bool small_height, bool outline_border) +CIMGUI_API bool igColorButton(CONST ImVec4 col, bool small_height, bool outline_border) { return ImGui::ColorButton(col, small_height, outline_border); } -CIMGUI_API bool igColorEdit3(CONST char* label, float col[3]) +CIMGUI_API bool igColorEdit3(CONST char* label, float col[3]) { return ImGui::ColorEdit3(label, col); } -CIMGUI_API bool igColorEdit4(CONST char* label, float col[4], bool show_alpha) +CIMGUI_API bool igColorEdit4(CONST char* label, float col[4], bool show_alpha) { return ImGui::ColorEdit4(label, col, show_alpha); } -CIMGUI_API void igColorEditMode(ImGuiColorEditMode mode) +CIMGUI_API void igColorEditMode(ImGuiColorEditMode mode) { return ImGui::ColorEditMode(mode); } -CIMGUI_API void igPlotLines(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) +CIMGUI_API void igPlotLines(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) { return ImGui::PlotLines(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride); } -CIMGUI_API void igPlotLines2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) +CIMGUI_API void igPlotLines2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) { return ImGui::PlotLines(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); } -CIMGUI_API void igPlotHistogram(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) +CIMGUI_API void igPlotHistogram(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) { return ImGui::PlotHistogram(label,values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride); } -CIMGUI_API void igPlotHistogram2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) +CIMGUI_API void igPlotHistogram2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) { return ImGui::PlotHistogram(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); } // Widgets: Sliders (tip: ctrl+click on a slider to input text) -CIMGUI_API bool igSliderFloat(CONST char* label, float* v, float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igSliderFloat(CONST char* label, float* v, float v_min, float v_max, CONST char* display_format, float power) { return ImGui::SliderFloat(label, v, v_min, v_max, display_format, power); } -CIMGUI_API bool igSliderFloat2(CONST char* label, float v[2], float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igSliderFloat2(CONST char* label, float v[2], float v_min, float v_max, CONST char* display_format, float power) { return ImGui::SliderFloat(label, v, v_min, v_max, display_format, power); } -CIMGUI_API bool igSliderFloat3(CONST char* label, float v[3], float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igSliderFloat3(CONST char* label, float v[3], float v_min, float v_max, CONST char* display_format, float power) { return ImGui::SliderFloat3(label, v, v_min, v_max, display_format, power); } -CIMGUI_API bool igSliderFloat4(CONST char* label, float v[4], float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igSliderFloat4(CONST char* label, float v[4], float v_min, float v_max, CONST char* display_format, float power) { return ImGui::SliderFloat4(label, v, v_min, v_max, display_format, power); } -CIMGUI_API bool igSliderAngle(CONST char* label, float* v_rad, float v_degrees_min, float v_degrees_max) +CIMGUI_API bool igSliderAngle(CONST char* label, float* v_rad, float v_degrees_min, float v_degrees_max) { return ImGui::SliderAngle(label, v_rad, v_degrees_min, v_degrees_max); } -CIMGUI_API bool igSliderInt(CONST char* label, int* v, int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igSliderInt(CONST char* label, int* v, int v_min, int v_max, CONST char* display_format) { return ImGui::SliderInt(label, v, v_min, v_max, display_format); } -CIMGUI_API bool igSliderInt2(CONST char* label, int v[2], int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igSliderInt2(CONST char* label, int v[2], int v_min, int v_max, CONST char* display_format) { return ImGui::SliderInt2(label, v, v_min, v_max, display_format); } -CIMGUI_API bool igSliderInt3(CONST char* label, int v[3], int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igSliderInt3(CONST char* label, int v[3], int v_min, int v_max, CONST char* display_format) { return ImGui::SliderInt3(label, v, v_min, v_max, display_format); } -CIMGUI_API bool igSliderInt4(CONST char* label, int v[4], int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igSliderInt4(CONST char* label, int v[4], int v_min, int v_max, CONST char* display_format) { return ImGui::SliderInt4(label, v, v_min, v_max, display_format); } -CIMGUI_API bool igVSliderFloat(CONST char* label, CONST ImVec2 size, float* v, float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igVSliderFloat(CONST char* label, CONST ImVec2 size, float* v, float v_min, float v_max, CONST char* display_format, float power) { return ImGui::VSliderFloat(label, size, v, v_min, v_max, display_format, power); } -CIMGUI_API bool igVSliderInt(CONST char* label, CONST ImVec2 size, int* v, int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igVSliderInt(CONST char* label, CONST ImVec2 size, int* v, int v_min, int v_max, CONST char* display_format) { return ImGui::VSliderInt(label, size, v, v_min, v_max, display_format); } // Widgets: Drags (tip: ctrl+click on a drag box to input text) -CIMGUI_API bool igDragFloat(CONST char* label, float* v, float v_speed, float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igDragFloat(CONST char* label, float* v, float v_speed, float v_min, float v_max, CONST char* display_format, float power) { return ImGui::DragFloat(label, v, v_speed, v_min, v_max, display_format, power); } -CIMGUI_API bool igDragFloat2(CONST char* label, float v[2], float v_speed, float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igDragFloat2(CONST char* label, float v[2], float v_speed, float v_min, float v_max, CONST char* display_format, float power) { return ImGui::DragFloat2(label, v, v_speed, v_min, v_max, display_format, power); } -CIMGUI_API bool igDragFloat3(CONST char* label, float v[3], float v_speed, float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igDragFloat3(CONST char* label, float v[3], float v_speed, float v_min, float v_max, CONST char* display_format, float power) { return ImGui::DragFloat3(label, v, v_speed, v_min, v_max, display_format, power); } -CIMGUI_API bool igDragFloat4(CONST char* label, float v[4], float v_speed, float v_min, float v_max, CONST char* display_format, float power) +CIMGUI_API bool igDragFloat4(CONST char* label, float v[4], float v_speed, float v_min, float v_max, CONST char* display_format, float power) { return ImGui::DragFloat4(label, v, v_speed, v_min, v_max, display_format, power); } -CIMGUI_API bool igDragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed, float v_min, float v_max, const char* display_format, const char* display_format_max, float power) +CIMGUI_API bool igDragFloatRange2(CONST char* label, float* v_current_min, float* v_current_max, float v_speed, float v_min, float v_max, CONST char* display_format, CONST char* display_format_max, float power) { return ImGui::DragFloatRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,display_format,display_format_max,power); } -CIMGUI_API bool igDragInt(CONST char* label, int* v, float v_speed, int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igDragInt(CONST char* label, int* v, float v_speed, int v_min, int v_max, CONST char* display_format) { return ImGui::DragInt(label, v, v_speed, v_min, v_max, display_format); } -CIMGUI_API bool igDragInt2(CONST char* label, int v[2], float v_speed, int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igDragInt2(CONST char* label, int v[2], float v_speed, int v_min, int v_max, CONST char* display_format) { return ImGui::DragInt2(label, v, v_speed, v_min, v_max, display_format); } -CIMGUI_API bool igDragInt3(CONST char* label, int v[3], float v_speed, int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igDragInt3(CONST char* label, int v[3], float v_speed, int v_min, int v_max, CONST char* display_format) { return ImGui::DragInt3(label, v, v_speed, v_min, v_max, display_format); } -CIMGUI_API bool igDragInt4(CONST char* label, int v[4], float v_speed, int v_min, int v_max, CONST char* display_format) +CIMGUI_API bool igDragInt4(CONST char* label, int v[4], float v_speed, int v_min, int v_max, CONST char* display_format) { return ImGui::DragInt4(label, v, v_speed, v_min, v_max, display_format); } -CIMGUI_API bool igDragIntRange2(const char* label, int* v_current_min, int* v_current_max, float v_speed, int v_min, int v_max, const char* display_format, const char* display_format_max) +CIMGUI_API bool igDragIntRange2(CONST char* label, int* v_current_min, int* v_current_max, float v_speed, int v_min, int v_max, CONST char* display_format, CONST char* display_format_max) { return ImGui::DragIntRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,display_format,display_format_max); } // Widgets: Input -CIMGUI_API bool igInputText(CONST char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data) +CIMGUI_API bool igInputText(CONST char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data) { return ImGui::InputText(label, buf, buf_size, flags, callback, user_data); } -CIMGUI_API bool igInputTextMultiline(CONST char* label, char* buf, size_t buf_size, CONST ImVec2 size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data) +CIMGUI_API bool igInputTextMultiline(CONST char* label, char* buf, size_t buf_size, CONST ImVec2 size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data) { return ImGui::InputTextMultiline(label, buf, buf_size, size, flags, callback, user_data); } -CIMGUI_API bool igInputFloat(CONST char* label, float* v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputFloat(CONST char* label, float* v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags extra_flags) { return ImGui::InputFloat(label, v, step, step_fast, decimal_precision, extra_flags); } -CIMGUI_API bool igInputFloat2(CONST char* label, float v[2], int decimal_precision, ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputFloat2(CONST char* label, float v[2], int decimal_precision, ImGuiInputTextFlags extra_flags) { return ImGui::InputFloat2(label, v, decimal_precision, extra_flags); } -CIMGUI_API bool igInputFloat3(CONST char* label, float v[3], int decimal_precision, ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputFloat3(CONST char* label, float v[3], int decimal_precision, ImGuiInputTextFlags extra_flags) { return ImGui::InputFloat3(label, v, decimal_precision, extra_flags); } -CIMGUI_API bool igInputFloat4(CONST char* label, float v[4], int decimal_precision, ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputFloat4(CONST char* label, float v[4], int decimal_precision, ImGuiInputTextFlags extra_flags) { return ImGui::InputFloat4(label, v, decimal_precision, extra_flags); } -CIMGUI_API bool igInputInt(CONST char* label, int* v, int step, int step_fast, ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputInt(CONST char* label, int* v, int step, int step_fast, ImGuiInputTextFlags extra_flags) { return ImGui::InputInt(label, v, step, step_fast, extra_flags); } -CIMGUI_API bool igInputInt2(CONST char* label, int v[2], ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputInt2(CONST char* label, int v[2], ImGuiInputTextFlags extra_flags) { return ImGui::InputInt2(label, v, extra_flags); } -CIMGUI_API bool igInputInt3(CONST char* label, int v[3], ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputInt3(CONST char* label, int v[3], ImGuiInputTextFlags extra_flags) { return ImGui::InputInt3(label, v, extra_flags); } -CIMGUI_API bool igInputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags) +CIMGUI_API bool igInputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags) { return ImGui::InputInt4(label, v, extra_flags); } // Widgets: Trees -CIMGUI_API bool igTreeNode(CONST char* str_label_id) +CIMGUI_API bool igTreeNode(CONST char* str_label_id) { return ImGui::TreeNode(str_label_id); } -CIMGUI_API bool igTreeNodeStr(CONST char* str_id, CONST char* fmt, ...) +CIMGUI_API bool igTreeNodeStr(CONST char* str_id, CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -990,7 +990,7 @@ CIMGUI_API bool igTreeNodeStr(CONST char* str_id, CONST char* fmt, ...) return res; } -CIMGUI_API bool igTreeNodePtr(CONST void* ptr_id, CONST char* fmt, ...) +CIMGUI_API bool igTreeNodePtr(CONST void* ptr_id, CONST char* fmt, ...) { va_list args; va_start(args, fmt); @@ -1000,170 +1000,170 @@ CIMGUI_API bool igTreeNodePtr(CONST void* ptr_id, CONST char* fmt, ...) return res; } -CIMGUI_API bool igTreeNodeStrV(CONST char* str_id, CONST char* fmt, va_list args) +CIMGUI_API bool igTreeNodeStrV(CONST char* str_id, CONST char* fmt, va_list args) { return ImGui::TreeNodeV(str_id,fmt,args); } -CIMGUI_API bool igTreeNodePtrV(CONST void* ptr_id, CONST char* fmt, va_list args) +CIMGUI_API bool igTreeNodePtrV(CONST void* ptr_id, CONST char* fmt, va_list args) { return ImGui::TreeNodeV(ptr_id, fmt, args); } -CIMGUI_API void igTreePushStr(CONST char* str_id) +CIMGUI_API void igTreePushStr(CONST char* str_id) { return ImGui::TreePush(str_id); } -CIMGUI_API void igTreePushPtr(CONST void* ptr_id) +CIMGUI_API void igTreePushPtr(CONST void* ptr_id) { return ImGui::TreePush(ptr_id); } -CIMGUI_API void igTreePop() +CIMGUI_API void igTreePop() { return ImGui::TreePop(); } -CIMGUI_API void igSetNextTreeNodeOpened(bool opened, ImGuiSetCond cond) +CIMGUI_API void igSetNextTreeNodeOpened(bool opened, ImGuiSetCond cond) { return ImGui::SetNextTreeNodeOpened(opened, cond); } // Widgets: Selectable / Lists -CIMGUI_API bool igSelectable(CONST char* label, bool selected, ImGuiSelectableFlags flags, CONST ImVec2 size) +CIMGUI_API bool igSelectable(CONST char* label, bool selected, ImGuiSelectableFlags flags, CONST ImVec2 size) { return ImGui::Selectable(label, selected, flags, size); } -CIMGUI_API bool igSelectableEx(CONST char* label, bool* p_selected, ImGuiSelectableFlags flags, CONST ImVec2 size) +CIMGUI_API bool igSelectableEx(CONST char* label, bool* p_selected, ImGuiSelectableFlags flags, CONST ImVec2 size) { return ImGui::Selectable(label, p_selected, flags, size); } -CIMGUI_API bool igListBox(CONST char* label, int* current_item, CONST char** items, int items_count, int height_in_items) +CIMGUI_API bool igListBox(CONST char* label, int* current_item, CONST char** items, int items_count, int height_in_items) { return ImGui::ListBox(label, current_item, items, items_count, height_in_items); } -CIMGUI_API bool igListBox2(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items) +CIMGUI_API bool igListBox2(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items) { return ImGui::ListBox(label, current_item, items_getter,data,items_count,height_in_items); } -CIMGUI_API bool igListBoxHeader(CONST char* label, CONST ImVec2 size) +CIMGUI_API bool igListBoxHeader(CONST char* label, CONST ImVec2 size) { return ImGui::ListBoxHeader(label, size); } -CIMGUI_API bool igListBoxHeader2(CONST char* label, int items_count, int height_in_items) +CIMGUI_API bool igListBoxHeader2(CONST char* label, int items_count, int height_in_items) { return ImGui::ListBoxHeader(label,items_count,height_in_items); } -CIMGUI_API void igListBoxFooter() +CIMGUI_API void igListBoxFooter() { return ImGui::ListBoxFooter(); } -CIMGUI_API bool igBeginMainMenuBar() +CIMGUI_API bool igBeginMainMenuBar() { return ImGui::BeginMainMenuBar(); } -CIMGUI_API void igEndMainMenuBar() +CIMGUI_API void igEndMainMenuBar() { return ImGui::EndMainMenuBar(); } -CIMGUI_API bool igBeginMenuBar() +CIMGUI_API bool igBeginMenuBar() { return ImGui::BeginMenuBar(); } -CIMGUI_API void igEndMenuBar() +CIMGUI_API void igEndMenuBar() { return ImGui::EndMenuBar(); } -CIMGUI_API bool igBeginMenu(CONST char* label, bool enabled) +CIMGUI_API bool igBeginMenu(CONST char* label, bool enabled) { return ImGui::BeginMenu(label, enabled); } -CIMGUI_API void igEndMenu() +CIMGUI_API void igEndMenu() { return ImGui::EndMenu(); } -CIMGUI_API bool igMenuItem(CONST char* label, CONST char* shortcut, bool selected, bool enabled) +CIMGUI_API bool igMenuItem(CONST char* label, CONST char* shortcut, bool selected, bool enabled) { return ImGui::MenuItem(label, shortcut, selected, enabled); } -CIMGUI_API bool igMenuItemPtr(CONST char* label, CONST char* shortcut, bool* p_selected, bool enabled) +CIMGUI_API bool igMenuItemPtr(CONST char* label, CONST char* shortcut, bool* p_selected, bool enabled) { return ImGui::MenuItem(label, shortcut, p_selected, enabled); } // Widgets: Value() Helpers. Output single value in "name: value" format (tip: freely declare your own within the ImGui namespace!) -CIMGUI_API void igValueBool(CONST char* prefix, bool b) +CIMGUI_API void igValueBool(CONST char* prefix, bool b) { ImGui::Value(prefix, b); } -CIMGUI_API void igValueInt(CONST char* prefix, int v) +CIMGUI_API void igValueInt(CONST char* prefix, int v) { ImGui::Value(prefix, v); } -CIMGUI_API void igValueUInt(CONST char* prefix, unsigned int v) +CIMGUI_API void igValueUInt(CONST char* prefix, unsigned int v) { ImGui::Value(prefix, v); } -CIMGUI_API void igValueFloat(CONST char* prefix, float v, CONST char* float_format) +CIMGUI_API void igValueFloat(CONST char* prefix, float v, CONST char* float_format) { ImGui::Value(prefix,v,float_format); } -CIMGUI_API void igColor(CONST char* prefix, CONST ImVec4 v) +CIMGUI_API void igColor(CONST char* prefix, CONST ImVec4 v) { ImGui::Color(prefix,v); } -CIMGUI_API void igColor2(CONST char* prefix, unsigned int v) +CIMGUI_API void igColor2(CONST char* prefix, unsigned int v) { ImGui::Color(prefix,v); } // Logging: all text output from interface is redirected to tty/file/clipboard. Tree nodes are automatically opened. -CIMGUI_API void igLogToTTY(int max_depth) +CIMGUI_API void igLogToTTY(int max_depth) { ImGui::LogToTTY(max_depth); } -CIMGUI_API void igLogToFile(int max_depth, CONST char* filename) +CIMGUI_API void igLogToFile(int max_depth, CONST char* filename) { ImGui::LogToFile(max_depth,filename); } -CIMGUI_API void igLogToClipboard(int max_depth) +CIMGUI_API void igLogToClipboard(int max_depth) { ImGui::LogToClipboard(max_depth); } -CIMGUI_API void igLogFinish() +CIMGUI_API void igLogFinish() { ImGui::LogFinish(); } -CIMGUI_API void igLogButtons() +CIMGUI_API void igLogButtons() { ImGui::LogButtons(); } -CIMGUI_API void igLogText(CONST char* fmt, ...) +CIMGUI_API void igLogText(CONST char* fmt, ...) { char buffer[256]; va_list args; @@ -1175,32 +1175,32 @@ CIMGUI_API void igLogText(CONST char* fmt, ...) } // Utilities -CIMGUI_API bool igIsItemHovered() +CIMGUI_API bool igIsItemHovered() { return ImGui::IsItemHovered(); } -CIMGUI_API bool igIsItemHoveredRect() +CIMGUI_API bool igIsItemHoveredRect() { return ImGui::IsItemHoveredRect(); } -CIMGUI_API bool igIsItemActive() +CIMGUI_API bool igIsItemActive() { return ImGui::IsItemActive(); } -CIMGUI_API bool igIsItemVisible() +CIMGUI_API bool igIsItemVisible() { return ImGui::IsItemVisible(); } -CIMGUI_API bool igIsAnyItemHovered() +CIMGUI_API bool igIsAnyItemHovered() { return ImGui::IsAnyItemHovered(); } -CIMGUI_API bool igIsAnyItemActive() +CIMGUI_API bool igIsAnyItemActive() { return ImGui::IsAnyItemActive(); } @@ -1215,91 +1215,91 @@ CIMGUI_API void igGetItemRectMax(ImVec2* pOut) *pOut = ImGui::GetItemRectMax(); } -CIMGUI_API void igGetItemRectSize(ImVec2* pOut) +CIMGUI_API void igGetItemRectSize(ImVec2* pOut) { *pOut = ImGui::GetItemRectSize(); } -CIMGUI_API bool igIsWindowHovered() +CIMGUI_API bool igIsWindowHovered() { return ImGui::IsWindowHovered(); } -CIMGUI_API bool igIsWindowFocused() +CIMGUI_API bool igIsWindowFocused() { return ImGui::IsWindowFocused(); } -CIMGUI_API bool igIsRootWindowFocused() +CIMGUI_API bool igIsRootWindowFocused() { return ImGui::IsRootWindowFocused(); } -CIMGUI_API bool igIsRootWindowOrAnyChildFocused() +CIMGUI_API bool igIsRootWindowOrAnyChildFocused() { return ImGui::IsRootWindowOrAnyChildFocused(); } -CIMGUI_API bool igIsRectVisible(CONST ImVec2 item_size) +CIMGUI_API bool igIsRectVisible(CONST ImVec2 item_size) { return ImGui::IsRectVisible(item_size); } -CIMGUI_API bool igIsKeyDown(int key_index) +CIMGUI_API bool igIsKeyDown(int key_index) { return ImGui::IsKeyDown(key_index); } -CIMGUI_API bool igIsKeyPressed(int key_index, bool repeat) +CIMGUI_API bool igIsKeyPressed(int key_index, bool repeat) { return ImGui::IsKeyPressed(key_index,repeat); } -CIMGUI_API bool igIsKeyReleased(int key_index) +CIMGUI_API bool igIsKeyReleased(int key_index) { return ImGui::IsKeyReleased(key_index); } -CIMGUI_API bool igIsMouseDown(int button) +CIMGUI_API bool igIsMouseDown(int button) { return ImGui::IsMouseDown(button); } -CIMGUI_API bool igIsMouseClicked(int button, bool repeat) +CIMGUI_API bool igIsMouseClicked(int button, bool repeat) { return ImGui::IsMouseClicked(button, repeat); } -CIMGUI_API bool igIsMouseDoubleClicked(int button) +CIMGUI_API bool igIsMouseDoubleClicked(int button) { return ImGui::IsMouseDoubleClicked(button); } -CIMGUI_API bool igIsMouseReleased(int button) +CIMGUI_API bool igIsMouseReleased(int button) { return ImGui::IsMouseReleased(button); } -CIMGUI_API bool igIsMouseHoveringWindow() +CIMGUI_API bool igIsMouseHoveringWindow() { return ImGui::IsMouseHoveringWindow(); } -CIMGUI_API bool igIsMouseHoveringAnyWindow() +CIMGUI_API bool igIsMouseHoveringAnyWindow() { return ImGui::IsMouseHoveringAnyWindow(); } -CIMGUI_API bool igIsMouseHoveringRect(CONST ImVec2 pos_min, CONST ImVec2 pos_max, bool clip) +CIMGUI_API bool igIsMouseHoveringRect(CONST ImVec2 pos_min, CONST ImVec2 pos_max, bool clip) { return ImGui::IsMouseHoveringRect(pos_min,pos_max,clip); } -CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold) +CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold) { return ImGui::IsMouseDragging(button,lock_threshold); } -CIMGUI_API bool igIsPosHoveringAnyWindow(CONST ImVec2 pos) +CIMGUI_API bool igIsPosHoveringAnyWindow(CONST ImVec2 pos) { return ImGui::IsPosHoveringAnyWindow(pos); } @@ -1329,7 +1329,7 @@ CIMGUI_API ImGuiMouseCursor igGetMouseCursor() return ImGui::GetMouseCursor(); } -CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type) +CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type) { ImGui::SetMouseCursor(type); } @@ -1354,27 +1354,27 @@ CIMGUI_API void igMemFree(void* ptr) return ImGui::MemFree(ptr); } -CIMGUI_API const char* igGetClipboardText() +CIMGUI_API CONST char* igGetClipboardText() { return ImGui::GetClipboardText(); } -CIMGUI_API void igSetClipboardText(const char* text) +CIMGUI_API void igSetClipboardText(CONST char* text) { return ImGui::SetClipboardText(text); } -CIMGUI_API float igGetTime() +CIMGUI_API float igGetTime() { return ImGui::GetTime(); } -CIMGUI_API int igGetFrameCount() +CIMGUI_API int igGetFrameCount() { return ImGui::GetFrameCount(); } -CIMGUI_API CONST char* igGetStyleColName(ImGuiCol idx) +CIMGUI_API CONST char* igGetStyleColName(ImGuiCol idx) { return ImGui::GetStyleColName(idx); } @@ -1389,17 +1389,17 @@ CIMGUI_API void igCalcTextSize(ImVec2* pOut, CONST char* text, CONST char* text_ *pOut = ImGui::CalcTextSize(text, text_end, hide_text_after_double_hash, wrap_width); } -CIMGUI_API void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end) +CIMGUI_API void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end) { ImGui::CalcListClipping(items_count,items_height,out_items_display_start,out_items_display_end); } -CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST ImVec2 size, ImGuiWindowFlags extra_flags) +CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST ImVec2 size, ImGuiWindowFlags extra_flags) { return ImGui::BeginChildFrame(id, size, extra_flags); } -CIMGUI_API void igEndChildFrame() +CIMGUI_API void igEndChildFrame() { ImGui::EndChildFrame(); } @@ -1409,39 +1409,39 @@ CIMGUI_API void igColorConvertU32ToFloat4(ImVec4* pOut, ImU32 in) *pOut = ImGui::ColorConvertU32ToFloat4(in); } -CIMGUI_API ImU32 igColorConvertFloat4ToU32(CONST ImVec4 in) +CIMGUI_API ImU32 igColorConvertFloat4ToU32(CONST ImVec4 in) { return ImGui::ColorConvertFloat4ToU32(in); } -CIMGUI_API void igColorConvertRGBtoHSV(float r, float g, float b, float* out_h, float* out_s, float* out_v) +CIMGUI_API void igColorConvertRGBtoHSV(float r, float g, float b, float* out_h, float* out_s, float* out_v) { ImGui::ColorConvertRGBtoHSV(r, g, b, *out_h, *out_s, *out_v); } -CIMGUI_API void igColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b) +CIMGUI_API void igColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b) { ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b); } -CIMGUI_API CONST char* igGetVersion() +CIMGUI_API CONST char* igGetVersion() { return ImGui::GetVersion(); } -CIMGUI_API void* igGetInternalState() +CIMGUI_API void* igGetInternalState() { return ImGui::GetInternalState(); } -CIMGUI_API size_t igGetInternalStateSize() +CIMGUI_API size_t igGetInternalStateSize() { return ImGui::GetInternalStateSize(); } -CIMGUI_API void igSetInternalState(void* state, bool construct) +CIMGUI_API void igSetInternalState(void* state, bool construct) { - ImGui::SetInternalState(state,construct); + ImGui::SetInternalState(state, construct); } CIMGUI_API void ImGuiIO_AddInputCharacter(unsigned short c) diff --git a/cimgui/cimgui.h b/cimgui/cimgui.h index 4d9a4d6..04e172b 100644 --- a/cimgui/cimgui.h +++ b/cimgui/cimgui.h @@ -43,10 +43,10 @@ CIMGUI_API bool igBeginChildEx(ImGuiID id, CONST struct ImVec2 size, CIMGUI_API void igEndChild(); CIMGUI_API void igGetContentRegionMax(struct ImVec2* out); CIMGUI_API void igGetContentRegionAvail(struct ImVec2* out); -CIMGUI_API float igGetContentRegionAvailWidth(); // +CIMGUI_API float igGetContentRegionAvailWidth(); CIMGUI_API void igGetWindowContentRegionMin(struct ImVec2* out); CIMGUI_API void igGetWindowContentRegionMax(struct ImVec2* out); -CIMGUI_API float igGetWindowContentRegionWidth(); // +CIMGUI_API float igGetWindowContentRegionWidth(); CIMGUI_API ImDrawList* igGetWindowDrawList(); CIMGUI_API ImFont* igGetWindowFont(); CIMGUI_API float igGetWindowFontSize(); @@ -202,12 +202,12 @@ CIMGUI_API bool igDragFloat(CONST char* label, float* v, float v_spe CIMGUI_API bool igDragFloat2(CONST char* label, float v[2], float v_speed, float v_min, float v_max, CONST char* display_format, float power); CIMGUI_API bool igDragFloat3(CONST char* label, float v[3], float v_speed, float v_min, float v_max, CONST char* display_format, float power); CIMGUI_API bool igDragFloat4(CONST char* label, float v[4], float v_speed, float v_min, float v_max, CONST char* display_format, float power); -CIMGUI_API bool igDragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", const char* display_format_max = NULL, float power = 1.0f); +CIMGUI_API bool igDragFloatRange2(CONST char* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, CONST char* display_format = "%.3f", CONST char* display_format_max = NULL, float power = 1.0f); CIMGUI_API bool igDragInt(CONST char* label, int* v, float v_speed, int v_min, int v_max, CONST char* display_format); // If v_max >= v_max we have no bound CIMGUI_API bool igDragInt2(CONST char* label, int v[2], float v_speed, int v_min, int v_max, CONST char* display_format); CIMGUI_API bool igDragInt3(CONST char* label, int v[3], float v_speed, int v_min, int v_max, CONST char* display_format); CIMGUI_API bool igDragInt4(CONST char* label, int v[4], float v_speed, int v_min, int v_max, CONST char* display_format); -CIMGUI_API bool igDragIntRange2(const char* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.0f", const char* display_format_max = NULL); +CIMGUI_API bool igDragIntRange2(CONST char* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, CONST char* display_format = "%.0f", CONST char* display_format_max = NULL); // Widgets: Input @@ -338,8 +338,8 @@ CIMGUI_API void igCaptureMouseFromApp(); // Helpers functions to access functions pointers in ImGui::GetIO() CIMGUI_API void* igMemAlloc(size_t sz); CIMGUI_API void igMemFree(void* ptr); -CIMGUI_API const char* igGetClipboardText(); -CIMGUI_API void igSetClipboardText(const char* text); +CIMGUI_API CONST char* igGetClipboardText(); +CIMGUI_API void igSetClipboardText(CONST char* text); // Internal state access - if you want to share ImGui state between modules (e.g. DLL) or allocate it yourself CIMGUI_API CONST char* igGetVersion(); @@ -362,10 +362,66 @@ CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas); CIMGUI_API void ImGuiIO_AddInputCharacter(unsigned short c); CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(CONST char* utf8_chars); +//ImDrawData +CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData); + +//ImDrawList CIMGUI_API int ImDrawList_GetVertexBufferSize(ImDrawList* list); CIMGUI_API ImDrawVert* ImDrawList_GetVertexPtr(ImDrawList* list, int n); CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list); CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n); CIMGUI_API int ImDrawList_GetCmdSize(ImDrawList* list); CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n); -CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData); + +CIMGUI_API void ImDrawList_Clear(ImDrawList* list); +CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* list); +CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, CONST struct ImVec4 clip_rect); // Scissoring. The values are x1, y1, x2, y2. +CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* list); +CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* list); +CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* list, CONST ImTextureID texture_id); +CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* list); + +// Primitives +CIMGUI_API void ImDrawList_AddLine(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float thickness); +CIMGUI_API void ImDrawList_AddRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners); +CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners); +CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left); +CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col); +CIMGUI_API void ImDrawList_AddCircle(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments); +CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments); +CIMGUI_API void ImDrawList_AddText(ImDrawList* list, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end); +CIMGUI_API void ImDrawList_AddTextExt(ImDrawList* list, CONST ImFont* font, float font_size, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end, float wrap_width, CONST ImVec4* cpu_fine_clip_rect); +CIMGUI_API void ImDrawList_AddImage(ImDrawList* list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, ImU32 col); +CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool closed, float thickness, bool anti_aliased); +CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool anti_aliased); +CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* list, CONST struct ImVec2 pos0, CONST struct ImVec2 cp0, CONST struct ImVec2 cp1, CONST struct ImVec2 pos1, ImU32 col, float thickness, int num_segments); + +// Stateful path API, add points then finish with PathFill() or PathStroke() +CIMGUI_API void ImDrawList_PathClear(ImDrawList* list); +CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* list, CONST struct ImVec2 pos); +CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* list, CONST struct ImVec2 pos); +CIMGUI_API void ImDrawList_PathFill(ImDrawList* list, ImU32 col); +CIMGUI_API void ImDrawList_PathStroke(ImDrawList* list, ImU32 col, bool closed, float thickness); +CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* list, CONST struct ImVec2 centre, float radius, float a_min, float a_max, int num_segments); +CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* list, CONST struct ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12); // Use precomputed angles for a 12 steps circle +CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* list, CONST struct ImVec2 p1, CONST struct ImVec2 p2, CONST struct ImVec2 p3, int num_segments); +CIMGUI_API void ImDrawList_PathRect(ImDrawList* list, CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max, float rounding, int rounding_corners); + +// Channels +CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* list, int channels_count); +CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* list); +CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* list, int channel_index); + +// Advanced +CIMGUI_API void ImDrawList_AddCallback(ImDrawList* list, ImDrawCallback callback, void* callback_data); // Your rendering function must check for 'UserCallback' in ImDrawCmd and call the function instead of rendering triangles. +CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* list); // This is useful if you need to forcefully create a new draw call (to allow for dependent rendering / blending). Otherwise primitives are merged into the same draw-call as much as possible + +// Internal helpers +CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* list, int idx_count, int vtx_count); +CIMGUI_API void ImDrawList_PrimRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col); +CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col); +CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col); +CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col); +CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* list, ImDrawIdx idx); +CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* list); +CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* list); \ No newline at end of file diff --git a/cimgui/drawList.cpp b/cimgui/drawList.cpp index f25e460..b695488 100644 --- a/cimgui/drawList.cpp +++ b/cimgui/drawList.cpp @@ -12,12 +12,12 @@ CIMGUI_API ImDrawVert* ImDrawList_GetVertexPtr(ImDrawList* list, int n) return &list->VtxBuffer[n]; } -CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list) +CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list) { return list->IdxBuffer.size(); } -CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n) +CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n) { return &list->IdxBuffer[n]; } @@ -35,4 +35,214 @@ CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n) CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData) { return drawData->DeIndexAllBuffers(); -} \ No newline at end of file +} + +CIMGUI_API void ImDrawList_Clear(ImDrawList* list) +{ + return list->Clear(); +} + +CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* list) +{ + return list->ClearFreeMemory(); +} + +CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, CONST struct ImVec4 clip_rect) +{ + return list->PushClipRect(clip_rect); +} + +CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* list) +{ + return list->PushClipRectFullScreen(); +} + +CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* list) +{ + return list->PopClipRect(); +} + +CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* list, CONST ImTextureID texture_id) +{ + return list->PushTextureID(texture_id); +} + +CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* list) +{ + return list->PopTextureID(); +} + +CIMGUI_API void ImDrawList_AddLine(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float thickness) +{ + return list->AddLine(a, b, col, thickness); +} + +CIMGUI_API void ImDrawList_AddRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners) +{ + return list->AddRect(a, b, col, rounding, rounding_corners); +} + +CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners) +{ + return list->AddRectFilled(a, b, col, rounding, rounding_corners); +} + +CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left) +{ + return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left); +} + +CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col) +{ + return list->AddTriangleFilled(a, b, c, col); +} + +CIMGUI_API void ImDrawList_AddCircle(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments) +{ + return list->AddCircle(centre, radius, col, num_segments); +} + +CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments) +{ + return list->AddCircleFilled(centre, radius, col, num_segments); +} + +CIMGUI_API void ImDrawList_AddText(ImDrawList* list, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end) +{ + return list->AddText(pos, col, text_begin, text_end); +} + +CIMGUI_API void ImDrawList_AddTextExt(ImDrawList* list, CONST ImFont* font, float font_size, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end, float wrap_width, CONST ImVec4* cpu_fine_clip_rect) +{ + return list->AddText(font, font_size, pos, col, text_begin, text_end, wrap_width, cpu_fine_clip_rect); +} + +CIMGUI_API void ImDrawList_AddImage(ImDrawList* list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, ImU32 col) +{ + return list->AddImage(user_texture_id, a, b, uv0, uv1, col); +} + +CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool closed, float thickness, bool anti_aliased) +{ + return list->AddPolyline(points, num_points, col, closed, thickness, anti_aliased); +} + +CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool anti_aliased) +{ + return list->AddConvexPolyFilled(points, num_points, col, anti_aliased); +} + +CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* list, CONST struct ImVec2 pos0, CONST struct ImVec2 cp0, CONST struct ImVec2 cp1, CONST struct ImVec2 pos1, ImU32 col, float thickness, int num_segments) +{ + return list->AddBezierCurve(pos0, cp0, cp1, pos1, col, thickness, num_segments); +} + +CIMGUI_API void ImDrawList_PathClear(ImDrawList* list) +{ + return list->PathClear(); +} + +CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* list, CONST struct ImVec2 pos) +{ + return list->PathLineTo(pos); +} + +CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* list, CONST struct ImVec2 pos) +{ + return list->PathLineToMergeDuplicate(pos); +} + +CIMGUI_API void ImDrawList_PathFill(ImDrawList* list, ImU32 col) +{ + return list->PathFill(col); +} + +CIMGUI_API void ImDrawList_PathStroke(ImDrawList* list, ImU32 col, bool closed, float thickness) +{ + return list->PathStroke(col, closed, thickness); +} + +CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* list, CONST struct ImVec2 centre, float radius, float a_min, float a_max, int num_segments) +{ + return list->PathArcTo(centre, radius, a_min, a_max, num_segments); +} + +CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* list, CONST struct ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12) +{ + return list->PathArcToFast(centre, radius, a_min_of_12, a_max_of_12); +} + +CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* list, CONST struct ImVec2 p1, CONST struct ImVec2 p2, CONST struct ImVec2 p3, int num_segments) +{ + return list->PathBezierCurveTo(p1, p2, p3, num_segments); +} + +CIMGUI_API void ImDrawList_PathRect(ImDrawList* list, CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max, float rounding, int rounding_corners) +{ + return list->PathRect(rect_min, rect_max, rounding, rounding_corners); +} + +CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* list, int channels_count) +{ + return list->ChannelsSplit(channels_count); +} + +CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* list) +{ + return list->ChannelsMerge(); +} + +CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* list, int channel_index) +{ + return list->ChannelsSetCurrent(channel_index); +} + +CIMGUI_API void ImDrawList_AddCallback(ImDrawList* list, ImDrawCallback callback, void* callback_data) +{ + return list->AddCallback(callback, callback_data); +} + +CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* list) +{ + return list->AddDrawCmd(); +} + +CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* list, int idx_count, int vtx_count) +{ + return list->PrimReserve(idx_count, vtx_count); +} + +CIMGUI_API void ImDrawList_PrimRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col) +{ + return list->PrimRect(a, b, col); +} + +CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col) +{ + return list->PrimRectUV(a, b, uv_a, uv_b, col); +} + +CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col) +{ + return list->PrimVtx(pos, uv, col); +} + +CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col) +{ + return list->PrimWriteVtx(pos, uv, col); +} + +CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* list, ImDrawIdx idx) +{ + return list->PrimWriteIdx(idx); +} + +CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* list) +{ + return list->UpdateClipRect(); +} + +CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* list) +{ + return list->UpdateTextureID(); +}