Compare commits

..

37 Commits

Author SHA1 Message Date
Cory McWilliams
0781f92135 Make struct ImFontConfig match imgui's.
Fixes problems using custom fonts.
2018-01-02 22:07:50 +01:00
Stephan Dilly
3f0014b569 update readme 2017-12-27 16:25:11 +01:00
Stephan Dilly
49d62d30cf update to imgui 1.53 2017-12-27 16:24:15 +01:00
Stephan Dilly
2ea2b91ee1 auto format 2017-12-27 14:15:22 +01:00
Stephan Dilly
e75eaa7239 auto format 2017-12-27 14:14:46 +01:00
yosikawa
fa1b93bea9 revert missing ImFontConfig_DefaultConstructor, fix fn name ImFont_GetFallbackAdvanceX 2017-11-16 09:58:35 +01:00
Stephan Dilly
511218914b Update README.md 2017-11-12 00:23:46 +01:00
Stephan Dilly
f60eb9a510 Update README.md 2017-11-12 00:18:57 +01:00
Mikkel Hjortshøj
9e52e73e9b Update to imgui v1.52 (#42)
* Update to imgui v1.52
* Fixed missing ig prefix and struct identifier
* missing struct identifier
* Removed obsolete functions
* Possible fix
* Removed wild ImFont::Glyph
* Noticed out of order Color enum value
2017-11-12 00:16:30 +01:00
Joonas Javanainen
6a31578c1e Pass default_filter properly to ImGuiTextFilter constructor 2017-11-05 20:36:18 +01:00
Joonas Javanainen
50bce34b67 Pass ref_col parameter correctly to ColorPicker4 2017-11-03 13:33:48 +01:00
fmdkdd
14b2c5cc58 Check on Travis that cimgui.h builds on a plain C compiler 2017-10-22 09:48:17 +02:00
fmdkdd
f12e74c20f Allow cimgui.h to be included in a plain C project
Add `struct` keywords where required.  The messy part is the ImFont::Glyph inner
struct, which needs to match the implementation in fontAtlas.cpp when building
the library, but the namespace syntax is invalid C, so we have to use a macro to
satisfy both use cases.
2017-10-22 09:48:17 +02:00
yosikawa
01578cb1bd add functions to support D-lang version of imgui_demo.cpp
1. add access functions for ImFontAtlas, ImFont
2. support ImGuiTextFilter, ImGuiTextBuffer
3. change the name igPushIdXXX => igPushIDXXX
4. bug fixes
2017-10-02 09:24:25 +02:00
okuoku
33679d6957 Fix Cygwin build 2017-09-04 10:05:18 +02:00
Stephan Dilly
b9cd7f2d83 Update README.md 2017-08-31 17:10:30 +02:00
Armored Dragon
1df319b232 Update to imgui 1.51 (#34)
* Updated imgui submodule to v1.51 tag

* Updated API to imgui 1.51

* Fix all compiler and linker errors
2017-08-31 17:08:29 +02:00
Unknown
516547dcd9 Introduce CIMGUI_NO_EXPORT to stop exporting symbols
Useful when static linking in a library to avoid collisions
2017-08-06 22:18:50 +02:00
Merwan Achibet
dbbac62a84 Add ImGuilistClipper struct under CIMGUI_DEFINE_ENUMS_AND_STRUCTS 2017-06-08 19:45:16 +02:00
Merwan Achibet
389c1f1ad1 Add another batch of missing struct keywords, Add definition for ImDrawVert (#28)
* Add missing struct keywords for ImVec2 and ImGuiListClipper arguments
* Add another batch of missing struct keywords
* Add missing definition for ImDrawVert under CIMGUI_DEFINE_ENUMS_AND_STRUCTS
2017-06-06 15:40:29 +02:00
Stephan Dilly
76001ce58c add missing new param
was introduced in 1.50
2017-06-03 11:29:14 +02:00
dpethes
38c89cf203 add Visual Studio 64bit build configuration 2017-06-03 10:46:05 +02:00
Merwan Achibet
c888da1c96 Add missing struct keywords for ImVec2 and ImGuiListClipper arguments 2017-06-03 10:45:17 +02:00
Stephan Dilly
2195a6f0dd update readme 2017-06-03 01:48:55 +02:00
Stephan Dilly
13ce2e0abc update to 1.50 2017-06-03 01:43:06 +02:00
Stephan Dilly
64d2efaf70 add vscode settings file 2017-06-03 01:35:53 +02:00
dpethes
169eab1128 include listClipper.cpp in vcxproj 2017-06-02 23:43:45 +02:00
Stephan Dilly
51002084f8 Update README.md 2017-05-30 07:15:24 +02:00
Stephan Dilly
c7fcdace6c rename 2017-05-30 07:14:57 +02:00
Erik van Bilsen
98f480cc28 Added several new bindings (#18)
* Added ImDrawData_ScaleClipRects and fixed wrong call in igSliderFloat2
* Added ImGuiTextFilter
* Added ImGuiTextEditCallbackData
* Added ImGuiStorage
* Added ImFontAtlas_GetGlyphRanges* APIs
* Added ImGuiTextFilter struct and fixed ImDrawData_ScaleClipRects
2017-05-30 07:10:30 +02:00
Brandon Haffen
09a51f162e Add enums and structs to header when enabled (#24)
* Added structs and enums to cimgui.h
2017-05-30 07:04:57 +02:00
nucular
366754fc57 Expose ImGuiListClipper and its members (#19)
* Provide access to ImGuiListClipper members
* Added ImGuiListClipper_GetDisplayStart and ImGuiListClipper_GetDisplayEnd to cimgui.h
2017-05-30 07:02:05 +02:00
Stephan Dilly
fb044c4b6a Merge pull request #23 from Wizzard033/master
Fixed for compiling with MinGW
2017-01-22 13:12:41 +01:00
Brandon Haffen
ffc80c11c7 Fixed for compiling with MinGW 2017-01-22 02:54:29 -08:00
Stephan Dilly
8591a0be77 Merge pull request #15 from Gekkio/fix/drawlust-typo
ImDrawLust -> ImDrawList
2016-06-13 23:07:26 +02:00
Joonas Javanainen
9274ef995f ImDrawLust -> ImDrawList 2016-06-12 00:20:09 +03:00
Stephan Dilly
3a215a0268 fix some travis ci build breaks 2016-06-06 00:44:08 +02:00
15 changed files with 2214 additions and 835 deletions

1
.gitignore vendored
View File

@@ -35,3 +35,4 @@ cimgui/Release/
CMakeLists.txt CMakeLists.txt
cimgui/.vs/ cimgui/.vs/
cimgui/cimgui.vcxproj.user cimgui/cimgui.vcxproj.user
cimgui/x64/

View File

@@ -9,3 +9,4 @@ compiler:
script: script:
- make -C cimgui - make -C cimgui
- $CC cimgui/cimgui.h # Make sure we can include in a plain C compiler

View File

@@ -1,13 +1,13 @@
# cimgui [![Build Status](https://travis-ci.org/Extrawurst/cimgui.svg)](https://travis-ci.org/Extrawurst/cimgui) # cimgui [![Build Status](https://travis-ci.org/Extrawurst/cimgui.svg)](https://travis-ci.org/Extrawurst/cimgui)
![sample](https://raw.github.com/extrawurst/cimgui/master/Screen Shot 2015-04-09.png) ![sample](screenshot.png)
This is a thin c-api wrapper for the excellent C++ intermediate gui [imgui](https://github.com/ocornut/imgui). This is a thin c-api wrapper for the excellent C++ intermediate gui [imgui](https://github.com/ocornut/imgui).
Most of the functions have wrapper counterparts now, missing stuff is added on a as-needed basis (PR welcome). Most of the functions have wrapper counterparts now, missing stuff is added on a as-needed basis (PR welcome).
This library is intended as a intermediate layer to be able to use imgui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui)) This library is intended as a intermediate layer to be able to use imgui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui))
Notes: Notes:
* currently this wrapper is based on version [1.49 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.49) * currently this wrapper is based on version [1.53 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.53)
* does not compile with pure C compiler yet (for writing bindings in languages that are able to use C-ABI it is enough though, see D-bindings) * does not compile with pure C compiler yet (for writing bindings in languages that are able to use C-ABI it is enough though, see D-bindings)
# usage # usage
@@ -16,3 +16,11 @@ Notes:
* make using makefile on linux/osx * make using makefile on linux/osx
* use whatever method is in ImGui c++ namespace in the original [imgui.h](https://github.com/ocornut/imgui/blob/master/imgui.h) by prepending `ig` * use whatever method is in ImGui c++ namespace in the original [imgui.h](https://github.com/ocornut/imgui/blob/master/imgui.h) by prepending `ig`
* methods have the same parameter list and return values (where possible) * methods have the same parameter list and return values (where possible)
# example bindings based on cimgui
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
* [ImGui.NET](https://github.com/mellinoe/ImGui.NET)
* [imgui-rs](https://github.com/Gekkio/imgui-rs)
* [imgui-pas](https://github.com/dpethes/imgui-pas)
* [odin-dear_imgui](https://github.com/ThisDrunkDane/odin-dear_imgui)

4
cimgui/.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,4 @@
// Place your settings in this file to overwrite default and user settings.
{
"editor.formatOnSave": false,
}

View File

@@ -5,6 +5,7 @@
OBJS = cimgui.o OBJS = cimgui.o
OBJS += fontAtlas.o OBJS += fontAtlas.o
OBJS += drawList.o OBJS += drawList.o
OBJS += listClipper.o
#OBJS += test.o #OBJS += test.o
OBJS += ../imgui/imgui.o OBJS += ../imgui/imgui.o
OBJS += ../imgui/imgui_draw.o OBJS += ../imgui/imgui_draw.o
@@ -32,6 +33,17 @@ ifeq ($(UNAME_S), Darwin) #APPLE
CFLAGS = $(CXXFLAGS) CFLAGS = $(CXXFLAGS)
endif endif
ifeq ($(OS), Windows_NT)
ECHO_MESSAGE = "Windows"
OUTPUTNAME = cimgui.dll
CXXFLAGS = -I../../
CXXFLAGS += -Wall
CXXFLAGS += -shared
LINKFLAGS = -limm32
CFLAGS = $(CXXFLAGS)
endif
.cpp.o: .cpp.o:
$(CXX) $(CXXFLAGS) -c -o $@ $< $(CXX) $(CXXFLAGS) -c -o $@ $<

View File

@@ -2,6 +2,10 @@
#include "../imgui/imgui.h" #include "../imgui/imgui.h"
#include "cimgui.h" #include "cimgui.h"
// to use placement new
#define IMGUI_DEFINE_PLACEMENT_NEW
#include "../imgui/imgui_internal.h"
CIMGUI_API ImGuiIO *igGetIO() CIMGUI_API ImGuiIO *igGetIO()
{ {
return &ImGui::GetIO(); return &ImGui::GetIO();
@@ -27,6 +31,11 @@ CIMGUI_API void igRender()
ImGui::Render(); ImGui::Render();
} }
CIMGUI_API void igEndFrame()
{
ImGui::EndFrame();
}
CIMGUI_API void igShutdown() CIMGUI_API void igShutdown()
{ {
ImGui::Shutdown(); ImGui::Shutdown();
@@ -42,9 +51,9 @@ CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref)
ImGui::ShowStyleEditor(ref); ImGui::ShowStyleEditor(ref);
} }
CIMGUI_API void igShowTestWindow(bool* opened) CIMGUI_API void igShowDemoWindow(bool *opened)
{ {
ImGui::ShowTestWindow(opened); ImGui::ShowDemoWindow(opened);
} }
IMGUI_API void igShowMetricsWindow(bool *opened) IMGUI_API void igShowMetricsWindow(bool *opened)
@@ -52,6 +61,16 @@ IMGUI_API void igShowMetricsWindow(bool* opened)
ImGui::ShowMetricsWindow(opened); ImGui::ShowMetricsWindow(opened);
} }
CIMGUI_API void igShowStyleSelector(CONST char *label)
{
ImGui::ShowStyleSelector(label);
}
CIMGUI_API void igShowFontSelector(CONST char *label)
{
ImGui::ShowFontSelector(label);
}
// Window // Window
CIMGUI_API bool igBegin(CONST char *name, bool *p_opened, ImGuiWindowFlags flags) CIMGUI_API bool igBegin(CONST char *name, bool *p_opened, ImGuiWindowFlags flags)
@@ -144,22 +163,22 @@ CIMGUI_API bool igIsWindowCollapsed()
return ImGui::IsWindowCollapsed(); return ImGui::IsWindowCollapsed();
} }
CIMGUI_API bool igIsWindowAppearing()
{
return ImGui::IsWindowAppearing();
}
CIMGUI_API void igSetWindowFontScale(float scale) CIMGUI_API void igSetWindowFontScale(float scale)
{ {
ImGui::SetWindowFontScale(scale); ImGui::SetWindowFontScale(scale);
} }
CIMGUI_API void igSetNextWindowPos(CONST ImVec2 pos, ImGuiSetCond cond) CIMGUI_API void igSetNextWindowPos(CONST struct ImVec2 pos, ImGuiCond cond, CONST struct ImVec2 pivot)
{ {
ImGui::SetNextWindowPos(pos, cond); ImGui::SetNextWindowPos(pos, cond, pivot);
} }
CIMGUI_API void igSetNextWindowPosCenter(ImGuiSetCond cond) CIMGUI_API void igSetNextWindowSize(CONST ImVec2 size, ImGuiCond cond)
{
ImGui::SetNextWindowPosCenter(cond);
}
CIMGUI_API void igSetNextWindowSize(CONST ImVec2 size, ImGuiSetCond cond)
{ {
ImGui::SetNextWindowSize(size, cond); ImGui::SetNextWindowSize(size, cond);
} }
@@ -174,12 +193,7 @@ CIMGUI_API void igSetNextWindowContentSize(CONST ImVec2 size)
ImGui::SetNextWindowContentSize(size); ImGui::SetNextWindowContentSize(size);
} }
CIMGUI_API void igSetNextWindowContentWidth(float width) CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiCond cond)
{
ImGui::SetNextWindowContentWidth(width);
}
CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiSetCond cond)
{ {
ImGui::SetNextWindowCollapsed(collapsed, cond); ImGui::SetNextWindowCollapsed(collapsed, cond);
} }
@@ -189,17 +203,17 @@ CIMGUI_API void igSetNextWindowFocus()
ImGui::SetNextWindowFocus(); ImGui::SetNextWindowFocus();
} }
CIMGUI_API void igSetWindowPos(CONST ImVec2 pos, ImGuiSetCond cond) CIMGUI_API void igSetWindowPos(CONST ImVec2 pos, ImGuiCond cond)
{ {
ImGui::SetWindowPos(pos, cond); ImGui::SetWindowPos(pos, cond);
} }
CIMGUI_API void igSetWindowSize(CONST ImVec2 size, ImGuiSetCond cond) CIMGUI_API void igSetWindowSize(CONST ImVec2 size, ImGuiCond cond)
{ {
ImGui::SetWindowSize(size, cond); ImGui::SetWindowSize(size, cond);
} }
CIMGUI_API void igSetWindowCollapsed(bool collapsed, ImGuiSetCond cond) CIMGUI_API void igSetWindowCollapsed(bool collapsed, ImGuiCond cond)
{ {
ImGui::SetWindowCollapsed(collapsed, cond); ImGui::SetWindowCollapsed(collapsed, cond);
} }
@@ -209,17 +223,17 @@ CIMGUI_API void igSetWindowFocus()
ImGui::SetWindowFocus(); ImGui::SetWindowFocus();
} }
CIMGUI_API void igSetWindowPosByName(CONST char* name, CONST ImVec2 pos, ImGuiSetCond cond) CIMGUI_API void igSetWindowPosByName(CONST char *name, CONST ImVec2 pos, ImGuiCond cond)
{ {
ImGui::SetWindowPos(name, pos, cond); ImGui::SetWindowPos(name, pos, cond);
} }
CIMGUI_API void igSetWindowSize2(CONST char* name, CONST ImVec2 size, ImGuiSetCond cond) CIMGUI_API void igSetWindowSize2(CONST char *name, CONST ImVec2 size, ImGuiCond cond)
{ {
ImGui::SetWindowSize(name, size, cond); ImGui::SetWindowSize(name, size, cond);
} }
CIMGUI_API void igSetWindowCollapsed2(CONST char* name, bool collapsed, ImGuiSetCond cond) CIMGUI_API void igSetWindowCollapsed2(CONST char *name, bool collapsed, ImGuiCond cond)
{ {
ImGui::SetWindowCollapsed(name, collapsed, cond); ImGui::SetWindowCollapsed(name, collapsed, cond);
} }
@@ -269,11 +283,6 @@ CIMGUI_API void igSetScrollFromPosY(float pos_y, float center_y_ratio)
return ImGui::SetScrollFromPosY(pos_y, center_y_ratio); return ImGui::SetScrollFromPosY(pos_y, center_y_ratio);
} }
CIMGUI_API void igSetKeyboardFocusHere(int offset)
{
ImGui::SetKeyboardFocusHere(offset);
}
CIMGUI_API void igSetStateStorage(ImGuiStorage *tree) CIMGUI_API void igSetStateStorage(ImGuiStorage *tree)
{ {
ImGui::SetStateStorage(tree); ImGui::SetStateStorage(tree);
@@ -295,6 +304,11 @@ CIMGUI_API void igPopFont()
return ImGui::PopFont(); return ImGui::PopFont();
} }
CIMGUI_API void igPushStyleColorU32(ImGuiCol idx, ImU32 col)
{
return ImGui::PushStyleColor(idx, col);
}
CIMGUI_API void igPushStyleColor(ImGuiCol idx, CONST ImVec4 col) CIMGUI_API void igPushStyleColor(ImGuiCol idx, CONST ImVec4 col)
{ {
return ImGui::PushStyleColor(idx, col); return ImGui::PushStyleColor(idx, col);
@@ -320,6 +334,11 @@ CIMGUI_API void igPopStyleVar(int count)
return ImGui::PopStyleVar(count); return ImGui::PopStyleVar(count);
} }
CIMGUI_API void igGetStyleColorVec4(ImVec4 *pOut, ImGuiCol idx)
{
*pOut = ImGui::GetStyleColorVec4(idx);
}
CIMGUI_API ImFont *igGetFont() CIMGUI_API ImFont *igGetFont()
{ {
return ImGui::GetFont(); return ImGui::GetFont();
@@ -345,6 +364,11 @@ CIMGUI_API ImU32 igGetColorU32Vec(CONST ImVec4* col)
return ImGui::GetColorU32(*col); return ImGui::GetColorU32(*col);
} }
CIMGUI_API ImU32 igGetColorU32U32(ImU32 col)
{
return ImGui::GetColorU32(col);
}
// Parameters stacks (current window) // Parameters stacks (current window)
CIMGUI_API void igPushItemWidth(float item_width) CIMGUI_API void igPushItemWidth(float item_width)
{ {
@@ -421,6 +445,11 @@ CIMGUI_API void igOpenPopup(CONST char* str_id)
return ImGui::OpenPopup(str_id); return ImGui::OpenPopup(str_id);
} }
CIMGUI_API bool igOpenPopupOnItemClick(const char *str_id, int mouse_button)
{
return ImGui::OpenPopupOnItemClick(str_id, mouse_button);
}
CIMGUI_API bool igBeginPopup(CONST char *str_id) CIMGUI_API bool igBeginPopup(CONST char *str_id)
{ {
return ImGui::BeginPopup(str_id); return ImGui::BeginPopup(str_id);
@@ -436,9 +465,9 @@ CIMGUI_API bool igBeginPopupContextItem(CONST char* str_id, int mouse_button)
return ImGui::BeginPopupContextItem(str_id, 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(CONST char *str_id, int mouse_button, bool also_over_items)
{ {
return ImGui::BeginPopupContextWindow(also_over_items, str_id, mouse_button); return ImGui::BeginPopupContextWindow(str_id, mouse_button, also_over_items);
} }
CIMGUI_API bool igBeginPopupContextVoid(CONST char *str_id, int mouse_button) CIMGUI_API bool igBeginPopupContextVoid(CONST char *str_id, int mouse_button)
@@ -451,6 +480,11 @@ CIMGUI_API void igEndPopup()
return ImGui::EndPopup(); return ImGui::EndPopup();
} }
CIMGUI_API bool igIsPopupOpen(CONST char *str_id)
{
return ImGui::IsPopupOpen(str_id);
}
CIMGUI_API void igCloseCurrentPopup() CIMGUI_API void igCloseCurrentPopup()
{ {
return ImGui::CloseCurrentPopup(); return ImGui::CloseCurrentPopup();
@@ -548,9 +582,9 @@ CIMGUI_API void igSetCursorScreenPos(CONST ImVec2 pos)
return ImGui::SetCursorScreenPos(pos); return ImGui::SetCursorScreenPos(pos);
} }
CIMGUI_API void igAlignFirstTextHeightToWidgets() CIMGUI_API void igAlignTextToFramePadding()
{ {
return ImGui::AlignFirstTextHeightToWidgets(); return ImGui::AlignTextToFramePadding();
} }
CIMGUI_API float igGetTextLineHeight() CIMGUI_API float igGetTextLineHeight()
@@ -563,9 +597,14 @@ CIMGUI_API float igGetTextLineHeightWithSpacing()
return ImGui::GetTextLineHeightWithSpacing(); return ImGui::GetTextLineHeightWithSpacing();
} }
CIMGUI_API float igGetItemsLineHeightWithSpacing() CIMGUI_API float igGetFrameHeight()
{ {
return ImGui::GetItemsLineHeightWithSpacing(); return ImGui::GetFrameHeight();
}
CIMGUI_API float igGetFrameHeightWithSpacing()
{
return ImGui::GetFrameHeightWithSpacing();
} }
//Columns //Columns
@@ -585,6 +624,16 @@ CIMGUI_API int igGetColumnIndex()
return ImGui::GetColumnIndex(); return ImGui::GetColumnIndex();
} }
CIMGUI_API float igGetColumnWidth(int column_index)
{
return ImGui::GetColumnWidth(column_index);
}
CIMGUI_API void igSetColumnWidth(int column_index, float width)
{
return ImGui::SetColumnWidth(column_index, width);
}
CIMGUI_API float igGetColumnOffset(int column_index) CIMGUI_API float igGetColumnOffset(int column_index)
{ {
return ImGui::GetColumnOffset(column_index); return ImGui::GetColumnOffset(column_index);
@@ -595,11 +644,6 @@ CIMGUI_API void igSetColumnOffset(int column_index, float offset_x)
return ImGui::SetColumnOffset(column_index, offset_x); return ImGui::SetColumnOffset(column_index, offset_x);
} }
CIMGUI_API float igGetColumnWidth(int column_index)
{
return ImGui::GetColumnWidth(column_index);
}
CIMGUI_API int igGetColumnsCount() CIMGUI_API int igGetColumnsCount()
{ {
return ImGui::GetColumnsCount(); return ImGui::GetColumnsCount();
@@ -608,43 +652,42 @@ CIMGUI_API int igGetColumnsCount()
// ID scopes // ID scopes
// If you are creating widgets in a loop you most likely want to push a unique identifier so ImGui can differentiate them // 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') // 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); 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); 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); return ImGui::PushID(ptr_id);
} }
CIMGUI_API void igPushIdInt(int int_id) CIMGUI_API void igPushIDInt(int int_id)
{ {
return ImGui::PushID(int_id); return ImGui::PushID(int_id);
} }
CIMGUI_API void igPopId() CIMGUI_API void igPopID()
{ {
return ImGui::PopID(); return ImGui::PopID();
} }
CIMGUI_API ImGuiID igGetIdStr(CONST char* str_id) CIMGUI_API ImGuiID igGetIDStr(CONST char *str_id)
{ {
return ImGui::GetID(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); 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); return ImGui::GetID(ptr_id);
} }
@@ -783,41 +826,6 @@ CIMGUI_API bool igRadioButton(CONST char* label, int* v, int v_button)
return ImGui::RadioButton(label, v, 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)
{
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)
{
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)
{
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)
{
return ImGui::ColorButton(col, small_height, outline_border);
}
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)
{
return ImGui::ColorEdit4(label, col, show_alpha);
}
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); return ImGui::PlotLines(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride);
@@ -838,7 +846,7 @@ CIMGUI_API void igPlotHistogram2(CONST char* label, float(*values_getter)(void*
return ImGui::PlotHistogram(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); return ImGui::PlotHistogram(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size);
} }
CIMGUI_API void igProgressBar(float fraction, CONST ImVec2* size_arg, const char* overlay) CIMGUI_API void igProgressBar(float fraction, CONST ImVec2 *size_arg, CONST char *overlay)
{ {
return ImGui::ProgressBar(fraction, *size_arg, overlay); return ImGui::ProgressBar(fraction, *size_arg, overlay);
} }
@@ -851,7 +859,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) 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) CIMGUI_API bool igSliderFloat3(CONST char *label, float v[3], float v_min, float v_max, CONST char *display_format, float power)
@@ -899,6 +907,62 @@ CIMGUI_API bool igVSliderInt(CONST char* label, CONST ImVec2 size, int* v, int v
return ImGui::VSliderInt(label, size, v, v_min, v_max, display_format); return ImGui::VSliderInt(label, size, v, v_min, v_max, display_format);
} }
CIMGUI_API bool igBeginCombo(CONST char *label, CONST char *preview_value, ImGuiComboFlags flags)
{
return ImGui::BeginCombo(label, preview_value, flags);
}
CIMGUI_API void igEndCombo()
{
return ImGui::EndCombo();
}
CIMGUI_API bool igCombo(CONST char *label, int *current_item, CONST char *CONST *items, int items_count, int popup_max_height_in_items)
{
return ImGui::Combo(label, current_item, items, items_count, popup_max_height_in_items);
}
CIMGUI_API bool igCombo2(CONST char *label, int *current_item, CONST char *items_separated_by_zeros, int popup_max_height_in_items)
{
return ImGui::Combo(label, current_item, items_separated_by_zeros, popup_max_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 popup_max_height_in_items)
{
return ImGui::Combo(label, current_item, items_getter, data, items_count, popup_max_height_in_items);
}
// Widgets: Color Editor/Picker (tip: the ColorEdit* functions have a little colored preview square that can be left-clicked to open a picker, and right-clicked to open an option menu.)
CIMGUI_API bool igColorEdit3(CONST char *label, float col[3], ImGuiColorEditFlags flags)
{
return ImGui::ColorEdit3(label, col, flags);
}
CIMGUI_API bool igColorEdit4(CONST char *label, float col[4], ImGuiColorEditFlags flags)
{
return ImGui::ColorEdit4(label, col, flags);
}
CIMGUI_API bool igColorPicker3(CONST char *label, float col[3], ImGuiColorEditFlags flags)
{
return ImGui::ColorPicker3(label, col, flags);
}
CIMGUI_API bool igColorPicker4(CONST char *label, float col[4], ImGuiColorEditFlags flags, CONST float *ref_col)
{
return ImGui::ColorPicker4(label, col, flags, ref_col);
}
CIMGUI_API bool igColorButton(CONST char *desc_id, CONST ImVec4 col, ImGuiColorEditFlags flags, CONST ImVec2 size)
{
return ImGui::ColorButton(desc_id, col, flags, size);
}
CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags flags)
{
return ImGui::SetColorEditOptions(flags);
}
// Widgets: Drags (tip: ctrl+click on a drag box to input text) // 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)
{ {
@@ -1001,7 +1065,6 @@ CIMGUI_API bool igInputInt4(CONST char* label, int v[4], ImGuiInputTextFlags ext
return ImGui::InputInt4(label, v, extra_flags); return ImGui::InputInt4(label, v, extra_flags);
} }
// Widgets: Trees // Widgets: Trees
CIMGUI_API bool igTreeNode(CONST char *label) CIMGUI_API bool igTreeNode(CONST char *label)
{ {
@@ -1098,7 +1161,7 @@ CIMGUI_API float igGetTreeNodeToLabelSpacing()
return ImGui::GetTreeNodeToLabelSpacing(); return ImGui::GetTreeNodeToLabelSpacing();
} }
CIMGUI_API void igSetNextTreeNodeOpen(bool opened, ImGuiSetCond cond) CIMGUI_API void igSetNextTreeNodeOpen(bool opened, ImGuiCond cond)
{ {
return ImGui::SetNextTreeNodeOpen(opened, cond); return ImGui::SetNextTreeNodeOpen(opened, cond);
} }
@@ -1124,7 +1187,7 @@ CIMGUI_API bool igSelectableEx(CONST char* label, bool* p_selected, ImGuiSelecta
return ImGui::Selectable(label, p_selected, flags, 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 *CONST *items, int items_count, int height_in_items)
{ {
return ImGui::ListBox(label, current_item, items, items_count, height_in_items); return ImGui::ListBox(label, current_item, items, items_count, height_in_items);
} }
@@ -1210,16 +1273,6 @@ CIMGUI_API void igValueFloat(CONST char* prefix, float v, CONST char* float_form
ImGui::Value(prefix, v, float_format); ImGui::Value(prefix, v, float_format);
} }
CIMGUI_API void igValueColor(CONST char* prefix, CONST ImVec4 v)
{
ImGui::ValueColor(prefix,v);
}
CIMGUI_API void igValueColor2(CONST char* prefix, unsigned int v)
{
ImGui::ValueColor(prefix,v);
}
// Logging: all text output from interface is redirected to tty/file/clipboard. Tree nodes are automatically opened. // 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)
{ {
@@ -1251,12 +1304,42 @@ CIMGUI_API void igLogText(CONST char* fmt, ...)
char buffer[256]; char buffer[256];
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
snprintf(buffer, 256, fmt, args); vsnprintf(buffer, 256, fmt, args);
va_end(args); va_end(args);
ImGui::LogText("%s", buffer); ImGui::LogText("%s", buffer);
} }
CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags, int mouse_button)
{
return ImGui::BeginDragDropSource(flags, mouse_button);
}
CIMGUI_API bool igSetDragDropPayload(CONST char *type, CONST void *data, size_t size, ImGuiCond cond)
{
return ImGui::SetDragDropPayload(type, data, size, cond);
}
CIMGUI_API void igEndDragDropSource()
{
ImGui::EndDragDropSource();
}
CIMGUI_API bool igBeginDragDropTarget()
{
return ImGui::BeginDragDropTarget();
}
CIMGUI_API CONST struct ImGuiPayload *igAcceptDragDropPayload(CONST char *type, ImGuiDragDropFlags flags)
{
return ImGui::AcceptDragDropPayload(type, flags);
}
CIMGUI_API void igEndDragDropTarget()
{
ImGui::EndDragDropTarget();
}
CIMGUI_API void igPushClipRect(CONST struct ImVec2 clip_rect_min, CONST struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect) CIMGUI_API void igPushClipRect(CONST struct ImVec2 clip_rect_min, CONST struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect)
{ {
return ImGui::PushClipRect(clip_rect_min, clip_rect_max, intersect_with_current_clip_rect); return ImGui::PushClipRect(clip_rect_min, clip_rect_max, intersect_with_current_clip_rect);
@@ -1267,15 +1350,35 @@ CIMGUI_API void igPopClipRect()
return ImGui::PopClipRect(); return ImGui::PopClipRect();
} }
// Utilities CIMGUI_API void igStyleColorsClassic(struct ImGuiStyle *dst)
CIMGUI_API bool igIsItemHovered()
{ {
return ImGui::IsItemHovered(); ImGui::StyleColorsClassic(dst);
} }
CIMGUI_API bool igIsItemHoveredRect() CIMGUI_API void igStyleColorsDark(struct ImGuiStyle *dst)
{ {
return ImGui::IsItemHoveredRect(); ImGui::StyleColorsDark(dst);
}
CIMGUI_API void igStyleColorsLight(struct ImGuiStyle *dst)
{
ImGui::StyleColorsLight(dst);
}
CIMGUI_API void igSetItemDefaultFocus()
{
ImGui::SetItemDefaultFocus();
}
CIMGUI_API void igSetKeyboardFocusHere(int offset)
{
ImGui::SetKeyboardFocusHere(offset);
}
// Utilities
CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags)
{
return ImGui::IsItemHovered(flags);
} }
CIMGUI_API bool igIsItemActive() CIMGUI_API bool igIsItemActive()
@@ -1323,29 +1426,24 @@ CIMGUI_API void igSetItemAllowOverlap()
ImGui::SetItemAllowOverlap(); ImGui::SetItemAllowOverlap();
} }
CIMGUI_API bool igIsWindowHovered() CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags)
{
return ImGui::IsWindowFocused(flags);
}
CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags)
{ {
return ImGui::IsWindowHovered(); return ImGui::IsWindowHovered();
} }
CIMGUI_API bool igIsWindowFocused() CIMGUI_API bool igIsAnyWindowFocused()
{ {
return ImGui::IsWindowFocused(); return ImGui::IsAnyWindowFocused();
} }
CIMGUI_API bool igIsRootWindowFocused() CIMGUI_API bool igIsAnyWindowHovered()
{ {
return ImGui::IsRootWindowFocused(); return ImGui::IsAnyWindowHovered();
}
CIMGUI_API bool igIsRootWindowOrAnyChildFocused()
{
return ImGui::IsRootWindowOrAnyChildFocused();
}
CIMGUI_API bool igIsRootWindowOrAnyChildHovered()
{
return ImGui::IsRootWindowOrAnyChildHovered();
} }
CIMGUI_API bool igIsRectVisible(CONST ImVec2 item_size) CIMGUI_API bool igIsRectVisible(CONST ImVec2 item_size)
@@ -1353,24 +1451,34 @@ CIMGUI_API bool igIsRectVisible(CONST ImVec2 item_size)
return ImGui::IsRectVisible(item_size); return ImGui::IsRectVisible(item_size);
} }
CIMGUI_API int igGetKeyIndex(ImGuiKey key) CIMGUI_API bool igIsRectVisible2(CONST struct ImVec2 *rect_min, CONST struct ImVec2 *rect_max)
{ {
return ImGui::GetKeyIndex(key); return ImGui::IsRectVisible(*rect_min, *rect_max);
} }
CIMGUI_API bool igIsKeyDown(int key_index) CIMGUI_API int igGetKeyIndex(ImGuiKey imgui_key)
{ {
return ImGui::IsKeyDown(key_index); return ImGui::GetKeyIndex(imgui_key);
} }
CIMGUI_API bool igIsKeyPressed(int key_index, bool repeat) CIMGUI_API bool igIsKeyDown(int user_key_index)
{ {
return ImGui::IsKeyPressed(key_index,repeat); return ImGui::IsKeyDown(user_key_index);
} }
CIMGUI_API bool igIsKeyReleased(int key_index) CIMGUI_API bool igIsKeyPressed(int user_key_index, bool repeat)
{ {
return ImGui::IsKeyReleased(key_index); return ImGui::IsKeyPressed(user_key_index, repeat);
}
CIMGUI_API bool igIsKeyReleased(int user_key_index)
{
return ImGui::IsKeyReleased(user_key_index);
}
CIMGUI_API int igGetKeyPressedAmount(int key_index, float repeat_delay, float rate)
{
return ImGui::GetKeyPressedAmount(key_index, repeat_delay, rate);
} }
CIMGUI_API bool igIsMouseDown(int button) CIMGUI_API bool igIsMouseDown(int button)
@@ -1393,14 +1501,9 @@ CIMGUI_API bool igIsMouseReleased(int button)
return ImGui::IsMouseReleased(button); return ImGui::IsMouseReleased(button);
} }
CIMGUI_API bool igIsMouseHoveringWindow() CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold)
{ {
return ImGui::IsMouseHoveringWindow(); return ImGui::IsMouseDragging(button, lock_threshold);
}
CIMGUI_API bool igIsMouseHoveringAnyWindow()
{
return ImGui::IsMouseHoveringAnyWindow();
} }
CIMGUI_API bool igIsMouseHoveringRect(CONST ImVec2 r_min, CONST ImVec2 r_max, bool clip) CIMGUI_API bool igIsMouseHoveringRect(CONST ImVec2 r_min, CONST ImVec2 r_max, bool clip)
@@ -1408,13 +1511,9 @@ CIMGUI_API bool igIsMouseHoveringRect(CONST ImVec2 r_min, CONST ImVec2 r_max, bo
return ImGui::IsMouseHoveringRect(r_min, r_max, clip); return ImGui::IsMouseHoveringRect(r_min, r_max, clip);
} }
CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold) CIMGUI_API bool igIsMousePosValid(CONST struct ImVec2 *mouse_pos)
{ {
return ImGui::IsMouseDragging(button,lock_threshold); return ImGui::IsMousePosValid(mouse_pos);
}
CIMGUI_API bool igIsPosHoveringAnyWindow(CONST ImVec2 pos)
{
return ImGui::IsPosHoveringAnyWindow(pos);
} }
CIMGUI_API void igGetMousePos(ImVec2 *pOut) CIMGUI_API void igGetMousePos(ImVec2 *pOut)
@@ -1487,9 +1586,19 @@ CIMGUI_API int igGetFrameCount()
return ImGui::GetFrameCount(); return ImGui::GetFrameCount();
} }
CIMGUI_API CONST char* igGetStyleColName(ImGuiCol idx) CIMGUI_API struct ImDrawList *igGetOverlayDrawList()
{ {
return ImGui::GetStyleColName(idx); return ImGui::GetOverlayDrawList();
}
CIMGUI_API struct ImDrawListSharedData *igGetDrawListSharedData()
{
return ImGui::GetDrawListSharedData();
}
CIMGUI_API CONST char *igGetStyleColorName(ImGuiCol idx)
{
return ImGui::GetStyleColorName(idx);
} }
CIMGUI_API void igCalcItemRectClosestPoint(ImVec2 *pOut, CONST ImVec2 pos, bool on_edge, float outward) CIMGUI_API void igCalcItemRectClosestPoint(ImVec2 *pOut, CONST ImVec2 pos, bool on_edge, float outward)
@@ -1576,3 +1685,208 @@ CIMGUI_API void ImGuiIO_ClearInputCharacters()
{ {
return ImGui::GetIO().ClearInputCharacters(); return ImGui::GetIO().ClearInputCharacters();
} }
CIMGUI_API struct ImGuiTextFilter *ImGuiTextFilter_Create(const char *default_filter)
{
ImGuiTextFilter *filter = (ImGuiTextFilter *)ImGui::MemAlloc(sizeof(ImGuiTextFilter));
IM_PLACEMENT_NEW(filter)
ImGuiTextFilter(default_filter);
return filter;
}
CIMGUI_API void ImGuiTextFilter_Destroy(struct ImGuiTextFilter *filter)
{
filter->~ImGuiTextFilter();
ImGui::MemFree(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(const struct ImGuiTextFilter *filter, const char *text, const char *text_end)
{
return filter->PassFilter(text, text_end);
}
CIMGUI_API bool ImGuiTextFilter_IsActive(const struct ImGuiTextFilter *filter)
{
return filter->IsActive();
}
CIMGUI_API void ImGuiTextFilter_Build(struct ImGuiTextFilter *filter)
{
filter->Build();
}
CIMGUI_API const char *ImGuiTextFilter_GetInputBuf(struct ImGuiTextFilter *filter)
{
return filter->InputBuf;
}
CIMGUI_API struct ImGuiTextBuffer *ImGuiTextBuffer_Create()
{
ImGuiTextBuffer *buffer = (ImGuiTextBuffer *)ImGui::MemAlloc(sizeof(ImGuiTextBuffer));
IM_PLACEMENT_NEW(buffer)
ImGuiTextBuffer();
return buffer;
}
CIMGUI_API void ImGuiTextBuffer_Destroy(struct ImGuiTextBuffer *buffer)
{
buffer->~ImGuiTextBuffer();
ImGui::MemFree(buffer);
}
CIMGUI_API char ImGuiTextBuffer_index(struct ImGuiTextBuffer *buffer, int i)
{
return (*buffer)[i];
}
CIMGUI_API const char *ImGuiTextBuffer_begin(const struct ImGuiTextBuffer *buffer)
{
return buffer->begin();
}
CIMGUI_API const char *ImGuiTextBuffer_end(const struct ImGuiTextBuffer *buffer)
{
return buffer->end();
}
CIMGUI_API int ImGuiTextBuffer_size(const struct ImGuiTextBuffer *buffer)
{
return buffer->size();
}
CIMGUI_API bool ImGuiTextBuffer_empty(struct ImGuiTextBuffer *buffer)
{
return buffer->empty();
}
CIMGUI_API void ImGuiTextBuffer_clear(struct ImGuiTextBuffer *buffer)
{
buffer->clear();
}
CIMGUI_API const char *ImGuiTextBuffer_c_str(const struct ImGuiTextBuffer *buffer)
{
return buffer->c_str();
}
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
buffer->appendfv(fmt, args);
va_end(args);
}
CIMGUI_API void ImGuiTextBuffer_appendfv(struct ImGuiTextBuffer *buffer, const char *fmt, va_list args)
{
buffer->appendfv(fmt, args);
}
CIMGUI_API struct ImGuiStorage *ImGuiStorage_Create()
{
ImGuiStorage *storage = (ImGuiStorage *)ImGui::MemAlloc(sizeof(ImGuiStorage));
IM_PLACEMENT_NEW(storage)
ImGuiStorage();
return storage;
}
CIMGUI_API void ImGuiStorage_Destroy(struct ImGuiStorage *storage)
{
storage->~ImGuiStorage();
ImGui::MemFree(storage);
}
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);
}
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();
}

