{
  FreePascal bindings for ImGui

  Copyright (C) 2023 Coldzer0 <Coldzer0 [at] protonmail.ch>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE as published by
  the Free Software Foundation, version 3 of the License.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU LESSER GENERAL PUBLIC LICENSE for more details.
}

unit PasImGui.Apis;
{$IfDef FPC}
  {$PACKRECORDS C}   
  {$mode objfpc}{$H+}
  {$modeswitch advancedrecords}
{$EndIf} 

interface  
uses
    PasImGui.Enums, PasImGui.Types; // All Needed Types form cimgui

const
  {$if defined(Darwin)}
    SharedSuffix = 'dylib';
  {$elseif defined(linux)}
    SharedSuffix = 'so';
  {$elseif defined(MSWINDOWS)}
    SharedSuffix = 'dll';
  {$endif}
  CIMGUI_LIB = 'cimgui.' + SharedSuffix;

procedure ImBitVector_Clear( self : PImBitVector ); cdecl; external CIMGUI_LIB;
procedure ImBitVector_ClearBit( self : PImBitVector; n : Integer ); cdecl; external CIMGUI_LIB;
procedure ImBitVector_Create( self : PImBitVector; sz : Integer ); cdecl; external CIMGUI_LIB;
procedure ImBitVector_SetBit( self : PImBitVector; n : Integer ); cdecl; external CIMGUI_LIB;
function ImBitVector_TestBit( self : PImBitVector; n : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImColor_HSV( pOut : PImColor; h : Single; s : Single; v : Single; a : Single ); cdecl; external CIMGUI_LIB;
function ImColor_ImColor_Nil( ) : PImColor; cdecl; external CIMGUI_LIB;
function ImColor_ImColor_Float( r : Single; g : Single; b : Single; a : Single ) : PImColor; cdecl; external CIMGUI_LIB;
function ImColor_ImColor_Vec4( col : ImVec4 ) : PImColor; cdecl; external CIMGUI_LIB;
function ImColor_ImColor_Int( r : Integer; g : Integer; b : Integer; a : Integer ) : PImColor; cdecl; external CIMGUI_LIB;
function ImColor_ImColor_U32( rgba : ImU32 ) : PImColor; cdecl; external CIMGUI_LIB;
procedure ImColor_SetHSV( self : PImColor; h : Single; s : Single; v : Single; a : Single ); cdecl; external CIMGUI_LIB;
procedure ImColor_destroy( self : PImColor ); cdecl; external CIMGUI_LIB;
function ImDrawCmd_GetTexID( self : PImDrawCmd ) : ImTextureID; cdecl; external CIMGUI_LIB;
function ImDrawCmd_ImDrawCmd( ) : PImDrawCmd; cdecl; external CIMGUI_LIB;
procedure ImDrawCmd_destroy( self : PImDrawCmd ); cdecl; external CIMGUI_LIB;
function ImDrawDataBuilder_ImDrawDataBuilder( ) : PImDrawDataBuilder; cdecl; external CIMGUI_LIB;
procedure ImDrawDataBuilder_destroy( self : PImDrawDataBuilder ); cdecl; external CIMGUI_LIB;
procedure ImDrawData_AddDrawList( self : PImDrawData; draw_list : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawData_Clear( self : PImDrawData ); cdecl; external CIMGUI_LIB;
procedure ImDrawData_DeIndexAllBuffers( self : PImDrawData ); cdecl; external CIMGUI_LIB;
function ImDrawData_ImDrawData( ) : PImDrawData; cdecl; external CIMGUI_LIB;
procedure ImDrawData_ScaleClipRects( self : PImDrawData; fb_scale : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImDrawData_destroy( self : PImDrawData ); cdecl; external CIMGUI_LIB;
function ImDrawListSharedData_ImDrawListSharedData( ) : PImDrawListSharedData; cdecl; external CIMGUI_LIB;
procedure ImDrawListSharedData_SetCircleTessellationMaxError( self : PImDrawListSharedData; max_error : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawListSharedData_destroy( self : PImDrawListSharedData ); cdecl; external CIMGUI_LIB;
procedure ImDrawListSplitter_Clear( self : PImDrawListSplitter ); cdecl; external CIMGUI_LIB;
procedure ImDrawListSplitter_ClearFreeMemory( self : PImDrawListSplitter ); cdecl; external CIMGUI_LIB;
function ImDrawListSplitter_ImDrawListSplitter( ) : PImDrawListSplitter; cdecl; external CIMGUI_LIB;
procedure ImDrawListSplitter_Merge( self : PImDrawListSplitter; draw_list : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawListSplitter_SetCurrentChannel( self : PImDrawListSplitter; draw_list : PImDrawList; channel_idx : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawListSplitter_Split( self : PImDrawListSplitter; draw_list : PImDrawList; count : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawListSplitter_destroy( self : PImDrawListSplitter ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddBezierCubic( self : PImDrawList; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; col : ImU32; thickness : Single; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddBezierQuadratic( self : PImDrawList; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; col : ImU32; thickness : Single; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddCallback( self : PImDrawList; callback : ImDrawCallback; callback_data : Pointer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddCircle( self : PImDrawList; center : ImVec2; radius : Single; col : ImU32; num_segments : Integer; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddCircleFilled( self : PImDrawList; center : ImVec2; radius : Single; col : ImU32; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddConvexPolyFilled( self : PImDrawList; points : PImVec2; num_points : Integer; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddDrawCmd( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddEllipse( self : PImDrawList; center : ImVec2; radius_x : Single; radius_y : Single; col : ImU32; rot : Single; num_segments : Integer; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddEllipseFilled( self : PImDrawList; center : ImVec2; radius_x : Single; radius_y : Single; col : ImU32; rot : Single; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddImage( self : PImDrawList; user_texture_id : ImTextureID; p_min : ImVec2; p_max : ImVec2; uv_min : ImVec2; uv_max : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddImageQuad( self : PImDrawList; user_texture_id : ImTextureID; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; uv1 : ImVec2; uv2 : ImVec2; uv3 : ImVec2; uv4 : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddImageRounded( self : PImDrawList; user_texture_id : ImTextureID; p_min : ImVec2; p_max : ImVec2; uv_min : ImVec2; uv_max : ImVec2; col : ImU32; rounding : Single; flags : ImDrawFlags ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddLine( self : PImDrawList; p1 : ImVec2; p2 : ImVec2; col : ImU32; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddNgon( self : PImDrawList; center : ImVec2; radius : Single; col : ImU32; num_segments : Integer; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddNgonFilled( self : PImDrawList; center : ImVec2; radius : Single; col : ImU32; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddPolyline( self : PImDrawList; points : PImVec2; num_points : Integer; col : ImU32; flags : ImDrawFlags; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddQuad( self : PImDrawList; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; col : ImU32; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddQuadFilled( self : PImDrawList; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddRect( self : PImDrawList; p_min : ImVec2; p_max : ImVec2; col : ImU32; rounding : Single; flags : ImDrawFlags; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddRectFilled( self : PImDrawList; p_min : ImVec2; p_max : ImVec2; col : ImU32; rounding : Single; flags : ImDrawFlags ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddRectFilledMultiColor( self : PImDrawList; p_min : ImVec2; p_max : ImVec2; col_upr_left : ImU32; col_upr_right : ImU32; col_bot_right : ImU32; col_bot_left : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddText_Vec2( self : PImDrawList; pos : ImVec2; col : ImU32; text_begin : PAnsiChar; text_end : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddText_FontPtr( self : PImDrawList; font : PImFont; font_size : Single; pos : ImVec2; col : ImU32; text_begin : PAnsiChar; text_end : PAnsiChar; wrap_width : Single; cpu_fine_clip_rect : PImVec4 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddTriangle( self : PImDrawList; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; col : ImU32; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_AddTriangleFilled( self : PImDrawList; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_ChannelsMerge( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_ChannelsSetCurrent( self : PImDrawList; n : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_ChannelsSplit( self : PImDrawList; count : Integer ); cdecl; external CIMGUI_LIB;
function ImDrawList_CloneOutput( self : PImDrawList ) : PImDrawList; cdecl; external CIMGUI_LIB;
procedure ImDrawList_GetClipRectMax( pOut : PImVec2; self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_GetClipRectMin( pOut : PImVec2; self : PImDrawList ); cdecl; external CIMGUI_LIB;
function ImDrawList_ImDrawList( shared_data : PImDrawListSharedData ) : PImDrawList; cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathArcTo( self : PImDrawList; center : ImVec2; radius : Single; a_min : Single; a_max : Single; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathArcToFast( self : PImDrawList; center : ImVec2; radius : Single; a_min_of_12 : Integer; a_max_of_12 : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathBezierCubicCurveTo( self : PImDrawList; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathBezierQuadraticCurveTo( self : PImDrawList; p2 : ImVec2; p3 : ImVec2; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathClear( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathEllipticalArcTo( self : PImDrawList; center : ImVec2; radius_x : Single; radius_y : Single; rot : Single; a_min : Single; a_max : Single; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathFillConvex( self : PImDrawList; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathLineTo( self : PImDrawList; pos : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathLineToMergeDuplicate( self : PImDrawList; pos : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathRect( self : PImDrawList; rect_min : ImVec2; rect_max : ImVec2; rounding : Single; flags : ImDrawFlags ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PathStroke( self : PImDrawList; col : ImU32; flags : ImDrawFlags; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PopClipRect( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PopTextureID( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimQuadUV( self : PImDrawList; a : ImVec2; b : ImVec2; c : ImVec2; d : ImVec2; uv_a : ImVec2; uv_b : ImVec2; uv_c : ImVec2; uv_d : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimRect( self : PImDrawList; a : ImVec2; b : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimRectUV( self : PImDrawList; a : ImVec2; b : ImVec2; uv_a : ImVec2; uv_b : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimReserve( self : PImDrawList; idx_count : Integer; vtx_count : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimUnreserve( self : PImDrawList; idx_count : Integer; vtx_count : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimVtx( self : PImDrawList; pos : ImVec2; uv : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimWriteIdx( self : PImDrawList; idx : ImDrawIdx ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PrimWriteVtx( self : PImDrawList; pos : ImVec2; uv : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PushClipRect( self : PImDrawList; clip_rect_min : ImVec2; clip_rect_max : ImVec2; intersect_with_current_clip_rect : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PushClipRectFullScreen( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_PushTextureID( self : PImDrawList; texture_id : ImTextureID ); cdecl; external CIMGUI_LIB;
function ImDrawList__CalcCircleAutoSegmentCount( self : PImDrawList; radius : Single ) : Integer; cdecl; external CIMGUI_LIB;
procedure ImDrawList__ClearFreeMemory( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__OnChangedClipRect( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__OnChangedTextureID( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__OnChangedVtxOffset( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__PathArcToFastEx( self : PImDrawList; center : ImVec2; radius : Single; a_min_sample : Integer; a_max_sample : Integer; a_step : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__PathArcToN( self : PImDrawList; center : ImVec2; radius : Single; a_min : Single; a_max : Single; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__PopUnusedDrawCmd( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__ResetForNewFrame( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList__TryMergeDrawCmds( self : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure ImDrawList_destroy( self : PImDrawList ); cdecl; external CIMGUI_LIB;
function ImFontAtlasCustomRect_ImFontAtlasCustomRect( ) : PImFontAtlasCustomRect; cdecl; external CIMGUI_LIB;
function ImFontAtlasCustomRect_IsPacked( self : PImFontAtlasCustomRect ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImFontAtlasCustomRect_destroy( self : PImFontAtlasCustomRect ); cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddCustomRectFontGlyph( self : PImFontAtlas; font : PImFont; id : ImWchar; width : Integer; height : Integer; advance_x : Single; offset : ImVec2 ) : Integer; cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddCustomRectRegular( self : PImFontAtlas; width : Integer; height : Integer ) : Integer; cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddFont( self : PImFontAtlas; font_cfg : PImFontConfig ) : PImFont; cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddFontDefault( self : PImFontAtlas; font_cfg : PImFontConfig ) : PImFont; cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddFontFromFileTTF( self : PImFontAtlas; filename : PAnsiChar; size_pixels : Single; font_cfg : PImFontConfig; glyph_ranges : PImWchar ) : PImFont; cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddFontFromMemoryCompressedBase85TTF( self : PImFontAtlas; compressed_font_data_base85 : PAnsiChar; size_pixels : Single; font_cfg : PImFontConfig; glyph_ranges : PImWchar ) : PImFont; cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddFontFromMemoryCompressedTTF( self : PImFontAtlas; compressed_font_data : Pointer; compressed_font_data_size : Integer; size_pixels : Single; font_cfg : PImFontConfig; glyph_ranges : PImWchar ) : PImFont; cdecl; external CIMGUI_LIB;
function ImFontAtlas_AddFontFromMemoryTTF( self : PImFontAtlas; font_data : Pointer; font_data_size : Integer; size_pixels : Single; font_cfg : PImFontConfig; glyph_ranges : PImWchar ) : PImFont; cdecl; external CIMGUI_LIB;
function ImFontAtlas_Build( self : PImFontAtlas ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_CalcCustomRectUV( self : PImFontAtlas; rect : PImFontAtlasCustomRect; out_uv_min : PImVec2; out_uv_max : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_Clear( self : PImFontAtlas ); cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_ClearFonts( self : PImFontAtlas ); cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_ClearInputData( self : PImFontAtlas ); cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_ClearTexData( self : PImFontAtlas ); cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetCustomRectByIndex( self : PImFontAtlas; index : Integer ) : PImFontAtlasCustomRect; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesChineseFull( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesCyrillic( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesDefault( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesGreek( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesJapanese( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesKorean( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesThai( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetGlyphRangesVietnamese( self : PImFontAtlas ) : PImWchar; cdecl; external CIMGUI_LIB;
function ImFontAtlas_GetMouseCursorTexData( self : PImFontAtlas; cursor : ImGuiMouseCursor; out_offset : PImVec2; out_size : PImVec2; out_uv_border : PImVec2; out_uv_fill : PImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_GetTexDataAsAlpha8( self : PImFontAtlas; out_pixels : PPImU8; out_width : PInteger; out_height : PInteger; out_bytes_per_pixel : PInteger ); cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_GetTexDataAsRGBA32( self : PImFontAtlas; out_pixels : PPImU8; out_width : PInteger; out_height : PInteger; out_bytes_per_pixel : PInteger ); cdecl; external CIMGUI_LIB;
function ImFontAtlas_ImFontAtlas( ) : PImFontAtlas; cdecl; external CIMGUI_LIB;
function ImFontAtlas_IsBuilt( self : PImFontAtlas ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_SetTexID( self : PImFontAtlas; id : ImTextureID ); cdecl; external CIMGUI_LIB;
procedure ImFontAtlas_destroy( self : PImFontAtlas ); cdecl; external CIMGUI_LIB;
function ImFontConfig_ImFontConfig( ) : PImFontConfig; cdecl; external CIMGUI_LIB;
procedure ImFontConfig_destroy( self : PImFontConfig ); cdecl; external CIMGUI_LIB;
procedure ImFontGlyphRangesBuilder_AddChar( self : PImFontGlyphRangesBuilder; c : ImWchar ); cdecl; external CIMGUI_LIB;
procedure ImFontGlyphRangesBuilder_AddRanges( self : PImFontGlyphRangesBuilder; ranges : PImWchar ); cdecl; external CIMGUI_LIB;
procedure ImFontGlyphRangesBuilder_AddText( self : PImFontGlyphRangesBuilder; text : PAnsiChar; text_end : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure ImFontGlyphRangesBuilder_BuildRanges( self : PImFontGlyphRangesBuilder; out_ranges : PImVector_ImWchar ); cdecl; external CIMGUI_LIB;
procedure ImFontGlyphRangesBuilder_Clear( self : PImFontGlyphRangesBuilder ); cdecl; external CIMGUI_LIB;
function ImFontGlyphRangesBuilder_GetBit( self : PImFontGlyphRangesBuilder; n : size_t ) : Boolean; cdecl; external CIMGUI_LIB;
function ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder( ) : PImFontGlyphRangesBuilder; cdecl; external CIMGUI_LIB;
procedure ImFontGlyphRangesBuilder_SetBit( self : PImFontGlyphRangesBuilder; n : size_t ); cdecl; external CIMGUI_LIB;
procedure ImFontGlyphRangesBuilder_destroy( self : PImFontGlyphRangesBuilder ); cdecl; external CIMGUI_LIB;
procedure ImFont_AddGlyph( self : PImFont; src_cfg : PImFontConfig; c : ImWchar; x0 : Single; y0 : Single; x1 : Single; y1 : Single; u0 : Single; v0 : Single; u1 : Single; v1 : Single; advance_x : Single ); cdecl; external CIMGUI_LIB;
procedure ImFont_AddRemapChar( self : PImFont; dst : ImWchar; src : ImWchar; overwrite_dst : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImFont_BuildLookupTable( self : PImFont ); cdecl; external CIMGUI_LIB;
procedure ImFont_CalcTextSizeA( pOut : PImVec2; self : PImFont; size : Single; max_width : Single; wrap_width : Single; text_begin : PAnsiChar; text_end : PAnsiChar; remaining : PPAnsiChar ); cdecl; external CIMGUI_LIB;
function ImFont_CalcWordWrapPositionA( self : PImFont; scale : Single; text : PAnsiChar; text_end : PAnsiChar; wrap_width : Single ) : PAnsiChar; cdecl; external CIMGUI_LIB;
procedure ImFont_ClearOutputData( self : PImFont ); cdecl; external CIMGUI_LIB;
function ImFont_FindGlyph( self : PImFont; c : ImWchar ) : PImFontGlyph; cdecl; external CIMGUI_LIB;
function ImFont_FindGlyphNoFallback( self : PImFont; c : ImWchar ) : PImFontGlyph; cdecl; external CIMGUI_LIB;
function ImFont_GetCharAdvance( self : PImFont; c : ImWchar ) : Single; cdecl; external CIMGUI_LIB;
function ImFont_GetDebugName( self : PImFont ) : PAnsiChar; cdecl; external CIMGUI_LIB;
procedure ImFont_GrowIndex( self : PImFont; new_size : Integer ); cdecl; external CIMGUI_LIB;
function ImFont_ImFont( ) : PImFont; cdecl; external CIMGUI_LIB;
function ImFont_IsGlyphRangeUnused( self : PImFont; c_begin : ImU32; c_last : ImU32 ) : Boolean; cdecl; external CIMGUI_LIB;
function ImFont_IsLoaded( self : PImFont ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImFont_RenderChar( self : PImFont; draw_list : PImDrawList; size : Single; pos : ImVec2; col : ImU32; c : ImWchar ); cdecl; external CIMGUI_LIB;
procedure ImFont_RenderText( self : PImFont; draw_list : PImDrawList; size : Single; pos : ImVec2; col : ImU32; clip_rect : ImVec4; text_begin : PAnsiChar; text_end : PAnsiChar; wrap_width : Single; cpu_fine_clip : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImFont_SetGlyphVisible( self : PImFont; c : ImWchar; visible : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImFont_destroy( self : PImFont ); cdecl; external CIMGUI_LIB;
function ImGuiComboPreviewData_ImGuiComboPreviewData( ) : PImGuiComboPreviewData; cdecl; external CIMGUI_LIB;
procedure ImGuiComboPreviewData_destroy( self : PImGuiComboPreviewData ); cdecl; external CIMGUI_LIB;
function ImGuiContextHook_ImGuiContextHook( ) : PImGuiContextHook; cdecl; external CIMGUI_LIB;
procedure ImGuiContextHook_destroy( self : PImGuiContextHook ); cdecl; external CIMGUI_LIB;
function ImGuiContext_ImGuiContext( shared_font_atlas : PImFontAtlas ) : PImGuiContext; cdecl; external CIMGUI_LIB;
procedure ImGuiContext_destroy( self : PImGuiContext ); cdecl; external CIMGUI_LIB;
function ImGuiDataVarInfo_GetVarPtr( self : PImGuiDataVarInfo; parent : Pointer ) : Pointer; cdecl; external CIMGUI_LIB;
function ImGuiDebugAllocInfo_ImGuiDebugAllocInfo( ) : PImGuiDebugAllocInfo; cdecl; external CIMGUI_LIB;
procedure ImGuiDebugAllocInfo_destroy( self : PImGuiDebugAllocInfo ); cdecl; external CIMGUI_LIB;
function ImGuiDockContext_ImGuiDockContext( ) : PImGuiDockContext; cdecl; external CIMGUI_LIB;
procedure ImGuiDockContext_destroy( self : PImGuiDockContext ); cdecl; external CIMGUI_LIB;
function ImGuiDockNode_ImGuiDockNode( id : ImGuiID ) : PImGuiDockNode; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsCentralNode( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsDockSpace( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsEmpty( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsFloatingNode( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsHiddenTabBar( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsLeafNode( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsNoTabBar( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsRootNode( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiDockNode_IsSplitNode( self : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImGuiDockNode_Rect( pOut : PImRect; self : PImGuiDockNode ); cdecl; external CIMGUI_LIB;
procedure ImGuiDockNode_SetLocalFlags( self : PImGuiDockNode; flags : ImGuiDockNodeFlags ); cdecl; external CIMGUI_LIB;
procedure ImGuiDockNode_UpdateMergedFlags( self : PImGuiDockNode ); cdecl; external CIMGUI_LIB;
procedure ImGuiDockNode_destroy( self : PImGuiDockNode ); cdecl; external CIMGUI_LIB;
function ImGuiIDStackTool_ImGuiIDStackTool( ) : PImGuiIDStackTool; cdecl; external CIMGUI_LIB;
procedure ImGuiIDStackTool_destroy( self : PImGuiIDStackTool ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddFocusEvent( self : PImGuiIO; focused : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddInputCharacter( self : PImGuiIO; c : ImU32 ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddInputCharacterUTF16( self : PImGuiIO; c : ImWchar16 ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddInputCharactersUTF8( self : PImGuiIO; str : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddKeyAnalogEvent( self : PImGuiIO; key : ImGuiKey; down : Boolean; v : Single ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddKeyEvent( self : PImGuiIO; key : ImGuiKey; down : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddMouseButtonEvent( self : PImGuiIO; button : Integer; down : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddMousePosEvent( self : PImGuiIO; x : Single; y : Single ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddMouseSourceEvent( self : PImGuiIO; source : ImGuiMouseSource ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddMouseViewportEvent( self : PImGuiIO; id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_AddMouseWheelEvent( self : PImGuiIO; wheel_x : Single; wheel_y : Single ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_ClearEventsQueue( self : PImGuiIO ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_ClearInputKeys( self : PImGuiIO ); cdecl; external CIMGUI_LIB;
function ImGuiIO_ImGuiIO( ) : PImGuiIO; cdecl; external CIMGUI_LIB;
procedure ImGuiIO_SetAppAcceptingEvents( self : PImGuiIO; accepting_events : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_SetKeyEventNativeData( self : PImGuiIO; key : ImGuiKey; native_keycode : Integer; native_scancode : Integer; native_legacy_index : Integer ); cdecl; external CIMGUI_LIB;
procedure ImGuiIO_destroy( self : PImGuiIO ); cdecl; external CIMGUI_LIB;
function ImGuiInputEvent_ImGuiInputEvent( ) : PImGuiInputEvent; cdecl; external CIMGUI_LIB;
procedure ImGuiInputEvent_destroy( self : PImGuiInputEvent ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextCallbackData_ClearSelection( self : PImGuiInputTextCallbackData ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextCallbackData_DeleteChars( self : PImGuiInputTextCallbackData; pos : Integer; bytes_count : Integer ); cdecl; external CIMGUI_LIB;
function ImGuiInputTextCallbackData_HasSelection( self : PImGuiInputTextCallbackData ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiInputTextCallbackData_ImGuiInputTextCallbackData( ) : PImGuiInputTextCallbackData; cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextCallbackData_InsertChars( self : PImGuiInputTextCallbackData; pos : Integer; text : PAnsiChar; text_end : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextCallbackData_SelectAll( self : PImGuiInputTextCallbackData ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextCallbackData_destroy( self : PImGuiInputTextCallbackData ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextDeactivatedState_ClearFreeMemory( self : PImGuiInputTextDeactivatedState ); cdecl; external CIMGUI_LIB;
function ImGuiInputTextDeactivatedState_ImGuiInputTextDeactivatedState( ) : PImGuiInputTextDeactivatedState; cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextDeactivatedState_destroy( self : PImGuiInputTextDeactivatedState ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_ClearFreeMemory( self : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_ClearSelection( self : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_ClearText( self : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_CursorAnimReset( self : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_CursorClamp( self : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
function ImGuiInputTextState_GetCursorPos( self : PImGuiInputTextState ) : Integer; cdecl; external CIMGUI_LIB;
function ImGuiInputTextState_GetRedoAvailCount( self : PImGuiInputTextState ) : Integer; cdecl; external CIMGUI_LIB;
function ImGuiInputTextState_GetSelectionEnd( self : PImGuiInputTextState ) : Integer; cdecl; external CIMGUI_LIB;
function ImGuiInputTextState_GetSelectionStart( self : PImGuiInputTextState ) : Integer; cdecl; external CIMGUI_LIB;
function ImGuiInputTextState_GetUndoAvailCount( self : PImGuiInputTextState ) : Integer; cdecl; external CIMGUI_LIB;
function ImGuiInputTextState_HasSelection( self : PImGuiInputTextState ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiInputTextState_ImGuiInputTextState( ) : PImGuiInputTextState; cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_OnKeyPressed( self : PImGuiInputTextState; key : Integer ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_SelectAll( self : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
procedure ImGuiInputTextState_destroy( self : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
function ImGuiKeyOwnerData_ImGuiKeyOwnerData( ) : PImGuiKeyOwnerData; cdecl; external CIMGUI_LIB;
procedure ImGuiKeyOwnerData_destroy( self : PImGuiKeyOwnerData ); cdecl; external CIMGUI_LIB;
function ImGuiKeyRoutingData_ImGuiKeyRoutingData( ) : PImGuiKeyRoutingData; cdecl; external CIMGUI_LIB;
procedure ImGuiKeyRoutingData_destroy( self : PImGuiKeyRoutingData ); cdecl; external CIMGUI_LIB;
procedure ImGuiKeyRoutingTable_Clear( self : PImGuiKeyRoutingTable ); cdecl; external CIMGUI_LIB;
function ImGuiKeyRoutingTable_ImGuiKeyRoutingTable( ) : PImGuiKeyRoutingTable; cdecl; external CIMGUI_LIB;
procedure ImGuiKeyRoutingTable_destroy( self : PImGuiKeyRoutingTable ); cdecl; external CIMGUI_LIB;
function ImGuiLastItemData_ImGuiLastItemData( ) : PImGuiLastItemData; cdecl; external CIMGUI_LIB;
procedure ImGuiLastItemData_destroy( self : PImGuiLastItemData ); cdecl; external CIMGUI_LIB;
function ImGuiListClipperData_ImGuiListClipperData( ) : PImGuiListClipperData; cdecl; external CIMGUI_LIB;
procedure ImGuiListClipperData_Reset( self : PImGuiListClipperData; clipper : PImGuiListClipper ); cdecl; external CIMGUI_LIB;
procedure ImGuiListClipperData_destroy( self : PImGuiListClipperData ); cdecl; external CIMGUI_LIB;
function ImGuiListClipperRange_FromIndices( min : Integer; max : Integer ) : ImGuiListClipperRange; cdecl; external CIMGUI_LIB;
function ImGuiListClipperRange_FromPositions( y1 : Single; y2 : Single; off_min : Integer; off_max : Integer ) : ImGuiListClipperRange; cdecl; external CIMGUI_LIB;
procedure ImGuiListClipper_Begin( self : PImGuiListClipper; items_count : Integer; items_height : Single ); cdecl; external CIMGUI_LIB;
procedure ImGuiListClipper_End( self : PImGuiListClipper ); cdecl; external CIMGUI_LIB;
function ImGuiListClipper_ImGuiListClipper( ) : PImGuiListClipper; cdecl; external CIMGUI_LIB;
procedure ImGuiListClipper_IncludeItemByIndex( self : PImGuiListClipper; item_index : Integer ); cdecl; external CIMGUI_LIB;
procedure ImGuiListClipper_IncludeItemsByIndex( self : PImGuiListClipper; item_begin : Integer; item_end : Integer ); cdecl; external CIMGUI_LIB;
function ImGuiListClipper_Step( self : PImGuiListClipper ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImGuiListClipper_destroy( self : PImGuiListClipper ); cdecl; external CIMGUI_LIB;
procedure ImGuiMenuColumns_CalcNextTotalWidth( self : PImGuiMenuColumns; update_offsets : Boolean ); cdecl; external CIMGUI_LIB;
function ImGuiMenuColumns_DeclColumns( self : PImGuiMenuColumns; w_icon : Single; w_label : Single; w_shortcut : Single; w_mark : Single ) : Single; cdecl; external CIMGUI_LIB;
function ImGuiMenuColumns_ImGuiMenuColumns( ) : PImGuiMenuColumns; cdecl; external CIMGUI_LIB;
procedure ImGuiMenuColumns_Update( self : PImGuiMenuColumns; spacing : Single; window_reappearing : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImGuiMenuColumns_destroy( self : PImGuiMenuColumns ); cdecl; external CIMGUI_LIB;
procedure ImGuiNavItemData_Clear( self : PImGuiNavItemData ); cdecl; external CIMGUI_LIB;
function ImGuiNavItemData_ImGuiNavItemData( ) : PImGuiNavItemData; cdecl; external CIMGUI_LIB;
procedure ImGuiNavItemData_destroy( self : PImGuiNavItemData ); cdecl; external CIMGUI_LIB;
procedure ImGuiNextItemData_ClearFlags( self : PImGuiNextItemData ); cdecl; external CIMGUI_LIB;
function ImGuiNextItemData_ImGuiNextItemData( ) : PImGuiNextItemData; cdecl; external CIMGUI_LIB;
procedure ImGuiNextItemData_destroy( self : PImGuiNextItemData ); cdecl; external CIMGUI_LIB;
procedure ImGuiNextWindowData_ClearFlags( self : PImGuiNextWindowData ); cdecl; external CIMGUI_LIB;
function ImGuiNextWindowData_ImGuiNextWindowData( ) : PImGuiNextWindowData; cdecl; external CIMGUI_LIB;
procedure ImGuiNextWindowData_destroy( self : PImGuiNextWindowData ); cdecl; external CIMGUI_LIB;
function ImGuiOldColumnData_ImGuiOldColumnData( ) : PImGuiOldColumnData; cdecl; external CIMGUI_LIB;
procedure ImGuiOldColumnData_destroy( self : PImGuiOldColumnData ); cdecl; external CIMGUI_LIB;
function ImGuiOldColumns_ImGuiOldColumns( ) : PImGuiOldColumns; cdecl; external CIMGUI_LIB;
procedure ImGuiOldColumns_destroy( self : PImGuiOldColumns ); cdecl; external CIMGUI_LIB;
function ImGuiOnceUponAFrame_ImGuiOnceUponAFrame( ) : PImGuiOnceUponAFrame; cdecl; external CIMGUI_LIB;
procedure ImGuiOnceUponAFrame_destroy( self : PImGuiOnceUponAFrame ); cdecl; external CIMGUI_LIB;
procedure ImGuiPayload_Clear( self : PImGuiPayload ); cdecl; external CIMGUI_LIB;
function ImGuiPayload_ImGuiPayload( ) : PImGuiPayload; cdecl; external CIMGUI_LIB;
function ImGuiPayload_IsDataType( self : PImGuiPayload; type_ : PAnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiPayload_IsDelivery( self : PImGuiPayload ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiPayload_IsPreview( self : PImGuiPayload ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImGuiPayload_destroy( self : PImGuiPayload ); cdecl; external CIMGUI_LIB;
function ImGuiPlatformIO_ImGuiPlatformIO( ) : PImGuiPlatformIO; cdecl; external CIMGUI_LIB;
procedure ImGuiPlatformIO_destroy( self : PImGuiPlatformIO ); cdecl; external CIMGUI_LIB;
function ImGuiPlatformImeData_ImGuiPlatformImeData( ) : PImGuiPlatformImeData; cdecl; external CIMGUI_LIB;
procedure ImGuiPlatformImeData_destroy( self : PImGuiPlatformImeData ); cdecl; external CIMGUI_LIB;
function ImGuiPlatformMonitor_ImGuiPlatformMonitor( ) : PImGuiPlatformMonitor; cdecl; external CIMGUI_LIB;
procedure ImGuiPlatformMonitor_destroy( self : PImGuiPlatformMonitor ); cdecl; external CIMGUI_LIB;
function ImGuiPopupData_ImGuiPopupData( ) : PImGuiPopupData; cdecl; external CIMGUI_LIB;
procedure ImGuiPopupData_destroy( self : PImGuiPopupData ); cdecl; external CIMGUI_LIB;
function ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr( ptr : Pointer ) : PImGuiPtrOrIndex; cdecl; external CIMGUI_LIB;
function ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int( index : Integer ) : PImGuiPtrOrIndex; cdecl; external CIMGUI_LIB;
procedure ImGuiPtrOrIndex_destroy( self : PImGuiPtrOrIndex ); cdecl; external CIMGUI_LIB;
function ImGuiSettingsHandler_ImGuiSettingsHandler( ) : PImGuiSettingsHandler; cdecl; external CIMGUI_LIB;
procedure ImGuiSettingsHandler_destroy( self : PImGuiSettingsHandler ); cdecl; external CIMGUI_LIB;
function ImGuiStackLevelInfo_ImGuiStackLevelInfo( ) : PImGuiStackLevelInfo; cdecl; external CIMGUI_LIB;
procedure ImGuiStackLevelInfo_destroy( self : PImGuiStackLevelInfo ); cdecl; external CIMGUI_LIB;
procedure ImGuiStackSizes_CompareWithContextState( self : PImGuiStackSizes; ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
function ImGuiStackSizes_ImGuiStackSizes( ) : PImGuiStackSizes; cdecl; external CIMGUI_LIB;
procedure ImGuiStackSizes_SetToContextState( self : PImGuiStackSizes; ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
procedure ImGuiStackSizes_destroy( self : PImGuiStackSizes ); cdecl; external CIMGUI_LIB;
function ImGuiStoragePair_ImGuiStoragePair_Int( _key : ImGuiID; _val : Integer ) : PImGuiStoragePair; cdecl; external CIMGUI_LIB;
function ImGuiStoragePair_ImGuiStoragePair_Float( _key : ImGuiID; _val : Single ) : PImGuiStoragePair; cdecl; external CIMGUI_LIB;
function ImGuiStoragePair_ImGuiStoragePair_Ptr( _key : ImGuiID; _val : Pointer ) : PImGuiStoragePair; cdecl; external CIMGUI_LIB;
procedure ImGuiStoragePair_destroy( self : PImGuiStoragePair ); cdecl; external CIMGUI_LIB;
procedure ImGuiStorage_BuildSortByKey( self : PImGuiStorage ); cdecl; external CIMGUI_LIB;
procedure ImGuiStorage_Clear( self : PImGuiStorage ); cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetBool( self : PImGuiStorage; key : ImGuiID; default_val : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetBoolRef( self : PImGuiStorage; key : ImGuiID; default_val : Boolean ) : PBoolean; cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetFloat( self : PImGuiStorage; key : ImGuiID; default_val : Single ) : Single; cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetFloatRef( self : PImGuiStorage; key : ImGuiID; default_val : Single ) : PSingle; cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetInt( self : PImGuiStorage; key : ImGuiID; default_val : Integer ) : Integer; cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetIntRef( self : PImGuiStorage; key : ImGuiID; default_val : Integer ) : PInteger; cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetVoidPtr( self : PImGuiStorage; key : ImGuiID ) : Pointer; cdecl; external CIMGUI_LIB;
function ImGuiStorage_GetVoidPtrRef( self : PImGuiStorage; key : ImGuiID; default_val : Pointer ) : PPPointer; cdecl; external CIMGUI_LIB;
procedure ImGuiStorage_SetAllInt( self : PImGuiStorage; val : Integer ); cdecl; external CIMGUI_LIB;
procedure ImGuiStorage_SetBool( self : PImGuiStorage; key : ImGuiID; val : Boolean ); cdecl; external CIMGUI_LIB;
procedure ImGuiStorage_SetFloat( self : PImGuiStorage; key : ImGuiID; val : Single ); cdecl; external CIMGUI_LIB;
procedure ImGuiStorage_SetInt( self : PImGuiStorage; key : ImGuiID; val : Integer ); cdecl; external CIMGUI_LIB;
procedure ImGuiStorage_SetVoidPtr( self : PImGuiStorage; key : ImGuiID; val : Pointer ); cdecl; external CIMGUI_LIB;
function ImGuiStyleMod_ImGuiStyleMod_Int( idx : ImGuiStyleVar; v : Integer ) : PImGuiStyleMod; cdecl; external CIMGUI_LIB;
function ImGuiStyleMod_ImGuiStyleMod_Float( idx : ImGuiStyleVar; v : Single ) : PImGuiStyleMod; cdecl; external CIMGUI_LIB;
function ImGuiStyleMod_ImGuiStyleMod_Vec2( idx : ImGuiStyleVar; v : ImVec2 ) : PImGuiStyleMod; cdecl; external CIMGUI_LIB;
procedure ImGuiStyleMod_destroy( self : PImGuiStyleMod ); cdecl; external CIMGUI_LIB;
function ImGuiStyle_ImGuiStyle( ) : PImGuiStyle; cdecl; external CIMGUI_LIB;
procedure ImGuiStyle_ScaleAllSizes( self : PImGuiStyle; scale_factor : Single ); cdecl; external CIMGUI_LIB;
procedure ImGuiStyle_destroy( self : PImGuiStyle ); cdecl; external CIMGUI_LIB;
function ImGuiTabBar_ImGuiTabBar( ) : PImGuiTabBar; cdecl; external CIMGUI_LIB;
procedure ImGuiTabBar_destroy( self : PImGuiTabBar ); cdecl; external CIMGUI_LIB;
function ImGuiTabItem_ImGuiTabItem( ) : PImGuiTabItem; cdecl; external CIMGUI_LIB;
procedure ImGuiTabItem_destroy( self : PImGuiTabItem ); cdecl; external CIMGUI_LIB;
function ImGuiTableColumnSettings_ImGuiTableColumnSettings( ) : PImGuiTableColumnSettings; cdecl; external CIMGUI_LIB;
procedure ImGuiTableColumnSettings_destroy( self : PImGuiTableColumnSettings ); cdecl; external CIMGUI_LIB;
function ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs( ) : PImGuiTableColumnSortSpecs; cdecl; external CIMGUI_LIB;
procedure ImGuiTableColumnSortSpecs_destroy( self : PImGuiTableColumnSortSpecs ); cdecl; external CIMGUI_LIB;
function ImGuiTableColumn_ImGuiTableColumn( ) : PImGuiTableColumn; cdecl; external CIMGUI_LIB;
procedure ImGuiTableColumn_destroy( self : PImGuiTableColumn ); cdecl; external CIMGUI_LIB;
function ImGuiTableInstanceData_ImGuiTableInstanceData( ) : PImGuiTableInstanceData; cdecl; external CIMGUI_LIB;
procedure ImGuiTableInstanceData_destroy( self : PImGuiTableInstanceData ); cdecl; external CIMGUI_LIB;
function ImGuiTableSettings_GetColumnSettings( self : PImGuiTableSettings ) : PImGuiTableColumnSettings; cdecl; external CIMGUI_LIB;
function ImGuiTableSettings_ImGuiTableSettings( ) : PImGuiTableSettings; cdecl; external CIMGUI_LIB;
procedure ImGuiTableSettings_destroy( self : PImGuiTableSettings ); cdecl; external CIMGUI_LIB;
function ImGuiTableSortSpecs_ImGuiTableSortSpecs( ) : PImGuiTableSortSpecs; cdecl; external CIMGUI_LIB;
procedure ImGuiTableSortSpecs_destroy( self : PImGuiTableSortSpecs ); cdecl; external CIMGUI_LIB;
function ImGuiTableTempData_ImGuiTableTempData( ) : PImGuiTableTempData; cdecl; external CIMGUI_LIB;
procedure ImGuiTableTempData_destroy( self : PImGuiTableTempData ); cdecl; external CIMGUI_LIB;
function ImGuiTable_ImGuiTable( ) : PImGuiTable; cdecl; external CIMGUI_LIB;
procedure ImGuiTable_destroy( self : PImGuiTable ); cdecl; external CIMGUI_LIB;
function ImGuiTextBuffer_ImGuiTextBuffer( ) : PImGuiTextBuffer; cdecl; external CIMGUI_LIB;
procedure ImGuiTextBuffer_append( self : PImGuiTextBuffer; str : PAnsiChar; str_end : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure ImGuiTextBuffer_appendf( self : PImGuiTextBuffer; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure ImGuiTextBuffer_appendfv( self : PImGuiTextBuffer; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
function ImGuiTextBuffer_begin( self : PImGuiTextBuffer ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function ImGuiTextBuffer_c_str( self : PImGuiTextBuffer ) : PAnsiChar; cdecl; external CIMGUI_LIB;
procedure ImGuiTextBuffer_clear( self : PImGuiTextBuffer ); cdecl; external CIMGUI_LIB;
procedure ImGuiTextBuffer_destroy( self : PImGuiTextBuffer ); cdecl; external CIMGUI_LIB;
function ImGuiTextBuffer_empty( self : PImGuiTextBuffer ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiTextBuffer_end( self : PImGuiTextBuffer ) : PAnsiChar; cdecl; external CIMGUI_LIB;
procedure ImGuiTextBuffer_reserve( self : PImGuiTextBuffer; capacity : Integer ); cdecl; external CIMGUI_LIB;
function ImGuiTextBuffer_size( self : PImGuiTextBuffer ) : Integer; cdecl; external CIMGUI_LIB;
procedure ImGuiTextFilter_Build( self : PImGuiTextFilter ); cdecl; external CIMGUI_LIB;
procedure ImGuiTextFilter_Clear( self : PImGuiTextFilter ); cdecl; external CIMGUI_LIB;
function ImGuiTextFilter_Draw( self : PImGuiTextFilter; label_ : PAnsiChar; width : Single ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiTextFilter_ImGuiTextFilter( default_filter : PAnsiChar ) : PImGuiTextFilter; cdecl; external CIMGUI_LIB;
function ImGuiTextFilter_IsActive( self : PImGuiTextFilter ) : Boolean; cdecl; external CIMGUI_LIB;
function ImGuiTextFilter_PassFilter( self : PImGuiTextFilter; text : PAnsiChar; text_end : PAnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImGuiTextFilter_destroy( self : PImGuiTextFilter ); cdecl; external CIMGUI_LIB;
procedure ImGuiTextIndex_append( self : PImGuiTextIndex; base : PAnsiChar; old_size : Integer; new_size : Integer ); cdecl; external CIMGUI_LIB;
procedure ImGuiTextIndex_clear( self : PImGuiTextIndex ); cdecl; external CIMGUI_LIB;
function ImGuiTextIndex_get_line_begin( self : PImGuiTextIndex; base : PAnsiChar; n : Integer ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function ImGuiTextIndex_get_line_end( self : PImGuiTextIndex; base : PAnsiChar; n : Integer ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function ImGuiTextIndex_size( self : PImGuiTextIndex ) : Integer; cdecl; external CIMGUI_LIB;
function ImGuiTextRange_ImGuiTextRange_Nil( ) : PImGuiTextRange; cdecl; external CIMGUI_LIB;
function ImGuiTextRange_ImGuiTextRange_Str( _b : PAnsiChar; _e : PAnsiChar ) : PImGuiTextRange; cdecl; external CIMGUI_LIB;
procedure ImGuiTextRange_destroy( self : PImGuiTextRange ); cdecl; external CIMGUI_LIB;
function ImGuiTextRange_empty( self : PImGuiTextRange ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImGuiTextRange_split( self : PImGuiTextRange; separator : AnsiChar; out_ : PImVector_ImGuiTextRange ); cdecl; external CIMGUI_LIB;
procedure ImGuiTypingSelectState_Clear( self : PImGuiTypingSelectState ); cdecl; external CIMGUI_LIB;
function ImGuiTypingSelectState_ImGuiTypingSelectState( ) : PImGuiTypingSelectState; cdecl; external CIMGUI_LIB;
procedure ImGuiTypingSelectState_destroy( self : PImGuiTypingSelectState ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_CalcWorkRectPos( pOut : PImVec2; self : PImGuiViewportP; off_min : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_CalcWorkRectSize( pOut : PImVec2; self : PImGuiViewportP; off_min : ImVec2; off_max : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_ClearRequestFlags( self : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_GetBuildWorkRect( pOut : PImRect; self : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_GetMainRect( pOut : PImRect; self : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_GetWorkRect( pOut : PImRect; self : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
function ImGuiViewportP_ImGuiViewportP( ) : PImGuiViewportP; cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_UpdateWorkRect( self : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewportP_destroy( self : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewport_GetCenter( pOut : PImVec2; self : PImGuiViewport ); cdecl; external CIMGUI_LIB;
procedure ImGuiViewport_GetWorkCenter( pOut : PImVec2; self : PImGuiViewport ); cdecl; external CIMGUI_LIB;
function ImGuiViewport_ImGuiViewport( ) : PImGuiViewport; cdecl; external CIMGUI_LIB;
procedure ImGuiViewport_destroy( self : PImGuiViewport ); cdecl; external CIMGUI_LIB;
function ImGuiWindowClass_ImGuiWindowClass( ) : PImGuiWindowClass; cdecl; external CIMGUI_LIB;
procedure ImGuiWindowClass_destroy( self : PImGuiWindowClass ); cdecl; external CIMGUI_LIB;
function ImGuiWindowSettings_GetName( self : PImGuiWindowSettings ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function ImGuiWindowSettings_ImGuiWindowSettings( ) : PImGuiWindowSettings; cdecl; external CIMGUI_LIB;
procedure ImGuiWindowSettings_destroy( self : PImGuiWindowSettings ); cdecl; external CIMGUI_LIB;
function ImGuiWindow_CalcFontSize( self : PImGuiWindow ) : Single; cdecl; external CIMGUI_LIB;
function ImGuiWindow_GetID_Str( self : PImGuiWindow; str : PAnsiChar; str_end : PAnsiChar ) : ImGuiID; cdecl; external CIMGUI_LIB;
function ImGuiWindow_GetID_Ptr( self : PImGuiWindow; ptr : Pointer ) : ImGuiID; cdecl; external CIMGUI_LIB;
function ImGuiWindow_GetID_Int( self : PImGuiWindow; n : Integer ) : ImGuiID; cdecl; external CIMGUI_LIB;
function ImGuiWindow_GetIDFromRectangle( self : PImGuiWindow; r_abs : ImRect ) : ImGuiID; cdecl; external CIMGUI_LIB;
function ImGuiWindow_ImGuiWindow( context : PImGuiContext; name : PAnsiChar ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function ImGuiWindow_MenuBarHeight( self : PImGuiWindow ) : Single; cdecl; external CIMGUI_LIB;
procedure ImGuiWindow_MenuBarRect( pOut : PImRect; self : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure ImGuiWindow_Rect( pOut : PImRect; self : PImGuiWindow ); cdecl; external CIMGUI_LIB;
function ImGuiWindow_TitleBarHeight( self : PImGuiWindow ) : Single; cdecl; external CIMGUI_LIB;
procedure ImGuiWindow_TitleBarRect( pOut : PImRect; self : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure ImGuiWindow_destroy( self : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure ImRect_Add_Vec2( self : PImRect; p : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImRect_Add_Rect( self : PImRect; r : ImRect ); cdecl; external CIMGUI_LIB;
procedure ImRect_ClipWith( self : PImRect; r : ImRect ); cdecl; external CIMGUI_LIB;
procedure ImRect_ClipWithFull( self : PImRect; r : ImRect ); cdecl; external CIMGUI_LIB;
function ImRect_Contains_Vec2( self : PImRect; p : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function ImRect_Contains_Rect( self : PImRect; r : ImRect ) : Boolean; cdecl; external CIMGUI_LIB;
function ImRect_ContainsWithPad( self : PImRect; p : ImVec2; pad : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImRect_Expand_Float( self : PImRect; amount : Single ); cdecl; external CIMGUI_LIB;
procedure ImRect_Expand_Vec2( self : PImRect; amount : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImRect_Floor( self : PImRect ); cdecl; external CIMGUI_LIB;
function ImRect_GetArea( self : PImRect ) : Single; cdecl; external CIMGUI_LIB;
procedure ImRect_GetBL( pOut : PImVec2; self : PImRect ); cdecl; external CIMGUI_LIB;
procedure ImRect_GetBR( pOut : PImVec2; self : PImRect ); cdecl; external CIMGUI_LIB;
procedure ImRect_GetCenter( pOut : PImVec2; self : PImRect ); cdecl; external CIMGUI_LIB;
function ImRect_GetHeight( self : PImRect ) : Single; cdecl; external CIMGUI_LIB;
procedure ImRect_GetSize( pOut : PImVec2; self : PImRect ); cdecl; external CIMGUI_LIB;
procedure ImRect_GetTL( pOut : PImVec2; self : PImRect ); cdecl; external CIMGUI_LIB;
procedure ImRect_GetTR( pOut : PImVec2; self : PImRect ); cdecl; external CIMGUI_LIB;
function ImRect_GetWidth( self : PImRect ) : Single; cdecl; external CIMGUI_LIB;
function ImRect_ImRect_Nil( ) : PImRect; cdecl; external CIMGUI_LIB;
function ImRect_ImRect_Vec2( min : ImVec2; max : ImVec2 ) : PImRect; cdecl; external CIMGUI_LIB;
function ImRect_ImRect_Vec4( v : ImVec4 ) : PImRect; cdecl; external CIMGUI_LIB;
function ImRect_ImRect_Float( x1 : Single; y1 : Single; x2 : Single; y2 : Single ) : PImRect; cdecl; external CIMGUI_LIB;
function ImRect_IsInverted( self : PImRect ) : Boolean; cdecl; external CIMGUI_LIB;
function ImRect_Overlaps( self : PImRect; r : ImRect ) : Boolean; cdecl; external CIMGUI_LIB;
procedure ImRect_ToVec4( pOut : PImVec4; self : PImRect ); cdecl; external CIMGUI_LIB;
procedure ImRect_Translate( self : PImRect; d : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure ImRect_TranslateX( self : PImRect; dx : Single ); cdecl; external CIMGUI_LIB;
procedure ImRect_TranslateY( self : PImRect; dy : Single ); cdecl; external CIMGUI_LIB;
procedure ImRect_destroy( self : PImRect ); cdecl; external CIMGUI_LIB;
function ImVec1_ImVec1_Nil( ) : PImVec1; cdecl; external CIMGUI_LIB;
function ImVec1_ImVec1_Float( _x : Single ) : PImVec1; cdecl; external CIMGUI_LIB;
procedure ImVec1_destroy( self : PImVec1 ); cdecl; external CIMGUI_LIB;
function ImVec2_ImVec2_Nil( ) : PImVec2; cdecl; external CIMGUI_LIB;
function ImVec2_ImVec2_Float( _x : Single; _y : Single ) : PImVec2; cdecl; external CIMGUI_LIB;
procedure ImVec2_destroy( self : PImVec2 ); cdecl; external CIMGUI_LIB;
function ImVec2ih_ImVec2ih_Nil( ) : PImVec2ih; cdecl; external CIMGUI_LIB;
function ImVec2ih_ImVec2ih_short( _x : ImS16; _y : ImS16 ) : PImVec2ih; cdecl; external CIMGUI_LIB;
function ImVec2ih_ImVec2ih_Vec2( rhs : ImVec2 ) : PImVec2ih; cdecl; external CIMGUI_LIB;
procedure ImVec2ih_destroy( self : PImVec2ih ); cdecl; external CIMGUI_LIB;
function ImVec4_ImVec4_Nil( ) : PImVec4; cdecl; external CIMGUI_LIB;
function ImVec4_ImVec4_Float( _x : Single; _y : Single; _z : Single; _w : Single ) : PImVec4; cdecl; external CIMGUI_LIB;
procedure ImVec4_destroy( self : PImVec4 ); cdecl; external CIMGUI_LIB;
function igAcceptDragDropPayload( type_ : PAnsiChar; flags : ImGuiDragDropFlags ) : PImGuiPayload; cdecl; external CIMGUI_LIB;
procedure igActivateItemByID( id : ImGuiID ); cdecl; external CIMGUI_LIB;
function igAddContextHook( context : PImGuiContext; hook : PImGuiContextHook ) : ImGuiID; cdecl; external CIMGUI_LIB;
procedure igAddDrawListToDrawDataEx( draw_data : PImDrawData; out_list : PImVector_ImDrawListPtr; draw_list : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure igAddSettingsHandler( handler : PImGuiSettingsHandler ); cdecl; external CIMGUI_LIB;
procedure igAlignTextToFramePadding( ); cdecl; external CIMGUI_LIB;
function igArrowButton( str_id : PAnsiChar; dir : ImGuiDir ) : Boolean; cdecl; external CIMGUI_LIB;
function igArrowButtonEx( str_id : PAnsiChar; dir : ImGuiDir; size_arg : ImVec2; flags : ImGuiButtonFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBegin( name : PAnsiChar; p_open : PBoolean; flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginChild_Str( str_id : PAnsiChar; size : ImVec2; child_flags : ImGuiChildFlags; window_flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginChild_ID( id : ImGuiID; size : ImVec2; child_flags : ImGuiChildFlags; window_flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginChildEx( name : PAnsiChar; id : ImGuiID; size_arg : ImVec2; child_flags : ImGuiChildFlags; window_flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igBeginColumns( str_id : PAnsiChar; count : Integer; flags : ImGuiOldColumnFlags ); cdecl; external CIMGUI_LIB;
function igBeginCombo( label_ : PAnsiChar; preview_value : PAnsiChar; flags : ImGuiComboFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginComboPopup( popup_id : ImGuiID; bb : ImRect; flags : ImGuiComboFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginComboPreview( ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igBeginDisabled( disabled : Boolean ); cdecl; external CIMGUI_LIB;
procedure igBeginDockableDragDropSource( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igBeginDockableDragDropTarget( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igBeginDocked( window : PImGuiWindow; p_open : PBoolean ); cdecl; external CIMGUI_LIB;
function igBeginDragDropSource( flags : ImGuiDragDropFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginDragDropTarget( ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginDragDropTargetCustom( bb : ImRect; id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igBeginGroup( ); cdecl; external CIMGUI_LIB;
function igBeginItemTooltip( ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginListBox( label_ : PAnsiChar; size : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginMainMenuBar( ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginMenu( label_ : PAnsiChar; enabled : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginMenuBar( ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginMenuEx( label_ : PAnsiChar; icon : PAnsiChar; enabled : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginPopup( str_id : PAnsiChar; flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginPopupContextItem( str_id : PAnsiChar; popup_flags : ImGuiPopupFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginPopupContextVoid( str_id : PAnsiChar; popup_flags : ImGuiPopupFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginPopupContextWindow( str_id : PAnsiChar; popup_flags : ImGuiPopupFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginPopupEx( id : ImGuiID; extra_flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginPopupModal( name : PAnsiChar; p_open : PBoolean; flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTabBar( str_id : PAnsiChar; flags : ImGuiTabBarFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTabBarEx( tab_bar : PImGuiTabBar; bb : ImRect; flags : ImGuiTabBarFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTabItem( label_ : PAnsiChar; p_open : PBoolean; flags : ImGuiTabItemFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTable( str_id : PAnsiChar; column : Integer; flags : ImGuiTableFlags; outer_size : ImVec2; inner_width : Single ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTableEx( name : PAnsiChar; id : ImGuiID; columns_count : Integer; flags : ImGuiTableFlags; outer_size : ImVec2; inner_width : Single ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTooltip( ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTooltipEx( tooltip_flags : ImGuiTooltipFlags; extra_window_flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginTooltipHidden( ) : Boolean; cdecl; external CIMGUI_LIB;
function igBeginViewportSideBar( name : PAnsiChar; viewport : PImGuiViewport; dir : ImGuiDir; size : Single; window_flags : ImGuiWindowFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igBringWindowToDisplayBack( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igBringWindowToDisplayBehind( window : PImGuiWindow; above_window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igBringWindowToDisplayFront( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igBringWindowToFocusFront( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igBullet( ); cdecl; external CIMGUI_LIB;
procedure igBulletText( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igBulletTextV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
function igButton( label_ : PAnsiChar; size : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igButtonBehavior( bb : ImRect; id : ImGuiID; out_hovered : PBoolean; out_held : PBoolean; flags : ImGuiButtonFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igButtonEx( label_ : PAnsiChar; size_arg : ImVec2; flags : ImGuiButtonFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igCalcItemSize( pOut : PImVec2; size : ImVec2; default_w : Single; default_h : Single ); cdecl; external CIMGUI_LIB;
function igCalcItemWidth( ) : Single; cdecl; external CIMGUI_LIB;
function igCalcRoundingFlagsForRectInRect( r_in : ImRect; r_outer : ImRect; threshold : Single ) : ImDrawFlags; cdecl; external CIMGUI_LIB;
procedure igCalcTextSize( pOut : PImVec2; text : PAnsiChar; text_end : PAnsiChar; hide_text_after_double_hash : Boolean; wrap_width : Single ); cdecl; external CIMGUI_LIB;
function igCalcTypematicRepeatAmount( t0 : Single; t1 : Single; repeat_delay : Single; repeat_rate : Single ) : Integer; cdecl; external CIMGUI_LIB;
procedure igCalcWindowNextAutoFitSize( pOut : PImVec2; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
function igCalcWrapWidthForPos( pos : ImVec2; wrap_pos_x : Single ) : Single; cdecl; external CIMGUI_LIB;
procedure igCallContextHooks( context : PImGuiContext; type_ : ImGuiContextHookType ); cdecl; external CIMGUI_LIB;
function igCheckbox( label_ : PAnsiChar; v : PBoolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igCheckboxFlags_IntPtr( label_ : PAnsiChar; flags : PInteger; flags_value : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
function igCheckboxFlags_UintPtr( label_ : PAnsiChar; flags : PImU32; flags_value : ImU32 ) : Boolean; cdecl; external CIMGUI_LIB;
function igCheckboxFlags_S64Ptr( label_ : PAnsiChar; flags : PImS64; flags_value : ImS64 ) : Boolean; cdecl; external CIMGUI_LIB;
function igCheckboxFlags_U64Ptr( label_ : PAnsiChar; flags : PImU64; flags_value : ImU64 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igClearActiveID( ); cdecl; external CIMGUI_LIB;
procedure igClearDragDrop( ); cdecl; external CIMGUI_LIB;
procedure igClearIniSettings( ); cdecl; external CIMGUI_LIB;
procedure igClearWindowSettings( name : PAnsiChar ); cdecl; external CIMGUI_LIB;
function igCloseButton( id : ImGuiID; pos : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igCloseCurrentPopup( ); cdecl; external CIMGUI_LIB;
procedure igClosePopupToLevel( remaining : Integer; restore_focus_to_window_under_popup : Boolean ); cdecl; external CIMGUI_LIB;
procedure igClosePopupsExceptModals( ); cdecl; external CIMGUI_LIB;
procedure igClosePopupsOverWindow( ref_window : PImGuiWindow; restore_focus_to_window_under_popup : Boolean ); cdecl; external CIMGUI_LIB;
function igCollapseButton( id : ImGuiID; pos : ImVec2; dock_node : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
function igCollapsingHeader_TreeNodeFlags( label_ : PAnsiChar; flags : ImGuiTreeNodeFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igCollapsingHeader_BoolPtr( label_ : PAnsiChar; p_visible : PBoolean; flags : ImGuiTreeNodeFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igColorButton( desc_id : PAnsiChar; col : ImVec4; flags : ImGuiColorEditFlags; size : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igColorConvertFloat4ToU32( in_ : ImVec4 ) : ImU32; cdecl; external CIMGUI_LIB;
procedure igColorConvertHSVtoRGB( h : Single; s : Single; v : Single; out_r : PSingle; out_g : PSingle; out_b : PSingle ); cdecl; external CIMGUI_LIB;
procedure igColorConvertRGBtoHSV( r : Single; g : Single; b : Single; out_h : PSingle; out_s : PSingle; out_v : PSingle ); cdecl; external CIMGUI_LIB;
procedure igColorConvertU32ToFloat4( pOut : PImVec4; in_ : ImU32 ); cdecl; external CIMGUI_LIB;
function igColorEdit3( label_ : PAnsiChar; col : PSingle; flags : ImGuiColorEditFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igColorEdit4( label_ : PAnsiChar; col : PSingle; flags : ImGuiColorEditFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igColorEditOptionsPopup( col : PSingle; flags : ImGuiColorEditFlags ); cdecl; external CIMGUI_LIB;
function igColorPicker3( label_ : PAnsiChar; col : PSingle; flags : ImGuiColorEditFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igColorPicker4( label_ : PAnsiChar; col : PSingle; flags : ImGuiColorEditFlags; ref_col : PSingle ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igColorPickerOptionsPopup( ref_col : PSingle; flags : ImGuiColorEditFlags ); cdecl; external CIMGUI_LIB;
procedure igColorTooltip( text : PAnsiChar; col : PSingle; flags : ImGuiColorEditFlags ); cdecl; external CIMGUI_LIB;
procedure igColumns( count : Integer; id : PAnsiChar; border : Boolean ); cdecl; external CIMGUI_LIB;
function igCombo_Str_arr( label_ : PAnsiChar; current_item : PInteger; items : PPAnsiChar; items_count : Integer; popup_max_height_in_items : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
function igCombo_Str( label_ : PAnsiChar; current_item : PInteger; items_separated_by_zeros : PAnsiChar; popup_max_height_in_items : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
function igCombo_FnStrPtr( label_ : PAnsiChar; current_item : PInteger; getter : TImGuiComboItemsGetterFunc ;user_data : Pointer; items_count : Integer; popup_max_height_in_items : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
function igConvertShortcutMod( key_chord : ImGuiKeyChord ) : ImGuiKeyChord; cdecl; external CIMGUI_LIB;
function igConvertSingleModFlagToKey( ctx : PImGuiContext; key : ImGuiKey ) : ImGuiKey; cdecl; external CIMGUI_LIB;
function igCreateContext( shared_font_atlas : PImFontAtlas ) : PImGuiContext; cdecl; external CIMGUI_LIB;
function igCreateNewWindowSettings( name : PAnsiChar ) : PImGuiWindowSettings; cdecl; external CIMGUI_LIB;
function igDataTypeApplyFromText( buf : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; format : PAnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igDataTypeApplyOp( data_type : ImGuiDataType; op : Integer; output : Pointer; arg_1 : Pointer; arg_2 : Pointer ); cdecl; external CIMGUI_LIB;
function igDataTypeClamp( data_type : ImGuiDataType; p_data : Pointer; p_min : Pointer; p_max : Pointer ) : Boolean; cdecl; external CIMGUI_LIB;
function igDataTypeCompare( data_type : ImGuiDataType; arg_1 : Pointer; arg_2 : Pointer ) : Integer; cdecl; external CIMGUI_LIB;
function igDataTypeFormatString( buf : PAnsiChar; buf_size : Integer; data_type : ImGuiDataType; p_data : Pointer; format : PAnsiChar ) : Integer; cdecl; external CIMGUI_LIB;
function igDataTypeGetInfo( data_type : ImGuiDataType ) : PImGuiDataTypeInfo; cdecl; external CIMGUI_LIB;
procedure igDebugAllocHook( info : PImGuiDebugAllocInfo; frame_count : Integer; ptr : Pointer; size : size_t ); cdecl; external CIMGUI_LIB;
function igDebugCheckVersionAndDataLayout( version_str : PAnsiChar; sz_io : size_t; sz_style : size_t; sz_vec2 : size_t; sz_vec4 : size_t; sz_drawvert : size_t; sz_drawidx : size_t ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igDebugDrawCursorPos( col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igDebugDrawItemRect( col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igDebugDrawLineExtents( col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igDebugHookIdInfo( id : ImGuiID; data_type : ImGuiDataType; data_id : Pointer; data_id_end : Pointer ); cdecl; external CIMGUI_LIB;
procedure igDebugLocateItem( target_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igDebugLocateItemOnHover( target_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igDebugLocateItemResolveWithLastItem( ); cdecl; external CIMGUI_LIB;
procedure igDebugLog( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igDebugLogV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeColumns( columns : PImGuiOldColumns ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeDockNode( node : PImGuiDockNode; label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeDrawCmdShowMeshAndBoundingBox( out_draw_list : PImDrawList; draw_list : PImDrawList; draw_cmd : PImDrawCmd; show_mesh : Boolean; show_aabb : Boolean ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeDrawList( window : PImGuiWindow; viewport : PImGuiViewportP; draw_list : PImDrawList; label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeFont( font : PImFont ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeFontGlyph( font : PImFont; glyph : PImFontGlyph ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeInputTextState( state : PImGuiInputTextState ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeStorage( storage : PImGuiStorage; label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeTabBar( tab_bar : PImGuiTabBar; label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeTable( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeTableSettings( settings : PImGuiTableSettings ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeTypingSelectState( state : PImGuiTypingSelectState ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeViewport( viewport : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeWindow( window : PImGuiWindow; label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeWindowSettings( settings : PImGuiWindowSettings ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeWindowsList( windows : PImVector_ImGuiWindowPtr; label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDebugNodeWindowsListByBeginStackParent( windows : PPImGuiWindow; windows_size : Integer; parent_in_begin_stack : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igDebugRenderKeyboardPreview( draw_list : PImDrawList ); cdecl; external CIMGUI_LIB;
procedure igDebugRenderViewportThumbnail( draw_list : PImDrawList; viewport : PImGuiViewportP; bb : ImRect ); cdecl; external CIMGUI_LIB;
procedure igDebugStartItemPicker( ); cdecl; external CIMGUI_LIB;
procedure igDebugTextEncoding( text : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDestroyContext( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
procedure igDestroyPlatformWindow( viewport : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure igDestroyPlatformWindows( ); cdecl; external CIMGUI_LIB;
function igDockBuilderAddNode( node_id : ImGuiID; flags : ImGuiDockNodeFlags ) : ImGuiID; cdecl; external CIMGUI_LIB;
procedure igDockBuilderCopyDockSpace( src_dockspace_id : ImGuiID; dst_dockspace_id : ImGuiID; in_window_remap_pairs : PImVector_const_charPtr ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderCopyNode( src_node_id : ImGuiID; dst_node_id : ImGuiID; out_node_remap_pairs : PImVector_ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderCopyWindowSettings( src_name : PAnsiChar; dst_name : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderDockWindow( window_name : PAnsiChar; node_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderFinish( node_id : ImGuiID ); cdecl; external CIMGUI_LIB;
function igDockBuilderGetCentralNode( node_id : ImGuiID ) : PImGuiDockNode; cdecl; external CIMGUI_LIB;
function igDockBuilderGetNode( node_id : ImGuiID ) : PImGuiDockNode; cdecl; external CIMGUI_LIB;
procedure igDockBuilderRemoveNode( node_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderRemoveNodeChildNodes( node_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderRemoveNodeDockedWindows( node_id : ImGuiID; clear_settings_refs : Boolean ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderSetNodePos( node_id : ImGuiID; pos : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igDockBuilderSetNodeSize( node_id : ImGuiID; size : ImVec2 ); cdecl; external CIMGUI_LIB;
function igDockBuilderSplitNode( node_id : ImGuiID; split_dir : ImGuiDir; size_ratio_for_node_at_dir : Single; out_id_at_dir : PImGuiID; out_id_at_opposite_dir : PImGuiID ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igDockContextCalcDropPosForDocking( target : PImGuiWindow; target_node : PImGuiDockNode; payload_window : PImGuiWindow; payload_node : PImGuiDockNode; split_dir : ImGuiDir; split_outer : Boolean; out_pos : PImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igDockContextClearNodes( ctx : PImGuiContext; root_id : ImGuiID; clear_settings_refs : Boolean ); cdecl; external CIMGUI_LIB;
procedure igDockContextEndFrame( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
function igDockContextFindNodeByID( ctx : PImGuiContext; id : ImGuiID ) : PImGuiDockNode; cdecl; external CIMGUI_LIB;
function igDockContextGenNodeID( ctx : PImGuiContext ) : ImGuiID; cdecl; external CIMGUI_LIB;
procedure igDockContextInitialize( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
procedure igDockContextNewFrameUpdateDocking( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
procedure igDockContextNewFrameUpdateUndocking( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
procedure igDockContextProcessUndockNode( ctx : PImGuiContext; node : PImGuiDockNode ); cdecl; external CIMGUI_LIB;
procedure igDockContextProcessUndockWindow( ctx : PImGuiContext; window : PImGuiWindow; clear_persistent_docking_ref : Boolean ); cdecl; external CIMGUI_LIB;
procedure igDockContextQueueDock( ctx : PImGuiContext; target : PImGuiWindow; target_node : PImGuiDockNode; payload : PImGuiWindow; split_dir : ImGuiDir; split_ratio : Single; split_outer : Boolean ); cdecl; external CIMGUI_LIB;
procedure igDockContextQueueUndockNode( ctx : PImGuiContext; node : PImGuiDockNode ); cdecl; external CIMGUI_LIB;
procedure igDockContextQueueUndockWindow( ctx : PImGuiContext; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igDockContextRebuildNodes( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
procedure igDockContextShutdown( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
function igDockNodeBeginAmendTabBar( node : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igDockNodeEndAmendTabBar( ); cdecl; external CIMGUI_LIB;
function igDockNodeGetDepth( node : PImGuiDockNode ) : Integer; cdecl; external CIMGUI_LIB;
function igDockNodeGetRootNode( node : PImGuiDockNode ) : PImGuiDockNode; cdecl; external CIMGUI_LIB;
function igDockNodeGetWindowMenuButtonId( node : PImGuiDockNode ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igDockNodeIsInHierarchyOf( node : PImGuiDockNode; parent : PImGuiDockNode ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igDockNodeWindowMenuHandler_Default( ctx : PImGuiContext; node : PImGuiDockNode; tab_bar : PImGuiTabBar ); cdecl; external CIMGUI_LIB;
function igDockSpace( id : ImGuiID; size : ImVec2; flags : ImGuiDockNodeFlags; window_class : PImGuiWindowClass ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igDockSpaceOverViewport( viewport : PImGuiViewport; flags : ImGuiDockNodeFlags; window_class : PImGuiWindowClass ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igDragBehavior( id : ImGuiID; data_type : ImGuiDataType; p_v : Pointer; v_speed : Single; p_min : Pointer; p_max : Pointer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragFloat( label_ : PAnsiChar; v : PSingle; v_speed : Single; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragFloat2( label_ : PAnsiChar; v : PSingle; v_speed : Single; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragFloat3( label_ : PAnsiChar; v : PSingle; v_speed : Single; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragFloat4( label_ : PAnsiChar; v : PSingle; v_speed : Single; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragFloatRange2( label_ : PAnsiChar; v_current_min : PSingle; v_current_max : PSingle; v_speed : Single; v_min : Single; v_max : Single; format : PAnsiChar; format_max : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragInt( label_ : PAnsiChar; v : PInteger; v_speed : Single; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragInt2( label_ : PAnsiChar; v : PInteger; v_speed : Single; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragInt3( label_ : PAnsiChar; v : PInteger; v_speed : Single; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragInt4( label_ : PAnsiChar; v : PInteger; v_speed : Single; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragIntRange2( label_ : PAnsiChar; v_current_min : PInteger; v_current_max : PInteger; v_speed : Single; v_min : Integer; v_max : Integer; format : PAnsiChar; format_max : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragScalar( label_ : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; v_speed : Single; p_min : Pointer; p_max : Pointer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igDragScalarN( label_ : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; components : Integer; v_speed : Single; p_min : Pointer; p_max : Pointer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igDummy( size : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igEnd( ); cdecl; external CIMGUI_LIB;
procedure igEndChild( ); cdecl; external CIMGUI_LIB;
procedure igEndColumns( ); cdecl; external CIMGUI_LIB;
procedure igEndCombo( ); cdecl; external CIMGUI_LIB;
procedure igEndComboPreview( ); cdecl; external CIMGUI_LIB;
procedure igEndDisabled( ); cdecl; external CIMGUI_LIB;
procedure igEndDragDropSource( ); cdecl; external CIMGUI_LIB;
procedure igEndDragDropTarget( ); cdecl; external CIMGUI_LIB;
procedure igEndFrame( ); cdecl; external CIMGUI_LIB;
procedure igEndGroup( ); cdecl; external CIMGUI_LIB;
procedure igEndListBox( ); cdecl; external CIMGUI_LIB;
procedure igEndMainMenuBar( ); cdecl; external CIMGUI_LIB;
procedure igEndMenu( ); cdecl; external CIMGUI_LIB;
procedure igEndMenuBar( ); cdecl; external CIMGUI_LIB;
procedure igEndPopup( ); cdecl; external CIMGUI_LIB;
procedure igEndTabBar( ); cdecl; external CIMGUI_LIB;
procedure igEndTabItem( ); cdecl; external CIMGUI_LIB;
procedure igEndTable( ); cdecl; external CIMGUI_LIB;
procedure igEndTooltip( ); cdecl; external CIMGUI_LIB;
procedure igErrorCheckEndFrameRecover( log_callback : ImGuiErrorLogCallback; user_data : Pointer ); cdecl; external CIMGUI_LIB;
procedure igErrorCheckEndWindowRecover( log_callback : ImGuiErrorLogCallback; user_data : Pointer ); cdecl; external CIMGUI_LIB;
procedure igErrorCheckUsingSetCursorPosToExtendParentBoundaries( ); cdecl; external CIMGUI_LIB;
procedure igFindBestWindowPosForPopup( pOut : PImVec2; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igFindBestWindowPosForPopupEx( pOut : PImVec2; ref_pos : ImVec2; size : ImVec2; last_dir : PImGuiDir; r_outer : ImRect; r_avoid : ImRect; policy : ImGuiPopupPositionPolicy ); cdecl; external CIMGUI_LIB;
function igFindBlockingModal( window : PImGuiWindow ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function igFindBottomMostVisibleWindowWithinBeginStack( window : PImGuiWindow ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function igFindHoveredViewportFromPlatformWindowStack( mouse_platform_pos : ImVec2 ) : PImGuiViewportP; cdecl; external CIMGUI_LIB;
function igFindOrCreateColumns( window : PImGuiWindow; id : ImGuiID ) : PImGuiOldColumns; cdecl; external CIMGUI_LIB;
function igFindRenderedTextEnd( text : PAnsiChar; text_end : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igFindSettingsHandler( type_name : PAnsiChar ) : PImGuiSettingsHandler; cdecl; external CIMGUI_LIB;
function igFindViewportByID( id : ImGuiID ) : PImGuiViewport; cdecl; external CIMGUI_LIB;
function igFindViewportByPlatformHandle( platform_handle : Pointer ) : PImGuiViewport; cdecl; external CIMGUI_LIB;
function igFindWindowByID( id : ImGuiID ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function igFindWindowByName( name : PAnsiChar ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function igFindWindowDisplayIndex( window : PImGuiWindow ) : Integer; cdecl; external CIMGUI_LIB;
function igFindWindowSettingsByID( id : ImGuiID ) : PImGuiWindowSettings; cdecl; external CIMGUI_LIB;
function igFindWindowSettingsByWindow( window : PImGuiWindow ) : PImGuiWindowSettings; cdecl; external CIMGUI_LIB;
procedure igFocusItem( ); cdecl; external CIMGUI_LIB;
procedure igFocusTopMostWindowUnderOne( under_this_window : PImGuiWindow; ignore_window : PImGuiWindow; filter_viewport : PImGuiViewport; flags : ImGuiFocusRequestFlags ); cdecl; external CIMGUI_LIB;
procedure igFocusWindow( window : PImGuiWindow; flags : ImGuiFocusRequestFlags ); cdecl; external CIMGUI_LIB;
procedure igGcAwakeTransientWindowBuffers( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igGcCompactTransientMiscBuffers( ); cdecl; external CIMGUI_LIB;
procedure igGcCompactTransientWindowBuffers( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
function igGetActiveID( ) : ImGuiID; cdecl; external CIMGUI_LIB;
procedure igGetAllocatorFunctions( p_alloc_func : PImGuiMemAllocFunc; p_free_func : PImGuiMemFreeFunc; p_user_data : PPPointer ); cdecl; external CIMGUI_LIB;
function igGetBackgroundDrawList_Nil( ) : PImDrawList; cdecl; external CIMGUI_LIB;
function igGetBackgroundDrawList_ViewportPtr( viewport : PImGuiViewport ) : PImDrawList; cdecl; external CIMGUI_LIB;
function igGetClipboardText( ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igGetColorU32_Col( idx : ImGuiCol; alpha_mul : Single ) : ImU32; cdecl; external CIMGUI_LIB;
function igGetColorU32_Vec4( col : ImVec4 ) : ImU32; cdecl; external CIMGUI_LIB;
function igGetColorU32_U32( col : ImU32 ) : ImU32; cdecl; external CIMGUI_LIB;
function igGetColumnIndex( ) : Integer; cdecl; external CIMGUI_LIB;
function igGetColumnNormFromOffset( columns : PImGuiOldColumns; offset : Single ) : Single; cdecl; external CIMGUI_LIB;
function igGetColumnOffset( column_index : Integer ) : Single; cdecl; external CIMGUI_LIB;
function igGetColumnOffsetFromNorm( columns : PImGuiOldColumns; offset_norm : Single ) : Single; cdecl; external CIMGUI_LIB;
function igGetColumnWidth( column_index : Integer ) : Single; cdecl; external CIMGUI_LIB;
function igGetColumnsCount( ) : Integer; cdecl; external CIMGUI_LIB;
function igGetColumnsID( str_id : PAnsiChar; count : Integer ) : ImGuiID; cdecl; external CIMGUI_LIB;
procedure igGetContentRegionAvail( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igGetContentRegionMax( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igGetContentRegionMaxAbs( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetCurrentContext( ) : PImGuiContext; cdecl; external CIMGUI_LIB;
function igGetCurrentFocusScope( ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetCurrentTabBar( ) : PImGuiTabBar; cdecl; external CIMGUI_LIB;
function igGetCurrentTable( ) : PImGuiTable; cdecl; external CIMGUI_LIB;
function igGetCurrentWindow( ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function igGetCurrentWindowRead( ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
procedure igGetCursorPos( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetCursorPosX( ) : Single; cdecl; external CIMGUI_LIB;
function igGetCursorPosY( ) : Single; cdecl; external CIMGUI_LIB;
procedure igGetCursorScreenPos( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igGetCursorStartPos( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetDefaultFont( ) : PImFont; cdecl; external CIMGUI_LIB;
function igGetDragDropPayload( ) : PImGuiPayload; cdecl; external CIMGUI_LIB;
function igGetDrawData( ) : PImDrawData; cdecl; external CIMGUI_LIB;
function igGetDrawListSharedData( ) : PImDrawListSharedData; cdecl; external CIMGUI_LIB;
function igGetFocusID( ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetFont( ) : PImFont; cdecl; external CIMGUI_LIB;
function igGetFontSize( ) : Single; cdecl; external CIMGUI_LIB;
procedure igGetFontTexUvWhitePixel( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetForegroundDrawList_Nil( ) : PImDrawList; cdecl; external CIMGUI_LIB;
function igGetForegroundDrawList_ViewportPtr( viewport : PImGuiViewport ) : PImDrawList; cdecl; external CIMGUI_LIB;
function igGetForegroundDrawList_WindowPtr( window : PImGuiWindow ) : PImDrawList; cdecl; external CIMGUI_LIB;
function igGetFrameCount( ) : Integer; cdecl; external CIMGUI_LIB;
function igGetFrameHeight( ) : Single; cdecl; external CIMGUI_LIB;
function igGetFrameHeightWithSpacing( ) : Single; cdecl; external CIMGUI_LIB;
function igGetHoveredID( ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetID_Str( str_id : PAnsiChar ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetID_StrStr( str_id_begin : PAnsiChar; str_id_end : PAnsiChar ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetID_Ptr( ptr_id : Pointer ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetIDWithSeed_Str( str_id_begin : PAnsiChar; str_id_end : PAnsiChar; seed : ImGuiID ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetIDWithSeed_Int( n : Integer; seed : ImGuiID ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetIO( ) : PImGuiIO; cdecl; external CIMGUI_LIB;
function igGetInputTextState( id : ImGuiID ) : PImGuiInputTextState; cdecl; external CIMGUI_LIB;
function igGetItemFlags( ) : ImGuiItemFlags; cdecl; external CIMGUI_LIB;
function igGetItemID( ) : ImGuiID; cdecl; external CIMGUI_LIB;
procedure igGetItemRectMax( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igGetItemRectMin( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igGetItemRectSize( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetItemStatusFlags( ) : ImGuiItemStatusFlags; cdecl; external CIMGUI_LIB;
procedure igGetKeyChordName( key_chord : ImGuiKeyChord; out_buf : PAnsiChar; out_buf_size : Integer ); cdecl; external CIMGUI_LIB;
function igGetKeyData_ContextPtr( ctx : PImGuiContext; key : ImGuiKey ) : PImGuiKeyData; cdecl; external CIMGUI_LIB;
function igGetKeyData_Key( key : ImGuiKey ) : PImGuiKeyData; cdecl; external CIMGUI_LIB;
function igGetKeyIndex( key : ImGuiKey ) : ImGuiKey; cdecl; external CIMGUI_LIB;
procedure igGetKeyMagnitude2d( pOut : PImVec2; key_left : ImGuiKey; key_right : ImGuiKey; key_up : ImGuiKey; key_down : ImGuiKey ); cdecl; external CIMGUI_LIB;
function igGetKeyName( key : ImGuiKey ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igGetKeyOwner( key : ImGuiKey ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetKeyOwnerData( ctx : PImGuiContext; key : ImGuiKey ) : PImGuiKeyOwnerData; cdecl; external CIMGUI_LIB;
function igGetKeyPressedAmount( key : ImGuiKey; repeat_delay : Single; rate : Single ) : Integer; cdecl; external CIMGUI_LIB;
function igGetMainViewport( ) : PImGuiViewport; cdecl; external CIMGUI_LIB;
function igGetMouseClickedCount( button : ImGuiMouseButton ) : Integer; cdecl; external CIMGUI_LIB;
function igGetMouseCursor( ) : ImGuiMouseCursor; cdecl; external CIMGUI_LIB;
procedure igGetMouseDragDelta( pOut : PImVec2; button : ImGuiMouseButton; lock_threshold : Single ); cdecl; external CIMGUI_LIB;
procedure igGetMousePos( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igGetMousePosOnOpeningCurrentPopup( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetNavTweakPressedAmount( axis : ImGuiAxis ) : Single; cdecl; external CIMGUI_LIB;
function igGetPlatformIO( ) : PImGuiPlatformIO; cdecl; external CIMGUI_LIB;
procedure igGetPopupAllowedExtentRect( pOut : PImRect; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
function igGetScrollMaxX( ) : Single; cdecl; external CIMGUI_LIB;
function igGetScrollMaxY( ) : Single; cdecl; external CIMGUI_LIB;
function igGetScrollX( ) : Single; cdecl; external CIMGUI_LIB;
function igGetScrollY( ) : Single; cdecl; external CIMGUI_LIB;
function igGetShortcutRoutingData( key_chord : ImGuiKeyChord ) : PImGuiKeyRoutingData; cdecl; external CIMGUI_LIB;
function igGetStateStorage( ) : PImGuiStorage; cdecl; external CIMGUI_LIB;
function igGetStyle( ) : PImGuiStyle; cdecl; external CIMGUI_LIB;
function igGetStyleColorName( idx : ImGuiCol ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igGetStyleColorVec4( idx : ImGuiCol ) : PImVec4; cdecl; external CIMGUI_LIB;
function igGetStyleVarInfo( idx : ImGuiStyleVar ) : PImGuiDataVarInfo; cdecl; external CIMGUI_LIB;
function igGetTextLineHeight( ) : Single; cdecl; external CIMGUI_LIB;
function igGetTextLineHeightWithSpacing( ) : Single; cdecl; external CIMGUI_LIB;
function igGetTime( ) : Double; cdecl; external CIMGUI_LIB;
function igGetTopMostAndVisiblePopupModal( ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function igGetTopMostPopupModal( ) : PImGuiWindow; cdecl; external CIMGUI_LIB;
function igGetTreeNodeToLabelSpacing( ) : Single; cdecl; external CIMGUI_LIB;
procedure igGetTypematicRepeatRate( flags : ImGuiInputFlags; repeat_delay : PSingle; repeat_rate : PSingle ); cdecl; external CIMGUI_LIB;
function igGetTypingSelectRequest( flags : ImGuiTypingSelectFlags ) : PImGuiTypingSelectRequest; cdecl; external CIMGUI_LIB;
function igGetVersion( ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igGetViewportPlatformMonitor( viewport : PImGuiViewport ) : PImGuiPlatformMonitor; cdecl; external CIMGUI_LIB;
function igGetWindowAlwaysWantOwnTabBar( window : PImGuiWindow ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igGetWindowContentRegionMax( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igGetWindowContentRegionMin( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetWindowDockID( ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetWindowDockNode( ) : PImGuiDockNode; cdecl; external CIMGUI_LIB;
function igGetWindowDpiScale( ) : Single; cdecl; external CIMGUI_LIB;
function igGetWindowDrawList( ) : PImDrawList; cdecl; external CIMGUI_LIB;
function igGetWindowHeight( ) : Single; cdecl; external CIMGUI_LIB;
procedure igGetWindowPos( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetWindowResizeBorderID( window : PImGuiWindow; dir : ImGuiDir ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetWindowResizeCornerID( window : PImGuiWindow; n : Integer ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igGetWindowScrollbarID( window : PImGuiWindow; axis : ImGuiAxis ) : ImGuiID; cdecl; external CIMGUI_LIB;
procedure igGetWindowScrollbarRect( pOut : PImRect; window : PImGuiWindow; axis : ImGuiAxis ); cdecl; external CIMGUI_LIB;
procedure igGetWindowSize( pOut : PImVec2 ); cdecl; external CIMGUI_LIB;
function igGetWindowViewport( ) : PImGuiViewport; cdecl; external CIMGUI_LIB;
function igGetWindowWidth( ) : Single; cdecl; external CIMGUI_LIB;
function igImAbs_Int( x : Integer ) : Integer; cdecl; external CIMGUI_LIB;
function igImAbs_Float( x : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImAbs_double( x : Double ) : Double; cdecl; external CIMGUI_LIB;
function igImAlphaBlendColors( col_a : ImU32; col_b : ImU32 ) : ImU32; cdecl; external CIMGUI_LIB;
procedure igImBezierCubicCalc( pOut : PImVec2; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; t : Single ); cdecl; external CIMGUI_LIB;
procedure igImBezierCubicClosestPoint( pOut : PImVec2; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; p : ImVec2; num_segments : Integer ); cdecl; external CIMGUI_LIB;
procedure igImBezierCubicClosestPointCasteljau( pOut : PImVec2; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; p4 : ImVec2; p : ImVec2; tess_tol : Single ); cdecl; external CIMGUI_LIB;
procedure igImBezierQuadraticCalc( pOut : PImVec2; p1 : ImVec2; p2 : ImVec2; p3 : ImVec2; t : Single ); cdecl; external CIMGUI_LIB;
procedure igImBitArrayClearAllBits( arr : PImU32; bitcount : Integer ); cdecl; external CIMGUI_LIB;
procedure igImBitArrayClearBit( arr : PImU32; n : Integer ); cdecl; external CIMGUI_LIB;
function igImBitArrayGetStorageSizeInBytes( bitcount : Integer ) : size_t; cdecl; external CIMGUI_LIB;
procedure igImBitArraySetBit( arr : PImU32; n : Integer ); cdecl; external CIMGUI_LIB;
procedure igImBitArraySetBitRange( arr : PImU32; n : Integer; n2 : Integer ); cdecl; external CIMGUI_LIB;
function igImBitArrayTestBit( arr : PImU32; n : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
function igImCharIsBlankA( c : AnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
function igImCharIsBlankW( c : ImU32 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igImClamp( pOut : PImVec2; v : ImVec2; mn : ImVec2; mx : ImVec2 ); cdecl; external CIMGUI_LIB;
function igImDot( a : ImVec2; b : ImVec2 ) : Single; cdecl; external CIMGUI_LIB;
function igImExponentialMovingAverage( avg : Single; sample : Single; n : Integer ) : Single; cdecl; external CIMGUI_LIB;
function igImFileClose( file_ : ImFileHandle ) : Boolean; cdecl; external CIMGUI_LIB;
function igImFileGetSize( file_ : ImFileHandle ) : ImU64; cdecl; external CIMGUI_LIB;
function igImFileLoadToMemory( filename : PAnsiChar; mode : PAnsiChar; out_file_size : Psize_t; padding_bytes : Integer ) : Pointer; cdecl; external CIMGUI_LIB;
function igImFileOpen( filename : PAnsiChar; mode : PAnsiChar ) : ImFileHandle; cdecl; external CIMGUI_LIB;
function igImFileRead( data : Pointer; size : ImU64; count : ImU64; file_ : ImFileHandle ) : ImU64; cdecl; external CIMGUI_LIB;
function igImFileWrite( data : Pointer; size : ImU64; count : ImU64; file_ : ImFileHandle ) : ImU64; cdecl; external CIMGUI_LIB;
function igImFloor_Float( f : Single ) : Single; cdecl; external CIMGUI_LIB;
procedure igImFloor_Vec2( pOut : PImVec2; v : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildFinish( atlas : PImFontAtlas ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildInit( atlas : PImFontAtlas ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildMultiplyCalcLookupTable( out_table : PByte; in_multiply_factor : Single ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildMultiplyRectAlpha8( table : PByte; pixels : PImU8; x : Integer; y : Integer; w : Integer; h : Integer; stride : Integer ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildPackCustomRects( atlas : PImFontAtlas; stbrp_context_opaque : Pointer ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildRender32bppRectFromString( atlas : PImFontAtlas; x : Integer; y : Integer; w : Integer; h : Integer; in_str : PAnsiChar; in_marker_char : AnsiChar; in_marker_pixel_value : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildRender8bppRectFromString( atlas : PImFontAtlas; x : Integer; y : Integer; w : Integer; h : Integer; in_str : PAnsiChar; in_marker_char : AnsiChar; in_marker_pixel_value : ImU8 ); cdecl; external CIMGUI_LIB;
procedure igImFontAtlasBuildSetupFont( atlas : PImFontAtlas; font : PImFont; font_config : PImFontConfig; ascent : Single; descent : Single ); cdecl; external CIMGUI_LIB;
function igImFontAtlasGetBuilderForStbTruetype( ) : PImFontBuilderIO; cdecl; external CIMGUI_LIB;
procedure igImFontAtlasUpdateConfigDataPointers( atlas : PImFontAtlas ); cdecl; external CIMGUI_LIB;
function igImFormatString( buf : PAnsiChar; buf_size : size_t; fmt : PAnsiChar; args : array of const ) : Integer; cdecl; external CIMGUI_LIB;
procedure igImFormatStringToTempBuffer( out_buf : PPAnsiChar; out_buf_end : PPAnsiChar; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igImFormatStringToTempBufferV( out_buf : PPAnsiChar; out_buf_end : PPAnsiChar; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
function igImFormatStringV( buf : PAnsiChar; buf_size : size_t; fmt : PAnsiChar; args : array of const ) : Integer; cdecl; external CIMGUI_LIB;
function igImHashData( data : Pointer; data_size : size_t; seed : ImGuiID ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igImHashStr( data : PAnsiChar; data_size : size_t; seed : ImGuiID ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igImInvLength( lhs : ImVec2; fail_value : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImIsFloatAboveGuaranteedIntegerPrecision( f : Single ) : Boolean; cdecl; external CIMGUI_LIB;
function igImIsPowerOfTwo_Int( v : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
function igImIsPowerOfTwo_U64( v : ImU64 ) : Boolean; cdecl; external CIMGUI_LIB;
function igImLengthSqr_Vec2( lhs : ImVec2 ) : Single; cdecl; external CIMGUI_LIB;
function igImLengthSqr_Vec4( lhs : ImVec4 ) : Single; cdecl; external CIMGUI_LIB;
procedure igImLerp_Vec2Float( pOut : PImVec2; a : ImVec2; b : ImVec2; t : Single ); cdecl; external CIMGUI_LIB;
procedure igImLerp_Vec2Vec2( pOut : PImVec2; a : ImVec2; b : ImVec2; t : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igImLerp_Vec4( pOut : PImVec4; a : ImVec4; b : ImVec4; t : Single ); cdecl; external CIMGUI_LIB;
procedure igImLineClosestPoint( pOut : PImVec2; a : ImVec2; b : ImVec2; p : ImVec2 ); cdecl; external CIMGUI_LIB;
function igImLinearSweep( current : Single; target : Single; speed : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImLog_Float( x : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImLog_double( x : Double ) : Double; cdecl; external CIMGUI_LIB;
procedure igImMax( pOut : PImVec2; lhs : ImVec2; rhs : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igImMin( pOut : PImVec2; lhs : ImVec2; rhs : ImVec2 ); cdecl; external CIMGUI_LIB;
function igImModPositive( a : Integer; b : Integer ) : Integer; cdecl; external CIMGUI_LIB;
procedure igImMul( pOut : PImVec2; lhs : ImVec2; rhs : ImVec2 ); cdecl; external CIMGUI_LIB;
function igImParseFormatFindEnd( format : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImParseFormatFindStart( format : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImParseFormatPrecision( format : PAnsiChar; default_value : Integer ) : Integer; cdecl; external CIMGUI_LIB;
procedure igImParseFormatSanitizeForPrinting( fmt_in : PAnsiChar; fmt_out : PAnsiChar; fmt_out_size : size_t ); cdecl; external CIMGUI_LIB;
function igImParseFormatSanitizeForScanning( fmt_in : PAnsiChar; fmt_out : PAnsiChar; fmt_out_size : size_t ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImParseFormatTrimDecorations( format : PAnsiChar; buf : PAnsiChar; buf_size : size_t ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImPow_Float( x : Single; y : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImPow_double( x : Double; y : Double ) : Double; cdecl; external CIMGUI_LIB;
procedure igImQsort( base : Pointer; count : size_t; size_of_element : size_t; compare_func : TCompareFunc ); cdecl; external CIMGUI_LIB;
procedure igImRotate( pOut : PImVec2; v : ImVec2; cos_a : Single; sin_a : Single ); cdecl; external CIMGUI_LIB;
function igImRsqrt_Float( x : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImRsqrt_double( x : Double ) : Double; cdecl; external CIMGUI_LIB;
function igImSaturate( f : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImSign_Float( x : Single ) : Single; cdecl; external CIMGUI_LIB;
function igImSign_double( x : Double ) : Double; cdecl; external CIMGUI_LIB;
function igImStrSkipBlank( str : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
procedure igImStrTrimBlanks( str : PAnsiChar ); cdecl; external CIMGUI_LIB;
function igImStrbolW( buf_mid_line : PImWchar; buf_begin : PImWchar ) : PImWchar; cdecl; external CIMGUI_LIB;
function igImStrchrRange( str_begin : PAnsiChar; str_end : PAnsiChar; c : AnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImStrdup( str : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImStrdupcpy( dst : PAnsiChar; p_dst_size : Psize_t; str : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImStreolRange( str : PAnsiChar; str_end : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImStricmp( str1 : PAnsiChar; str2 : PAnsiChar ) : Integer; cdecl; external CIMGUI_LIB;
function igImStristr( haystack : PAnsiChar; haystack_end : PAnsiChar; needle : PAnsiChar; needle_end : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImStrlenW( str : PImWchar ) : Integer; cdecl; external CIMGUI_LIB;
procedure igImStrncpy( dst : PAnsiChar; src : PAnsiChar; count : size_t ); cdecl; external CIMGUI_LIB;
function igImStrnicmp( str1 : PAnsiChar; str2 : PAnsiChar; count : size_t ) : Integer; cdecl; external CIMGUI_LIB;
function igImTextCharFromUtf8( out_char : PImU32; in_text : PAnsiChar; in_text_end : PAnsiChar ) : Integer; cdecl; external CIMGUI_LIB;
function igImTextCharToUtf8( out_buf : PAnsiChar; c : ImU32 ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImTextCountCharsFromUtf8( in_text : PAnsiChar; in_text_end : PAnsiChar ) : Integer; cdecl; external CIMGUI_LIB;
function igImTextCountUtf8BytesFromChar( in_text : PAnsiChar; in_text_end : PAnsiChar ) : Integer; cdecl; external CIMGUI_LIB;
function igImTextCountUtf8BytesFromStr( in_text : PImWchar; in_text_end : PImWchar ) : Integer; cdecl; external CIMGUI_LIB;
function igImTextFindPreviousUtf8Codepoint( in_text_start : PAnsiChar; in_text_curr : PAnsiChar ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igImTextStrFromUtf8( out_buf : PImWchar; out_buf_size : Integer; in_text : PAnsiChar; in_text_end : PAnsiChar; in_remaining : PPAnsiChar ) : Integer; cdecl; external CIMGUI_LIB;
function igImTextStrToUtf8( out_buf : PAnsiChar; out_buf_size : Integer; in_text : PImWchar; in_text_end : PImWchar ) : Integer; cdecl; external CIMGUI_LIB;
function igImToUpper( c : AnsiChar ) : AnsiChar; cdecl; external CIMGUI_LIB;
function igImTriangleArea( a : ImVec2; b : ImVec2; c : ImVec2 ) : Single; cdecl; external CIMGUI_LIB;
procedure igImTriangleBarycentricCoords( a : ImVec2; b : ImVec2; c : ImVec2; p : ImVec2; out_u : PSingle; out_v : PSingle; out_w : PSingle ); cdecl; external CIMGUI_LIB;
procedure igImTriangleClosestPoint( pOut : PImVec2; a : ImVec2; b : ImVec2; c : ImVec2; p : ImVec2 ); cdecl; external CIMGUI_LIB;
function igImTriangleContainsPoint( a : ImVec2; b : ImVec2; c : ImVec2; p : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igImTrunc_Float( f : Single ) : Single; cdecl; external CIMGUI_LIB;
procedure igImTrunc_Vec2( pOut : PImVec2; v : ImVec2 ); cdecl; external CIMGUI_LIB;
function igImUpperPowerOfTwo( v : Integer ) : Integer; cdecl; external CIMGUI_LIB;
procedure igImage( user_texture_id : ImTextureID; size : ImVec2; uv0 : ImVec2; uv1 : ImVec2; tint_col : ImVec4; border_col : ImVec4 ); cdecl; external CIMGUI_LIB;
function igImageButton( str_id : PAnsiChar; user_texture_id : ImTextureID; image_size : ImVec2; uv0 : ImVec2; uv1 : ImVec2; bg_col : ImVec4; tint_col : ImVec4 ) : Boolean; cdecl; external CIMGUI_LIB;
function igImageButtonEx( id : ImGuiID; texture_id : ImTextureID; image_size : ImVec2; uv0 : ImVec2; uv1 : ImVec2; bg_col : ImVec4; tint_col : ImVec4; flags : ImGuiButtonFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igIndent( indent_w : Single ); cdecl; external CIMGUI_LIB;
procedure igInitialize( ); cdecl; external CIMGUI_LIB;
function igInputDouble( label_ : PAnsiChar; v : PDouble; step : Double; step_fast : Double; format : PAnsiChar; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputFloat( label_ : PAnsiChar; v : PSingle; step : Single; step_fast : Single; format : PAnsiChar; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputFloat2( label_ : PAnsiChar; v : PSingle; format : PAnsiChar; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputFloat3( label_ : PAnsiChar; v : PSingle; format : PAnsiChar; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputFloat4( label_ : PAnsiChar; v : PSingle; format : PAnsiChar; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputInt( label_ : PAnsiChar; v : PInteger; step : Integer; step_fast : Integer; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputInt2( label_ : PAnsiChar; v : PInteger; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputInt3( label_ : PAnsiChar; v : PInteger; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputInt4( label_ : PAnsiChar; v : PInteger; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputScalar( label_ : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; p_step : Pointer; p_step_fast : Pointer; format : PAnsiChar; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputScalarN( label_ : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; components : Integer; p_step : Pointer; p_step_fast : Pointer; format : PAnsiChar; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputText( label_ : PAnsiChar; buf : PAnsiChar; buf_size : size_t; flags : ImGuiInputTextFlags; callback : ImGuiInputTextCallback; user_data : Pointer ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igInputTextDeactivateHook( id : ImGuiID ); cdecl; external CIMGUI_LIB;
function igInputTextEx( label_ : PAnsiChar; hint : PAnsiChar; buf : PAnsiChar; buf_size : Integer; size_arg : ImVec2; flags : ImGuiInputTextFlags; callback : ImGuiInputTextCallback; user_data : Pointer ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputTextMultiline( label_ : PAnsiChar; buf : PAnsiChar; buf_size : size_t; size : ImVec2; flags : ImGuiInputTextFlags; callback : ImGuiInputTextCallback; user_data : Pointer ) : Boolean; cdecl; external CIMGUI_LIB;
function igInputTextWithHint( label_ : PAnsiChar; hint : PAnsiChar; buf : PAnsiChar; buf_size : size_t; flags : ImGuiInputTextFlags; callback : ImGuiInputTextCallback; user_data : Pointer ) : Boolean; cdecl; external CIMGUI_LIB;
function igInvisibleButton( str_id : PAnsiChar; size : ImVec2; flags : ImGuiButtonFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsActiveIdUsingNavDir( dir : ImGuiDir ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsAliasKey( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsAnyItemActive( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsAnyItemFocused( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsAnyItemHovered( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsAnyMouseDown( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsClippedEx( bb : ImRect; id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsDragDropActive( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsDragDropPayloadBeingAccepted( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsGamepadKey( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemActivated( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemActive( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemClicked( mouse_button : ImGuiMouseButton ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemDeactivated( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemDeactivatedAfterEdit( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemEdited( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemFocused( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemHovered( flags : ImGuiHoveredFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemToggledOpen( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemToggledSelection( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsItemVisible( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyChordPressed_Nil( key_chord : ImGuiKeyChord ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyChordPressed_ID( key_chord : ImGuiKeyChord; owner_id : ImGuiID; flags : ImGuiInputFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyDown_Nil( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyDown_ID( key : ImGuiKey; owner_id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyPressed_Bool( key : ImGuiKey; repeat_ : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyPressed_ID( key : ImGuiKey; owner_id : ImGuiID; flags : ImGuiInputFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyReleased_Nil( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyReleased_ID( key : ImGuiKey; owner_id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsKeyboardKey( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsLegacyKey( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseClicked_Bool( button : ImGuiMouseButton; repeat_ : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseClicked_ID( button : ImGuiMouseButton; owner_id : ImGuiID; flags : ImGuiInputFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseDoubleClicked_Nil( button : ImGuiMouseButton ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseDoubleClicked_ID( button : ImGuiMouseButton; owner_id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseDown_Nil( button : ImGuiMouseButton ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseDown_ID( button : ImGuiMouseButton; owner_id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseDragPastThreshold( button : ImGuiMouseButton; lock_threshold : Single ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseDragging( button : ImGuiMouseButton; lock_threshold : Single ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseHoveringRect( r_min : ImVec2; r_max : ImVec2; clip : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseKey( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMousePosValid( mouse_pos : PImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseReleased_Nil( button : ImGuiMouseButton ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsMouseReleased_ID( button : ImGuiMouseButton; owner_id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsNamedKey( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsNamedKeyOrModKey( key : ImGuiKey ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsPopupOpen_Str( str_id : PAnsiChar; flags : ImGuiPopupFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsPopupOpen_ID( id : ImGuiID; popup_flags : ImGuiPopupFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsRectVisible_Nil( size : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsRectVisible_Vec2( rect_min : ImVec2; rect_max : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowAbove( potential_above : PImGuiWindow; potential_below : PImGuiWindow ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowAppearing( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowChildOf( window : PImGuiWindow; potential_parent : PImGuiWindow; popup_hierarchy : Boolean; dock_hierarchy : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowCollapsed( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowContentHoverable( window : PImGuiWindow; flags : ImGuiHoveredFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowDocked( ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowFocused( flags : ImGuiFocusedFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowHovered( flags : ImGuiHoveredFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowNavFocusable( window : PImGuiWindow ) : Boolean; cdecl; external CIMGUI_LIB;
function igIsWindowWithinBeginStackOf( window : PImGuiWindow; potential_parent : PImGuiWindow ) : Boolean; cdecl; external CIMGUI_LIB;
function igItemAdd( bb : ImRect; id : ImGuiID; nav_bb : PImRect; extra_flags : ImGuiItemFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igItemHoverable( bb : ImRect; id : ImGuiID; item_flags : ImGuiItemFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igItemSize_Vec2( size : ImVec2; text_baseline_y : Single ); cdecl; external CIMGUI_LIB;
procedure igItemSize_Rect( bb : ImRect; text_baseline_y : Single ); cdecl; external CIMGUI_LIB;
procedure igKeepAliveID( id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igLabelText( label_ : PAnsiChar; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igLabelTextV( label_ : PAnsiChar; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
function igListBox_Str_arr( label_ : PAnsiChar; current_item : PInteger; items : PPAnsiChar; items_count : Integer; height_in_items : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
function igListBox_FnStrPtr( label_ : PAnsiChar; current_item : PInteger; getter : TImGuiComboItemsGetterFunc ;user_data : Pointer; items_count : Integer; height_in_items : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igLoadIniSettingsFromDisk( ini_filename : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igLoadIniSettingsFromMemory( ini_data : PAnsiChar; ini_size : size_t ); cdecl; external CIMGUI_LIB;
function igLocalizeGetMsg( key : ImGuiLocKey ) : PAnsiChar; cdecl; external CIMGUI_LIB;
procedure igLocalizeRegisterEntries( entries : PImGuiLocEntry; count : Integer ); cdecl; external CIMGUI_LIB;
procedure igLogBegin( type_ : ImGuiLogType; auto_open_depth : Integer ); cdecl; external CIMGUI_LIB;
procedure igLogButtons( ); cdecl; external CIMGUI_LIB;
procedure igLogFinish( ); cdecl; external CIMGUI_LIB;
procedure igLogRenderedText( ref_pos : PImVec2; text : PAnsiChar; text_end : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igLogSetNextTextDecoration( prefix : PAnsiChar; suffix : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igLogText( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igLogTextV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igLogToBuffer( auto_open_depth : Integer ); cdecl; external CIMGUI_LIB;
procedure igLogToClipboard( auto_open_depth : Integer ); cdecl; external CIMGUI_LIB;
procedure igLogToFile( auto_open_depth : Integer; filename : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igLogToTTY( auto_open_depth : Integer ); cdecl; external CIMGUI_LIB;
procedure igMarkIniSettingsDirty_Nil( ); cdecl; external CIMGUI_LIB;
procedure igMarkIniSettingsDirty_WindowPtr( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igMarkItemEdited( id : ImGuiID ); cdecl; external CIMGUI_LIB;
function igMemAlloc( size : size_t ) : Pointer; cdecl; external CIMGUI_LIB;
procedure igMemFree( ptr : Pointer ); cdecl; external CIMGUI_LIB;
function igMenuItem_Bool( label_ : PAnsiChar; shortcut : PAnsiChar; selected : Boolean; enabled : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igMenuItem_BoolPtr( label_ : PAnsiChar; shortcut : PAnsiChar; p_selected : PBoolean; enabled : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igMenuItemEx( label_ : PAnsiChar; icon : PAnsiChar; shortcut : PAnsiChar; selected : Boolean; enabled : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igMouseButtonToKey( button : ImGuiMouseButton ) : ImGuiKey; cdecl; external CIMGUI_LIB;
procedure igNavClearPreferredPosForAxis( axis : ImGuiAxis ); cdecl; external CIMGUI_LIB;
procedure igNavInitRequestApplyResult( ); cdecl; external CIMGUI_LIB;
procedure igNavInitWindow( window : PImGuiWindow; force_reinit : Boolean ); cdecl; external CIMGUI_LIB;
procedure igNavMoveRequestApplyResult( ); cdecl; external CIMGUI_LIB;
function igNavMoveRequestButNoResultYet( ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igNavMoveRequestCancel( ); cdecl; external CIMGUI_LIB;
procedure igNavMoveRequestForward( move_dir : ImGuiDir; clip_dir : ImGuiDir; move_flags : ImGuiNavMoveFlags; scroll_flags : ImGuiScrollFlags ); cdecl; external CIMGUI_LIB;
procedure igNavMoveRequestResolveWithLastItem( result : PImGuiNavItemData ); cdecl; external CIMGUI_LIB;
procedure igNavMoveRequestResolveWithPastTreeNode( result : PImGuiNavItemData; tree_node_data : PImGuiNavTreeNodeData ); cdecl; external CIMGUI_LIB;
procedure igNavMoveRequestSubmit( move_dir : ImGuiDir; clip_dir : ImGuiDir; move_flags : ImGuiNavMoveFlags; scroll_flags : ImGuiScrollFlags ); cdecl; external CIMGUI_LIB;
procedure igNavMoveRequestTryWrapping( window : PImGuiWindow; move_flags : ImGuiNavMoveFlags ); cdecl; external CIMGUI_LIB;
procedure igNavRestoreHighlightAfterMove( ); cdecl; external CIMGUI_LIB;
procedure igNavUpdateCurrentWindowIsScrollPushableX( ); cdecl; external CIMGUI_LIB;
procedure igNewFrame( ); cdecl; external CIMGUI_LIB;
procedure igNewLine( ); cdecl; external CIMGUI_LIB;
procedure igNextColumn( ); cdecl; external CIMGUI_LIB;
procedure igOpenPopup_Str( str_id : PAnsiChar; popup_flags : ImGuiPopupFlags ); cdecl; external CIMGUI_LIB;
procedure igOpenPopup_ID( id : ImGuiID; popup_flags : ImGuiPopupFlags ); cdecl; external CIMGUI_LIB;
procedure igOpenPopupEx( id : ImGuiID; popup_flags : ImGuiPopupFlags ); cdecl; external CIMGUI_LIB;
procedure igOpenPopupOnItemClick( str_id : PAnsiChar; popup_flags : ImGuiPopupFlags ); cdecl; external CIMGUI_LIB;
function igPlotEx( plot_type : ImGuiPlotType; label_ : PAnsiChar; values_getter : TImGuiPlotValuesGetterFunc ;data : Pointer; values_count : Integer; values_offset : Integer; overlay_text : PAnsiChar; scale_min : Single; scale_max : Single; size_arg : ImVec2 ) : Integer; cdecl; external CIMGUI_LIB;
procedure igPlotHistogram_FloatPtr( label_ : PAnsiChar; values : PSingle; values_count : Integer; values_offset : Integer; overlay_text : PAnsiChar; scale_min : Single; scale_max : Single; graph_size : ImVec2; stride : Integer ); cdecl; external CIMGUI_LIB;
procedure igPlotHistogram_FnFloatPtr( label_ : PAnsiChar; values_getter : TImGuiPlotValuesGetterFunc ;data : Pointer; values_count : Integer; values_offset : Integer; overlay_text : PAnsiChar; scale_min : Single; scale_max : Single; graph_size : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igPlotLines_FloatPtr( label_ : PAnsiChar; values : PSingle; values_count : Integer; values_offset : Integer; overlay_text : PAnsiChar; scale_min : Single; scale_max : Single; graph_size : ImVec2; stride : Integer ); cdecl; external CIMGUI_LIB;
procedure igPlotLines_FnFloatPtr( label_ : PAnsiChar; values_getter : TImGuiPlotValuesGetterFunc ;data : Pointer; values_count : Integer; values_offset : Integer; overlay_text : PAnsiChar; scale_min : Single; scale_max : Single; graph_size : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igPopButtonRepeat( ); cdecl; external CIMGUI_LIB;
procedure igPopClipRect( ); cdecl; external CIMGUI_LIB;
procedure igPopColumnsBackground( ); cdecl; external CIMGUI_LIB;
procedure igPopFocusScope( ); cdecl; external CIMGUI_LIB;
procedure igPopFont( ); cdecl; external CIMGUI_LIB;
procedure igPopID( ); cdecl; external CIMGUI_LIB;
procedure igPopItemFlag( ); cdecl; external CIMGUI_LIB;
procedure igPopItemWidth( ); cdecl; external CIMGUI_LIB;
procedure igPopStyleColor( count : Integer ); cdecl; external CIMGUI_LIB;
procedure igPopStyleVar( count : Integer ); cdecl; external CIMGUI_LIB;
procedure igPopTabStop( ); cdecl; external CIMGUI_LIB;
procedure igPopTextWrapPos( ); cdecl; external CIMGUI_LIB;
procedure igProgressBar( fraction : Single; size_arg : ImVec2; overlay : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igPushButtonRepeat( repeat_ : Boolean ); cdecl; external CIMGUI_LIB;
procedure igPushClipRect( clip_rect_min : ImVec2; clip_rect_max : ImVec2; intersect_with_current_clip_rect : Boolean ); cdecl; external CIMGUI_LIB;
procedure igPushColumnClipRect( column_index : Integer ); cdecl; external CIMGUI_LIB;
procedure igPushColumnsBackground( ); cdecl; external CIMGUI_LIB;
procedure igPushFocusScope( id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igPushFont( font : PImFont ); cdecl; external CIMGUI_LIB;
procedure igPushID_Str( str_id : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igPushID_StrStr( str_id_begin : PAnsiChar; str_id_end : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igPushID_Ptr( ptr_id : Pointer ); cdecl; external CIMGUI_LIB;
procedure igPushID_Int( int_id : Integer ); cdecl; external CIMGUI_LIB;
procedure igPushItemFlag( option : ImGuiItemFlags; enabled : Boolean ); cdecl; external CIMGUI_LIB;
procedure igPushItemWidth( item_width : Single ); cdecl; external CIMGUI_LIB;
procedure igPushMultiItemsWidths( components : Integer; width_full : Single ); cdecl; external CIMGUI_LIB;
procedure igPushOverrideID( id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igPushStyleColor_U32( idx : ImGuiCol; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igPushStyleColor_Vec4( idx : ImGuiCol; col : ImVec4 ); cdecl; external CIMGUI_LIB;
procedure igPushStyleVar_Float( idx : ImGuiStyleVar; val : Single ); cdecl; external CIMGUI_LIB;
procedure igPushStyleVar_Vec2( idx : ImGuiStyleVar; val : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igPushTabStop( tab_stop : Boolean ); cdecl; external CIMGUI_LIB;
procedure igPushTextWrapPos( wrap_local_pos_x : Single ); cdecl; external CIMGUI_LIB;
function igRadioButton_Bool( label_ : PAnsiChar; active : Boolean ) : Boolean; cdecl; external CIMGUI_LIB;
function igRadioButton_IntPtr( label_ : PAnsiChar; v : PInteger; v_button : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igRemoveContextHook( context : PImGuiContext; hook_to_remove : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igRemoveSettingsHandler( type_name : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igRender( ); cdecl; external CIMGUI_LIB;
procedure igRenderArrow( draw_list : PImDrawList; pos : ImVec2; col : ImU32; dir : ImGuiDir; scale : Single ); cdecl; external CIMGUI_LIB;
procedure igRenderArrowDockMenu( draw_list : PImDrawList; p_min : ImVec2; sz : Single; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igRenderArrowPointingAt( draw_list : PImDrawList; pos : ImVec2; half_sz : ImVec2; direction : ImGuiDir; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igRenderBullet( draw_list : PImDrawList; pos : ImVec2; col : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igRenderCheckMark( draw_list : PImDrawList; pos : ImVec2; col : ImU32; sz : Single ); cdecl; external CIMGUI_LIB;
procedure igRenderColorRectWithAlphaCheckerboard( draw_list : PImDrawList; p_min : ImVec2; p_max : ImVec2; fill_col : ImU32; grid_step : Single; grid_off : ImVec2; rounding : Single; flags : ImDrawFlags ); cdecl; external CIMGUI_LIB;
procedure igRenderDragDropTargetRect( bb : ImRect ); cdecl; external CIMGUI_LIB;
procedure igRenderFrame( p_min : ImVec2; p_max : ImVec2; fill_col : ImU32; border : Boolean; rounding : Single ); cdecl; external CIMGUI_LIB;
procedure igRenderFrameBorder( p_min : ImVec2; p_max : ImVec2; rounding : Single ); cdecl; external CIMGUI_LIB;
procedure igRenderMouseCursor( pos : ImVec2; scale : Single; mouse_cursor : ImGuiMouseCursor; col_fill : ImU32; col_border : ImU32; col_shadow : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igRenderNavHighlight( bb : ImRect; id : ImGuiID; flags : ImGuiNavHighlightFlags ); cdecl; external CIMGUI_LIB;
procedure igRenderPlatformWindowsDefault( platform_render_arg : Pointer; renderer_render_arg : Pointer ); cdecl; external CIMGUI_LIB;
procedure igRenderRectFilledRangeH( draw_list : PImDrawList; rect : ImRect; col : ImU32; x_start_norm : Single; x_end_norm : Single; rounding : Single ); cdecl; external CIMGUI_LIB;
procedure igRenderRectFilledWithHole( draw_list : PImDrawList; outer : ImRect; inner : ImRect; col : ImU32; rounding : Single ); cdecl; external CIMGUI_LIB;
procedure igRenderText( pos : ImVec2; text : PAnsiChar; text_end : PAnsiChar; hide_text_after_hash : Boolean ); cdecl; external CIMGUI_LIB;
procedure igRenderTextClipped( pos_min : ImVec2; pos_max : ImVec2; text : PAnsiChar; text_end : PAnsiChar; text_size_if_known : PImVec2; align : ImVec2; clip_rect : PImRect ); cdecl; external CIMGUI_LIB;
procedure igRenderTextClippedEx( draw_list : PImDrawList; pos_min : ImVec2; pos_max : ImVec2; text : PAnsiChar; text_end : PAnsiChar; text_size_if_known : PImVec2; align : ImVec2; clip_rect : PImRect ); cdecl; external CIMGUI_LIB;
procedure igRenderTextEllipsis( draw_list : PImDrawList; pos_min : ImVec2; pos_max : ImVec2; clip_max_x : Single; ellipsis_max_x : Single; text : PAnsiChar; text_end : PAnsiChar; text_size_if_known : PImVec2 ); cdecl; external CIMGUI_LIB;
procedure igRenderTextWrapped( pos : ImVec2; text : PAnsiChar; text_end : PAnsiChar; wrap_width : Single ); cdecl; external CIMGUI_LIB;
procedure igResetMouseDragDelta( button : ImGuiMouseButton ); cdecl; external CIMGUI_LIB;
procedure igSameLine( offset_from_start_x : Single; spacing : Single ); cdecl; external CIMGUI_LIB;
procedure igSaveIniSettingsToDisk( ini_filename : PAnsiChar ); cdecl; external CIMGUI_LIB;
function igSaveIniSettingsToMemory( out_ini_size : Psize_t ) : PAnsiChar; cdecl; external CIMGUI_LIB;
procedure igScaleWindowsInViewport( viewport : PImGuiViewportP; scale : Single ); cdecl; external CIMGUI_LIB;
procedure igScrollToBringRectIntoView( window : PImGuiWindow; rect : ImRect ); cdecl; external CIMGUI_LIB;
procedure igScrollToItem( flags : ImGuiScrollFlags ); cdecl; external CIMGUI_LIB;
procedure igScrollToRect( window : PImGuiWindow; rect : ImRect; flags : ImGuiScrollFlags ); cdecl; external CIMGUI_LIB;
procedure igScrollToRectEx( pOut : PImVec2; window : PImGuiWindow; rect : ImRect; flags : ImGuiScrollFlags ); cdecl; external CIMGUI_LIB;
procedure igScrollbar( axis : ImGuiAxis ); cdecl; external CIMGUI_LIB;
function igScrollbarEx( bb : ImRect; id : ImGuiID; axis : ImGuiAxis; p_scroll_v : PImS64; avail_v : ImS64; contents_v : ImS64; flags : ImDrawFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSelectable_Bool( label_ : PAnsiChar; selected : Boolean; flags : ImGuiSelectableFlags; size : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
function igSelectable_BoolPtr( label_ : PAnsiChar; p_selected : PBoolean; flags : ImGuiSelectableFlags; size : ImVec2 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igSeparator( ); cdecl; external CIMGUI_LIB;
procedure igSeparatorEx( flags : ImGuiSeparatorFlags; thickness : Single ); cdecl; external CIMGUI_LIB;
procedure igSeparatorText( label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igSeparatorTextEx( id : ImGuiID; label_ : PAnsiChar; label_end : PAnsiChar; extra_width : Single ); cdecl; external CIMGUI_LIB;
procedure igSetActiveID( id : ImGuiID; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igSetActiveIdUsingAllKeyboardKeys( ); cdecl; external CIMGUI_LIB;
procedure igSetAllocatorFunctions( alloc_func : ImGuiMemAllocFunc; free_func : ImGuiMemFreeFunc; user_data : Pointer ); cdecl; external CIMGUI_LIB;
procedure igSetClipboardText( text : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igSetColorEditOptions( flags : ImGuiColorEditFlags ); cdecl; external CIMGUI_LIB;
procedure igSetColumnOffset( column_index : Integer; offset_x : Single ); cdecl; external CIMGUI_LIB;
procedure igSetColumnWidth( column_index : Integer; width : Single ); cdecl; external CIMGUI_LIB;
procedure igSetCurrentContext( ctx : PImGuiContext ); cdecl; external CIMGUI_LIB;
procedure igSetCurrentFont( font : PImFont ); cdecl; external CIMGUI_LIB;
procedure igSetCurrentViewport( window : PImGuiWindow; viewport : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure igSetCursorPos( local_pos : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igSetCursorPosX( local_x : Single ); cdecl; external CIMGUI_LIB;
procedure igSetCursorPosY( local_y : Single ); cdecl; external CIMGUI_LIB;
procedure igSetCursorScreenPos( pos : ImVec2 ); cdecl; external CIMGUI_LIB;
function igSetDragDropPayload( type_ : PAnsiChar; data : Pointer; sz : size_t; cond : ImGuiCond ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igSetFocusID( id : ImGuiID; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igSetHoveredID( id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igSetItemDefaultFocus( ); cdecl; external CIMGUI_LIB;
procedure igSetItemKeyOwner( key : ImGuiKey; flags : ImGuiInputFlags ); cdecl; external CIMGUI_LIB;
procedure igSetItemTooltip( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igSetItemTooltipV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igSetKeyOwner( key : ImGuiKey; owner_id : ImGuiID; flags : ImGuiInputFlags ); cdecl; external CIMGUI_LIB;
procedure igSetKeyOwnersForKeyChord( key : ImGuiKeyChord; owner_id : ImGuiID; flags : ImGuiInputFlags ); cdecl; external CIMGUI_LIB;
procedure igSetKeyboardFocusHere( offset : Integer ); cdecl; external CIMGUI_LIB;
procedure igSetLastItemData( item_id : ImGuiID; in_flags : ImGuiItemFlags; status_flags : ImGuiItemStatusFlags; item_rect : ImRect ); cdecl; external CIMGUI_LIB;
procedure igSetMouseCursor( cursor_type : ImGuiMouseCursor ); cdecl; external CIMGUI_LIB;
procedure igSetNavID( id : ImGuiID; nav_layer : ImGuiNavLayer; focus_scope_id : ImGuiID; rect_rel : ImRect ); cdecl; external CIMGUI_LIB;
procedure igSetNavWindow( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igSetNextFrameWantCaptureKeyboard( want_capture_keyboard : Boolean ); cdecl; external CIMGUI_LIB;
procedure igSetNextFrameWantCaptureMouse( want_capture_mouse : Boolean ); cdecl; external CIMGUI_LIB;
procedure igSetNextItemAllowOverlap( ); cdecl; external CIMGUI_LIB;
procedure igSetNextItemOpen( is_open : Boolean; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetNextItemSelectionUserData( selection_user_data : ImGuiSelectionUserData ); cdecl; external CIMGUI_LIB;
procedure igSetNextItemWidth( item_width : Single ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowBgAlpha( alpha : Single ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowClass( window_class : PImGuiWindowClass ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowCollapsed( collapsed : Boolean; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowContentSize( size : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowDockID( dock_id : ImGuiID; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowFocus( ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowPos( pos : ImVec2; cond : ImGuiCond; pivot : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowScroll( scroll : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowSize( size : ImVec2; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowSizeConstraints( size_min : ImVec2; size_max : ImVec2; custom_callback : ImGuiSizeCallback; custom_callback_data : Pointer ); cdecl; external CIMGUI_LIB;
procedure igSetNextWindowViewport( viewport_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igSetScrollFromPosX_Float( local_x : Single; center_x_ratio : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollFromPosX_WindowPtr( window : PImGuiWindow; local_x : Single; center_x_ratio : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollFromPosY_Float( local_y : Single; center_y_ratio : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollFromPosY_WindowPtr( window : PImGuiWindow; local_y : Single; center_y_ratio : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollHereX( center_x_ratio : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollHereY( center_y_ratio : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollX_Float( scroll_x : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollX_WindowPtr( window : PImGuiWindow; scroll_x : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollY_Float( scroll_y : Single ); cdecl; external CIMGUI_LIB;
procedure igSetScrollY_WindowPtr( window : PImGuiWindow; scroll_y : Single ); cdecl; external CIMGUI_LIB;
function igSetShortcutRouting( key_chord : ImGuiKeyChord; owner_id : ImGuiID; flags : ImGuiInputFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igSetStateStorage( storage : PImGuiStorage ); cdecl; external CIMGUI_LIB;
procedure igSetTabItemClosed( tab_or_docked_window_label : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igSetTooltip( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igSetTooltipV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igSetWindowClipRectBeforeSetChannel( window : PImGuiWindow; clip_rect : ImRect ); cdecl; external CIMGUI_LIB;
procedure igSetWindowCollapsed_Bool( collapsed : Boolean; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowCollapsed_Str( name : PAnsiChar; collapsed : Boolean; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowCollapsed_WindowPtr( window : PImGuiWindow; collapsed : Boolean; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowDock( window : PImGuiWindow; dock_id : ImGuiID; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowFocus_Nil( ); cdecl; external CIMGUI_LIB;
procedure igSetWindowFocus_Str( name : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igSetWindowFontScale( scale : Single ); cdecl; external CIMGUI_LIB;
procedure igSetWindowHiddendAndSkipItemsForCurrentFrame( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igSetWindowHitTestHole( window : PImGuiWindow; pos : ImVec2; size : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igSetWindowPos_Vec2( pos : ImVec2; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowPos_Str( name : PAnsiChar; pos : ImVec2; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowPos_WindowPtr( window : PImGuiWindow; pos : ImVec2; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowSize_Vec2( size : ImVec2; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowSize_Str( name : PAnsiChar; size : ImVec2; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowSize_WindowPtr( window : PImGuiWindow; size : ImVec2; cond : ImGuiCond ); cdecl; external CIMGUI_LIB;
procedure igSetWindowViewport( window : PImGuiWindow; viewport : PImGuiViewportP ); cdecl; external CIMGUI_LIB;
procedure igShadeVertsLinearColorGradientKeepAlpha( draw_list : PImDrawList; vert_start_idx : Integer; vert_end_idx : Integer; gradient_p0 : ImVec2; gradient_p1 : ImVec2; col0 : ImU32; col1 : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igShadeVertsLinearUV( draw_list : PImDrawList; vert_start_idx : Integer; vert_end_idx : Integer; a : ImVec2; b : ImVec2; uv_a : ImVec2; uv_b : ImVec2; clamp : Boolean ); cdecl; external CIMGUI_LIB;
procedure igShadeVertsTransformPos( draw_list : PImDrawList; vert_start_idx : Integer; vert_end_idx : Integer; pivot_in : ImVec2; cos_a : Single; sin_a : Single; pivot_out : ImVec2 ); cdecl; external CIMGUI_LIB;
function igShortcut( key_chord : ImGuiKeyChord; owner_id : ImGuiID; flags : ImGuiInputFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igShowAboutWindow( p_open : PBoolean ); cdecl; external CIMGUI_LIB;
procedure igShowDebugLogWindow( p_open : PBoolean ); cdecl; external CIMGUI_LIB;
procedure igShowDemoWindow( p_open : PBoolean ); cdecl; external CIMGUI_LIB;
procedure igShowFontAtlas( atlas : PImFontAtlas ); cdecl; external CIMGUI_LIB;
procedure igShowFontSelector( label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igShowIDStackToolWindow( p_open : PBoolean ); cdecl; external CIMGUI_LIB;
procedure igShowMetricsWindow( p_open : PBoolean ); cdecl; external CIMGUI_LIB;
procedure igShowStyleEditor( ref : PImGuiStyle ); cdecl; external CIMGUI_LIB;
function igShowStyleSelector( label_ : PAnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igShowUserGuide( ); cdecl; external CIMGUI_LIB;
procedure igShrinkWidths( items : PImGuiShrinkWidthItem; count : Integer; width_excess : Single ); cdecl; external CIMGUI_LIB;
procedure igShutdown( ); cdecl; external CIMGUI_LIB;
function igSliderAngle( label_ : PAnsiChar; v_rad : PSingle; v_degrees_min : Single; v_degrees_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderBehavior( bb : ImRect; id : ImGuiID; data_type : ImGuiDataType; p_v : Pointer; p_min : Pointer; p_max : Pointer; format : PAnsiChar; flags : ImGuiSliderFlags; out_grab_bb : PImRect ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderFloat( label_ : PAnsiChar; v : PSingle; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderFloat2( label_ : PAnsiChar; v : PSingle; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderFloat3( label_ : PAnsiChar; v : PSingle; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderFloat4( label_ : PAnsiChar; v : PSingle; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderInt( label_ : PAnsiChar; v : PInteger; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderInt2( label_ : PAnsiChar; v : PInteger; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderInt3( label_ : PAnsiChar; v : PInteger; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderInt4( label_ : PAnsiChar; v : PInteger; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderScalar( label_ : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; p_min : Pointer; p_max : Pointer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSliderScalarN( label_ : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; components : Integer; p_min : Pointer; p_max : Pointer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igSmallButton( label_ : PAnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igSpacing( ); cdecl; external CIMGUI_LIB;
function igSplitterBehavior( bb : ImRect; id : ImGuiID; axis : ImGuiAxis; size1 : PSingle; size2 : PSingle; min_size1 : Single; min_size2 : Single; hover_extend : Single; hover_visibility_delay : Single; bg_col : ImU32 ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igStartMouseMovingWindow( window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igStartMouseMovingWindowOrNode( window : PImGuiWindow; node : PImGuiDockNode; undock : Boolean ); cdecl; external CIMGUI_LIB;
procedure igStyleColorsClassic( dst : PImGuiStyle ); cdecl; external CIMGUI_LIB;
procedure igStyleColorsDark( dst : PImGuiStyle ); cdecl; external CIMGUI_LIB;
procedure igStyleColorsLight( dst : PImGuiStyle ); cdecl; external CIMGUI_LIB;
procedure igTabBarAddTab( tab_bar : PImGuiTabBar; tab_flags : ImGuiTabItemFlags; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
procedure igTabBarCloseTab( tab_bar : PImGuiTabBar; tab : PImGuiTabItem ); cdecl; external CIMGUI_LIB;
function igTabBarFindMostRecentlySelectedTabForActiveWindow( tab_bar : PImGuiTabBar ) : PImGuiTabItem; cdecl; external CIMGUI_LIB;
function igTabBarFindTabByID( tab_bar : PImGuiTabBar; tab_id : ImGuiID ) : PImGuiTabItem; cdecl; external CIMGUI_LIB;
function igTabBarFindTabByOrder( tab_bar : PImGuiTabBar; order : Integer ) : PImGuiTabItem; cdecl; external CIMGUI_LIB;
function igTabBarGetCurrentTab( tab_bar : PImGuiTabBar ) : PImGuiTabItem; cdecl; external CIMGUI_LIB;
function igTabBarGetTabName( tab_bar : PImGuiTabBar; tab : PImGuiTabItem ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igTabBarGetTabOrder( tab_bar : PImGuiTabBar; tab : PImGuiTabItem ) : Integer; cdecl; external CIMGUI_LIB;
function igTabBarProcessReorder( tab_bar : PImGuiTabBar ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTabBarQueueFocus( tab_bar : PImGuiTabBar; tab : PImGuiTabItem ); cdecl; external CIMGUI_LIB;
procedure igTabBarQueueReorder( tab_bar : PImGuiTabBar; tab : PImGuiTabItem; offset : Integer ); cdecl; external CIMGUI_LIB;
procedure igTabBarQueueReorderFromMousePos( tab_bar : PImGuiTabBar; tab : PImGuiTabItem; mouse_pos : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igTabBarRemoveTab( tab_bar : PImGuiTabBar; tab_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igTabItemBackground( draw_list : PImDrawList; bb : ImRect; flags : ImGuiTabItemFlags; col : ImU32 ); cdecl; external CIMGUI_LIB;
function igTabItemButton( label_ : PAnsiChar; flags : ImGuiTabItemFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTabItemCalcSize_Str( pOut : PImVec2; label_ : PAnsiChar; has_close_button_or_unsaved_marker : Boolean ); cdecl; external CIMGUI_LIB;
procedure igTabItemCalcSize_WindowPtr( pOut : PImVec2; window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
function igTabItemEx( tab_bar : PImGuiTabBar; label_ : PAnsiChar; p_open : PBoolean; flags : ImGuiTabItemFlags; docked_window : PImGuiWindow ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTabItemLabelAndCloseButton( draw_list : PImDrawList; bb : ImRect; flags : ImGuiTabItemFlags; frame_padding : ImVec2; label_ : PAnsiChar; tab_id : ImGuiID; close_button_id : ImGuiID; is_contents_visible : Boolean; out_just_closed : PBoolean; out_text_clipped : PBoolean ); cdecl; external CIMGUI_LIB;
procedure igTableAngledHeadersRow( ); cdecl; external CIMGUI_LIB;
procedure igTableAngledHeadersRowEx( angle : Single; label_width : Single ); cdecl; external CIMGUI_LIB;
procedure igTableBeginApplyRequests( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableBeginCell( table : PImGuiTable; column_n : Integer ); cdecl; external CIMGUI_LIB;
function igTableBeginContextMenuPopup( table : PImGuiTable ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTableBeginInitMemory( table : PImGuiTable; columns_count : Integer ); cdecl; external CIMGUI_LIB;
procedure igTableBeginRow( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableDrawBorders( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableDrawDefaultContextMenu( table : PImGuiTable; flags_for_section_to_display : ImGuiTableFlags ); cdecl; external CIMGUI_LIB;
procedure igTableEndCell( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableEndRow( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
function igTableFindByID( id : ImGuiID ) : PImGuiTable; cdecl; external CIMGUI_LIB;
procedure igTableFixColumnSortDirection( table : PImGuiTable; column : PImGuiTableColumn ); cdecl; external CIMGUI_LIB;
procedure igTableGcCompactSettings( ); cdecl; external CIMGUI_LIB;
procedure igTableGcCompactTransientBuffers_TablePtr( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableGcCompactTransientBuffers_TableTempDataPtr( table : PImGuiTableTempData ); cdecl; external CIMGUI_LIB;
function igTableGetBoundSettings( table : PImGuiTable ) : PImGuiTableSettings; cdecl; external CIMGUI_LIB;
procedure igTableGetCellBgRect( pOut : PImRect; table : PImGuiTable; column_n : Integer ); cdecl; external CIMGUI_LIB;
function igTableGetColumnCount( ) : Integer; cdecl; external CIMGUI_LIB;
function igTableGetColumnFlags( column_n : Integer ) : ImGuiTableColumnFlags; cdecl; external CIMGUI_LIB;
function igTableGetColumnIndex( ) : Integer; cdecl; external CIMGUI_LIB;
function igTableGetColumnName_Int( column_n : Integer ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igTableGetColumnName_TablePtr( table : PImGuiTable; column_n : Integer ) : PAnsiChar; cdecl; external CIMGUI_LIB;
function igTableGetColumnNextSortDirection( column : PImGuiTableColumn ) : ImGuiSortDirection; cdecl; external CIMGUI_LIB;
function igTableGetColumnResizeID( table : PImGuiTable; column_n : Integer; instance_no : Integer ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igTableGetColumnWidthAuto( table : PImGuiTable; column : PImGuiTableColumn ) : Single; cdecl; external CIMGUI_LIB;
function igTableGetHeaderAngledMaxLabelWidth( ) : Single; cdecl; external CIMGUI_LIB;
function igTableGetHeaderRowHeight( ) : Single; cdecl; external CIMGUI_LIB;
function igTableGetHoveredColumn( ) : Integer; cdecl; external CIMGUI_LIB;
function igTableGetHoveredRow( ) : Integer; cdecl; external CIMGUI_LIB;
function igTableGetInstanceData( table : PImGuiTable; instance_no : Integer ) : PImGuiTableInstanceData; cdecl; external CIMGUI_LIB;
function igTableGetInstanceID( table : PImGuiTable; instance_no : Integer ) : ImGuiID; cdecl; external CIMGUI_LIB;
function igTableGetMaxColumnWidth( table : PImGuiTable; column_n : Integer ) : Single; cdecl; external CIMGUI_LIB;
function igTableGetRowIndex( ) : Integer; cdecl; external CIMGUI_LIB;
function igTableGetSortSpecs( ) : PImGuiTableSortSpecs; cdecl; external CIMGUI_LIB;
procedure igTableHeader( label_ : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igTableHeadersRow( ); cdecl; external CIMGUI_LIB;
procedure igTableLoadSettings( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableMergeDrawChannels( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
function igTableNextColumn( ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTableNextRow( row_flags : ImGuiTableRowFlags; min_row_height : Single ); cdecl; external CIMGUI_LIB;
procedure igTableOpenContextMenu( column_n : Integer ); cdecl; external CIMGUI_LIB;
procedure igTablePopBackgroundChannel( ); cdecl; external CIMGUI_LIB;
procedure igTablePushBackgroundChannel( ); cdecl; external CIMGUI_LIB;
procedure igTableRemove( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableResetSettings( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableSaveSettings( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableSetBgColor( target : ImGuiTableBgTarget; color : ImU32; column_n : Integer ); cdecl; external CIMGUI_LIB;
procedure igTableSetColumnEnabled( column_n : Integer; v : Boolean ); cdecl; external CIMGUI_LIB;
function igTableSetColumnIndex( column_n : Integer ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTableSetColumnSortDirection( column_n : Integer; sort_direction : ImGuiSortDirection; append_to_sort_specs : Boolean ); cdecl; external CIMGUI_LIB;
procedure igTableSetColumnWidth( column_n : Integer; width : Single ); cdecl; external CIMGUI_LIB;
procedure igTableSetColumnWidthAutoAll( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableSetColumnWidthAutoSingle( table : PImGuiTable; column_n : Integer ); cdecl; external CIMGUI_LIB;
procedure igTableSettingsAddSettingsHandler( ); cdecl; external CIMGUI_LIB;
function igTableSettingsCreate( id : ImGuiID; columns_count : Integer ) : PImGuiTableSettings; cdecl; external CIMGUI_LIB;
function igTableSettingsFindByID( id : ImGuiID ) : PImGuiTableSettings; cdecl; external CIMGUI_LIB;
procedure igTableSetupColumn( label_ : PAnsiChar; flags : ImGuiTableColumnFlags; init_width_or_weight : Single; user_id : ImGuiID ); cdecl; external CIMGUI_LIB;
procedure igTableSetupDrawChannels( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableSetupScrollFreeze( cols : Integer; rows : Integer ); cdecl; external CIMGUI_LIB;
procedure igTableSortSpecsBuild( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableSortSpecsSanitize( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableUpdateBorders( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableUpdateColumnsWeightFromWidth( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTableUpdateLayout( table : PImGuiTable ); cdecl; external CIMGUI_LIB;
procedure igTeleportMousePos( pos : ImVec2 ); cdecl; external CIMGUI_LIB;
function igTempInputIsActive( id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igTempInputScalar( bb : ImRect; id : ImGuiID; label_ : PAnsiChar; data_type : ImGuiDataType; p_data : Pointer; format : PAnsiChar; p_clamp_min : Pointer; p_clamp_max : Pointer ) : Boolean; cdecl; external CIMGUI_LIB;
function igTempInputText( bb : ImRect; id : ImGuiID; label_ : PAnsiChar; buf : PAnsiChar; buf_size : Integer; flags : ImGuiInputTextFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igTestKeyOwner( key : ImGuiKey; owner_id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
function igTestShortcutRouting( key_chord : ImGuiKeyChord; owner_id : ImGuiID ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igText( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTextColored( col : ImVec4; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTextColoredV( col : ImVec4; fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTextDisabled( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTextDisabledV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTextEx( text : PAnsiChar; text_end : PAnsiChar; flags : ImGuiTextFlags ); cdecl; external CIMGUI_LIB;
procedure igTextUnformatted( text : PAnsiChar; text_end : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igTextV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTextWrapped( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTextWrappedV( fmt : PAnsiChar; args : array of const ); cdecl; external CIMGUI_LIB;
procedure igTranslateWindowsInViewport( viewport : PImGuiViewportP; old_pos : ImVec2; new_pos : ImVec2 ); cdecl; external CIMGUI_LIB;
function igTreeNode_Str( label_ : PAnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNode_StrStr( str_id : PAnsiChar; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNode_Ptr( ptr_id : Pointer; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeBehavior( id : ImGuiID; flags : ImGuiTreeNodeFlags; label_ : PAnsiChar; label_end : PAnsiChar ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeEx_Str( label_ : PAnsiChar; flags : ImGuiTreeNodeFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeEx_StrStr( str_id : PAnsiChar; flags : ImGuiTreeNodeFlags; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeEx_Ptr( ptr_id : Pointer; flags : ImGuiTreeNodeFlags; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeExV_Str( str_id : PAnsiChar; flags : ImGuiTreeNodeFlags; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeExV_Ptr( ptr_id : Pointer; flags : ImGuiTreeNodeFlags; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTreeNodeSetOpen( id : ImGuiID; open : Boolean ); cdecl; external CIMGUI_LIB;
function igTreeNodeUpdateNextOpen( id : ImGuiID; flags : ImGuiTreeNodeFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeV_Str( str_id : PAnsiChar; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
function igTreeNodeV_Ptr( ptr_id : Pointer; fmt : PAnsiChar; args : array of const ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igTreePop( ); cdecl; external CIMGUI_LIB;
procedure igTreePush_Str( str_id : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igTreePush_Ptr( ptr_id : Pointer ); cdecl; external CIMGUI_LIB;
procedure igTreePushOverrideID( id : ImGuiID ); cdecl; external CIMGUI_LIB;
function igTypingSelectFindBestLeadingMatch( req : PImGuiTypingSelectRequest; items_count : Integer; get_item_name_func : TImGuiComboItemsGetterFunc ;user_data : Pointer ) : Integer; cdecl; external CIMGUI_LIB;
function igTypingSelectFindMatch( req : PImGuiTypingSelectRequest; items_count : Integer; get_item_name_func : TImGuiComboItemsGetterFunc ;user_data : Pointer; nav_item_idx : Integer ) : Integer; cdecl; external CIMGUI_LIB;
function igTypingSelectFindNextSingleCharMatch( req : PImGuiTypingSelectRequest; items_count : Integer; get_item_name_func : TImGuiComboItemsGetterFunc ;user_data : Pointer; nav_item_idx : Integer ) : Integer; cdecl; external CIMGUI_LIB;
procedure igUnindent( indent_w : Single ); cdecl; external CIMGUI_LIB;
procedure igUpdateHoveredWindowAndCaptureFlags( ); cdecl; external CIMGUI_LIB;
procedure igUpdateInputEvents( trickle_fast_inputs : Boolean ); cdecl; external CIMGUI_LIB;
procedure igUpdateMouseMovingWindowEndFrame( ); cdecl; external CIMGUI_LIB;
procedure igUpdateMouseMovingWindowNewFrame( ); cdecl; external CIMGUI_LIB;
procedure igUpdatePlatformWindows( ); cdecl; external CIMGUI_LIB;
procedure igUpdateWindowParentAndRootLinks( window : PImGuiWindow; flags : ImGuiWindowFlags; parent_window : PImGuiWindow ); cdecl; external CIMGUI_LIB;
function igVSliderFloat( label_ : PAnsiChar; size : ImVec2; v : PSingle; v_min : Single; v_max : Single; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igVSliderInt( label_ : PAnsiChar; size : ImVec2; v : PInteger; v_min : Integer; v_max : Integer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
function igVSliderScalar( label_ : PAnsiChar; size : ImVec2; data_type : ImGuiDataType; p_data : Pointer; p_min : Pointer; p_max : Pointer; format : PAnsiChar; flags : ImGuiSliderFlags ) : Boolean; cdecl; external CIMGUI_LIB;
procedure igValue_Bool( prefix : PAnsiChar; b : Boolean ); cdecl; external CIMGUI_LIB;
procedure igValue_Int( prefix : PAnsiChar; v : Integer ); cdecl; external CIMGUI_LIB;
procedure igValue_Uint( prefix : PAnsiChar; v : ImU32 ); cdecl; external CIMGUI_LIB;
procedure igValue_Float( prefix : PAnsiChar; v : Single; float_format : PAnsiChar ); cdecl; external CIMGUI_LIB;
procedure igWindowPosRelToAbs( pOut : PImVec2; window : PImGuiWindow; p : ImVec2 ); cdecl; external CIMGUI_LIB;
procedure igWindowRectAbsToRel( pOut : PImRect; window : PImGuiWindow; r : ImRect ); cdecl; external CIMGUI_LIB;
procedure igWindowRectRelToAbs( pOut : PImRect; window : PImGuiWindow; r : ImRect ); cdecl; external CIMGUI_LIB;

// From mORMot2 "mormot.lib.static.pas"
type
  /// define SetFpuFlags/ResetFpuFlags context
  // - external libraries coded in C are likely to disable FPU exceptions,
  // whereas Delphi/FPC code expects FPU exceptions to be raised ASAP
  // - ffLibrary is used before calling an external library
  // - ffPascal before calling pascal code from an external library callback
  TFpuFlags = (
    ffLibrary,
    ffPascal);

{$ifdef CPUINTEL}
var
  /// direct efficient x87 / SSE2 FPU flags for rounding and exceptions
  _FPUFLAGS: array[TFpuFlags] of cardinal = (
    {$ifdef CPU64}
      $1FA0, $1920);
    {$else}
      $137F, $1372);
    {$endif CPU64}

{$else}
var
  /// on non Intel/AMD, use slower but cross-platform RTL Math unit
  // - defined as var for runtime customization
  _FPUFLAGS: array[TFpuFlags] of TFPUExceptionMask = (
    // ffLibrary
    [exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision],
    // ffPascal
    [exDenormalized, exUnderflow, exPrecision]);

{$endif CPUINTEL}


/// mask/unmask all FPU exceptions, according to the running CPU
// - returns the previous exception flags, for ResetFpuFlags() call
// - x87 flags are $1372 for pascal, or $137F for library
// - sse flags are $1920 for pascal, or $1FA0 for library
// - on non Intel/AMD CPUs, will use TFPUExceptionMask from the RTL Math unit
// - do nothing and return -1 if the supplied flags are the one already set
function SetFpuFlags(flags: TFpuFlags = ffLibrary): cardinal;

/// restore the FPU exceptions flags as overriden by SetFpuFlags()
// - do nothing if the saved flags are the one already set, i.e. -1
procedure ResetFpuFlags(saved: cardinal);

implementation
  uses
    math;

{ ********************** Cross-Platform FPU Exceptions Masking }
const
  _FPUFLAGSIDEM = cardinal(-1); // fake value used for faster nested calls

function _GetFlags: cardinal;
  {$ifdef HASINLINE} inline; {$endif}
begin
  {$ifdef CPUINTEL}
    {$ifdef CPU64}
    result := GetMXCSR;
    {$else}
    result := Get8087CW;
    {$endif CPU64}
  {$else}
    result := cardinal(GetExceptionMask);
  {$endif CPUINTEL}
end;

procedure _SetFlags(flags: cardinal);
  {$ifdef HASINLINE} inline; {$endif}
begin
  {$ifdef CPUINTEL}
    {$ifdef CPU64}
    SetMXCSR(flags);
    {$else}
    Set8087CW(flags);
    {$endif CPU64}
  {$else}
    SetExceptionMask(TFPUExceptionMask(flags));
  {$endif CPUINTEL}
end;

function SetFpuFlags(flags: TFpuFlags): cardinal;
var
  new: cardinal;
begin
  result := _GetFlags;
  new := cardinal(_FPUFLAGS[flags]);
  if new <> result then
    _SetFlags(new)
  else
    result := _FPUFLAGSIDEM;
end;

procedure ResetFpuFlags(saved: cardinal);
begin
  if saved <> _FPUFLAGSIDEM then
    _SetFlags(saved);
end;

end.
