pull imgui docking 1.81 and generate

This commit is contained in:
Victor Bombi
2021-02-11 10:31:31 +01:00
parent 2638737f2c
commit 7756c4f53f
12 changed files with 3884 additions and 3432 deletions

131
cimgui.h
View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.80" from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.81" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//docking branch
#ifndef CIMGUI_INCLUDED
@@ -116,6 +116,7 @@ typedef struct ImColor ImColor;
typedef struct ImFontGlyphRangesBuilder ImFontGlyphRangesBuilder;
typedef struct ImFontGlyph ImFontGlyph;
typedef struct ImFontConfig ImFontConfig;
typedef struct ImFontBuilderIO ImFontBuilderIO;
typedef struct ImFontAtlas ImFontAtlas;
typedef struct ImFont ImFont;
typedef struct ImDrawVert ImDrawVert;
@@ -135,6 +136,7 @@ struct ImDrawListSplitter;
struct ImDrawVert;
struct ImFont;
struct ImFontAtlas;
struct ImFontBuilderIO;
struct ImFontConfig;
struct ImFontGlyph;
struct ImFontGlyphRangesBuilder;
@@ -1146,10 +1148,10 @@ struct ImDrawList
struct ImDrawData
{
bool Valid;
ImDrawList** CmdLists;
int CmdListsCount;
int TotalIdxCount;
int TotalVtxCount;
ImDrawList** CmdLists;
ImVec2 DisplayPos;
ImVec2 DisplaySize;
ImVec2 FramebufferScale;
@@ -1171,7 +1173,7 @@ struct ImFontConfig
float GlyphMinAdvanceX;
float GlyphMaxAdvanceX;
bool MergeMode;
unsigned int RasterizerFlags;
unsigned int FontBuilderFlags;
float RasterizerMultiply;
ImWchar EllipsisChar;
char Name[40];
@@ -1179,8 +1181,9 @@ struct ImFontConfig
};
struct ImFontGlyph
{
unsigned int Codepoint : 31;
unsigned int Colored : 1;
unsigned int Visible : 1;
unsigned int Codepoint : 30;
float AdvanceX;
float X0, Y0, X1, Y1;
float U0, V0, U1, V1;
@@ -1221,6 +1224,8 @@ struct ImFontAtlas
ImVector_ImFontAtlasCustomRect CustomRects;
ImVector_ImFontConfig ConfigData;
ImVec4 TexUvLines[(63) + 1];
const ImFontBuilderIO* FontBuilderIO;
unsigned int FontBuilderFlags;
int PackIdMouseCursors;
int PackIdLines;
};
@@ -1243,6 +1248,41 @@ struct ImFont
int MetricsTotalSurface;
ImU8 Used4kPagesMap[(0xFFFF +1)/4096/8];
};
typedef enum {
ImGuiViewportFlags_None = 0,
ImGuiViewportFlags_IsPlatformWindow = 1 << 0,
ImGuiViewportFlags_IsPlatformMonitor = 1 << 1,
ImGuiViewportFlags_OwnedByApp = 1 << 2,
ImGuiViewportFlags_NoDecoration = 1 << 3,
ImGuiViewportFlags_NoTaskBarIcon = 1 << 4,
ImGuiViewportFlags_NoFocusOnAppearing = 1 << 5,
ImGuiViewportFlags_NoFocusOnClick = 1 << 6,
ImGuiViewportFlags_NoInputs = 1 << 7,
ImGuiViewportFlags_NoRendererClear = 1 << 8,
ImGuiViewportFlags_TopMost = 1 << 9,
ImGuiViewportFlags_Minimized = 1 << 10,
ImGuiViewportFlags_NoAutoMerge = 1 << 11,
ImGuiViewportFlags_CanHostOtherWindows = 1 << 12
}ImGuiViewportFlags_;
struct ImGuiViewport
{
ImGuiID ID;
ImGuiViewportFlags Flags;
ImVec2 Pos;
ImVec2 Size;
ImVec2 WorkPos;
ImVec2 WorkSize;
float DpiScale;
ImGuiID ParentViewportId;
ImDrawData* DrawData;
void* RendererUserData;
void* PlatformUserData;
void* PlatformHandle;
void* PlatformHandleRaw;
bool PlatformRequestMove;
bool PlatformRequestResize;
bool PlatformRequestClose;
};
struct ImGuiPlatformIO
{
void (*Platform_CreateWindow)(ImGuiViewport* vp);
@@ -1270,7 +1310,6 @@ struct ImGuiPlatformIO
void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg);
void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
ImVector_ImGuiPlatformMonitor Monitors;
ImGuiViewport* MainViewport;
ImVector_ImGuiViewportPtr Viewports;
};
struct ImGuiPlatformMonitor
@@ -1279,38 +1318,6 @@ struct ImGuiPlatformMonitor
ImVec2 WorkPos, WorkSize;
float DpiScale;
};
typedef enum {
ImGuiViewportFlags_None = 0,
ImGuiViewportFlags_NoDecoration = 1 << 0,
ImGuiViewportFlags_NoTaskBarIcon = 1 << 1,
ImGuiViewportFlags_NoFocusOnAppearing = 1 << 2,
ImGuiViewportFlags_NoFocusOnClick = 1 << 3,
ImGuiViewportFlags_NoInputs = 1 << 4,
ImGuiViewportFlags_NoRendererClear = 1 << 5,
ImGuiViewportFlags_TopMost = 1 << 6,
ImGuiViewportFlags_Minimized = 1 << 7,
ImGuiViewportFlags_NoAutoMerge = 1 << 8,
ImGuiViewportFlags_CanHostOtherWindows = 1 << 9
}ImGuiViewportFlags_;
struct ImGuiViewport
{
ImGuiID ID;
ImGuiViewportFlags Flags;
ImVec2 Pos;
ImVec2 Size;
ImVec2 WorkOffsetMin;
ImVec2 WorkOffsetMax;
float DpiScale;
ImDrawData* DrawData;
ImGuiID ParentViewportId;
void* RendererUserData;
void* PlatformUserData;
void* PlatformHandle;
void* PlatformHandleRaw;
bool PlatformRequestMove;
bool PlatformRequestResize;
bool PlatformRequestClose;
};
struct StbUndoRecord
{
int where;
@@ -1800,7 +1807,6 @@ struct ImGuiViewportP
ImGuiViewport _ImGuiViewport;
int Idx;
int LastFrameActive;
int LastFrameDrawLists[2];
int LastFrontMostStampCount;
ImGuiID LastNameHash;
ImVec2 LastPos;
@@ -1809,12 +1815,15 @@ struct ImGuiViewportP
short PlatformMonitor;
bool PlatformWindowCreated;
ImGuiWindow* Window;
int DrawListsLastFrame[2];
ImDrawList* DrawLists[2];
ImDrawData DrawDataP;
ImDrawDataBuilder DrawDataBuilder;
ImVec2 LastPlatformPos;
ImVec2 LastPlatformSize;
ImVec2 LastRendererSize;
ImVec2 WorkOffsetMin;
ImVec2 WorkOffsetMax;
ImVec2 CurrWorkOffsetMin;
ImVec2 CurrWorkOffsetMax;
};
@@ -1864,9 +1873,10 @@ struct ImGuiStackSizes
short SizeOfGroupStack;
short SizeOfBeginPopupStack;
};
typedef enum { ImGuiContextHookType_NewFramePre, ImGuiContextHookType_NewFramePost, ImGuiContextHookType_EndFramePre, ImGuiContextHookType_EndFramePost, ImGuiContextHookType_RenderPre, ImGuiContextHookType_RenderPost, ImGuiContextHookType_Shutdown }ImGuiContextHookType;
typedef enum { ImGuiContextHookType_NewFramePre, ImGuiContextHookType_NewFramePost, ImGuiContextHookType_EndFramePre, ImGuiContextHookType_EndFramePost, ImGuiContextHookType_RenderPre, ImGuiContextHookType_RenderPost, ImGuiContextHookType_Shutdown, ImGuiContextHookType_PendingRemoval_ }ImGuiContextHookType;
struct ImGuiContextHook
{
ImGuiID HookId;
ImGuiContextHookType Type;
ImGuiID Owner;
ImGuiContextHookCallback Callback;
@@ -1958,6 +1968,7 @@ struct ImGuiContext
ImGuiViewportP* CurrentViewport;
ImGuiViewportP* MouseViewport;
ImGuiViewportP* MouseLastHoveredViewport;
ImGuiID PlatformLastFocusedViewportId;
int ViewportFrontMostStampCount;
ImGuiWindow* NavWindow;
ImGuiID NavId;
@@ -2068,10 +2079,13 @@ struct ImGuiContext
ImChunkStream_ImGuiWindowSettings SettingsWindows;
ImChunkStream_ImGuiTableSettings SettingsTables;
ImVector_ImGuiContextHook Hooks;
ImGuiID HookIdNext;
bool LogEnabled;
ImGuiLogType LogType;
ImFileHandle LogFile;
ImGuiTextBuffer LogBuffer;
const char* LogNextPrefix;
const char* LogNextSuffix;
float LogLinePosY;
bool LogLineFirstItem;
int LogDepthRef;
@@ -2482,6 +2496,10 @@ struct ImGuiTableSettings
ImGuiTableColumnIdx ColumnsCountMax;
bool WantApply;
};
struct ImFontBuilderIO
{
bool (*FontBuilder_Build)(ImFontAtlas* atlas);
};
#define IMGUI_HAS_DOCK 1
#else
@@ -2583,11 +2601,11 @@ CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags);
CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags);
CIMGUI_API ImDrawList* igGetWindowDrawList(void);
CIMGUI_API float igGetWindowDpiScale(void);
CIMGUI_API ImGuiViewport* igGetWindowViewport(void);
CIMGUI_API void igGetWindowPos(ImVec2 *pOut);
CIMGUI_API void igGetWindowSize(ImVec2 *pOut);
CIMGUI_API float igGetWindowWidth(void);
CIMGUI_API float igGetWindowHeight(void);
CIMGUI_API ImGuiViewport* igGetWindowViewport(void);
CIMGUI_API void igSetNextWindowPos(const ImVec2 pos,ImGuiCond cond,const ImVec2 pivot);
CIMGUI_API void igSetNextWindowSize(const ImVec2 size,ImGuiCond cond);
CIMGUI_API void igSetNextWindowSizeConstraints(const ImVec2 size_min,const ImVec2 size_max,ImGuiSizeCallback custom_callback,void* custom_callback_data);
@@ -2772,11 +2790,10 @@ CIMGUI_API bool igCollapsingHeaderBoolPtr(const char* label,bool* p_visible,ImGu
CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond);
CIMGUI_API bool igSelectableBool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size);
CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size);
CIMGUI_API bool igBeginListBox(const char* label,const ImVec2 size);
CIMGUI_API void igEndListBox(void);
CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items);
CIMGUI_API bool igListBoxFnBoolPtr(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 igListBoxHeaderVec2(const char* label,const ImVec2 size);
CIMGUI_API bool igListBoxHeaderInt(const char* label,int items_count,int height_in_items);
CIMGUI_API void igListBoxFooter(void);
CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
CIMGUI_API void igPlotLinesFnFloatPtr(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,ImVec2 graph_size);
CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
@@ -2838,7 +2855,7 @@ CIMGUI_API void igEndTabItem(void);
CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags);
CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label);
CIMGUI_API void igDockSpace(ImGuiID id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igDockSpaceOverViewport(const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond);
CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igGetWindowDockID(void);
@@ -2876,6 +2893,7 @@ CIMGUI_API void igGetItemRectMin(ImVec2 *pOut);
CIMGUI_API void igGetItemRectMax(ImVec2 *pOut);
CIMGUI_API void igGetItemRectSize(ImVec2 *pOut);
CIMGUI_API void igSetItemAllowOverlap(void);
CIMGUI_API ImGuiViewport* igGetMainViewport(void);
CIMGUI_API bool igIsRectVisibleNil(const ImVec2 size);
CIMGUI_API bool igIsRectVisibleVec2(const ImVec2 rect_min,const ImVec2 rect_max);
CIMGUI_API double igGetTime(void);
@@ -2928,7 +2946,6 @@ CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_
CIMGUI_API void* igMemAlloc(size_t size);
CIMGUI_API void igMemFree(void* ptr);
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void);
CIMGUI_API ImGuiViewport* igGetMainViewport(void);
CIMGUI_API void igUpdatePlatformWindows(void);
CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg,void* renderer_render_arg);
CIMGUI_API void igDestroyPlatformWindows(void);
@@ -3156,15 +3173,14 @@ CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool ov
CIMGUI_API void ImFont_SetGlyphVisible(ImFont* self,ImWchar c,bool visible);
CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c);
CIMGUI_API bool ImFont_IsGlyphRangeUnused(ImFont* self,unsigned int c_begin,unsigned int c_last);
CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void);
CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetCenter(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void);
CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor(void);
CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void);
CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetCenter(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetWorkPos(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetWorkSize(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImU32 seed);
CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImU32 seed);
CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b);
@@ -3287,6 +3303,7 @@ CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self);
CIMGUI_API void ImDrawListSharedData_SetCircleSegmentMaxError(ImDrawListSharedData* self,float max_error);
CIMGUI_API void ImDrawDataBuilder_Clear(ImDrawDataBuilder* self);
CIMGUI_API void ImDrawDataBuilder_ClearFreeMemory(ImDrawDataBuilder* self);
CIMGUI_API int ImDrawDataBuilder_GetDrawListCount(ImDrawDataBuilder* self);
CIMGUI_API void ImDrawDataBuilder_FlattenIntoSingleLayer(ImDrawDataBuilder* self);
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleModInt(ImGuiStyleVar idx,int v);
CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self);
@@ -3346,6 +3363,7 @@ CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void);
CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_GetMainRect(ImRect *pOut,ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_GetWorkRect(ImRect *pOut,ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self);
CIMGUI_API ImGuiWindowSettings* ImGuiWindowSettings_ImGuiWindowSettings(void);
CIMGUI_API void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self);
@@ -3425,7 +3443,8 @@ CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window);
CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window,ImGuiDockNode* node,bool undock_floating_node);
CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void);
CIMGUI_API void igUpdateMouseMovingWindowEndFrame(void);
CIMGUI_API void igAddContextHook(ImGuiContext* context,const ImGuiContextHook* hook);
CIMGUI_API ImGuiID igAddContextHook(ImGuiContext* context,const ImGuiContextHook* hook);
CIMGUI_API void igRemoveContextHook(ImGuiContext* context,ImGuiID hook_to_remove);
CIMGUI_API void igCallContextHooks(ImGuiContext* context,ImGuiContextHookType type);
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2 old_pos,const ImVec2 new_pos);
CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport,float scale);
@@ -3475,6 +3494,8 @@ CIMGUI_API void igGetContentRegionMaxAbs(ImVec2 *pOut);
CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items,int count,float width_excess);
CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth);
CIMGUI_API void igLogToBuffer(int auto_open_depth);
CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end);
CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix);
CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2 size_arg,bool border,ImGuiWindowFlags flags);
CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags);
CIMGUI_API void igClosePopupToLevel(int remaining,bool restore_focus_to_window_under_popup);
@@ -3558,6 +3579,7 @@ CIMGUI_API ImGuiOldColumns* igFindOrCreateColumns(ImGuiWindow* window,ImGuiID id
CIMGUI_API float igGetColumnOffsetFromNorm(const ImGuiOldColumns* columns,float offset_norm);
CIMGUI_API float igGetColumnNormFromOffset(const ImGuiOldColumns* columns,float offset);
CIMGUI_API void igTableOpenContextMenu(int column_n);
CIMGUI_API void igTableSetColumnEnabled(int column_n,bool enabled);
CIMGUI_API void igTableSetColumnWidth(int column_n,float width);
CIMGUI_API void igTableSetColumnSortDirection(int column_n,ImGuiSortDirection sort_direction,bool append_to_sort_specs);
CIMGUI_API int igTableGetHoveredColumn(void);
@@ -3622,7 +3644,6 @@ CIMGUI_API void igRenderFrameBorder(ImVec2 p_min,ImVec2 p_max,float rounding);
CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list,ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,float grid_step,ImVec2 grid_off,float rounding,int rounding_corners_flags);
CIMGUI_API void igRenderNavHighlight(const ImRect bb,ImGuiID id,ImGuiNavHighlightFlags flags);
CIMGUI_API const char* igFindRenderedTextEnd(const char* text,const char* text_end);
CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end);
CIMGUI_API void igRenderArrow(ImDrawList* draw_list,ImVec2 pos,ImU32 col,ImGuiDir dir,float scale);
CIMGUI_API void igRenderBullet(ImDrawList* draw_list,ImVec2 pos,ImU32 col);
CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list,ImVec2 pos,ImU32 col,float sz);
@@ -3687,12 +3708,14 @@ CIMGUI_API void igDebugNodeWindow(ImGuiWindow* window,const char* label);
CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings);
CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const char* label);
CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport);
CIMGUI_API bool igImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas);
CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb);
CIMGUI_API const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype(void);
CIMGUI_API void igImFontAtlasBuildInit(ImFontAtlas* atlas);
CIMGUI_API void igImFontAtlasBuildSetupFont(ImFontAtlas* atlas,ImFont* font,ImFontConfig* font_config,float ascent,float descent);
CIMGUI_API void igImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas,void* stbrp_context_opaque);
CIMGUI_API void igImFontAtlasBuildFinish(ImFontAtlas* atlas);
CIMGUI_API void igImFontAtlasBuildRender1bppRectFromString(ImFontAtlas* atlas,int atlas_x,int atlas_y,int w,int h,const char* in_str,char in_marker_char,unsigned char in_marker_pixel_value);
CIMGUI_API void igImFontAtlasBuildRender8bppRectFromString(ImFontAtlas* atlas,int x,int y,int w,int h,const char* in_str,char in_marker_char,unsigned char in_marker_pixel_value);
CIMGUI_API void igImFontAtlasBuildRender32bppRectFromString(ImFontAtlas* atlas,int x,int y,int w,int h,const char* in_str,char in_marker_char,unsigned int in_marker_pixel_value);
CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256],float in_multiply_factor);
CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[256],unsigned char* pixels,int x,int y,int w,int h,int stride);