File diff suppressed because it is too large Load Diff

View File

@@ -8,13 +8,19 @@ EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.ActiveCfg = Debug|Win32 {EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.ActiveCfg = Debug|Win32
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.Build.0 = Debug|Win32 {EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.Build.0 = Debug|Win32
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|x64.ActiveCfg = Debug|x64
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|x64.Build.0 = Debug|x64
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.ActiveCfg = Release|Win32 {EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.ActiveCfg = Release|Win32
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.Build.0 = Release|Win32 {EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.Build.0 = Release|Win32
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|x64.ActiveCfg = Release|x64
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@@ -5,10 +5,18 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{EDE48926-0595-4488-B1A0-32CA71397271}</ProjectGuid> <ProjectGuid>{EDE48926-0595-4488-B1A0-32CA71397271}</ProjectGuid>
@@ -22,6 +30,12 @@
<PlatformToolset>v140</PlatformToolset> <PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType> <ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
@@ -29,22 +43,41 @@
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<PrecompiledHeader> <PrecompiledHeader>
@@ -58,6 +91,19 @@
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
@@ -67,6 +113,27 @@
<FunctionLevelLinking>true</FunctionLevelLinking> <FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions> <IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WholeProgramOptimization>true</WholeProgramOptimization>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WholeProgramOptimization>true</WholeProgramOptimization>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
@@ -82,6 +149,7 @@
<ClCompile Include="cimgui.cpp" /> <ClCompile Include="cimgui.cpp" />
<ClCompile Include="drawList.cpp" /> <ClCompile Include="drawList.cpp" />
<ClCompile Include="fontAtlas.cpp" /> <ClCompile Include="fontAtlas.cpp" />
<ClCompile Include="listClipper.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\imgui\imgui_internal.h" /> <ClInclude Include="..\imgui\imgui_internal.h" />

View File

@@ -33,6 +33,9 @@
<ClCompile Include="..\imgui\imgui_demo.cpp"> <ClCompile Include="..\imgui\imgui_demo.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="listClipper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="cimgui.h"> <ClInclude Include="cimgui.h">

View File

@@ -2,6 +2,16 @@
#include "../imgui/imgui.h" #include "../imgui/imgui.h"
#include "cimgui.h" #include "cimgui.h"
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData *drawData)
{
return drawData->DeIndexAllBuffers();
}
CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData *drawData, const struct ImVec2 sc)
{
return drawData->ScaleClipRects(sc);
}
CIMGUI_API int ImDrawList_GetVertexBufferSize(ImDrawList *list) CIMGUI_API int ImDrawList_GetVertexBufferSize(ImDrawList *list)
{ {
return list->VtxBuffer.size(); return list->VtxBuffer.size();
@@ -32,11 +42,6 @@ CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n)
return &list->CmdBuffer[n]; return &list->CmdBuffer[n];
} }
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData)
{
return drawData->DeIndexAllBuffers();
}
CIMGUI_API void ImDrawList_Clear(ImDrawList *list) CIMGUI_API void ImDrawList_Clear(ImDrawList *list)
{ {
return list->Clear(); return list->Clear();
@@ -72,19 +77,29 @@ CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* list)
return list->PopTextureID(); return list->PopTextureID();
} }
CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2 *pOut, ImDrawList *list)
{
*pOut = list->GetClipRectMin();
}
CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2 *pOut, ImDrawList *list)
{
*pOut = list->GetClipRectMax();
}
CIMGUI_API void ImDrawList_AddLine(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float thickness) 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); 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, float thickness) CIMGUI_API void ImDrawList_AddRect(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags, float thickness)
{ {
return list->AddRect(a, b, col, rounding, rounding_corners, thickness); return list->AddRect(a, b, col, rounding, rounding_corners_flags, thickness);
} }
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_AddRectFilled(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags)
{ {
return list->AddRectFilled(a, b, col, rounding, rounding_corners); return list->AddRectFilled(a, b, col, rounding, rounding_corners_flags);
} }
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_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)
@@ -92,12 +107,12 @@ CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* list, CONST struc
return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left); return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left);
} }
CIMGUI_API void ImDrawLust_AddQuad(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col, float thickness) CIMGUI_API void ImDrawList_AddQuad(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col, float thickness)
{ {
return list->AddQuad(a, b, c, d, col, thickness); return list->AddQuad(a, b, c, d, col, thickness);
} }
CIMGUI_API void ImDrawLust_AddQuadFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col) CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col)
{ {
return list->AddQuadFilled(a, b, c, d, col); return list->AddQuadFilled(a, b, c, d, col);
} }
@@ -132,19 +147,29 @@ CIMGUI_API void ImDrawList_AddTextExt(ImDrawList* list, CONST ImFont* font, floa
return list->AddText(font, font_size, pos, col, text_begin, text_end, wrap_width, 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) CIMGUI_API void ImDrawList_AddImage(ImDrawList *list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col)
{ {
return list->AddImage(user_texture_id, a, b, uv0, uv1, col); return list->AddImage(user_texture_id, a, b, uv_a, uv_b, 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_AddImageQuad(struct ImDrawList *list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST ImVec2 b, CONST ImVec2 c, CONST ImVec2 d, CONST ImVec2 uv_a, CONST ImVec2 uv_b, CONST ImVec2 uv_c, CONST ImVec2 uv_d, ImU32 col)
{ {
return list->AddPolyline(points, num_points, col, closed, thickness, anti_aliased); return list->AddImageQuad(user_texture_id, a, b, c, d, uv_a, uv_b, uv_c, uv_d, col);
} }
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool anti_aliased) CIMGUI_API void ImDrawList_AddImageRounded(struct ImDrawList *list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col, float rounding, int rounding_corners)
{ {
return list->AddConvexPolyFilled(points, num_points, col, anti_aliased); list->AddImageRounded(user_texture_id, a, b, uv_a, uv_b, col, rounding, rounding_corners);
}
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList *list, CONST ImVec2 *points, CONST int num_points, ImU32 col, bool closed, float thickness)
{
return list->AddPolyline(points, num_points, col, closed, thickness);
}
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList *list, CONST ImVec2 *points, CONST int num_points, ImU32 col)
{
return list->AddConvexPolyFilled(points, num_points, col);
} }
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) 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)
@@ -167,9 +192,9 @@ CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* list, CONST stru
return list->PathLineToMergeDuplicate(pos); return list->PathLineToMergeDuplicate(pos);
} }
CIMGUI_API void ImDrawList_PathFill(ImDrawList* list, ImU32 col) CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList *list, ImU32 col)
{ {
return list->PathFill(col); return list->PathFillConvex(col);
} }
CIMGUI_API void ImDrawList_PathStroke(ImDrawList *list, ImU32 col, bool closed, float thickness) CIMGUI_API void ImDrawList_PathStroke(ImDrawList *list, ImU32 col, bool closed, float thickness)
@@ -192,9 +217,9 @@ CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* list, CONST struct ImVe
return list->PathBezierCurveTo(p1, p2, p3, 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) CIMGUI_API void ImDrawList_PathRect(ImDrawList *list, CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max, float rounding, int rounding_corners_flags)
{ {
return list->PathRect(rect_min, rect_max, rounding, rounding_corners); return list->PathRect(rect_min, rect_max, rounding, rounding_corners_flags);
} }
CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList *list, int channels_count) CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList *list, int channels_count)

