mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-15 14:08:30 +01:00
Compare commits
47 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1df319b232 | ||
![]() |
516547dcd9 | ||
![]() |
dbbac62a84 | ||
![]() |
389c1f1ad1 | ||
![]() |
76001ce58c | ||
![]() |
38c89cf203 | ||
![]() |
c888da1c96 | ||
![]() |
2195a6f0dd | ||
![]() |
13ce2e0abc | ||
![]() |
64d2efaf70 | ||
![]() |
169eab1128 | ||
![]() |
51002084f8 | ||
![]() |
c7fcdace6c | ||
![]() |
98f480cc28 | ||
![]() |
09a51f162e | ||
![]() |
366754fc57 | ||
![]() |
fb044c4b6a | ||
![]() |
ffc80c11c7 | ||
![]() |
8591a0be77 | ||
![]() |
9274ef995f | ||
![]() |
3a215a0268 | ||
![]() |
b99ed85fb9 | ||
![]() |
b647142cf5 | ||
![]() |
00a9d14f34 | ||
![]() |
f4c0403f12 | ||
![]() |
1a57048f62 | ||
![]() |
9a7e7a2d28 | ||
![]() |
106686a212 | ||
![]() |
4d7868529d | ||
![]() |
d358ce52f2 | ||
![]() |
a5b4dc8ba9 | ||
![]() |
2de7e50511 | ||
![]() |
8642306672 | ||
![]() |
26892981b9 | ||
![]() |
af11bb9aa2 | ||
![]() |
b936bb3369 | ||
![]() |
713d9f587c | ||
![]() |
59218e28d0 | ||
![]() |
32b310e31f | ||
![]() |
5fe328beae | ||
![]() |
5d061e7db7 | ||
![]() |
d02ce16125 | ||
![]() |
7d8b0cbf36 | ||
![]() |
fb80cc0cfe | ||
![]() |
4db3562350 | ||
![]() |
56b5017b50 | ||
![]() |
1cc171ce4c |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -33,3 +33,6 @@ cimgui/cimgui.v12.suo
|
|||||||
cimgui/Release/
|
cimgui/Release/
|
||||||
.idea
|
.idea
|
||||||
CMakeLists.txt
|
CMakeLists.txt
|
||||||
|
cimgui/.vs/
|
||||||
|
cimgui/cimgui.vcxproj.user
|
||||||
|
cimgui/x64/
|
||||||
|
16
README.md
16
README.md
@@ -1,19 +1,25 @@
|
|||||||
# cimgui [](https://travis-ci.org/Extrawurst/cimgui)
|
# cimgui [](https://travis-ci.org/Extrawurst/cimgui)
|
||||||
|
|
||||||

|

|
||||||

