Open 3D Engine ImGui Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
ImDrawList Struct Reference

Public Member Functions

 ImDrawList (const ImDrawListSharedData *shared_data)
 
IMGUI_API void PushClipRect (ImVec2 clip_rect_min, ImVec2 clip_rect_max, bool intersect_with_current_clip_rect=false)
 
IMGUI_API void PushClipRectFullScreen ()
 
IMGUI_API void PopClipRect ()
 
IMGUI_API void PushTextureID (ImTextureID texture_id)
 
IMGUI_API void PopTextureID ()
 
ImVec2 GetClipRectMin () const
 
ImVec2 GetClipRectMax () const
 
IMGUI_API void AddLine (const ImVec2 &p1, const ImVec2 &p2, ImU32 col, float thickness=1.0f)
 
IMGUI_API void AddRect (const ImVec2 &p_min, const ImVec2 &p_max, ImU32 col, float rounding=0.0f, ImDrawFlags flags=0, float thickness=1.0f)
 
IMGUI_API void AddRectFilled (const ImVec2 &p_min, const ImVec2 &p_max, ImU32 col, float rounding=0.0f, ImDrawFlags flags=0)
 
IMGUI_API void AddRectFilledMultiColor (const ImVec2 &p_min, const ImVec2 &p_max, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left)
 
IMGUI_API void AddQuad (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col, float thickness=1.0f)
 
IMGUI_API void AddQuadFilled (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col)
 
IMGUI_API void AddTriangle (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, ImU32 col, float thickness=1.0f)
 
IMGUI_API void AddTriangleFilled (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, ImU32 col)
 
IMGUI_API void AddCircle (const ImVec2 &center, float radius, ImU32 col, int num_segments=0, float thickness=1.0f)
 
IMGUI_API void AddCircleFilled (const ImVec2 &center, float radius, ImU32 col, int num_segments=0)
 
IMGUI_API void AddNgon (const ImVec2 &center, float radius, ImU32 col, int num_segments, float thickness=1.0f)
 
IMGUI_API void AddNgonFilled (const ImVec2 &center, float radius, ImU32 col, int num_segments)
 
IMGUI_API void AddText (const ImVec2 &pos, ImU32 col, const char *text_begin, const char *text_end=NULL)
 
IMGUI_API void AddText (const ImFont *font, float font_size, const ImVec2 &pos, ImU32 col, const char *text_begin, const char *text_end=NULL, float wrap_width=0.0f, const ImVec4 *cpu_fine_clip_rect=NULL)
 
IMGUI_API void AddPolyline (const ImVec2 *points, int num_points, ImU32 col, ImDrawFlags flags, float thickness)
 
IMGUI_API void AddConvexPolyFilled (const ImVec2 *points, int num_points, ImU32 col)
 
IMGUI_API void AddBezierCubic (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col, float thickness, int num_segments=0)
 
IMGUI_API void AddBezierQuadratic (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, ImU32 col, float thickness, int num_segments=0)
 
IMGUI_API void AddImage (ImTextureID user_texture_id, const ImVec2 &p_min, const ImVec2 &p_max, const ImVec2 &uv_min=ImVec2(0, 0), const ImVec2 &uv_max=ImVec2(1, 1), ImU32 col=IM_COL32_WHITE)
 
IMGUI_API void AddImageQuad (ImTextureID user_texture_id, const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, const ImVec2 &uv1=ImVec2(0, 0), const ImVec2 &uv2=ImVec2(1, 0), const ImVec2 &uv3=ImVec2(1, 1), const ImVec2 &uv4=ImVec2(0, 1), ImU32 col=IM_COL32_WHITE)
 
IMGUI_API void AddImageRounded (ImTextureID user_texture_id, const ImVec2 &p_min, const ImVec2 &p_max, const ImVec2 &uv_min, const ImVec2 &uv_max, ImU32 col, float rounding, ImDrawFlags flags=0)
 
void PathClear ()
 
void PathLineTo (const ImVec2 &pos)
 
void PathLineToMergeDuplicate (const ImVec2 &pos)
 
void PathFillConvex (ImU32 col)
 
void PathStroke (ImU32 col, ImDrawFlags flags=0, float thickness=1.0f)
 
IMGUI_API void PathArcTo (const ImVec2 &center, float radius, float a_min, float a_max, int num_segments=0)
 
IMGUI_API void PathArcToFast (const ImVec2 &center, float radius, int a_min_of_12, int a_max_of_12)
 
IMGUI_API void PathBezierCubicCurveTo (const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, int num_segments=0)
 
IMGUI_API void PathBezierQuadraticCurveTo (const ImVec2 &p2, const ImVec2 &p3, int num_segments=0)
 
IMGUI_API void PathRect (const ImVec2 &rect_min, const ImVec2 &rect_max, float rounding=0.0f, ImDrawFlags flags=0)
 
IMGUI_API void AddCallback (ImDrawCallback callback, void *callback_data)
 
IMGUI_API void AddDrawCmd ()
 
IMGUI_API ImDrawListCloneOutput () const
 
void ChannelsSplit (int count)
 
void ChannelsMerge ()
 
void ChannelsSetCurrent (int n)
 
IMGUI_API void PrimReserve (int idx_count, int vtx_count)
 
IMGUI_API void PrimUnreserve (int idx_count, int vtx_count)
 
IMGUI_API void PrimRect (const ImVec2 &a, const ImVec2 &b, ImU32 col)
 
IMGUI_API void PrimRectUV (const ImVec2 &a, const ImVec2 &b, const ImVec2 &uv_a, const ImVec2 &uv_b, ImU32 col)
 
IMGUI_API void PrimQuadUV (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &d, const ImVec2 &uv_a, const ImVec2 &uv_b, const ImVec2 &uv_c, const ImVec2 &uv_d, ImU32 col)
 
void PrimWriteVtx (const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
 
void PrimWriteIdx (ImDrawIdx idx)
 
void PrimVtx (const ImVec2 &pos, const ImVec2 &uv, ImU32 col)
 
void AddBezierCurve (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, ImU32 col, float thickness, int num_segments=0)
 
void PathBezierCurveTo (const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, int num_segments=0)
 
IMGUI_API void _ResetForNewFrame ()
 
IMGUI_API void _ClearFreeMemory ()
 
IMGUI_API void _PopUnusedDrawCmd ()
 
IMGUI_API void _OnChangedClipRect ()
 
IMGUI_API void _OnChangedTextureID ()
 
IMGUI_API void _OnChangedVtxOffset ()
 
IMGUI_API int _CalcCircleAutoSegmentCount (float radius) const
 
IMGUI_API void _PathArcToFastEx (const ImVec2 &center, float radius, int a_min_sample, int a_max_sample, int a_step)
 
IMGUI_API void _PathArcToN (const ImVec2 &center, float radius, float a_min, float a_max, int num_segments)
 

Public Attributes

ImVector< ImDrawCmdCmdBuffer
 
ImVector< ImDrawIdx > IdxBuffer
 
ImVector< ImDrawVertVtxBuffer
 
ImDrawListFlags Flags
 
unsigned int _VtxCurrentIdx
 
const ImDrawListSharedData_Data
 
const char * _OwnerName
 
ImDrawVert_VtxWritePtr
 
ImDrawIdx * _IdxWritePtr
 
ImVector< ImVec4_ClipRectStack
 
ImVector< ImTextureID > _TextureIdStack
 
ImVector< ImVec2_Path
 
ImDrawCmdHeader _CmdHeader
 
ImDrawListSplitter _Splitter
 
float _FringeScale
 

The documentation for this struct was generated from the following file: