diff --git a/cimgui/cimgui.cpp b/cimgui/cimgui.cpp index d30b41e..90060ae 100644 --- a/cimgui/cimgui.cpp +++ b/cimgui/cimgui.cpp @@ -321,9 +321,14 @@ CIMGUI_API void ig_EndTooltip() } // Popup -CIMGUI_API void ig_BeginPopup(bool* p_opened) +CIMGUI_API void ig_OpenPopup(const char* str_id) { - return ImGui::BeginPopup(p_opened); + return ImGui::OpenPopup(str_id); +} + +CIMGUI_API bool ig_BeginPopup(const char* str_id) +{ + return ImGui::BeginPopup(str_id); } CIMGUI_API void ig_EndPopup() @@ -331,6 +336,11 @@ CIMGUI_API void ig_EndPopup() return ImGui::EndPopup(); } +CIMGUI_API void ig_CloseCurrentPopup() +{ + return ImGui::CloseCurrentPopup(); +} + // Layout CIMGUI_API void ig_BeginGroup() { @@ -357,6 +367,11 @@ CIMGUI_API void ig_Spacing() return ImGui::Spacing(); } +CIMGUI_API void ig_Dummy(CONST ImVec2* size) +{ + return ImGui::Dummy(*size); +} + CIMGUI_API void ig_Indent() { return ImGui::Indent(); @@ -790,19 +805,19 @@ CIMGUI_API bool ig_InputFloat(CONST char* label, float* v, float step, float return ImGui::InputFloat(label, v, step, step_fast, decimal_precision, extra_flags); } -CIMGUI_API bool ig_InputFloat2(CONST char* label, float v[2], int decimal_precision) +CIMGUI_API bool ig_InputFloat2(CONST char* label, float v[2], int decimal_precision, ImGuiInputTextFlags extra_flags) { - return ImGui::InputFloat2(label, v, decimal_precision); + return ImGui::InputFloat2(label, v, decimal_precision, extra_flags); } -CIMGUI_API bool ig_InputFloat3(CONST char* label, float v[3], int decimal_precision) +CIMGUI_API bool ig_InputFloat3(CONST char* label, float v[3], int decimal_precision, ImGuiInputTextFlags extra_flags) { - return ImGui::InputFloat3(label, v, decimal_precision); + return ImGui::InputFloat3(label, v, decimal_precision, extra_flags); } -CIMGUI_API bool ig_InputFloat4(CONST char* label, float v[4], int decimal_precision) +CIMGUI_API bool ig_InputFloat4(CONST char* label, float v[4], int decimal_precision, ImGuiInputTextFlags extra_flags) { - return ImGui::InputFloat4(label, v, decimal_precision); + return ImGui::InputFloat4(label, v, decimal_precision, extra_flags); } CIMGUI_API bool ig_InputInt(CONST char* label, int* v, int step, int step_fast, ImGuiInputTextFlags extra_flags) @@ -810,19 +825,19 @@ CIMGUI_API bool ig_InputInt(CONST char* label, int* v, int step, int step_fas return ImGui::InputInt(label, v, step, step_fast, extra_flags); } -CIMGUI_API bool ig_InputInt2(CONST char* label, int v[2]) +CIMGUI_API bool ig_InputInt2(CONST char* label, int v[2], ImGuiInputTextFlags extra_flags) { - return ImGui::InputInt2(label, v); + return ImGui::InputInt2(label, v, extra_flags); } -CIMGUI_API bool ig_InputInt3(CONST char* label, int v[3]) +CIMGUI_API bool ig_InputInt3(CONST char* label, int v[3], ImGuiInputTextFlags extra_flags) { - return ImGui::InputInt3(label, v); + return ImGui::InputInt3(label, v, extra_flags); } -CIMGUI_API bool ig_InputInt4(CONST char* label, int v[4]) +CIMGUI_API bool ig_InputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags) { - return ImGui::InputInt4(label, v); + return ImGui::InputInt4(label, v, extra_flags); } @@ -915,7 +930,47 @@ CIMGUI_API bool ig_ListBoxHeader2(CONST char* label, int items_count, int hei CIMGUI_API void ig_ListBoxFooter() { - ImGui::ListBoxFooter(); + return ImGui::ListBoxFooter(); +} + +CIMGUI_API bool ig_BeginMainMenuBar() +{ + return ImGui::BeginMainMenuBar(); +} + +CIMGUI_API void ig_EndMainMenuBar() +{ + return ImGui::EndMainMenuBar(); +} + +CIMGUI_API bool ig_BeginMenuBar() +{ + return ImGui::BeginMenuBar(); +} + +CIMGUI_API void ig_EndMenuBar() +{ + return ImGui::EndMenuBar(); +} + +CIMGUI_API bool ig_BeginMenu(CONST char* label, bool enabled) +{ + return ImGui::BeginMenu(label, enabled); +} + +CIMGUI_API void ig_EndMenu() +{ + return ImGui::EndMenu(); +} + +CIMGUI_API bool ig_MenuItem(CONST char* label, CONST char* shortcut, bool selected, bool enabled) +{ + return ImGui::MenuItem(label, shortcut, selected, enabled); +} + +CIMGUI_API bool ig_MenuItemPtr(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!) @@ -1047,11 +1102,21 @@ CIMGUI_API bool ig_IsRectClipped(CONST ImVec2 item_size) return ImGui::IsRectClipped(item_size); } +CIMGUI_API bool ig_IsKeyDown(int key_index) +{ + return ImGui::IsKeyDown(key_index); +} + CIMGUI_API bool ig_IsKeyPressed(int key_index, bool repeat) { return ImGui::IsKeyPressed(key_index,repeat); } +CIMGUI_API bool ig_IsMouseDown(int button) +{ + return ImGui::IsMouseDown(button); +} + CIMGUI_API bool ig_IsMouseClicked(int button, bool repeat) { return ImGui::IsMouseClicked(button, repeat); diff --git a/cimgui/cimgui.h b/cimgui/cimgui.h index ccf220e..657bdfb 100644 --- a/cimgui/cimgui.h +++ b/cimgui/cimgui.h @@ -97,8 +97,10 @@ CIMGUI_API void ig_BeginTooltip(); CIMGUI_API void ig_EndTooltip(); // Popup -CIMGUI_API void ig_BeginPopup(bool* p_opened); +CIMGUI_API void ig_OpenPopup(CONST char* str_id); +CIMGUI_API bool ig_BeginPopup(CONST char* str_id); CIMGUI_API void ig_EndPopup(); +CIMGUI_API void ig_CloseCurrentPopup(); // Layout CIMGUI_API void ig_BeginGroup(); @@ -106,6 +108,7 @@ CIMGUI_API void ig_EndGroup(); CIMGUI_API void ig_Separator(); CIMGUI_API void ig_SameLine(int column_x, int spacing_w); CIMGUI_API void ig_Spacing(); +CIMGUI_API void ig_Dummy(CONST ImVec2* size); CIMGUI_API void ig_Indent(); CIMGUI_API void ig_Unindent(); CIMGUI_API void ig_Columns(int count, CONST char* id, bool border); @@ -201,13 +204,13 @@ CIMGUI_API bool ig_DragInt4(CONST char* label, int v[4], float v_spe // Widgets: Input CIMGUI_API bool ig_InputText(CONST char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data); CIMGUI_API bool ig_InputFloat(CONST char* label, float* v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags extra_flags); -CIMGUI_API bool ig_InputFloat2(CONST char* label, float v[2], int decimal_precision); -CIMGUI_API bool ig_InputFloat3(CONST char* label, float v[3], int decimal_precision); -CIMGUI_API bool ig_InputFloat4(CONST char* label, float v[4], int decimal_precision); +CIMGUI_API bool ig_InputFloat2(CONST char* label, float v[2], int decimal_precision, ImGuiInputTextFlags extra_flags); +CIMGUI_API bool ig_InputFloat3(CONST char* label, float v[3], int decimal_precision, ImGuiInputTextFlags extra_flags); +CIMGUI_API bool ig_InputFloat4(CONST char* label, float v[4], int decimal_precision, ImGuiInputTextFlags extra_flags); CIMGUI_API bool ig_InputInt(CONST char* label, int* v, int step, int step_fast, ImGuiInputTextFlags extra_flags); -CIMGUI_API bool ig_InputInt2(CONST char* label, int v[2]); -CIMGUI_API bool ig_InputInt3(CONST char* label, int v[3]); -CIMGUI_API bool ig_InputInt4(CONST char* label, int v[4]); +CIMGUI_API bool ig_InputInt2(CONST char* label, int v[2], ImGuiInputTextFlags extra_flags); +CIMGUI_API bool ig_InputInt3(CONST char* label, int v[3], ImGuiInputTextFlags extra_flags); +CIMGUI_API bool ig_InputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags); // Widgets: Trees CIMGUI_API bool ig_TreeNode(CONST char* str_label_id); @@ -229,6 +232,17 @@ CIMGUI_API bool ig_ListBoxHeader(CONST char* label, CONST struct ImV CIMGUI_API bool ig_ListBoxHeader2(CONST char* label, int items_count, int height_in_items); CIMGUI_API void ig_ListBoxFooter(); +// Widgets: Menus +CIMGUI_API bool ig_BeginMainMenuBar(); +CIMGUI_API void ig_EndMainMenuBar(); +CIMGUI_API bool ig_BeginMenuBar(); +CIMGUI_API void ig_EndMenuBar(); +CIMGUI_API bool ig_BeginMenu(CONST char* label, bool enabled = true); +CIMGUI_API void ig_EndMenu(); +CIMGUI_API bool ig_MenuItem(CONST char* label, CONST char* shortcut = NULL, bool selected = false, bool enabled = true); +CIMGUI_API bool ig_MenuItemPtr(CONST char* label, CONST char* shortcut, bool* p_selected, bool enabled = true); + + // Widgets: Value() Helpers. Output single value in "name: value" format (tip: freely declare your own within the ImGui namespace!) CIMGUI_API void ig_ValueBool(CONST char* prefix, bool b); CIMGUI_API void ig_ValueInt(CONST char* prefix, int v); @@ -258,7 +272,9 @@ CIMGUI_API bool ig_IsWindowFocused(); CIMGUI_API bool ig_IsRootWindowFocused(); CIMGUI_API bool ig_IsRootWindowOrAnyChildFocused(); CIMGUI_API bool ig_IsRectClipped(CONST struct ImVec2 item_size); +CIMGUI_API bool ig_IsKeyDown(int key_index); CIMGUI_API bool ig_IsKeyPressed(int key_index, bool repeat); +CIMGUI_API bool ig_IsMouseDown(int button); CIMGUI_API bool ig_IsMouseClicked(int button, bool repeat); CIMGUI_API bool ig_IsMouseDoubleClicked(int button); CIMGUI_API bool ig_IsMouseHoveringWindow(); @@ -296,7 +312,7 @@ CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* atlas, u CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* atlas, void* tex); CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* atlas); CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas, CONST char* filename, float size_pixels, CONST ImWchar* glyph_ranges, int font_no); -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* in_ttf_data, unsigned int in_ttf_data_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no); -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, CONST void* in_compressed_ttf_data, unsigned int in_compressed_ttf_data_size, float size_pixels, CONST ImWchar* glyph_ranges = NULL, int font_no = 0); +CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* ttf_data, int ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no); +CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, CONST void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no); CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas); CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas); \ No newline at end of file diff --git a/cimgui/fontAtlas.cpp b/cimgui/fontAtlas.cpp index c9e17a1..949f2fb 100644 --- a/cimgui/fontAtlas.cpp +++ b/cimgui/fontAtlas.cpp @@ -22,19 +22,19 @@ CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* atlas) return atlas->AddFontDefault(); } -CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas,const char* filename, float size_pixels, const ImWchar* glyph_ranges, int font_no) +CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas,CONST char* filename, float size_pixels, CONST ImWchar* glyph_ranges, int font_no) { return atlas->AddFontFromFileTTF(filename, size_pixels, glyph_ranges, font_no); } -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* in_ttf_data, unsigned int in_ttf_data_size, float size_pixels, const ImWchar* glyph_ranges, int font_no) +CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* ttf_data, int ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no) { - return atlas->AddFontFromMemoryTTF(in_ttf_data, in_ttf_data_size, size_pixels, glyph_ranges, font_no); + return atlas->AddFontFromMemoryTTF(ttf_data, ttf_size, size_pixels, glyph_ranges, font_no); } -CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, const void* in_compressed_ttf_data, unsigned int in_compressed_ttf_data_size, float size_pixels, const ImWchar* glyph_ranges, int font_no) +CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, CONST void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no) { - return atlas->AddFontFromMemoryCompressedTTF(in_compressed_ttf_data, in_compressed_ttf_data_size, size_pixels, glyph_ranges, font_no); + return atlas->AddFontFromMemoryCompressedTTF(compressed_ttf_data, compressed_ttf_size, size_pixels, glyph_ranges, font_no); } CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas) diff --git a/imgui b/imgui index 0123fc8..3a6e664 160000 --- a/imgui +++ b/imgui @@ -1 +1 @@ -Subproject commit 0123fc8c0f3f9b9d55b31d7403dea32d568032fe +Subproject commit 3a6e6645e61cdaacc4c38ed0ec96116a736cfd07