diff --git a/cimgui/cimgui.cpp b/cimgui/cimgui.cpp index 2fb6891..e9ffb30 100644 --- a/cimgui/cimgui.cpp +++ b/cimgui/cimgui.cpp @@ -851,7 +851,7 @@ CIMGUI_API bool igSliderFloat(CONST char* label, float* v, float v_min, float v_ 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); + return ImGui::SliderFloat2(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) @@ -1575,4 +1575,123 @@ CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(CONST char* utf8_chars) CIMGUI_API void ImGuiIO_ClearInputCharacters() { return ImGui::GetIO().ClearInputCharacters(); +} + +CIMGUI_API void ImGuiTextFilter_Init(struct ImGuiTextFilter* filter, const char* default_filter) +{ + *filter = ImGuiTextFilter(default_filter); +} + +CIMGUI_API void ImGuiTextFilter_Clear(struct ImGuiTextFilter* filter) +{ + filter->Clear(); +} + +CIMGUI_API bool ImGuiTextFilter_Draw(struct ImGuiTextFilter* filter, const char* label, float width) +{ + return filter->Draw(label, width); +} + +CIMGUI_API bool ImGuiTextFilter_PassFilter(struct ImGuiTextFilter* filter, const char* text, const char* text_end) +{ + return filter->PassFilter(text, text_end); +} + +CIMGUI_API bool ImGuiTextFilter_IsActive(struct ImGuiTextFilter* filter) +{ + return filter->IsActive(); +} +CIMGUI_API void ImGuiTextFilter_Build(struct ImGuiTextFilter* filter) +{ + filter->Build(); +} + +CIMGUI_API void ImGuiTextEditCallbackData_DeleteChars(struct ImGuiTextEditCallbackData* data, int pos, int bytes_count) +{ + data->DeleteChars(pos, bytes_count); +} + +CIMGUI_API void ImGuiTextEditCallbackData_InsertChars(struct ImGuiTextEditCallbackData* data, int pos, const char* text, const char* text_end) +{ + data->InsertChars(pos, text, text_end); +} + +CIMGUI_API bool ImGuiTextEditCallbackData_HasSelection(struct ImGuiTextEditCallbackData* data) +{ + return data->HasSelection(); +} + +CIMGUI_API void ImGuiStorage_Init(struct ImGuiStorage* storage) +{ + *storage = ImGuiStorage(); +} + +CIMGUI_API void ImGuiStorage_Clear(struct ImGuiStorage* storage) +{ + storage->Clear(); +} + +CIMGUI_API int ImGuiStorage_GetInt(struct ImGuiStorage* storage, ImGuiID key, int default_val) +{ + return storage->GetInt(key, default_val); +} + +CIMGUI_API void ImGuiStorage_SetInt(struct ImGuiStorage* storage, ImGuiID key, int val) +{ + storage->SetInt(key, val); +} + +CIMGUI_API bool ImGuiStorage_GetBool(struct ImGuiStorage* storage, ImGuiID key, bool default_val) +{ + return storage->GetBool(key, default_val); +} + +CIMGUI_API void ImGuiStorage_SetBool(struct ImGuiStorage* storage, ImGuiID key, bool val) +{ + storage->SetBool(key, val); +} + +CIMGUI_API float ImGuiStorage_GetFloat(struct ImGuiStorage* storage, ImGuiID key, float default_val) +{ + return storage->GetFloat(key, default_val); +} + +CIMGUI_API void ImGuiStorage_SetFloat(struct ImGuiStorage* storage, ImGuiID key, float val) +{ + storage->SetFloat(key, val); +} + +CIMGUI_API void* ImGuiStorage_GetVoidPtr(struct ImGuiStorage* storage, ImGuiID key) +{ + return storage->GetVoidPtr(key); +} + +CIMGUI_API void ImGuiStorage_SetVoidPtr(struct ImGuiStorage* storage, ImGuiID key, void* val) +{ + storage->SetVoidPtr(key, val); +} + +CIMGUI_API int* ImGuiStorage_GetIntRef(struct ImGuiStorage* storage, ImGuiID key, int default_val) +{ + return storage->GetIntRef(key, default_val); +} + +CIMGUI_API bool* ImGuiStorage_GetBoolRef(struct ImGuiStorage* storage, ImGuiID key, bool default_val) +{ + return storage->GetBoolRef(key, default_val); +} + +CIMGUI_API float* ImGuiStorage_GetFloatRef(struct ImGuiStorage* storage, ImGuiID key, float default_val) +{ + return storage->GetFloatRef(key, default_val); +} + +CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(struct ImGuiStorage* storage, ImGuiID key, void* default_val) +{ + return storage->GetVoidPtrRef(key, default_val); +} + +CIMGUI_API void ImGuiStorage_SetAllInt(struct ImGuiStorage* storage, int val) +{ + storage->SetAllInt(val); } \ No newline at end of file diff --git a/cimgui/cimgui.h b/cimgui/cimgui.h index 627858e..7576198 100644 --- a/cimgui/cimgui.h +++ b/cimgui/cimgui.h @@ -35,6 +35,7 @@ struct ImFontConfig; struct ImFontAtlas; struct ImDrawCmd; struct ImGuiListClipper; +struct ImGuiTextFilter; typedef unsigned short ImDrawIdx; typedef unsigned int ImU32; @@ -752,6 +753,11 @@ CIMGUI_API struct ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(struct Im CIMGUI_API struct ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(struct ImFontAtlas* atlas, CONST char* compressed_ttf_data_base85, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges); CIMGUI_API void ImFontAtlas_ClearTexData(struct ImFontAtlas* atlas); CIMGUI_API void ImFontAtlas_Clear(struct ImFontAtlas* atlas); +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesDefault(struct ImFontAtlas* atlas); +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesKorean(struct ImFontAtlas* atlas); +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesJapanese(struct ImFontAtlas* atlas); +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesChinese(struct ImFontAtlas* atlas); +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(struct ImFontAtlas* atlas); CIMGUI_API void ImGuiIO_AddInputCharacter(unsigned short c); CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(CONST char* utf8_chars); @@ -759,6 +765,7 @@ CIMGUI_API void ImGuiIO_ClearInputCharacters(); //ImDrawData CIMGUI_API void ImDrawData_DeIndexAllBuffers(struct ImDrawData* drawData); +CIMGUI_API void ImDrawData_ScaleClipRects(struct ImDrawData* drawData, struct ImVec2 sc); //ImDrawList CIMGUI_API int ImDrawList_GetVertexBufferSize(struct ImDrawList* list); @@ -831,3 +838,33 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* clipper); CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* clipper); CIMGUI_API int ImGuiListClipper_GetDisplayStart(ImGuiListClipper* clipper); CIMGUI_API int ImGuiListClipper_GetDisplayEnd(ImGuiListClipper* clipper); + +// ImGuiTextFilter +CIMGUI_API void ImGuiTextFilter_Init(struct ImGuiTextFilter* filter, const char* default_filter); +CIMGUI_API void ImGuiTextFilter_Clear(struct ImGuiTextFilter* filter); +CIMGUI_API bool ImGuiTextFilter_Draw(struct ImGuiTextFilter* filter, const char* label, float width); +CIMGUI_API bool ImGuiTextFilter_PassFilter(struct ImGuiTextFilter* filter, const char* text, const char* text_end); +CIMGUI_API bool ImGuiTextFilter_IsActive(struct ImGuiTextFilter* filter); +CIMGUI_API void ImGuiTextFilter_Build(struct ImGuiTextFilter* filter); + +// ImGuiTextEditCallbackData +CIMGUI_API void ImGuiTextEditCallbackData_DeleteChars(struct ImGuiTextEditCallbackData* data, int pos, int bytes_count); +CIMGUI_API void ImGuiTextEditCallbackData_InsertChars(struct ImGuiTextEditCallbackData* data, int pos, const char* text, const char* text_end); +CIMGUI_API bool ImGuiTextEditCallbackData_HasSelection(struct ImGuiTextEditCallbackData* data); + +// ImGuiStorage +CIMGUI_API void ImGuiStorage_Init(struct ImGuiStorage* storage); +CIMGUI_API void ImGuiStorage_Clear(struct ImGuiStorage* storage); +CIMGUI_API int ImGuiStorage_GetInt(struct ImGuiStorage* storage, ImGuiID key, int default_val); +CIMGUI_API void ImGuiStorage_SetInt(struct ImGuiStorage* storage, ImGuiID key, int val); +CIMGUI_API bool ImGuiStorage_GetBool(struct ImGuiStorage* storage, ImGuiID key, bool default_val); +CIMGUI_API void ImGuiStorage_SetBool(struct ImGuiStorage* storage, ImGuiID key, bool val); +CIMGUI_API float ImGuiStorage_GetFloat(struct ImGuiStorage* storage, ImGuiID key, float default_val); +CIMGUI_API void ImGuiStorage_SetFloat(struct ImGuiStorage* storage, ImGuiID key, float val); +CIMGUI_API void* ImGuiStorage_GetVoidPtr(struct ImGuiStorage* storage, ImGuiID key); +CIMGUI_API void ImGuiStorage_SetVoidPtr(struct ImGuiStorage* storage, ImGuiID key, void* val); +CIMGUI_API int* ImGuiStorage_GetIntRef(struct ImGuiStorage* storage, ImGuiID key, int default_val); +CIMGUI_API bool* ImGuiStorage_GetBoolRef(struct ImGuiStorage* storage, ImGuiID key, bool default_val); +CIMGUI_API float* ImGuiStorage_GetFloatRef(struct ImGuiStorage* storage, ImGuiID key, float default_val); +CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(struct ImGuiStorage* storage, ImGuiID key, void* default_val); +CIMGUI_API void ImGuiStorage_SetAllInt(struct ImGuiStorage* storage, int val); diff --git a/cimgui/cimgui.vcxproj b/cimgui/cimgui.vcxproj index a33061a..96db8db 100644 --- a/cimgui/cimgui.vcxproj +++ b/cimgui/cimgui.vcxproj @@ -67,6 +67,8 @@ true true WIN32;NDEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + true Windows diff --git a/cimgui/drawList.cpp b/cimgui/drawList.cpp index c43f10f..ef7d52e 100644 --- a/cimgui/drawList.cpp +++ b/cimgui/drawList.cpp @@ -37,6 +37,11 @@ CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData) return drawData->DeIndexAllBuffers(); } +CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* drawData, struct ImVec2 sc) +{ + return drawData->ScaleClipRects(sc); +} + CIMGUI_API void ImDrawList_Clear(ImDrawList* list) { return list->Clear(); diff --git a/cimgui/fontAtlas.cpp b/cimgui/fontAtlas.cpp index 9f30c71..270d83d 100644 --- a/cimgui/fontAtlas.cpp +++ b/cimgui/fontAtlas.cpp @@ -60,4 +60,29 @@ CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas) CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas) { return atlas->Clear(); +} + +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesDefault(struct ImFontAtlas* atlas) +{ + return atlas->GetGlyphRangesDefault(); +} + +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesKorean(struct ImFontAtlas* atlas) +{ + return atlas->GetGlyphRangesKorean(); +} + +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesJapanese(struct ImFontAtlas* atlas) +{ + return atlas->GetGlyphRangesJapanese(); +} + +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesChinese(struct ImFontAtlas* atlas) +{ + return atlas->GetGlyphRangesChinese(); +} + +CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(struct ImFontAtlas* atlas) +{ + return atlas->GetGlyphRangesCyrillic(); } \ No newline at end of file