View File

@@ -17,9 +17,9 @@ CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* atlas, unsigned char
atlas->GetTexDataAsAlpha8(out_pixels, out_width, out_height, out_bytes_per_pixel); atlas->GetTexDataAsAlpha8(out_pixels, out_width, out_height, out_bytes_per_pixel);
} }
CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* atlas, void* tex) CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas *atlas, ImTextureID id)
{ {
atlas->TexID = tex; atlas->TexID = id;
} }
CIMGUI_API ImFont *ImFontAtlas_AddFont(ImFontAtlas *atlas, CONST ImFontConfig *font_cfg) CIMGUI_API ImFont *ImFontAtlas_AddFont(ImFontAtlas *atlas, CONST ImFontConfig *font_cfg)
@@ -37,19 +37,19 @@ CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas,CONST char*
return atlas->AddFontFromFileTTF(filename, size_pixels, font_cfg, glyph_ranges); return atlas->AddFontFromFileTTF(filename, size_pixels, font_cfg, glyph_ranges);
} }
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* ttf_data, int ttf_size, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges) CIMGUI_API ImFont *ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas *atlas, void *font_data, int font_size, float size_pixels, CONST ImFontConfig *font_cfg, CONST ImWchar *glyph_ranges)
{ {
return atlas->AddFontFromMemoryTTF(ttf_data, ttf_size, size_pixels, font_cfg, glyph_ranges); return atlas->AddFontFromMemoryTTF(font_data, font_size, size_pixels, font_cfg, glyph_ranges);
} }
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, CONST void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges) CIMGUI_API ImFont *ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas *atlas, CONST void *compressed_font_data, int compressed_font_size, float size_pixels, CONST ImFontConfig *font_cfg, CONST ImWchar *glyph_ranges)
{ {
return atlas->AddFontFromMemoryCompressedTTF(compressed_ttf_data, compressed_ttf_size, size_pixels, font_cfg, glyph_ranges); return atlas->AddFontFromMemoryCompressedTTF(compressed_font_data, compressed_font_size, size_pixels, font_cfg, glyph_ranges);
} }
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* atlas, CONST char* compressed_ttf_data_base85, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges) CIMGUI_API ImFont *ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas *atlas, CONST char *compressed_font_data_base85, float size_pixels, CONST ImFontConfig *font_cfg, CONST ImWchar *glyph_ranges)
{ {
return atlas->AddFontFromMemoryCompressedBase85TTF(compressed_ttf_data_base85, size_pixels, font_cfg, glyph_ranges); return atlas->AddFontFromMemoryCompressedBase85TTF(compressed_font_data_base85, size_pixels, font_cfg, glyph_ranges);
} }
CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas *atlas) CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas *atlas)
@@ -57,7 +57,272 @@ CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas)
return atlas->ClearTexData(); return atlas->ClearTexData();
} }
CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas *atlas)
{
return atlas->ClearInputData();
}
CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas *atlas)
{
return atlas->ClearFonts();
}
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas *atlas) CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas *atlas)
{ {
return atlas->Clear(); 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();
}
CIMGUI_API CONST ImWchar *ImFontAtlas_GetGlyphRangesThai(struct ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesThai();
}
CIMGUI_API ImTextureID ImFontAtlas_GetTexID(struct ImFontAtlas *atlas)
{
return atlas->TexID;
}
CIMGUI_API unsigned char *ImFontAtlas_GetTexPixelsAlpha8(struct ImFontAtlas *atlas)
{
return atlas->TexPixelsAlpha8;
}
CIMGUI_API unsigned int *ImFontAtlas_GetTexPixelsRGBA32(struct ImFontAtlas *atlas)
{
return atlas->TexPixelsRGBA32;
}
CIMGUI_API int ImFontAtlas_GetTexWidth(struct ImFontAtlas *atlas)
{
return atlas->TexWidth;
}
CIMGUI_API int ImFontAtlas_GetTexHeight(struct ImFontAtlas *atlas)
{
return atlas->TexHeight;
}
CIMGUI_API int ImFontAtlas_GetTexDesiredWidth(struct ImFontAtlas *atlas)
{
return atlas->TexDesiredWidth;
}
CIMGUI_API void ImFontAtlas_SetTexDesiredWidth(struct ImFontAtlas *atlas, int TexDesiredWidth_)
{
atlas->TexDesiredWidth = TexDesiredWidth_;
}
CIMGUI_API int ImFontAtlas_GetTexGlyphPadding(struct ImFontAtlas *atlas)
{
return atlas->TexGlyphPadding;
}
CIMGUI_API void ImFontAtlas_SetTexGlyphPadding(struct ImFontAtlas *atlas, int TexGlyphPadding_)
{
atlas->TexGlyphPadding = TexGlyphPadding_;
}
CIMGUI_API void ImFontAtlas_GetTexUvWhitePixel(struct ImFontAtlas *atlas, ImVec2 *pOut)
{
*pOut = atlas->TexUvWhitePixel;
}
// ImFontAtlas::Fonts;
CIMGUI_API int ImFontAtlas_Fonts_size(struct ImFontAtlas *atlas)
{
return atlas->Fonts.size();
}
CIMGUI_API ImFont *ImFontAtlas_Fonts_index(struct ImFontAtlas *atlas, int index)
{
return atlas->Fonts[index];
}
// ImFont
CIMGUI_API float ImFont_GetFontSize(CONST struct ImFont *font)
{
return font->FontSize;
}
CIMGUI_API void ImFont_SetFontSize(struct ImFont *font, float FontSize_)
{
font->FontSize = FontSize_;
}
CIMGUI_API float ImFont_GetScale(CONST struct ImFont *font)
{
return font->Scale;
}
CIMGUI_API void ImFont_SetScale(struct ImFont *font, float Scale_)
{
font->Scale = Scale_;
}
CIMGUI_API void ImFont_GetDisplayOffset(CONST struct ImFont *font, ImVec2 *pOut)
{
*pOut = font->DisplayOffset;
}
CIMGUI_API CONST struct IMFONTGLYPH *ImFont_GetFallbackGlyph(CONST struct ImFont *font)
{
return font->FallbackGlyph;
}
CIMGUI_API void ImFont_SetFallbackGlyph(struct ImFont *font, CONST struct IMFONTGLYPH *FallbackGlyph_)
{
font->FallbackGlyph = FallbackGlyph_;
}
CIMGUI_API float ImFont_GetFallbackAdvanceX(CONST struct ImFont *font)
{
return font->FallbackAdvanceX;
}
CIMGUI_API ImWchar ImFont_GetFallbackChar(CONST struct ImFont *font)
{
return font->FallbackChar;
}
CIMGUI_API short ImFont_GetConfigDataCount(CONST struct ImFont *font)
{
return font->ConfigDataCount;
}
CIMGUI_API struct ImFontConfig *ImFont_GetConfigData(struct ImFont *font)
{
return font->ConfigData;
}
CIMGUI_API struct ImFontAtlas *ImFont_GetContainerAtlas(struct ImFont *font)
{
return font->ContainerAtlas;
}
CIMGUI_API float ImFont_GetAscent(CONST struct ImFont *font)
{
return font->Ascent;
}
CIMGUI_API float ImFont_GetDescent(CONST struct ImFont *font)
{
return font->Descent;
}
CIMGUI_API int ImFont_GetMetricsTotalSurface(CONST struct ImFont *font)
{
return font->MetricsTotalSurface;
}
CIMGUI_API void ImFont_ClearOutputData(struct ImFont *font)
{
font->ClearOutputData();
}
CIMGUI_API void ImFont_BuildLookupTable(struct ImFont *font)
{
font->BuildLookupTable();
}
CIMGUI_API CONST struct IMFONTGLYPH *ImFont_FindGlyph(CONST struct ImFont *font, ImWchar c)
{
return font->FindGlyph(c);
}
CIMGUI_API void ImFont_SetFallbackChar(struct ImFont *font, ImWchar c)
{
font->SetFallbackChar(c);
}
CIMGUI_API float ImFont_GetCharAdvance(CONST struct ImFont *font, ImWchar c)
{
return font->GetCharAdvance(c);
}
CIMGUI_API bool ImFont_IsLoaded(CONST struct ImFont *font)
{
return font->IsLoaded();
}
CIMGUI_API CONST char *ImFont_GetDebugName(CONST struct ImFont *font)
{
return font->GetDebugName();
}
CIMGUI_API void ImFont_CalcTextSizeA(CONST struct ImFont *font, ImVec2 *pOut, float size, float max_width, float wrap_width, CONST char *text_begin, CONST char *text_end, CONST char **remaining)
{
*pOut = font->CalcTextSizeA(size, max_width, wrap_width, text_begin, text_end, remaining);
}
CIMGUI_API CONST char *ImFont_CalcWordWrapPositionA(CONST struct ImFont *font, float scale, CONST char *text, CONST char *text_end, float wrap_width)
{
return font->CalcWordWrapPositionA(scale, text, text_end, wrap_width);
}
CIMGUI_API void ImFont_RenderChar(CONST struct ImFont *font, ImDrawList *draw_list, float size, ImVec2 pos, ImU32 col, unsigned short c)
{
return font->RenderChar(draw_list, size, pos, col, c);
}
CIMGUI_API void ImFont_RenderText(CONST struct ImFont *font, ImDrawList *draw_list, float size, ImVec2 pos, ImU32 col, CONST ImVec4 *clip_rect, CONST char *text_begin, CONST char *text_end, float wrap_width, bool cpu_fine_clip)
{
return font->RenderText(draw_list, size, pos, col, *clip_rect, text_begin, text_end, wrap_width, cpu_fine_clip);
}
// ImFont::Glyph
CIMGUI_API int ImFont_Glyphs_size(CONST struct ImFont *font)
{
return font->Glyphs.size();
}
CIMGUI_API struct IMFONTGLYPH *ImFont_Glyphs_index(struct ImFont *font, int index)
{
return &font->Glyphs[index];
}
// ImFont::IndexXAdvance
CIMGUI_API int ImFont_IndexXAdvance_size(CONST struct ImFont *font)
{
return font->IndexAdvanceX.size();
}
CIMGUI_API float ImFont_IndexXAdvance_index(CONST struct ImFont *font, int index)
{
return font->IndexAdvanceX[index];
}
// ImFont::IndexLookup
CIMGUI_API int ImFont_IndexLookup_size(CONST struct ImFont *font)
{
return font->IndexLookup.size();
}
CIMGUI_API unsigned short ImFont_IndexLookup_index(CONST struct ImFont *font, int index)
{
return font->IndexLookup[index];
}

27
cimgui/listClipper.cpp Normal file
View File

@@ -0,0 +1,27 @@
#include "../imgui/imgui.h"
#include "cimgui.h"
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* clipper, int count, float items_height)
{
clipper->Begin(count, items_height);
}
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* clipper)
{
clipper->End();
}
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* clipper)
{
return clipper->Step();
}
CIMGUI_API int ImGuiListClipper_GetDisplayStart(ImGuiListClipper* clipper)
{
return clipper->DisplayStart;
}
CIMGUI_API int ImGuiListClipper_GetDisplayEnd(ImGuiListClipper* clipper)
{
return clipper->DisplayEnd;
}

2
imgui

Submodule imgui updated: adb85d800d...e916310b2e

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB