Compare commits

...

16 Commits

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

View File

@@ -7,5 +7,6 @@ compiler:
- gcc
- clang
script:
script:
- make -C cimgui
- $CC cimgui/cimgui.h # Make sure we can include in a plain C compiler

View File

@@ -7,7 +7,7 @@ Most of the functions have wrapper counterparts now, missing stuff is added on a
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:
* currently this wrapper is based on version [1.50 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.50)
* currently this wrapper is based on version [1.53 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.53)
* does not compile with pure C compiler yet (for writing bindings in languages that are able to use C-ABI it is enough though, see D-bindings)
# usage
@@ -22,4 +22,5 @@ Notes:
* [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)
* [imgui-pas](https://github.com/dpethes/imgui-pas)
* [odin-dear_imgui](https://github.com/ThisDrunkDane/odin-dear_imgui)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,287 +2,292 @@
#include "../imgui/imgui.h"
#include "cimgui.h"
CIMGUI_API int ImDrawList_GetVertexBufferSize(ImDrawList* list)
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData *drawData)
{
return list->VtxBuffer.size();
return drawData->DeIndexAllBuffers();
}
CIMGUI_API ImDrawVert* ImDrawList_GetVertexPtr(ImDrawList* list, int n)
CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData *drawData, const struct ImVec2 sc)
{
return &list->VtxBuffer[n];
return drawData->ScaleClipRects(sc);
}
CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list)
CIMGUI_API int ImDrawList_GetVertexBufferSize(ImDrawList *list)
{
return list->IdxBuffer.size();
return list->VtxBuffer.size();
}
CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n)
CIMGUI_API ImDrawVert *ImDrawList_GetVertexPtr(ImDrawList *list, int n)
{
return &list->IdxBuffer[n];
return &list->VtxBuffer[n];
}
CIMGUI_API int ImDrawList_GetCmdSize(ImDrawList* list)
CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList *list)
{
return list->CmdBuffer.size();
return list->IdxBuffer.size();
}
CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n)
CIMGUI_API ImDrawIdx *ImDrawList_GetIndexPtr(ImDrawList *list, int n)
{
return &list->CmdBuffer[n];
return &list->IdxBuffer[n];
}
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData)
CIMGUI_API int ImDrawList_GetCmdSize(ImDrawList *list)
{
return drawData->DeIndexAllBuffers();
return list->CmdBuffer.size();
}
CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* drawData, struct ImVec2 sc)
CIMGUI_API ImDrawCmd *ImDrawList_GetCmdPtr(ImDrawList *list, int n)
{
return drawData->ScaleClipRects(sc);
return &list->CmdBuffer[n];
}
CIMGUI_API void ImDrawList_Clear(ImDrawList* list)
CIMGUI_API void ImDrawList_Clear(ImDrawList *list)
{
return list->Clear();
return list->Clear();
}
CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* list)
CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList *list)
{
return list->ClearFreeMemory();
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)
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);
return list->PushClipRect(clip_rect_min, clip_rect_max, intersect_with_current_clip_rect);
}
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* list)
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList *list)
{
return list->PushClipRectFullScreen();
return list->PushClipRectFullScreen();
}
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* list)
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList *list)
{
return list->PopClipRect();
return list->PopClipRect();
}
CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* list, CONST ImTextureID texture_id)
CIMGUI_API void ImDrawList_PushTextureID(ImDrawList *list, CONST ImTextureID texture_id)
{
return list->PushTextureID(texture_id);
return list->PushTextureID(texture_id);
}
CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* list)
CIMGUI_API void ImDrawList_PopTextureID(ImDrawList *list)
{
return list->PopTextureID();
return list->PopTextureID();
}
CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2* pOut, ImDrawList* list)
CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2 *pOut, ImDrawList *list)
{
*pOut = list->GetClipRectMin();
*pOut = list->GetClipRectMin();
}
CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2* pOut, ImDrawList* list)
CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2 *pOut, ImDrawList *list)
{
*pOut = list->GetClipRectMax();
*pOut = list->GetClipRectMax();
}
CIMGUI_API void ImDrawList_AddLine(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float thickness)
CIMGUI_API void ImDrawList_AddLine(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float thickness)
{
return list->AddLine(a, b, col, thickness);
return list->AddLine(a, b, col, thickness);
}
CIMGUI_API void ImDrawList_AddRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags, float thickness)
CIMGUI_API void ImDrawList_AddRect(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags, float thickness)
{
return list->AddRect(a, b, col, rounding, rounding_corners_flags, 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)
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);
return list->AddRectFilled(a, b, col, rounding, rounding_corners_flags);
}
CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left)
CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left)
{
return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left);
return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left);
}
CIMGUI_API void ImDrawList_AddQuad(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col, float thickness)
CIMGUI_API void ImDrawList_AddQuad(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col, float thickness)
{
return list->AddQuad(a, b, c, d, col, thickness);
return list->AddQuad(a, b, c, d, col, thickness);
}
CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col)
CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col)
{
return list->AddQuadFilled(a, b, c, d, col);
return list->AddQuadFilled(a, b, c, d, col);
}
CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col, float thickness)
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);
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)
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);
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)
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);
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)
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);
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)
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);
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)
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);
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)
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);
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)
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);
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)
CIMGUI_API void ImDrawList_AddImageRounded(struct ImDrawList *list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col, float rounding, int rounding_corners)
{
return list->AddPolyline(points, num_points, col, closed, thickness, anti_aliased);
list->AddImageRounded(user_texture_id, a, b, uv_a, uv_b, col, rounding, rounding_corners);
}
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool anti_aliased)
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList *list, CONST ImVec2 *points, CONST int num_points, ImU32 col, bool closed, float thickness)
{
return list->AddConvexPolyFilled(points, num_points, col, anti_aliased);
return list->AddPolyline(points, num_points, col, closed, thickness);
}
CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* list, CONST struct ImVec2 pos0, CONST struct ImVec2 cp0, CONST struct ImVec2 cp1, CONST struct ImVec2 pos1, ImU32 col, float thickness, int num_segments)
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList *list, CONST ImVec2 *points, CONST int num_points, ImU32 col)
{
return list->AddBezierCurve(pos0, cp0, cp1, pos1, col, thickness, num_segments);
return list->AddConvexPolyFilled(points, num_points, col);
}
CIMGUI_API void ImDrawList_PathClear(ImDrawList* list)
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->PathClear();
return list->AddBezierCurve(pos0, cp0, cp1, pos1, col, thickness, num_segments);
}
CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* list, CONST struct ImVec2 pos)
CIMGUI_API void ImDrawList_PathClear(ImDrawList *list)
{
return list->PathLineTo(pos);
return list->PathClear();
}
CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* list, CONST struct ImVec2 pos)
CIMGUI_API void ImDrawList_PathLineTo(ImDrawList *list, CONST struct ImVec2 pos)
{
return list->PathLineToMergeDuplicate(pos);
return list->PathLineTo(pos);
}
CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* list, ImU32 col)
CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList *list, CONST struct ImVec2 pos)
{
return list->PathFillConvex(col);
return list->PathLineToMergeDuplicate(pos);
}
CIMGUI_API void ImDrawList_PathStroke(ImDrawList* list, ImU32 col, bool closed, float thickness)
CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList *list, ImU32 col)
{
return list->PathStroke(col, closed, thickness);
return list->PathFillConvex(col);
}
CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* list, CONST struct ImVec2 centre, float radius, float a_min, float a_max, int num_segments)
CIMGUI_API void ImDrawList_PathStroke(ImDrawList *list, ImU32 col, bool closed, float thickness)
{
return list->PathArcTo(centre, radius, a_min, a_max, num_segments);
return list->PathStroke(col, closed, thickness);
}
CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* list, CONST struct ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12)
CIMGUI_API void ImDrawList_PathArcTo(ImDrawList *list, CONST struct ImVec2 centre, float radius, float a_min, float a_max, int num_segments)
{
return list->PathArcToFast(centre, radius, a_min_of_12, a_max_of_12);
return list->PathArcTo(centre, radius, a_min, a_max, num_segments);
}
CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* list, CONST struct ImVec2 p1, CONST struct ImVec2 p2, CONST struct ImVec2 p3, int num_segments)
CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList *list, CONST struct ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12)
{
return list->PathBezierCurveTo(p1, p2, p3, num_segments);
return list->PathArcToFast(centre, radius, a_min_of_12, a_max_of_12);
}
CIMGUI_API void ImDrawList_PathRect(ImDrawList* list, CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max, float rounding, int rounding_corners_flags)
CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList *list, CONST struct ImVec2 p1, CONST struct ImVec2 p2, CONST struct ImVec2 p3, int num_segments)
{
return list->PathRect(rect_min, rect_max, rounding, rounding_corners_flags);
return list->PathBezierCurveTo(p1, p2, p3, num_segments);
}
CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* list, int channels_count)
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->ChannelsSplit(channels_count);
return list->PathRect(rect_min, rect_max, rounding, rounding_corners_flags);
}
CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* list)
CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList *list, int channels_count)
{
return list->ChannelsMerge();
return list->ChannelsSplit(channels_count);
}
CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* list, int channel_index)
CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList *list)
{
return list->ChannelsSetCurrent(channel_index);
return list->ChannelsMerge();
}
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* list, ImDrawCallback callback, void* callback_data)
CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList *list, int channel_index)
{
return list->AddCallback(callback, callback_data);
return list->ChannelsSetCurrent(channel_index);
}
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* list)
CIMGUI_API void ImDrawList_AddCallback(ImDrawList *list, ImDrawCallback callback, void *callback_data)
{
return list->AddDrawCmd();
return list->AddCallback(callback, callback_data);
}
CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* list, int idx_count, int vtx_count)
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList *list)
{
return list->PrimReserve(idx_count, vtx_count);
return list->AddDrawCmd();
}
CIMGUI_API void ImDrawList_PrimRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col)
CIMGUI_API void ImDrawList_PrimReserve(ImDrawList *list, int idx_count, int vtx_count)
{
return list->PrimRect(a, b, col);
return list->PrimReserve(idx_count, vtx_count);
}
CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col)
CIMGUI_API void ImDrawList_PrimRect(ImDrawList *list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col)
{
return list->PrimRectUV(a, b, uv_a, uv_b, col);
return list->PrimRect(a, 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)
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->PrimQuadUV(a,b,c,d,uv_a,uv_b,uv_c,uv_d,col);
return list->PrimRectUV(a, b, uv_a, uv_b, col);
}
CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
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->PrimVtx(pos, uv, col);
return list->PrimQuadUV(a, b, c, d, uv_a, uv_b, uv_c, uv_d, col);
}
CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
CIMGUI_API void ImDrawList_PrimVtx(ImDrawList *list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
{
return list->PrimWriteVtx(pos, uv, col);
return list->PrimVtx(pos, uv, col);
}
CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* list, ImDrawIdx idx)
CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList *list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
{
return list->PrimWriteIdx(idx);
return list->PrimWriteVtx(pos, uv, col);
}
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* list)
CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList *list, ImDrawIdx idx)
{
return list->UpdateClipRect();
return list->PrimWriteIdx(idx);
}
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* list)
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList *list)
{
return list->UpdateTextureID();
return list->UpdateClipRect();
}
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList *list)
{
return list->UpdateTextureID();
}

View File

@@ -2,92 +2,327 @@
#include "../imgui/imgui.h"
#include "cimgui.h"
CIMGUI_API void ImFontConfig_DefaultConstructor(ImFontConfig* config)
CIMGUI_API void ImFontConfig_DefaultConstructor(ImFontConfig *config)
{
*config = ImFontConfig();
*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);
}
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_GetTexDataAsAlpha8(ImFontAtlas *atlas, unsigned char **out_pixels, int *out_width, int *out_height, int *out_bytes_per_pixel)
{
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, ImTextureID id)
CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas *atlas, ImTextureID id)
{
atlas->TexID = id;
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)
{
return atlas->AddFont(font_cfg);
return atlas->AddFont(font_cfg);
}
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* atlas, CONST ImFontConfig* font_cfg)
CIMGUI_API ImFont *ImFontAtlas_AddFontDefault(ImFontAtlas *atlas, CONST ImFontConfig *font_cfg)
{
return atlas->AddFontDefault(font_cfg);
return atlas->AddFontDefault(font_cfg);
}
CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas,CONST char* filename, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges)
CIMGUI_API ImFont *ImFontAtlas_AddFontFromFileTTF(ImFontAtlas *atlas, CONST char *filename, float size_pixels, CONST ImFontConfig *font_cfg, CONST ImWchar *glyph_ranges)
{
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* font_data, int font_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(font_data, font_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_font_data, int compressed_font_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_font_data, compressed_font_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)
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);
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)
{
return atlas->ClearTexData();
return atlas->ClearTexData();
}
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas)
CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas *atlas)
{
return atlas->Clear();
return atlas->ClearInputData();
}
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesDefault(struct ImFontAtlas* atlas)
CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesDefault();
return atlas->ClearFonts();
}
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesKorean(struct ImFontAtlas* atlas)
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesKorean();
return atlas->Clear();
}
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesJapanese(struct ImFontAtlas* atlas)
CIMGUI_API CONST ImWchar *ImFontAtlas_GetGlyphRangesDefault(struct ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesJapanese();
return atlas->GetGlyphRangesDefault();
}
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesChinese(struct ImFontAtlas* atlas)
CIMGUI_API CONST ImWchar *ImFontAtlas_GetGlyphRangesKorean(struct ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesChinese();
return atlas->GetGlyphRangesKorean();
}
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(struct ImFontAtlas* atlas)
CIMGUI_API CONST ImWchar *ImFontAtlas_GetGlyphRangesJapanese(struct ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesCyrillic();
return atlas->GetGlyphRangesJapanese();
}
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesThai(struct ImFontAtlas* atlas)
CIMGUI_API CONST ImWchar *ImFontAtlas_GetGlyphRangesChinese(struct ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesThai();
return atlas->GetGlyphRangesChinese();
}
CIMGUI_API CONST ImWchar *ImFontAtlas_GetGlyphRangesCyrillic(struct ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesCyrillic();
}
CIMGUI_API CONST ImWchar *ImFontAtlas_GetGlyphRangesThai(struct ImFontAtlas *atlas)
{
return atlas->GetGlyphRangesThai();
}
CIMGUI_API ImTextureID ImFontAtlas_GetTexID(struct ImFontAtlas *atlas)
{
return atlas->TexID;
}
CIMGUI_API unsigned char *ImFontAtlas_GetTexPixelsAlpha8(struct ImFontAtlas *atlas)
{
return atlas->TexPixelsAlpha8;
}
CIMGUI_API unsigned int *ImFontAtlas_GetTexPixelsRGBA32(struct ImFontAtlas *atlas)
{
return atlas->TexPixelsRGBA32;
}
CIMGUI_API int ImFontAtlas_GetTexWidth(struct ImFontAtlas *atlas)
{
return atlas->TexWidth;
}
CIMGUI_API int ImFontAtlas_GetTexHeight(struct ImFontAtlas *atlas)
{
return atlas->TexHeight;
}
CIMGUI_API int ImFontAtlas_GetTexDesiredWidth(struct ImFontAtlas *atlas)
{
return atlas->TexDesiredWidth;
}
CIMGUI_API void ImFontAtlas_SetTexDesiredWidth(struct ImFontAtlas *atlas, int TexDesiredWidth_)
{
atlas->TexDesiredWidth = TexDesiredWidth_;
}
CIMGUI_API int ImFontAtlas_GetTexGlyphPadding(struct ImFontAtlas *atlas)
{
return atlas->TexGlyphPadding;
}
CIMGUI_API void ImFontAtlas_SetTexGlyphPadding(struct ImFontAtlas *atlas, int TexGlyphPadding_)
{
atlas->TexGlyphPadding = TexGlyphPadding_;
}
CIMGUI_API void ImFontAtlas_GetTexUvWhitePixel(struct ImFontAtlas *atlas, ImVec2 *pOut)
{
*pOut = atlas->TexUvWhitePixel;
}
// ImFontAtlas::Fonts;
CIMGUI_API int ImFontAtlas_Fonts_size(struct ImFontAtlas *atlas)
{
return atlas->Fonts.size();
}
CIMGUI_API ImFont *ImFontAtlas_Fonts_index(struct ImFontAtlas *atlas, int index)
{
return atlas->Fonts[index];
}
// ImFont
CIMGUI_API float ImFont_GetFontSize(CONST struct ImFont *font)
{
return font->FontSize;
}
CIMGUI_API void ImFont_SetFontSize(struct ImFont *font, float FontSize_)
{
font->FontSize = FontSize_;
}
CIMGUI_API float ImFont_GetScale(CONST struct ImFont *font)
{
return font->Scale;
}
CIMGUI_API void ImFont_SetScale(struct ImFont *font, float Scale_)
{
font->Scale = Scale_;
}
CIMGUI_API void ImFont_GetDisplayOffset(CONST struct ImFont *font, ImVec2 *pOut)
{
*pOut = font->DisplayOffset;
}
CIMGUI_API CONST struct IMFONTGLYPH *ImFont_GetFallbackGlyph(CONST struct ImFont *font)
{
return font->FallbackGlyph;
}
CIMGUI_API void ImFont_SetFallbackGlyph(struct ImFont *font, CONST struct IMFONTGLYPH *FallbackGlyph_)
{
font->FallbackGlyph = FallbackGlyph_;
}
CIMGUI_API float ImFont_GetFallbackAdvanceX(CONST struct ImFont *font)
{
return font->FallbackAdvanceX;
}
CIMGUI_API ImWchar ImFont_GetFallbackChar(CONST struct ImFont *font)
{
return font->FallbackChar;
}
CIMGUI_API short ImFont_GetConfigDataCount(CONST struct ImFont *font)
{
return font->ConfigDataCount;
}
CIMGUI_API struct ImFontConfig *ImFont_GetConfigData(struct ImFont *font)
{
return font->ConfigData;
}
CIMGUI_API struct ImFontAtlas *ImFont_GetContainerAtlas(struct ImFont *font)
{
return font->ContainerAtlas;
}
CIMGUI_API float ImFont_GetAscent(CONST struct ImFont *font)
{
return font->Ascent;
}
CIMGUI_API float ImFont_GetDescent(CONST struct ImFont *font)
{
return font->Descent;
}
CIMGUI_API int ImFont_GetMetricsTotalSurface(CONST struct ImFont *font)
{
return font->MetricsTotalSurface;
}
CIMGUI_API void ImFont_ClearOutputData(struct ImFont *font)
{
font->ClearOutputData();
}
CIMGUI_API void ImFont_BuildLookupTable(struct ImFont *font)
{
font->BuildLookupTable();
}
CIMGUI_API CONST struct IMFONTGLYPH *ImFont_FindGlyph(CONST struct ImFont *font, ImWchar c)
{
return font->FindGlyph(c);
}
CIMGUI_API void ImFont_SetFallbackChar(struct ImFont *font, ImWchar c)
{
font->SetFallbackChar(c);
}
CIMGUI_API float ImFont_GetCharAdvance(CONST struct ImFont *font, ImWchar c)
{
return font->GetCharAdvance(c);
}
CIMGUI_API bool ImFont_IsLoaded(CONST struct ImFont *font)
{
return font->IsLoaded();
}
CIMGUI_API CONST char *ImFont_GetDebugName(CONST struct ImFont *font)
{
return font->GetDebugName();
}
CIMGUI_API void ImFont_CalcTextSizeA(CONST struct ImFont *font, ImVec2 *pOut, float size, float max_width, float wrap_width, CONST char *text_begin, CONST char *text_end, CONST char **remaining)
{
*pOut = font->CalcTextSizeA(size, max_width, wrap_width, text_begin, text_end, remaining);
}
CIMGUI_API CONST char *ImFont_CalcWordWrapPositionA(CONST struct ImFont *font, float scale, CONST char *text, CONST char *text_end, float wrap_width)
{
return font->CalcWordWrapPositionA(scale, text, text_end, wrap_width);
}
CIMGUI_API void ImFont_RenderChar(CONST struct ImFont *font, ImDrawList *draw_list, float size, ImVec2 pos, ImU32 col, unsigned short c)
{
return font->RenderChar(draw_list, size, pos, col, c);
}
CIMGUI_API void ImFont_RenderText(CONST struct ImFont *font, ImDrawList *draw_list, float size, ImVec2 pos, ImU32 col, CONST ImVec4 *clip_rect, CONST char *text_begin, CONST char *text_end, float wrap_width, bool cpu_fine_clip)
{
return font->RenderText(draw_list, size, pos, col, *clip_rect, text_begin, text_end, wrap_width, cpu_fine_clip);
}
// ImFont::Glyph
CIMGUI_API int ImFont_Glyphs_size(CONST struct ImFont *font)
{
return font->Glyphs.size();
}
CIMGUI_API struct IMFONTGLYPH *ImFont_Glyphs_index(struct ImFont *font, int index)
{
return &font->Glyphs[index];
}
// ImFont::IndexXAdvance
CIMGUI_API int ImFont_IndexXAdvance_size(CONST struct ImFont *font)
{
return font->IndexAdvanceX.size();
}
CIMGUI_API float ImFont_IndexXAdvance_index(CONST struct ImFont *font, int index)
{
return font->IndexAdvanceX[index];
}
// ImFont::IndexLookup
CIMGUI_API int ImFont_IndexLookup_size(CONST struct ImFont *font)
{
return font->IndexLookup.size();
}
CIMGUI_API unsigned short ImFont_IndexLookup_index(CONST struct ImFont *font, int index)
{
return font->IndexLookup[index];
}

2
imgui

Submodule imgui updated: 55a6209931...e916310b2e