|
|
||||||
|
|
||||||
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.42 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.42)
|
* currently this wrapper is based on version [1.50 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.50)
|
||||||
* 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
|
||||||
|
|
||||||
* clone
|
* clone
|
||||||
* make using makefile on linux/osx (linux makefile not tested)
|
* 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)
|
4
cimgui/.vscode/settings.json
vendored
Normal file
4
cimgui/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
// Place your settings in this file to overwrite default and user settings.
|
||||||
|
{
|
||||||
|
"editor.formatOnSave": false,
|
||||||
|
}
|
@@ -3,10 +3,13 @@
|
|||||||
# Compatible with Ubuntu 14.04.1 and Mac OS X
|
# Compatible with Ubuntu 14.04.1 and Mac OS X
|
||||||
|
|
||||||
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_demo.o
|
||||||
|
|
||||||
UNAME_S := $(shell uname -s)
|
UNAME_S := $(shell uname -s)
|
||||||
|
|
||||||
@@ -30,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 $@ $<
|
||||||
|
|
||||||
@@ -40,4 +54,4 @@ imgui_example:$(OBJS)
|
|||||||
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
|
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm $(OBJS)
|
rm $(OBJS)
|
||||||
|
1007
cimgui/cimgui.cpp
1007
cimgui/cimgui.cpp
File diff suppressed because it is too large
Load Diff
759
cimgui/cimgui.h
759
cimgui/cimgui.h
@@ -2,8 +2,14 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#if defined _WIN32 || defined __CYGWIN__
|
#if defined _WIN32 || defined __CYGWIN__
|
||||||
|
#ifdef CIMGUI_NO_EXPORT
|
||||||
|
#define API
|
||||||
|
#else
|
||||||
#define API __declspec(dllexport)
|
#define API __declspec(dllexport)
|
||||||
|
#endif
|
||||||
|
#ifdef __GNUC__
|
||||||
#define snprintf sprintf_s
|
#define snprintf sprintf_s
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
#define API
|
#define API
|
||||||
#endif
|
#endif
|
||||||
@@ -19,102 +25,505 @@
|
|||||||
#define CIMGUI_API EXTERN API
|
#define CIMGUI_API EXTERN API
|
||||||
#define CONST const
|
#define CONST const
|
||||||
|
|
||||||
typedef int ImGuiWindowFlags;
|
struct ImGuiIO;
|
||||||
typedef int ImGuiSetCond;
|
struct ImGuiStyle;
|
||||||
typedef int ImGuiColorEditMode;
|
struct ImDrawData;
|
||||||
|
struct ImVec2;
|
||||||
|
struct ImVec4;
|
||||||
|
struct ImGuiTextEditCallbackData;
|
||||||
|
struct ImGuiSizeConstraintCallbackData;
|
||||||
|
struct ImDrawList;
|
||||||
|
struct ImGuiStorage;
|
||||||
|
struct ImFont;
|
||||||
|
struct ImFontConfig;
|
||||||
|
struct ImFontAtlas;
|
||||||
|
struct ImDrawCmd;
|
||||||
|
struct ImGuiListClipper;
|
||||||
|
struct ImGuiTextFilter;
|
||||||
|
|
||||||
CIMGUI_API ImGuiIO* igGetIO();
|
typedef unsigned short ImDrawIdx;
|
||||||
CIMGUI_API ImGuiStyle* igGetStyle();
|
typedef unsigned int ImU32;
|
||||||
CIMGUI_API void igNewFrame();
|
typedef unsigned short ImWchar;
|
||||||
CIMGUI_API void igRender();
|
typedef void* ImTextureID;
|
||||||
CIMGUI_API void igShutdown();
|
typedef ImU32 ImGuiID;
|
||||||
CIMGUI_API void igShowUserGuide();
|
typedef int ImGuiCol;
|
||||||
CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref);
|
typedef int ImGuiStyleVar;
|
||||||
CIMGUI_API void igShowTestWindow(bool* opened);
|
typedef int ImGuiKey;
|
||||||
CIMGUI_API void igShowMetricsWindow(bool* opened);
|
typedef int ImGuiColorEditFlags;
|
||||||
|
typedef int ImGuiMouseCursor;
|
||||||
|
typedef int ImGuiWindowFlags;
|
||||||
|
typedef int ImGuiCond;
|
||||||
|
typedef int ImGuiColumnsFlags;
|
||||||
|
typedef int ImGuiInputTextFlags;
|
||||||
|
typedef int ImGuiSelectableFlags;
|
||||||
|
typedef int ImGuiTreeNodeFlags;
|
||||||
|
typedef int (*ImGuiTextEditCallback)(struct ImGuiTextEditCallbackData *data);
|
||||||
|
typedef void (*ImGuiSizeConstraintCallback)(struct ImGuiSizeConstraintCallbackData* data);
|
||||||
|
typedef void (*ImDrawCallback)(CONST struct ImDrawList* parent_list, CONST struct ImDrawCmd* cmd);
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
typedef unsigned __int64 ImU64;
|
||||||
|
#else
|
||||||
|
typedef unsigned long long ImU64;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||||
|
struct ImVec2 {
|
||||||
|
float x, y;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImVec4 {
|
||||||
|
float x, y, z, w;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiWindowFlags_NoTitleBar = 1 << 0,
|
||||||
|
ImGuiWindowFlags_NoResize = 1 << 1,
|
||||||
|
ImGuiWindowFlags_NoMove = 1 << 2,
|
||||||
|
ImGuiWindowFlags_NoScrollbar = 1 << 3,
|
||||||
|
ImGuiWindowFlags_NoScrollWithMouse = 1 << 4,
|
||||||
|
ImGuiWindowFlags_NoCollapse = 1 << 5,
|
||||||
|
ImGuiWindowFlags_AlwaysAutoResize = 1 << 6,
|
||||||
|
ImGuiWindowFlags_ShowBorders = 1 << 7,
|
||||||
|
ImGuiWindowFlags_NoSavedSettings = 1 << 8,
|
||||||
|
ImGuiWindowFlags_NoInputs = 1 << 9,
|
||||||
|
ImGuiWindowFlags_MenuBar = 1 << 10,
|
||||||
|
ImGuiWindowFlags_HorizontalScrollbar = 1 << 11,
|
||||||
|
ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12,
|
||||||
|
ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13,
|
||||||
|
ImGuiWindowFlags_AlwaysVerticalScrollbar = 1 << 14,
|
||||||
|
ImGuiWindowFlags_AlwaysHorizontalScrollbar = 1 << 15,
|
||||||
|
ImGuiWindowFlags_AlwaysUseWindowPadding = 1 << 16
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiInputTextFlags_CharsDecimal = 1 << 0,
|
||||||
|
ImGuiInputTextFlags_CharsHexadecimal = 1 << 1,
|
||||||
|
ImGuiInputTextFlags_CharsUppercase = 1 << 2,
|
||||||
|
ImGuiInputTextFlags_CharsNoBlank = 1 << 3,
|
||||||
|
ImGuiInputTextFlags_AutoSelectAll = 1 << 4,
|
||||||
|
ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5,
|
||||||
|
ImGuiInputTextFlags_CallbackCompletion = 1 << 6,
|
||||||
|
ImGuiInputTextFlags_CallbackHistory = 1 << 7,
|
||||||
|
ImGuiInputTextFlags_CallbackAlways = 1 << 8,
|
||||||
|
ImGuiInputTextFlags_CallbackCharFilter = 1 << 9,
|
||||||
|
ImGuiInputTextFlags_AllowTabInput = 1 << 10,
|
||||||
|
ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11,
|
||||||
|
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12,
|
||||||
|
ImGuiInputTextFlags_AlwaysInsertMode = 1 << 13,
|
||||||
|
ImGuiInputTextFlags_ReadOnly = 1 << 14,
|
||||||
|
ImGuiInputTextFlags_Password = 1 << 15
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiTreeNodeFlags_Selected = 1 << 0,
|
||||||
|
ImGuiTreeNodeFlags_Framed = 1 << 1,
|
||||||
|
ImGuiTreeNodeFlags_AllowOverlapMode = 1 << 2,
|
||||||
|
ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3,
|
||||||
|
ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4,
|
||||||
|
ImGuiTreeNodeFlags_DefaultOpen = 1 << 5,
|
||||||
|
ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6,
|
||||||
|
ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7,
|
||||||
|
ImGuiTreeNodeFlags_Leaf = 1 << 8,
|
||||||
|
ImGuiTreeNodeFlags_Bullet = 1 << 9,
|
||||||
|
ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoAutoOpenOnLog
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiSelectableFlags_DontClosePopups = 1 << 0,
|
||||||
|
ImGuiSelectableFlags_SpanAllColumns = 1 << 1,
|
||||||
|
ImGuiSelectableFlags_AllowDoubleClick = 1 << 2
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiKey_Tab,
|
||||||
|
ImGuiKey_LeftArrow,
|
||||||
|
ImGuiKey_RightArrow,
|
||||||
|
ImGuiKey_UpArrow,
|
||||||
|
ImGuiKey_DownArrow,
|
||||||
|
ImGuiKey_PageUp,
|
||||||
|
ImGuiKey_PageDown,
|
||||||
|
ImGuiKey_Home,
|
||||||
|
ImGuiKey_End,
|
||||||
|
ImGuiKey_Delete,
|
||||||
|
ImGuiKey_Backspace,
|
||||||
|
ImGuiKey_Enter,
|
||||||
|
ImGuiKey_Escape,
|
||||||
|
ImGuiKey_A,
|
||||||
|
ImGuiKey_C,
|
||||||
|
ImGuiKey_V,
|
||||||
|
ImGuiKey_X,
|
||||||
|
ImGuiKey_Y,
|
||||||
|
ImGuiKey_Z,
|
||||||
|
ImGuiKey_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiCol_Text,
|
||||||
|
ImGuiCol_TextDisabled,
|
||||||
|
ImGuiCol_WindowBg,
|
||||||
|
ImGuiCol_ChildWindowBg,
|
||||||
|
ImGuiCol_PopupBg,
|
||||||
|
ImGuiCol_Border,
|
||||||
|
ImGuiCol_BorderShadow,
|
||||||
|
ImGuiCol_FrameBg,
|
||||||
|
ImGuiCol_FrameBgHovered,
|
||||||
|
ImGuiCol_FrameBgActive,
|
||||||
|
ImGuiCol_TitleBg,
|
||||||
|
ImGuiCol_TitleBgCollapsed,
|
||||||
|
ImGuiCol_TitleBgActive,
|
||||||
|
ImGuiCol_MenuBarBg,
|
||||||
|
ImGuiCol_ScrollbarBg,
|
||||||
|
ImGuiCol_ScrollbarGrab,
|
||||||
|
ImGuiCol_ScrollbarGrabHovered,
|
||||||
|
ImGuiCol_ScrollbarGrabActive,
|
||||||
|
ImGuiCol_ComboBg,
|
||||||
|
ImGuiCol_CheckMark,
|
||||||
|
ImGuiCol_SliderGrab,
|
||||||
|
ImGuiCol_SliderGrabActive,
|
||||||
|
ImGuiCol_Button,
|
||||||
|
ImGuiCol_ButtonHovered,
|
||||||
|
ImGuiCol_ButtonActive,
|
||||||
|
ImGuiCol_Header,
|
||||||
|
ImGuiCol_HeaderHovered,
|
||||||
|
ImGuiCol_HeaderActive,
|
||||||
|
ImGuiCol_Separator,
|
||||||
|
ImGuiCol_SeparatorHovered,
|
||||||
|
ImGuiCol_SeparatorActive,
|
||||||
|
ImGuiCol_ResizeGrip,
|
||||||
|
ImGuiCol_ResizeGripHovered,
|
||||||
|
ImGuiCol_ResizeGripActive,
|
||||||
|
ImGuiCol_CloseButton,
|
||||||
|
ImGuiCol_CloseButtonHovered,
|
||||||
|
ImGuiCol_CloseButtonActive,
|
||||||
|
ImGuiCol_PlotLines,
|
||||||
|
ImGuiCol_PlotLinesHovered,
|
||||||
|
ImGuiCol_PlotHistogram,
|
||||||
|
ImGuiCol_PlotHistogramHovered,
|
||||||
|
ImGuiCol_TextSelectedBg,
|
||||||
|
ImGuiCol_ModalWindowDarkening,
|
||||||
|
ImGuiCol_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiStyleVar_Alpha,
|
||||||
|
ImGuiStyleVar_WindowPadding,
|
||||||
|
ImGuiStyleVar_WindowRounding,
|
||||||
|
ImGuiStyleVar_WindowMinSize,
|
||||||
|
ImGuiStyleVar_ChildWindowRounding,
|
||||||
|
ImGuiStyleVar_FramePadding,
|
||||||
|
ImGuiStyleVar_FrameRounding,
|
||||||
|
ImGuiStyleVar_ItemSpacing,
|
||||||
|
ImGuiStyleVar_ItemInnerSpacing,
|
||||||
|
ImGuiStyleVar_IndentSpacing,
|
||||||
|
ImGuiStyleVar_GrabMinSize,
|
||||||
|
ImGuiStyleVar_ButtonTextAlign,
|
||||||
|
ImGuiStyleVar_Count_
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiColorEditFlags_NoAlpha = 1 << 1,
|
||||||
|
ImGuiColorEditFlags_NoPicker = 1 << 2,
|
||||||
|
ImGuiColorEditFlags_NoOptions = 1 << 3,
|
||||||
|
ImGuiColorEditFlags_NoSmallPreview = 1 << 4,
|
||||||
|
ImGuiColorEditFlags_NoInputs = 1 << 5,
|
||||||
|
ImGuiColorEditFlags_NoTooltip = 1 << 6,
|
||||||
|
ImGuiColorEditFlags_NoLabel = 1 << 7,
|
||||||
|
ImGuiColorEditFlags_NoSidePreview = 1 << 8,
|
||||||
|
ImGuiColorEditFlags_AlphaBar = 1 << 9,
|
||||||
|
ImGuiColorEditFlags_AlphaPreview = 1 << 10,
|
||||||
|
ImGuiColorEditFlags_AlphaPreviewHalf= 1 << 11,
|
||||||
|
ImGuiColorEditFlags_HDR = 1 << 12,
|
||||||
|
ImGuiColorEditFlags_RGB = 1 << 13,
|
||||||
|
ImGuiColorEditFlags_HSV = 1 << 14,
|
||||||
|
ImGuiColorEditFlags_HEX = 1 << 15,
|
||||||
|
ImGuiColorEditFlags_Uint8 = 1 << 16,
|
||||||
|
ImGuiColorEditFlags_Float = 1 << 17,
|
||||||
|
ImGuiColorEditFlags_PickerHueBar = 1 << 18,
|
||||||
|
ImGuiColorEditFlags_PickerHueWheel = 1 << 19
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiMouseCursor_None = -1,
|
||||||
|
ImGuiMouseCursor_Arrow = 0,
|
||||||
|
ImGuiMouseCursor_TextInput,
|
||||||
|
ImGuiMouseCursor_Move,
|
||||||
|
ImGuiMouseCursor_ResizeNS,
|
||||||
|
ImGuiMouseCursor_ResizeEW,
|
||||||
|
ImGuiMouseCursor_ResizeNESW,
|
||||||
|
ImGuiMouseCursor_ResizeNWSE,
|
||||||
|
ImGuiMouseCursor_Count_
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ImGuiCond_Always = 1 << 0,
|
||||||
|
ImGuiCond_Once = 1 << 1,
|
||||||
|
ImGuiCond_FirstUseEver = 1 << 2,
|
||||||
|
ImGuiCond_Appearing = 1 << 3
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiStyle {
|
||||||
|
float Alpha;
|
||||||
|
struct ImVec2 WindowPadding;
|
||||||
|
struct ImVec2 WindowMinSize;
|
||||||
|
float WindowRounding;
|
||||||
|
struct ImVec2 WindowTitleAlign;
|
||||||
|
float ChildWindowRounding;
|
||||||
|
struct ImVec2 FramePadding;
|
||||||
|
float FrameRounding;
|
||||||
|
struct ImVec2 ItemSpacing;
|
||||||
|
struct ImVec2 ItemInnerSpacing;
|
||||||
|
struct ImVec2 TouchExtraPadding;
|
||||||
|
float IndentSpacing;
|
||||||
|
float ColumnsMinSpacing;
|
||||||
|
float ScrollbarSize;
|
||||||
|
float ScrollbarRounding;
|
||||||
|
float GrabMinSize;
|
||||||
|
float GrabRounding;
|
||||||
|
struct ImVec2 ButtonTextAlign;
|
||||||
|
struct ImVec2 DisplayWindowPadding;
|
||||||
|
struct ImVec2 DisplaySafeAreaPadding;
|
||||||
|
bool AntiAliasedLines;
|
||||||
|
bool AntiAliasedShapes;
|
||||||
|
float CurveTessellationTol;
|
||||||
|
struct ImVec4 Colors[ImGuiCol_COUNT];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiIO {
|
||||||
|
struct ImVec2 DisplaySize;
|
||||||
|
float DeltaTime;
|
||||||
|
float IniSavingRate;
|
||||||
|
const char* IniFilename;
|
||||||
|
const char* LogFilename;
|
||||||
|
float MouseDoubleClickTime;
|
||||||
|
float MouseDoubleClickMaxDist;
|
||||||
|
float MouseDragThreshold;
|
||||||
|
int KeyMap[ImGuiKey_COUNT];
|
||||||
|
float KeyRepeatDelay;
|
||||||
|
float KeyRepeatRate;
|
||||||
|
void* UserData;
|
||||||
|
struct ImFontAtlas* Fonts;
|
||||||
|
float FontGlobalScale;
|
||||||
|
bool FontAllowUserScaling;
|
||||||
|
struct ImFont* FontDefault;
|
||||||
|
struct ImVec2 DisplayFramebufferScale;
|
||||||
|
struct ImVec2 DisplayVisibleMin;
|
||||||
|
struct ImVec2 DisplayVisibleMax;
|
||||||
|
bool OSXBehaviors;
|
||||||
|
void (*RenderDrawListsFn)(struct ImDrawData* data);
|
||||||
|
const char* (*GetClipboardTextFn)(void* user_data);
|
||||||
|
void (*SetClipboardTextFn)(void* user_data, const char* text);
|
||||||
|
void* ClipboardUserData;
|
||||||
|
void* (*MemAllocFn)(size_t sz);
|
||||||
|
void (*MemFreeFn)(void* ptr);
|
||||||
|
void (*ImeSetInputScreenPosFn)(int x, int y);
|
||||||
|
void* ImeWindowHandle;
|
||||||
|
struct ImVec2 MousePos;
|
||||||
|
bool MouseDown[5];
|
||||||
|
float MouseWheel;
|
||||||
|
bool MouseDrawCursor;
|
||||||
|
bool KeyCtrl;
|
||||||
|
bool KeyShift;
|
||||||
|
bool KeyAlt;
|
||||||
|
bool KeySuper;
|
||||||
|
bool KeysDown[512];
|
||||||
|
ImWchar InputCharacters[16 + 1];
|
||||||
|
bool WantCaptureMouse;
|
||||||
|
bool WantCaptureKeyboard;
|
||||||
|
bool WantTextInput;
|
||||||
|
float Framerate;
|
||||||
|
int MetricsAllocs;
|
||||||
|
int MetricsRenderVertices;
|
||||||
|
int MetricsRenderIndices;
|
||||||
|
int MetricsActiveWindows;
|
||||||
|
struct ImVec2 MouseDelta;
|
||||||
|
struct ImVec2 MousePosPrev;
|
||||||
|
bool MouseClicked[5];
|
||||||
|
struct ImVec2 MouseClickedPos[5];
|
||||||
|
float MouseClickedTime[5];
|
||||||
|
bool MouseDoubleClicked[5];
|
||||||
|
bool MouseReleased[5];
|
||||||
|
bool MouseDownOwned[5];
|
||||||
|
float MouseDownDuration[5];
|
||||||
|
float MouseDownDurationPrev[5];
|
||||||
|
float MouseDragMaxDistanceSqr[5];
|
||||||
|
float KeysDownDuration[512];
|
||||||
|
float KeysDownDurationPrev[512];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiTextEditCallbackData {
|
||||||
|
ImGuiInputTextFlags EventFlag;
|
||||||
|
ImGuiInputTextFlags Flags;
|
||||||
|
void* UserData;
|
||||||
|
bool ReadOnly;
|
||||||
|
ImWchar EventChar;
|
||||||
|
ImGuiKey EventKey;
|
||||||
|
char* Buf;
|
||||||
|
int BufTextLen;
|
||||||
|
int BufSize;
|
||||||
|
bool BufDirty;
|
||||||
|
int CursorPos;
|
||||||
|
int SelectionStart;
|
||||||
|
int SelectionEnd;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiSizeConstraintCallbackData {
|
||||||
|
void* UserData;
|
||||||
|
struct ImVec2 Pos;
|
||||||
|
struct ImVec2 CurrentSize;
|
||||||
|
struct ImVec2 DesiredSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImDrawCmd {
|
||||||
|
unsigned int ElemCount;
|
||||||
|
struct ImVec4 ClipRect;
|
||||||
|
ImTextureID TextureId;
|
||||||
|
ImDrawCallback UserCallback;
|
||||||
|
void* UserCallbackData;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImDrawData {
|
||||||
|
bool Valid;
|
||||||
|
struct ImDrawList** CmdLists;
|
||||||
|
int CmdListsCount;
|
||||||
|
int TotalVtxCount;
|
||||||
|
int TotalIdxCount;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImDrawVert
|
||||||
|
{
|
||||||
|
struct ImVec2 pos;
|
||||||
|
struct ImVec2 uv;
|
||||||
|
ImU32 col;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImFontConfig {
|
||||||
|
void* FontData;
|
||||||
|
int FontDataSize;
|
||||||
|
bool FontDataOwnedByAtlas;
|
||||||
|
int FontNo;
|
||||||
|
float SizePixels;
|
||||||
|
int OversampleH, OversampleV;
|
||||||
|
bool PixelSnapH;
|
||||||
|
struct ImVec2 GlyphExtraSpacing;
|
||||||
|
struct ImVec2 GlyphOffset;
|
||||||
|
const ImWchar* GlyphRanges;
|
||||||
|
bool MergeMode;
|
||||||
|
char Name[32];
|
||||||
|
struct ImFont* DstFont;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiListClipper
|
||||||
|
{
|
||||||
|
float StartPosY;
|
||||||
|
float ItemsHeight;
|
||||||
|
int ItemsCount, StepNo, DisplayStart, DisplayEnd;
|
||||||
|
};
|
||||||
|
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||||
|
|
||||||
|
CIMGUI_API struct ImGuiIO* igGetIO();
|
||||||
|
CIMGUI_API struct ImGuiStyle* igGetStyle();
|
||||||
|
CIMGUI_API struct ImDrawData* igGetDrawData();
|
||||||
|
CIMGUI_API void igNewFrame();
|
||||||
|
CIMGUI_API void igRender();
|
||||||
|
CIMGUI_API void igShutdown();
|
||||||
|
CIMGUI_API void igShowUserGuide();
|
||||||
|
CIMGUI_API void igShowStyleEditor(struct ImGuiStyle* ref);
|
||||||
|
CIMGUI_API void igShowTestWindow(bool* opened);
|
||||||
|
CIMGUI_API void igShowMetricsWindow(bool* opened);
|
||||||
|
|
||||||
// Window
|
// Window
|
||||||
CIMGUI_API bool igBegin(CONST char* name, bool* p_opened, ImGuiWindowFlags flags);
|
CIMGUI_API bool igBegin(CONST char* name, bool* p_open, ImGuiWindowFlags flags);
|
||||||
CIMGUI_API bool igBegin2(CONST char* name, bool* p_opened, CONST struct ImVec2 size_on_first_use, float bg_alpha, ImGuiWindowFlags flags);
|
CIMGUI_API bool igBegin2(CONST char* name, bool* p_open, CONST struct ImVec2 size_on_first_use, float bg_alpha, ImGuiWindowFlags flags);
|
||||||
CIMGUI_API void igEnd();
|
CIMGUI_API void igEnd();
|
||||||
CIMGUI_API bool igBeginChild(CONST char* str_id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags);
|
CIMGUI_API bool igBeginChild(CONST char* str_id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags);
|
||||||
CIMGUI_API bool igBeginChildEx(ImGuiID id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags);
|
CIMGUI_API bool igBeginChildEx(ImGuiID id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags);
|
||||||
CIMGUI_API void igEndChild();
|
CIMGUI_API void igEndChild();
|
||||||
CIMGUI_API void igGetContentRegionMax(struct ImVec2* out);
|
CIMGUI_API void igGetContentRegionMax(struct ImVec2* out);
|
||||||
|
CIMGUI_API void igGetContentRegionAvail(struct ImVec2* out);
|
||||||
|
CIMGUI_API float igGetContentRegionAvailWidth();
|
||||||
CIMGUI_API void igGetWindowContentRegionMin(struct ImVec2* out);
|
CIMGUI_API void igGetWindowContentRegionMin(struct ImVec2* out);
|
||||||
CIMGUI_API void igGetWindowContentRegionMax(struct ImVec2* out);
|
CIMGUI_API void igGetWindowContentRegionMax(struct ImVec2* out);
|
||||||
CIMGUI_API ImDrawList* igGetWindowDrawList();
|
CIMGUI_API float igGetWindowContentRegionWidth();
|
||||||
CIMGUI_API ImFont* igGetWindowFont();
|
CIMGUI_API struct ImDrawList* igGetWindowDrawList();
|
||||||
CIMGUI_API float igGetWindowFontSize();
|
|
||||||
CIMGUI_API void igSetWindowFontScale(float scale);
|
|
||||||
CIMGUI_API void igGetWindowPos(struct ImVec2* out);
|
CIMGUI_API void igGetWindowPos(struct ImVec2* out);
|
||||||
CIMGUI_API void igGetWindowSize(struct ImVec2* out);
|
CIMGUI_API void igGetWindowSize(struct ImVec2* out);
|
||||||
CIMGUI_API float igGetWindowWidth();
|
CIMGUI_API float igGetWindowWidth();
|
||||||
|
CIMGUI_API float igGetWindowHeight();
|
||||||
CIMGUI_API bool igIsWindowCollapsed();
|
CIMGUI_API bool igIsWindowCollapsed();
|
||||||
|
CIMGUI_API void igSetWindowFontScale(float scale);
|
||||||
|
|
||||||
CIMGUI_API void igSetNextWindowPos(CONST struct ImVec2 pos, ImGuiSetCond cond);
|
CIMGUI_API void igSetNextWindowPos(CONST struct ImVec2 pos, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetNextWindowPosCenter(ImGuiSetCond cond);
|
CIMGUI_API void igSetNextWindowPosCenter(ImGuiCond cond);
|
||||||
CIMGUI_API void igSetNextWindowSize(CONST struct ImVec2 size, ImGuiSetCond cond);
|
CIMGUI_API void igSetNextWindowSize(CONST struct ImVec2 size, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiSetCond cond);
|
CIMGUI_API void igSetNextWindowSizeConstraints(CONST struct ImVec2 size_min, CONST struct ImVec2 size_max, ImGuiSizeConstraintCallback custom_callback, void* custom_callback_data);
|
||||||
|
CIMGUI_API void igSetNextWindowContentSize(CONST struct ImVec2 size);
|
||||||
|
CIMGUI_API void igSetNextWindowContentWidth(float width);
|
||||||
|
CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetNextWindowFocus();
|
CIMGUI_API void igSetNextWindowFocus();
|
||||||
CIMGUI_API void igSetWindowPos(CONST struct ImVec2 pos, ImGuiSetCond cond);
|
CIMGUI_API void igSetWindowPos(CONST struct ImVec2 pos, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetWindowSize(CONST struct ImVec2 size, ImGuiSetCond cond);
|
CIMGUI_API void igSetWindowSize(CONST struct ImVec2 size, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetWindowCollapsed(bool collapsed, ImGuiSetCond cond);
|
CIMGUI_API void igSetWindowCollapsed(bool collapsed, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetWindowFocus();
|
CIMGUI_API void igSetWindowFocus();
|
||||||
CIMGUI_API void igSetWindowPosByName(CONST char* name, CONST struct ImVec2 pos, ImGuiSetCond cond);
|
CIMGUI_API void igSetWindowPosByName(CONST char* name, CONST struct ImVec2 pos, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetWindowSize2(CONST char* name, CONST struct ImVec2 size, ImGuiSetCond cond);
|
CIMGUI_API void igSetWindowSize2(CONST char* name, CONST struct ImVec2 size, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetWindowCollapsed2(CONST char* name, bool collapsed, ImGuiSetCond cond);
|
CIMGUI_API void igSetWindowCollapsed2(CONST char* name, bool collapsed, ImGuiCond cond);
|
||||||
CIMGUI_API void igSetWindowFocus2(CONST char* name);
|
CIMGUI_API void igSetWindowFocus2(CONST char* name);
|
||||||
|
|
||||||
|
CIMGUI_API float igGetScrollX();
|
||||||
CIMGUI_API float igGetScrollY();
|
CIMGUI_API float igGetScrollY();
|
||||||
|
CIMGUI_API float igGetScrollMaxX();
|
||||||
CIMGUI_API float igGetScrollMaxY();
|
CIMGUI_API float igGetScrollMaxY();
|
||||||
|
CIMGUI_API void igSetScrollX(float scroll_x);
|
||||||
CIMGUI_API void igSetScrollY(float scroll_y);
|
CIMGUI_API void igSetScrollY(float scroll_y);
|
||||||
CIMGUI_API void igSetScrollHere(float center_y_ratio = 0.5f);
|
CIMGUI_API void igSetScrollHere(float center_y_ratio);
|
||||||
CIMGUI_API void igSetScrollFromPosY(float pos_y, float center_y_ratio = 0.5f);
|
CIMGUI_API void igSetScrollFromPosY(float pos_y, float center_y_ratio);
|
||||||
CIMGUI_API void igSetKeyboardFocusHere(int offset);
|
CIMGUI_API void igSetKeyboardFocusHere(int offset);
|
||||||
CIMGUI_API void igSetStateStorage(ImGuiStorage* tree);
|
CIMGUI_API void igSetStateStorage(struct ImGuiStorage* tree);
|
||||||
CIMGUI_API ImGuiStorage* igGetStateStorage();
|
CIMGUI_API struct ImGuiStorage* igGetStateStorage();
|
||||||
|
|
||||||
// Parameters stacks (shared)
|
// Parameters stacks (shared)
|
||||||
CIMGUI_API void igPushFont(ImFont* font);
|
CIMGUI_API void igPushFont(struct ImFont* font);
|
||||||
CIMGUI_API void igPopFont();
|
CIMGUI_API void igPopFont();
|
||||||
|
CIMGUI_API void igPushStyleColorU32(ImGuiCol idx, ImU32 col);
|
||||||
CIMGUI_API void igPushStyleColor(ImGuiCol idx, CONST struct ImVec4 col);
|
CIMGUI_API void igPushStyleColor(ImGuiCol idx, CONST struct ImVec4 col);
|
||||||
CIMGUI_API void igPopStyleColor(int count);
|
CIMGUI_API void igPopStyleColor(int count);
|
||||||
CIMGUI_API void igPushStyleVar(ImGuiStyleVar idx, float val);
|
CIMGUI_API void igPushStyleVar(ImGuiStyleVar idx, float val);
|
||||||
CIMGUI_API void igPushStyleVarVec(ImGuiStyleVar idx, CONST struct ImVec2 val);
|
CIMGUI_API void igPushStyleVarVec(ImGuiStyleVar idx, CONST struct ImVec2 val);
|
||||||
CIMGUI_API void igPopStyleVar(int count);
|
CIMGUI_API void igPopStyleVar(int count);
|
||||||
|
CIMGUI_API void igGetStyleColorVec4(struct ImVec4 *pOut, ImGuiCol idx);
|
||||||
|
CIMGUI_API struct ImFont* igGetFont();
|
||||||
|
CIMGUI_API float igGetFontSize();
|
||||||
|
CIMGUI_API void igGetFontTexUvWhitePixel(struct ImVec2* pOut);
|
||||||
|
CIMGUI_API ImU32 igGetColorU32(ImGuiCol idx, float alpha_mul);
|
||||||
|
CIMGUI_API ImU32 igGetColorU32Vec(CONST struct ImVec4* col);
|
||||||
|
CIMGUI_API ImU32 igGetColorU32U32(ImU32 col);
|
||||||
|
|
||||||
|
|
||||||
// Parameters stacks (current window)
|
// Parameters stacks (current window)
|
||||||
CIMGUI_API void igPushItemWidth(float item_width);
|
CIMGUI_API void igPushItemWidth(float item_width);
|
||||||
CIMGUI_API void igPopItemWidth();
|
CIMGUI_API void igPopItemWidth();
|
||||||
CIMGUI_API float igCalcItemWidth();
|
CIMGUI_API float igCalcItemWidth();
|
||||||
CIMGUI_API void igPushAllowKeyboardFocus(bool v);
|
|
||||||
CIMGUI_API void igPopAllowKeyboardFocus();
|
|
||||||
CIMGUI_API void igPushTextWrapPos(float wrap_pos_x);
|
CIMGUI_API void igPushTextWrapPos(float wrap_pos_x);
|
||||||
CIMGUI_API void igPopTextWrapPos();
|
CIMGUI_API void igPopTextWrapPos();
|
||||||
|
CIMGUI_API void igPushAllowKeyboardFocus(bool v);
|
||||||
|
CIMGUI_API void igPopAllowKeyboardFocus();
|
||||||
CIMGUI_API void igPushButtonRepeat(bool repeat);
|
CIMGUI_API void igPushButtonRepeat(bool repeat);
|
||||||
CIMGUI_API void igPopButtonRepeat();
|
CIMGUI_API void igPopButtonRepeat();
|
||||||
|
|
||||||
// Layout
|
// Layout
|
||||||
CIMGUI_API void igBeginGroup();
|
|
||||||
CIMGUI_API void igEndGroup();
|
|
||||||
CIMGUI_API void igSeparator();
|
CIMGUI_API void igSeparator();
|
||||||
CIMGUI_API void igSameLine(float pos_x, float spacing_w);
|
CIMGUI_API void igSameLine(float pos_x, float spacing_w);
|
||||||
|
CIMGUI_API void igNewLine();
|
||||||
CIMGUI_API void igSpacing();
|
CIMGUI_API void igSpacing();
|
||||||
CIMGUI_API void igDummy(CONST ImVec2* size);
|
CIMGUI_API void igDummy(CONST struct ImVec2* size);
|
||||||
CIMGUI_API void igIndent();
|
CIMGUI_API void igIndent(float indent_w);
|
||||||
CIMGUI_API void igUnindent();
|
CIMGUI_API void igUnindent(float indent_w);
|
||||||
CIMGUI_API void igColumns(int count, CONST char* id, bool border);
|
CIMGUI_API void igBeginGroup();
|
||||||
CIMGUI_API void igNextColumn();
|
CIMGUI_API void igEndGroup();
|
||||||
CIMGUI_API int igGetColumnIndex();
|
|
||||||
CIMGUI_API float igGetColumnOffset(int column_index);
|
|
||||||
CIMGUI_API void igSetColumnOffset(int column_index, float offset_x);
|
|
||||||
CIMGUI_API float igGetColumnWidth(int column_index);
|
|
||||||
CIMGUI_API int igGetColumnsCount();
|
|
||||||
CIMGUI_API void igGetCursorPos(struct ImVec2* pOut);
|
CIMGUI_API void igGetCursorPos(struct ImVec2* pOut);
|
||||||
CIMGUI_API float igGetCursorPosX();
|
CIMGUI_API float igGetCursorPosX();
|
||||||
CIMGUI_API float igGetCursorPosY();
|
CIMGUI_API float igGetCursorPosY();
|
||||||
CIMGUI_API void igSetCursorPos(CONST struct ImVec2 pos);
|
CIMGUI_API void igSetCursorPos(CONST struct ImVec2 local_pos);
|
||||||
CIMGUI_API void igSetCursorPosX(float x);
|
CIMGUI_API void igSetCursorPosX(float x);
|
||||||
CIMGUI_API void igSetCursorPosY(float y);
|
CIMGUI_API void igSetCursorPosY(float y);
|
||||||
CIMGUI_API void igGetCursorStartPos(struct ImVec2* pOut);
|
CIMGUI_API void igGetCursorStartPos(struct ImVec2* pOut);
|
||||||
@@ -125,6 +534,16 @@ CIMGUI_API float igGetTextLineHeight();
|
|||||||
CIMGUI_API float igGetTextLineHeightWithSpacing();
|
CIMGUI_API float igGetTextLineHeightWithSpacing();
|
||||||
CIMGUI_API float igGetItemsLineHeightWithSpacing();
|
CIMGUI_API float igGetItemsLineHeightWithSpacing();
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
CIMGUI_API void igColumns(int count, CONST char* id, bool border);
|
||||||
|
CIMGUI_API void igNextColumn();
|
||||||
|
CIMGUI_API int igGetColumnIndex();
|
||||||
|
CIMGUI_API float igGetColumnWidth(int column_index); // get column width (in pixels). pass -1 to use current column
|
||||||
|
CIMGUI_API void igSetColumnWidth(int column_index, float width);
|
||||||
|
CIMGUI_API float igGetColumnOffset(int column_index);
|
||||||
|
CIMGUI_API void igSetColumnOffset(int column_index, float offset_x);
|
||||||
|
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')
|
||||||
@@ -157,22 +576,19 @@ CIMGUI_API bool igSmallButton(CONST char* label);
|
|||||||
CIMGUI_API bool igInvisibleButton(CONST char* str_id, CONST struct ImVec2 size);
|
CIMGUI_API bool igInvisibleButton(CONST char* str_id, CONST struct ImVec2 size);
|
||||||
CIMGUI_API void igImage(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, CONST struct ImVec4 tint_col, CONST struct ImVec4 border_col);
|
CIMGUI_API void igImage(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, CONST struct ImVec4 tint_col, CONST struct ImVec4 border_col);
|
||||||
CIMGUI_API bool igImageButton(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, int frame_padding, CONST struct ImVec4 bg_col, CONST struct ImVec4 tint_col);
|
CIMGUI_API bool igImageButton(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, int frame_padding, CONST struct ImVec4 bg_col, CONST struct ImVec4 tint_col);
|
||||||
CIMGUI_API bool igCollapsingHeader(CONST char* label, CONST char* str_id, bool display_frame, bool default_open);
|
|
||||||
CIMGUI_API bool igCheckbox(CONST char* label, bool* v);
|
CIMGUI_API bool igCheckbox(CONST char* label, bool* v);
|
||||||
CIMGUI_API bool igCheckboxFlags(CONST char* label, unsigned int* flags, unsigned int flags_value);
|
CIMGUI_API bool igCheckboxFlags(CONST char* label, unsigned int* flags, unsigned int flags_value);
|
||||||
CIMGUI_API bool igRadioButtonBool(CONST char* label, bool active);
|
CIMGUI_API bool igRadioButtonBool(CONST char* label, bool active);
|
||||||
CIMGUI_API bool igRadioButton(CONST char* label, int* v, int v_button);
|
CIMGUI_API bool igRadioButton(CONST char* label, int* v, int v_button);
|
||||||
CIMGUI_API bool igCombo(CONST char* label, int* current_item, CONST char** items, int items_count, int height_in_items);
|
CIMGUI_API bool igCombo(CONST char* label, int* current_item, CONST char* CONST* items, int items_count, int height_in_items);
|
||||||
CIMGUI_API bool igCombo2(CONST char* label, int* current_item, CONST char* items_separated_by_zeros, int height_in_items);
|
CIMGUI_API bool igCombo2(CONST char* label, int* current_item, CONST char* items_separated_by_zeros, int height_in_items);
|
||||||
CIMGUI_API bool igCombo3(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items);
|
CIMGUI_API bool igCombo3(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items);
|
||||||
CIMGUI_API bool igColorButton(CONST struct ImVec4 col, bool small_height, bool outline_border);
|
|
||||||
CIMGUI_API bool igColorEdit3(CONST char* label, float col[3]);
|
|
||||||
CIMGUI_API bool igColorEdit4(CONST char* label, float col[4], bool show_alpha);
|
|
||||||
CIMGUI_API void igColorEditMode(ImGuiColorEditMode 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, struct 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, struct ImVec2 graph_size, int stride);
|
||||||
CIMGUI_API void igPlotLines2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size);
|
CIMGUI_API void igPlotLines2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size);
|
||||||
CIMGUI_API void igPlotHistogram(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size, int stride);
|
CIMGUI_API void igPlotHistogram(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size, int stride);
|
||||||
CIMGUI_API void igPlotHistogram2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size);
|
CIMGUI_API void igPlotHistogram2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size);
|
||||||
|
CIMGUI_API void igProgressBar(float fraction, CONST struct ImVec2* size_arg, CONST char* overlay);
|
||||||
|
|
||||||
|
|
||||||
// Widgets: Sliders (tip: ctrl+click on a slider to input text)
|
// Widgets: Sliders (tip: ctrl+click on a slider to input text)
|
||||||
CIMGUI_API bool igSliderFloat(CONST char* label, float* v, float v_min, float v_max, CONST char* display_format, float power);
|
CIMGUI_API bool igSliderFloat(CONST char* label, float* v, float v_min, float v_max, CONST char* display_format, float power);
|
||||||
@@ -187,22 +603,31 @@ CIMGUI_API bool igSliderInt4(CONST char* label, int v[4], int v_min,
|
|||||||
CIMGUI_API bool igVSliderFloat(CONST char* label, CONST struct ImVec2 size, float* v, float v_min, float v_max, CONST char* display_format, float power);
|
CIMGUI_API bool igVSliderFloat(CONST char* label, CONST struct ImVec2 size, float* v, float v_min, float v_max, CONST char* display_format, float power);
|
||||||
CIMGUI_API bool igVSliderInt(CONST char* label, CONST struct ImVec2 size, int* v, int v_min, int v_max, CONST char* display_format);
|
CIMGUI_API bool igVSliderInt(CONST char* label, CONST struct ImVec2 size, int* v, int v_min, int v_max, CONST char* display_format);
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
CIMGUI_API bool igColorEdit4(CONST char* label, float col[4], ImGuiColorEditFlags flags);
|
||||||
|
CIMGUI_API bool igColorPicker3(CONST char* label, float col[3], ImGuiColorEditFlags flags);
|
||||||
|
CIMGUI_API bool igColorPicker4(CONST char* label, float col[4], ImGuiColorEditFlags flags, CONST float* ref_col);
|
||||||
|
CIMGUI_API bool igColorButton(CONST char* desc_id, CONST struct ImVec4 col, ImGuiColorEditFlags flags, CONST struct ImVec2 size);
|
||||||
|
CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags 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); // If v_max >= v_max we have no bound
|
CIMGUI_API bool igDragFloat(CONST char* label, float* v, float v_speed, float v_min, float v_max, CONST char* display_format, float power); // If v_max >= v_max we have no bound
|
||||||
CIMGUI_API bool igDragFloat2(CONST char* label, float v[2], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
CIMGUI_API bool igDragFloat2(CONST char* label, float v[2], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
||||||
CIMGUI_API bool igDragFloat3(CONST char* label, float v[3], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
CIMGUI_API bool igDragFloat3(CONST char* label, float v[3], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
||||||
CIMGUI_API bool igDragFloat4(CONST char* label, float v[4], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
CIMGUI_API bool igDragFloat4(CONST char* label, float v[4], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
||||||
CIMGUI_API bool igDragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", const char* display_format_max = NULL, float power = 1.0f);
|
CIMGUI_API bool igDragFloatRange2(CONST char* label, float* v_current_min, float* v_current_max, float v_speed, float v_min, float v_max, CONST char* display_format, CONST char* display_format_max, float power);
|
||||||
CIMGUI_API bool igDragInt(CONST char* label, int* v, float v_speed, int v_min, int v_max, CONST char* display_format); // If v_max >= v_max we have no bound
|
CIMGUI_API bool igDragInt(CONST char* label, int* v, float v_speed, int v_min, int v_max, CONST char* display_format); // If v_max >= v_max we have no bound
|
||||||
CIMGUI_API bool igDragInt2(CONST char* label, int v[2], float v_speed, int v_min, int v_max, CONST char* display_format);
|
CIMGUI_API bool igDragInt2(CONST char* label, int v[2], float v_speed, int v_min, int v_max, CONST char* display_format);
|
||||||
CIMGUI_API bool igDragInt3(CONST char* label, int v[3], float v_speed, int v_min, int v_max, CONST char* display_format);
|
CIMGUI_API bool igDragInt3(CONST char* label, int v[3], float v_speed, int v_min, int v_max, CONST char* display_format);
|
||||||
CIMGUI_API bool igDragInt4(CONST char* label, int v[4], float v_speed, int v_min, int v_max, CONST char* display_format);
|
CIMGUI_API bool igDragInt4(CONST char* label, int v[4], float v_speed, int v_min, int v_max, CONST char* display_format);
|
||||||
CIMGUI_API bool igDragIntRange2(const char* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.0f", const char* display_format_max = NULL);
|
CIMGUI_API bool igDragIntRange2(CONST char* label, int* v_current_min, int* v_current_max, float v_speed, int v_min, int v_max, CONST char* display_format, CONST char* display_format_max);
|
||||||
|
|
||||||
|
|
||||||
// Widgets: Input
|
// Widgets: Input
|
||||||
CIMGUI_API bool igInputText(CONST char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data);
|
CIMGUI_API bool igInputText(CONST char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data);
|
||||||
CIMGUI_API bool igInputTextMultiline(CONST char* label, char* buf, size_t buf_size, CONST ImVec2 size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data);
|
CIMGUI_API bool igInputTextMultiline(CONST char* label, char* buf, size_t buf_size, CONST struct ImVec2 size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data);
|
||||||
CIMGUI_API bool igInputFloat(CONST char* label, float* v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags extra_flags);
|
CIMGUI_API bool igInputFloat(CONST char* label, float* v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags extra_flags);
|
||||||
CIMGUI_API bool igInputFloat2(CONST char* label, float v[2], int decimal_precision, ImGuiInputTextFlags extra_flags);
|
CIMGUI_API bool igInputFloat2(CONST char* label, float v[2], int decimal_precision, ImGuiInputTextFlags extra_flags);
|
||||||
CIMGUI_API bool igInputFloat3(CONST char* label, float v[3], int decimal_precision, ImGuiInputTextFlags extra_flags);
|
CIMGUI_API bool igInputFloat3(CONST char* label, float v[3], int decimal_precision, ImGuiInputTextFlags extra_flags);
|
||||||
@@ -213,20 +638,29 @@ CIMGUI_API bool igInputInt3(CONST char* label, int v[3], ImGuiInputT
|
|||||||
CIMGUI_API bool igInputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags);
|
CIMGUI_API bool igInputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags);
|
||||||
|
|
||||||
// Widgets: Trees
|
// Widgets: Trees
|
||||||
CIMGUI_API bool igTreeNode(CONST char* str_label_id);
|
CIMGUI_API bool igTreeNode(CONST char* label);
|
||||||
CIMGUI_API bool igTreeNodeStr(CONST char* str_id, CONST char* fmt, ...);
|
CIMGUI_API bool igTreeNodeStr(CONST char* str_id, CONST char* fmt, ...);
|
||||||
CIMGUI_API bool igTreeNodePtr(CONST void* ptr_id, CONST char* fmt, ...);
|
CIMGUI_API bool igTreeNodePtr(CONST void* ptr_id, CONST char* fmt, ...);
|
||||||
CIMGUI_API bool igTreeNodeStrV(CONST char* str_id, CONST char* fmt, va_list args);
|
CIMGUI_API bool igTreeNodeStrV(CONST char* str_id, CONST char* fmt, va_list args);
|
||||||
CIMGUI_API bool igTreeNodePtrV(CONST void* ptr_id, CONST char* fmt, va_list args);
|
CIMGUI_API bool igTreeNodePtrV(CONST void* ptr_id, CONST char* fmt, va_list args);
|
||||||
|
CIMGUI_API bool igTreeNodeEx(CONST char* label, ImGuiTreeNodeFlags flags);
|
||||||
|
CIMGUI_API bool igTreeNodeExStr(CONST char* str_id, ImGuiTreeNodeFlags flags, CONST char* fmt, ...);
|
||||||
|
CIMGUI_API bool igTreeNodeExPtr(CONST void* ptr_id, ImGuiTreeNodeFlags flags, CONST char* fmt, ...);
|
||||||
|
CIMGUI_API bool igTreeNodeExV(CONST char* str_id, ImGuiTreeNodeFlags flags, CONST char* fmt, va_list args);
|
||||||
|
CIMGUI_API bool igTreeNodeExVPtr(CONST void* ptr_id, ImGuiTreeNodeFlags flags, CONST char* fmt, va_list args);
|
||||||
CIMGUI_API void igTreePushStr(CONST char* str_id);
|
CIMGUI_API void igTreePushStr(CONST char* str_id);
|
||||||
CIMGUI_API void igTreePushPtr(CONST void* ptr_id);
|
CIMGUI_API void igTreePushPtr(CONST void* ptr_id);
|
||||||
CIMGUI_API void igTreePop();
|
CIMGUI_API void igTreePop();
|
||||||
CIMGUI_API void igSetNextTreeNodeOpened(bool opened, ImGuiSetCond cond);
|
CIMGUI_API void igTreeAdvanceToLabelPos();
|
||||||
|
CIMGUI_API float igGetTreeNodeToLabelSpacing();
|
||||||
|
CIMGUI_API void igSetNextTreeNodeOpen(bool opened, ImGuiCond cond);
|
||||||
|
CIMGUI_API bool igCollapsingHeader(CONST char* label, ImGuiTreeNodeFlags flags);
|
||||||
|
CIMGUI_API bool igCollapsingHeaderEx(CONST char* label, bool* p_open, ImGuiTreeNodeFlags flags);
|
||||||
|
|
||||||
// Widgets: Selectable / Lists
|
// Widgets: Selectable / Lists
|
||||||
CIMGUI_API bool igSelectable(CONST char* label, bool selected, ImGuiSelectableFlags flags, CONST ImVec2 size);
|
CIMGUI_API bool igSelectable(CONST char* label, bool selected, ImGuiSelectableFlags flags, CONST struct ImVec2 size);
|
||||||
CIMGUI_API bool igSelectableEx(CONST char* label, bool* p_selected, ImGuiSelectableFlags flags, CONST ImVec2 size);
|
CIMGUI_API bool igSelectableEx(CONST char* label, bool* p_selected, ImGuiSelectableFlags flags, CONST struct ImVec2 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);
|
||||||
CIMGUI_API bool igListBox2(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items);
|
CIMGUI_API bool igListBox2(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items);
|
||||||
CIMGUI_API bool igListBoxHeader(CONST char* label, CONST struct ImVec2 size);
|
CIMGUI_API bool igListBoxHeader(CONST char* label, CONST struct ImVec2 size);
|
||||||
CIMGUI_API bool igListBoxHeader2(CONST char* label, int items_count, int height_in_items);
|
CIMGUI_API bool igListBoxHeader2(CONST char* label, int items_count, int height_in_items);
|
||||||
@@ -237,8 +671,6 @@ CIMGUI_API void igValueBool(CONST char* prefix, bool b);
|
|||||||
CIMGUI_API void igValueInt(CONST char* prefix, int v);
|
CIMGUI_API void igValueInt(CONST char* prefix, int v);
|
||||||
CIMGUI_API void igValueUInt(CONST char* prefix, unsigned int v);
|
CIMGUI_API void igValueUInt(CONST char* prefix, unsigned int v);
|
||||||
CIMGUI_API void igValueFloat(CONST char* prefix, float v, CONST char* float_format);
|
CIMGUI_API void igValueFloat(CONST char* prefix, float v, CONST char* float_format);
|
||||||
CIMGUI_API void igColor(CONST char* prefix, CONST struct ImVec4 v);
|
|
||||||
CIMGUI_API void igColor2(CONST char* prefix, unsigned int v);
|
|
||||||
|
|
||||||
// Tooltip
|
// Tooltip
|
||||||
CIMGUI_API void igSetTooltip(CONST char* fmt, ...);
|
CIMGUI_API void igSetTooltip(CONST char* fmt, ...);
|
||||||
@@ -259,11 +691,12 @@ CIMGUI_API bool igMenuItemPtr(CONST char* label, CONST char* shortcu
|
|||||||
// Popup
|
// Popup
|
||||||
CIMGUI_API void igOpenPopup(CONST char* str_id);
|
CIMGUI_API void igOpenPopup(CONST char* str_id);
|
||||||
CIMGUI_API bool igBeginPopup(CONST char* str_id);
|
CIMGUI_API bool igBeginPopup(CONST char* str_id);
|
||||||
CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_opened, ImGuiWindowFlags extra_flags);
|
CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_open, ImGuiWindowFlags extra_flags);
|
||||||
CIMGUI_API bool igBeginPopupContextItem(CONST char* str_id, int mouse_button);
|
CIMGUI_API bool igBeginPopupContextItem(CONST char* str_id, int 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);
|
||||||
CIMGUI_API bool igBeginPopupContextVoid(CONST char* str_id, int mouse_button);
|
CIMGUI_API bool igBeginPopupContextVoid(CONST char* str_id, int mouse_button);
|
||||||
CIMGUI_API void igEndPopup();
|
CIMGUI_API void igEndPopup();
|
||||||
|
CIMGUI_API bool igIsPopupOpen(CONST char* str_id);
|
||||||
CIMGUI_API void igCloseCurrentPopup();
|
CIMGUI_API void igCloseCurrentPopup();
|
||||||
|
|
||||||
// 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.
|
||||||
@@ -274,77 +707,207 @@ CIMGUI_API void igLogFinish();
|
|||||||
CIMGUI_API void igLogButtons();
|
CIMGUI_API void igLogButtons();
|
||||||
CIMGUI_API void igLogText(CONST char* fmt, ...);
|
CIMGUI_API void igLogText(CONST char* fmt, ...);
|
||||||
|
|
||||||
|
// Clipping
|
||||||
|
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 igPopClipRect();
|
||||||
|
|
||||||
// Utilities
|
// Utilities
|
||||||
CIMGUI_API bool igIsItemHovered();
|
CIMGUI_API bool igIsItemHovered();
|
||||||
CIMGUI_API bool igIsItemHoveredRect();
|
CIMGUI_API bool igIsItemRectHovered();
|
||||||
CIMGUI_API bool igIsItemActive();
|
CIMGUI_API bool igIsItemActive();
|
||||||
|
CIMGUI_API bool igIsItemClicked(int mouse_button);
|
||||||
CIMGUI_API bool igIsItemVisible();
|
CIMGUI_API bool igIsItemVisible();
|
||||||
CIMGUI_API bool igIsAnyItemHovered();
|
CIMGUI_API bool igIsAnyItemHovered();
|
||||||
CIMGUI_API bool igIsAnyItemActive();
|
CIMGUI_API bool igIsAnyItemActive();
|
||||||
CIMGUI_API void igGetItemRectMin(struct ImVec2* pOut);
|
CIMGUI_API void igGetItemRectMin(struct ImVec2* pOut);
|
||||||
CIMGUI_API void igGetItemRectMax(struct ImVec2* pOut);
|
CIMGUI_API void igGetItemRectMax(struct ImVec2* pOut);
|
||||||
CIMGUI_API void igGetItemRectSize(struct ImVec2* pOut);
|
CIMGUI_API void igGetItemRectSize(struct ImVec2* pOut);
|
||||||
CIMGUI_API bool igIsWindowHovered();
|
CIMGUI_API void igSetItemAllowOverlap();
|
||||||
CIMGUI_API bool igIsWindowFocused();
|
CIMGUI_API bool igIsWindowFocused();
|
||||||
|
CIMGUI_API bool igIsWindowHovered();
|
||||||
|
CIMGUI_API bool igIsWindowRectHovered();
|
||||||
CIMGUI_API bool igIsRootWindowFocused();
|
CIMGUI_API bool igIsRootWindowFocused();
|
||||||
CIMGUI_API bool igIsRootWindowOrAnyChildFocused();
|
CIMGUI_API bool igIsRootWindowOrAnyChildFocused();
|
||||||
|
CIMGUI_API bool igIsRootWindowOrAnyChildHovered();
|
||||||
|
CIMGUI_API bool igIsAnyWindowHovered();
|
||||||
CIMGUI_API bool igIsRectVisible(CONST struct ImVec2 item_size);
|
CIMGUI_API bool igIsRectVisible(CONST struct ImVec2 item_size);
|
||||||
CIMGUI_API bool igIsPosHoveringAnyWindow(CONST struct ImVec2 pos);
|
CIMGUI_API bool igIsRectVisible2(CONST struct ImVec2* rect_min, CONST struct ImVec2* rect_max);
|
||||||
CIMGUI_API float igGetTime();
|
CIMGUI_API float igGetTime();
|
||||||
CIMGUI_API int igGetFrameCount();
|
CIMGUI_API int igGetFrameCount();
|
||||||
CIMGUI_API CONST char* igGetStyleColName(ImGuiCol idx);
|
CIMGUI_API CONST char* igGetStyleColorName(ImGuiCol idx);
|
||||||
CIMGUI_API void igCalcItemRectClosestPoint(struct ImVec2* pOut, CONST struct ImVec2 pos, bool on_edge, float outward);
|
CIMGUI_API void igCalcItemRectClosestPoint(struct ImVec2* pOut, CONST struct ImVec2 pos, bool on_edge, float outward);
|
||||||
CIMGUI_API void igCalcTextSize(struct ImVec2* pOut, CONST char* text, CONST char* text_end, bool hide_text_after_double_hash, float wrap_width);
|
CIMGUI_API void igCalcTextSize(struct ImVec2* pOut, CONST char* text, CONST char* text_end, bool hide_text_after_double_hash, float wrap_width);
|
||||||
CIMGUI_API void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);
|
CIMGUI_API void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);
|
||||||
|
|
||||||
CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST struct ImVec2 size);
|
CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST struct ImVec2 size, ImGuiWindowFlags extra_flags);
|
||||||
CIMGUI_API void igEndChildFrame();
|
CIMGUI_API void igEndChildFrame();
|
||||||
|
|
||||||
|
CIMGUI_API void igColorConvertU32ToFloat4(struct ImVec4* pOut, ImU32 in);
|
||||||
CIMGUI_API ImU32 igColorConvertFloat4ToU32(CONST struct ImVec4 in);
|
CIMGUI_API ImU32 igColorConvertFloat4ToU32(CONST struct ImVec4 in);
|
||||||
CIMGUI_API void igColorConvertRGBtoHSV(float r, float g, float b, float* out_h, float* out_s, float* out_v);
|
CIMGUI_API void igColorConvertRGBtoHSV(float r, float g, float b, float* out_h, float* out_s, float* out_v);
|
||||||
CIMGUI_API void igColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b);
|
CIMGUI_API void igColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b);
|
||||||
|
|
||||||
CIMGUI_API bool igIsKeyDown(int key_index);
|
CIMGUI_API int igGetKeyIndex(ImGuiKey imgui_key);
|
||||||
CIMGUI_API bool igIsKeyPressed(int key_index, bool repeat);
|
CIMGUI_API bool igIsKeyDown(int user_key_index);
|
||||||
CIMGUI_API bool igIsKeyReleased(int key_index);
|
CIMGUI_API bool igIsKeyPressed(int user_key_index, bool repeat);
|
||||||
|
CIMGUI_API bool igIsKeyReleased(int user_key_index);
|
||||||
CIMGUI_API bool igIsMouseDown(int button);
|
CIMGUI_API bool igIsMouseDown(int button);
|
||||||
CIMGUI_API bool igIsMouseClicked(int button, bool repeat);
|
CIMGUI_API bool igIsMouseClicked(int button, bool repeat);
|
||||||
CIMGUI_API bool igIsMouseDoubleClicked(int button);
|
CIMGUI_API bool igIsMouseDoubleClicked(int button);
|
||||||
CIMGUI_API bool igIsMouseReleased(int button);
|
CIMGUI_API bool igIsMouseReleased(int button);
|
||||||
CIMGUI_API bool igIsMouseHoveringWindow();
|
|
||||||
CIMGUI_API bool igIsMouseHoveringAnyWindow();
|
|
||||||
CIMGUI_API bool igIsMouseHoveringRect(CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max);
|
|
||||||
CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold);
|
CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold);
|
||||||
|
CIMGUI_API bool igIsMouseHoveringRect(CONST struct ImVec2 r_min, CONST struct ImVec2 r_max, bool clip);
|
||||||
CIMGUI_API void igGetMousePos(struct ImVec2* pOut);
|
CIMGUI_API void igGetMousePos(struct ImVec2* pOut);
|
||||||
|
CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(struct ImVec2* pOut);
|
||||||
CIMGUI_API void igGetMouseDragDelta(struct ImVec2* pOut, int button, float lock_threshold);
|
CIMGUI_API void igGetMouseDragDelta(struct ImVec2* pOut, int button, float lock_threshold);
|
||||||
CIMGUI_API void igResetMouseDragDelta(int button);
|
CIMGUI_API void igResetMouseDragDelta(int button);
|
||||||
CIMGUI_API ImGuiMouseCursor igGetMouseCursor();
|
CIMGUI_API ImGuiMouseCursor igGetMouseCursor();
|
||||||
CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type);
|
CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type);
|
||||||
|
CIMGUI_API void igCaptureKeyboardFromApp(bool capture);
|
||||||
|
CIMGUI_API void igCaptureMouseFromApp(bool capture);
|
||||||
|
|
||||||
|
// Helpers functions to access functions pointers in ImGui::GetIO()
|
||||||
|
CIMGUI_API void* igMemAlloc(size_t sz);
|
||||||
|
CIMGUI_API void igMemFree(void* ptr);
|
||||||
|
CIMGUI_API CONST char* igGetClipboardText();
|
||||||
|
CIMGUI_API void igSetClipboardText(CONST char* text);
|
||||||
|
|
||||||
// Internal state access - if you want to share ImGui state between modules (e.g. DLL) or allocate it yourself
|
// Internal state access - if you want to share ImGui state between modules (e.g. DLL) or allocate it yourself
|
||||||
CIMGUI_API CONST char* igGetVersion();
|
CIMGUI_API CONST char* igGetVersion();
|
||||||
CIMGUI_API void* igGetInternalState();
|
CIMGUI_API struct ImGuiContext* igCreateContext(void* (*malloc_fn)(size_t), void (*free_fn)(void*));
|
||||||
CIMGUI_API size_t igGetInternalStateSize();
|
CIMGUI_API void igDestroyContext(struct ImGuiContext* ctx);
|
||||||
CIMGUI_API void igSetInternalState(void* state, bool construct);
|
CIMGUI_API struct ImGuiContext* igGetCurrentContext();
|
||||||
|
CIMGUI_API void igSetCurrentContext(struct ImGuiContext* ctx);
|
||||||
|
|
||||||
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
|
CIMGUI_API void ImFontConfig_DefaultConstructor(struct ImFontConfig* config);
|
||||||
CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
|
|
||||||
CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* atlas, void* tex);
|
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(struct ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
|
||||||
CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* atlas, CONST ImFontConfig* font_cfg);
|
CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(struct ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
|
||||||
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* atlas, CONST ImFontConfig* font_cfg);
|
CIMGUI_API void ImFontAtlas_SetTexID(struct ImFontAtlas* atlas, ImTextureID id);
|
||||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas, CONST char* filename, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges);
|
CIMGUI_API struct ImFont* ImFontAtlas_AddFont(struct ImFontAtlas* atlas, CONST struct ImFontConfig* font_cfg);
|
||||||
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 struct ImFont* ImFontAtlas_AddFontDefault(struct ImFontAtlas* atlas, CONST struct ImFontConfig* font_cfg);
|
||||||
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 struct ImFont* ImFontAtlas_AddFontFromFileTTF(struct ImFontAtlas* atlas, CONST char* filename, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges);
|
||||||
CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas);
|
CIMGUI_API struct ImFont* ImFontAtlas_AddFontFromMemoryTTF(struct ImFontAtlas* atlas, void* font_data, int font_size, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges);
|
||||||
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas);
|
CIMGUI_API struct ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(struct ImFontAtlas* atlas, CONST void* compressed_font_data, int compressed_font_size, float size_pixels, CONST struct ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges);
|
||||||
|
CIMGUI_API struct ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(struct ImFontAtlas* atlas, CONST char* compressed_font_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 CONST ImWchar* ImFontAtlas_GetGlyphRangesThai(struct ImFontAtlas* atlas);
|
||||||
|
|
||||||
CIMGUI_API void ImGuiIO_AddInputCharacter(unsigned short c);
|
CIMGUI_API void ImGuiIO_AddInputCharacter(unsigned short c);
|
||||||
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(CONST char* utf8_chars);
|
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(CONST char* utf8_chars);
|
||||||
|
CIMGUI_API void ImGuiIO_ClearInputCharacters();
|
||||||
|
|
||||||
CIMGUI_API int ImDrawList_GetVertexBufferSize(ImDrawList* list);
|
//ImDrawData
|
||||||
CIMGUI_API ImDrawVert* ImDrawList_GetVertexPtr(ImDrawList* list, int n);
|
CIMGUI_API void ImDrawData_DeIndexAllBuffers(struct ImDrawData* drawData);
|
||||||
CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list);
|
CIMGUI_API void ImDrawData_ScaleClipRects(struct ImDrawData* drawData, struct ImVec2 sc);
|
||||||
CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n);
|
|
||||||
CIMGUI_API int ImDrawList_GetCmdSize(ImDrawList* list);
|
//ImDrawList
|
||||||
CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n);
|
CIMGUI_API int ImDrawList_GetVertexBufferSize(struct ImDrawList* list);
|
||||||
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData);
|
CIMGUI_API struct ImDrawVert* ImDrawList_GetVertexPtr(struct ImDrawList* list, int n);
|
||||||
|
CIMGUI_API int ImDrawList_GetIndexBufferSize(struct ImDrawList* list);
|
||||||
|
CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(struct ImDrawList* list, int n);
|
||||||
|
CIMGUI_API int ImDrawList_GetCmdSize(struct ImDrawList* list);
|
||||||
|
CIMGUI_API struct ImDrawCmd* ImDrawList_GetCmdPtr(struct ImDrawList* list, int n);
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_Clear(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_ClearFreeMemory(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_PushClipRect(struct ImDrawList* list, struct ImVec2 clip_rect_min, struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect);
|
||||||
|
CIMGUI_API void ImDrawList_PushClipRectFullScreen(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_PopClipRect(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_PushTextureID(struct ImDrawList* list, CONST ImTextureID texture_id);
|
||||||
|
CIMGUI_API void ImDrawList_PopTextureID(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_GetClipRectMin(struct ImVec2 *pOut, struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_GetClipRectMax(struct ImVec2 *pOut, struct ImDrawList* list);
|
||||||
|
|
||||||
|
// Primitives
|
||||||
|
CIMGUI_API void ImDrawList_AddLine(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float thickness);
|
||||||
|
CIMGUI_API void ImDrawList_AddRect(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags, float thickness);
|
||||||
|
CIMGUI_API void ImDrawList_AddRectFilled(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags);
|
||||||
|
CIMGUI_API void ImDrawList_AddRectFilledMultiColor(struct 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_AddQuad(struct 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_AddQuadFilled(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_AddTriangle(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col, float thickness);
|
||||||
|
CIMGUI_API void ImDrawList_AddTriangleFilled(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_AddCircle(struct ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments, float thickness);
|
||||||
|
CIMGUI_API void ImDrawList_AddCircleFilled(struct ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments);
|
||||||
|
CIMGUI_API void ImDrawList_AddText(struct ImDrawList* list, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end);
|
||||||
|
CIMGUI_API void ImDrawList_AddTextExt(struct ImDrawList* list, CONST struct ImFont* font, float font_size, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end, float wrap_width, CONST struct ImVec4* cpu_fine_clip_rect);
|
||||||
|
CIMGUI_API void ImDrawList_AddImage(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);
|
||||||
|
CIMGUI_API void ImDrawList_AddImageQuad(struct ImDrawList* list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, CONST struct ImVec2 uv_c, CONST struct ImVec2 uv_d, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_AddPolyline(struct ImDrawList* list, CONST struct ImVec2* points, CONST int num_points, ImU32 col, bool closed, float thickness, bool anti_aliased);
|
||||||
|
CIMGUI_API void ImDrawList_AddConvexPolyFilled(struct ImDrawList* list, CONST struct ImVec2* points, CONST int num_points, ImU32 col, bool anti_aliased);
|
||||||
|
CIMGUI_API void ImDrawList_AddBezierCurve(struct ImDrawList* list, CONST struct ImVec2 pos0, CONST struct ImVec2 cp0, CONST struct ImVec2 cp1, CONST struct ImVec2 pos1, ImU32 col, float thickness, int num_segments);
|
||||||
|
|
||||||
|
// Stateful path API, add points then finish with PathFill() or PathStroke()
|
||||||
|
CIMGUI_API void ImDrawList_PathClear(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_PathLineTo(struct ImDrawList* list, CONST struct ImVec2 pos);
|
||||||
|
CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(struct ImDrawList* list, CONST struct ImVec2 pos);
|
||||||
|
CIMGUI_API void ImDrawList_PathFillConvex(struct ImDrawList* list, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_PathStroke(struct ImDrawList* list, ImU32 col, bool closed, float thickness);
|
||||||
|
CIMGUI_API void ImDrawList_PathArcTo(struct ImDrawList* list, CONST struct ImVec2 centre, float radius, float a_min, float a_max, int num_segments);
|
||||||
|
CIMGUI_API void ImDrawList_PathArcToFast(struct ImDrawList* list, CONST struct ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12); // Use precomputed angles for a 12 steps circle
|
||||||
|
CIMGUI_API void ImDrawList_PathBezierCurveTo(struct ImDrawList* list, CONST struct ImVec2 p1, CONST struct ImVec2 p2, CONST struct ImVec2 p3, int num_segments);
|
||||||
|
CIMGUI_API void ImDrawList_PathRect(struct ImDrawList* list, CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max, float rounding, int rounding_corners_flags);
|
||||||
|
|
||||||
|
// Channels
|
||||||
|
CIMGUI_API void ImDrawList_ChannelsSplit(struct ImDrawList* list, int channels_count);
|
||||||
|
CIMGUI_API void ImDrawList_ChannelsMerge(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_ChannelsSetCurrent(struct ImDrawList* list, int channel_index);
|
||||||
|
|
||||||
|
// Advanced
|
||||||
|
CIMGUI_API void ImDrawList_AddCallback(struct ImDrawList* list, ImDrawCallback callback, void* callback_data); // Your rendering function must check for 'UserCallback' in ImDrawCmd and call the function instead of rendering triangles.
|
||||||
|
CIMGUI_API void ImDrawList_AddDrawCmd(struct ImDrawList* list); // This is useful if you need to forcefully create a new draw call (to allow for dependent rendering / blending). Otherwise primitives are merged into the same draw-call as much as possible
|
||||||
|
|
||||||
|
// Internal helpers
|
||||||
|
CIMGUI_API void ImDrawList_PrimReserve(struct ImDrawList* list, int idx_count, int vtx_count);
|
||||||
|
CIMGUI_API void ImDrawList_PrimRect(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_PrimRectUV(struct ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_PrimQuadUV(struct ImDrawList* list,CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, CONST struct ImVec2 uv_c, CONST struct ImVec2 uv_d, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_PrimWriteVtx(struct ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_PrimWriteIdx(struct ImDrawList* list, ImDrawIdx idx);
|
||||||
|
CIMGUI_API void ImDrawList_PrimVtx(struct ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col);
|
||||||
|
CIMGUI_API void ImDrawList_UpdateClipRect(struct ImDrawList* list);
|
||||||
|
CIMGUI_API void ImDrawList_UpdateTextureID(struct ImDrawList* list);
|
||||||
|
|
||||||
|
// ImGuiListClipper
|
||||||
|
CIMGUI_API void ImGuiListClipper_Begin(struct ImGuiListClipper* clipper, int count, float items_height);
|
||||||
|
CIMGUI_API void ImGuiListClipper_End(struct ImGuiListClipper* clipper);
|
||||||
|
CIMGUI_API bool ImGuiListClipper_Step(struct ImGuiListClipper* clipper);
|
||||||
|
CIMGUI_API int ImGuiListClipper_GetDisplayStart(struct ImGuiListClipper* clipper);
|
||||||
|
CIMGUI_API int ImGuiListClipper_GetDisplayEnd(struct 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);
|
||||||
|
@@ -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
|
||||||
|
@@ -1,14 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
<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>
|
||||||
@@ -19,13 +27,26 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v120</PlatformToolset>
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</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>
|
||||||
<PlatformToolset>v120</PlatformToolset>
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -35,16 +56,28 @@
|
|||||||
<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>
|
||||||
@@ -77,11 +144,15 @@
|
|||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\imgui\imgui.cpp" />
|
<ClCompile Include="..\imgui\imgui.cpp" />
|
||||||
|
<ClCompile Include="..\imgui\imgui_demo.cpp" />
|
||||||
|
<ClCompile Include="..\imgui\imgui_draw.cpp" />
|
||||||
<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="cimgui.h" />
|
<ClInclude Include="cimgui.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
@@ -27,10 +27,22 @@
|
|||||||
<ClCompile Include="drawList.cpp">
|
<ClCompile Include="drawList.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\imgui\imgui_draw.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\imgui\imgui_demo.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="listClipper.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="cimgui.h">
|
<ClInclude Include="cimgui.h">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\imgui\imgui_internal.h">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@@ -12,12 +12,12 @@ CIMGUI_API ImDrawVert* ImDrawList_GetVertexPtr(ImDrawList* list, int n)
|
|||||||
return &list->VtxBuffer[n];
|
return &list->VtxBuffer[n];
|
||||||
}
|
}
|
||||||
|
|
||||||
CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list)
|
CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list)
|
||||||
{
|
{
|
||||||
return list->IdxBuffer.size();
|
return list->IdxBuffer.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n)
|
CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n)
|
||||||
{
|
{
|
||||||
return &list->IdxBuffer[n];
|
return &list->IdxBuffer[n];
|
||||||
}
|
}
|
||||||
@@ -35,4 +35,254 @@ CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n)
|
|||||||
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData)
|
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData)
|
||||||
{
|
{
|
||||||
return drawData->DeIndexAllBuffers();
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->ClearFreeMemory();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, struct ImVec2 clip_rect_min, struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect)
|
||||||
|
{
|
||||||
|
return list->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->PushClipRectFullScreen();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->PopClipRect();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* list, CONST ImTextureID texture_id)
|
||||||
|
{
|
||||||
|
return list->PushTextureID(texture_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->PopTextureID();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_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)
|
||||||
|
{
|
||||||
|
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_flags, float 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_flags)
|
||||||
|
{
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left);
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col, float thickness)
|
||||||
|
{
|
||||||
|
return list->AddTriangle(a,b,c,col,thickness);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->AddTriangleFilled(a, b, c, col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddCircle(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments, float thickness)
|
||||||
|
{
|
||||||
|
return list->AddCircle(centre, radius, col, num_segments, thickness);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments)
|
||||||
|
{
|
||||||
|
return list->AddCircleFilled(centre, radius, col, num_segments);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddText(ImDrawList* list, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end)
|
||||||
|
{
|
||||||
|
return list->AddText(pos, col, text_begin, text_end);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddTextExt(ImDrawList* list, CONST ImFont* font, float font_size, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end, float wrap_width, CONST ImVec4* cpu_fine_clip_rect)
|
||||||
|
{
|
||||||
|
return list->AddText(font, font_size, pos, col, text_begin, text_end, wrap_width, cpu_fine_clip_rect);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddImage(ImDrawList* list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->AddImage(user_texture_id, a, b, uv_a, uv_b, col);
|
||||||
|
}
|
||||||
|
|
||||||
|
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->AddImageQuad(user_texture_id, a, b, c, d, uv_a, uv_b, uv_c, uv_d, col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool closed, float thickness, bool anti_aliased)
|
||||||
|
{
|
||||||
|
return list->AddPolyline(points, num_points, col, closed, thickness, anti_aliased);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool anti_aliased)
|
||||||
|
{
|
||||||
|
return list->AddConvexPolyFilled(points, num_points, col, anti_aliased);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* list, CONST struct ImVec2 pos0, CONST struct ImVec2 cp0, CONST struct ImVec2 cp1, CONST struct ImVec2 pos1, ImU32 col, float thickness, int num_segments)
|
||||||
|
{
|
||||||
|
return list->AddBezierCurve(pos0, cp0, cp1, pos1, col, thickness, num_segments);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathClear(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->PathClear();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* list, CONST struct ImVec2 pos)
|
||||||
|
{
|
||||||
|
return list->PathLineTo(pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* list, CONST struct ImVec2 pos)
|
||||||
|
{
|
||||||
|
return list->PathLineToMergeDuplicate(pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* list, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->PathFillConvex(col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathStroke(ImDrawList* list, ImU32 col, bool closed, float thickness)
|
||||||
|
{
|
||||||
|
return list->PathStroke(col, closed, thickness);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* list, CONST struct ImVec2 centre, float radius, float a_min, float a_max, int num_segments)
|
||||||
|
{
|
||||||
|
return list->PathArcTo(centre, radius, a_min, a_max, num_segments);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* list, CONST struct ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12)
|
||||||
|
{
|
||||||
|
return list->PathArcToFast(centre, radius, a_min_of_12, a_max_of_12);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* list, CONST struct ImVec2 p1, CONST struct ImVec2 p2, CONST struct ImVec2 p3, int num_segments)
|
||||||
|
{
|
||||||
|
return list->PathBezierCurveTo(p1, p2, p3, num_segments);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PathRect(ImDrawList* list, CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max, float rounding, int rounding_corners_flags)
|
||||||
|
{
|
||||||
|
return list->PathRect(rect_min, rect_max, rounding, rounding_corners_flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* list, int channels_count)
|
||||||
|
{
|
||||||
|
return list->ChannelsSplit(channels_count);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->ChannelsMerge();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* list, int channel_index)
|
||||||
|
{
|
||||||
|
return list->ChannelsSetCurrent(channel_index);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* list, ImDrawCallback callback, void* callback_data)
|
||||||
|
{
|
||||||
|
return list->AddCallback(callback, callback_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->AddDrawCmd();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* list, int idx_count, int vtx_count)
|
||||||
|
{
|
||||||
|
return list->PrimReserve(idx_count, vtx_count);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PrimRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->PrimRect(a, b, col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->PrimRectUV(a, b, uv_a, uv_b, col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* list,CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, CONST struct ImVec2 uv_c, CONST struct ImVec2 uv_d, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->PrimQuadUV(a,b,c,d,uv_a,uv_b,uv_c,uv_d,col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->PrimVtx(pos, uv, col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
|
||||||
|
{
|
||||||
|
return list->PrimWriteVtx(pos, uv, col);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* list, ImDrawIdx idx)
|
||||||
|
{
|
||||||
|
return list->PrimWriteIdx(idx);
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->UpdateClipRect();
|
||||||
|
}
|
||||||
|
|
||||||
|
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* list)
|
||||||
|
{
|
||||||
|
return list->UpdateTextureID();
|
||||||
|
}
|
||||||
|
@@ -2,6 +2,11 @@
|
|||||||
#include "../imgui/imgui.h"
|
#include "../imgui/imgui.h"
|
||||||
#include "cimgui.h"
|
#include "cimgui.h"
|
||||||
|
|
||||||
|
CIMGUI_API void ImFontConfig_DefaultConstructor(ImFontConfig* config)
|
||||||
|
{
|
||||||
|
*config = ImFontConfig();
|
||||||
|
}
|
||||||
|
|
||||||
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
|
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
|
||||||
{
|
{
|
||||||
atlas->GetTexDataAsRGBA32(out_pixels, out_width, out_height, out_bytes_per_pixel);
|
atlas->GetTexDataAsRGBA32(out_pixels, out_width, out_height, out_bytes_per_pixel);
|
||||||
@@ -12,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)
|
||||||
@@ -32,14 +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_font_data_base85, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* 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)
|
||||||
@@ -50,4 +60,34 @@ CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas)
|
|||||||
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();
|
||||||
|
}
|
||||||
|
27
cimgui/listClipper.cpp
Normal file
27
cimgui/listClipper.cpp
Normal 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
2
imgui
Submodule imgui updated: e8cb874afe...55a6209931
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Reference in New Issue
Block a user