Steppable 0.0.1
A CAS project written from scratch in C++
Loading...
Searching...
No Matches
ImDrawList Struct Reference

#include <imgui.h>

Collaboration diagram for ImDrawList:
[legend]

Public Member Functions

 ImDrawList (ImDrawListSharedData *shared_data)
 
 ~ImDrawList ()
 
IMGUI_API void PushClipRect (const ImVec2 &clip_rect_min, const 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 AddEllipse (const ImVec2 &center, const ImVec2 &radius, ImU32 col, float rot=0.0f, int num_segments=0, float thickness=1.0f)
 
IMGUI_API void AddEllipseFilled (const ImVec2 &center, const ImVec2 &radius, ImU32 col, float rot=0.0f, int num_segments=0)
 
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 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 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 AddConcavePolyFilled (const ImVec2 *points, int num_points, ImU32 col)
 
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 PathFillConcave (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 PathEllipticalArcTo (const ImVec2 &center, const ImVec2 &radius, float rot, float a_min, float a_max, int num_segments=0)
 
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)
 
IMGUI_API void _ResetForNewFrame ()
 
IMGUI_API void _ClearFreeMemory ()
 
IMGUI_API void _PopUnusedDrawCmd ()
 
IMGUI_API void _TryMergeDrawCmds ()
 
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
 
ImDrawListSharedData_Data
 
ImDrawVert_VtxWritePtr
 
ImDrawIdx * _IdxWritePtr
 
ImVector< ImVec2_Path
 
ImDrawCmdHeader _CmdHeader
 
ImDrawListSplitter _Splitter
 
ImVector< ImVec4_ClipRectStack
 
ImVector< ImTextureID > _TextureIdStack
 
float _FringeScale
 
const char * _OwnerName
 

Constructor & Destructor Documentation

◆ ImDrawList()

ImDrawList::ImDrawList ( ImDrawListSharedData * shared_data)
inline
Here is the caller graph for this function:

◆ ~ImDrawList()

ImDrawList::~ImDrawList ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ _CalcCircleAutoSegmentCount()

int ImDrawList::_CalcCircleAutoSegmentCount ( float radius) const
Here is the caller graph for this function:

◆ _ClearFreeMemory()

void ImDrawList::_ClearFreeMemory ( )
Here is the caller graph for this function:

◆ _OnChangedClipRect()

void ImDrawList::_OnChangedClipRect ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ _OnChangedTextureID()

void ImDrawList::_OnChangedTextureID ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ _OnChangedVtxOffset()

void ImDrawList::_OnChangedVtxOffset ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ _PathArcToFastEx()

void ImDrawList::_PathArcToFastEx ( const ImVec2 & center,
float radius,
int a_min_sample,
int a_max_sample,
int a_step )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ _PathArcToN()

void ImDrawList::_PathArcToN ( const ImVec2 & center,
float radius,
float a_min,
float a_max,
int num_segments )
Here is the caller graph for this function:

◆ _PopUnusedDrawCmd()

void ImDrawList::_PopUnusedDrawCmd ( )
Here is the caller graph for this function:

◆ _ResetForNewFrame()

void ImDrawList::_ResetForNewFrame ( )
Here is the caller graph for this function:

◆ _TryMergeDrawCmds()

void ImDrawList::_TryMergeDrawCmds ( )
Here is the caller graph for this function:

◆ AddBezierCubic()

void ImDrawList::AddBezierCubic ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
ImU32 col,
float thickness,
int num_segments = 0 )
Here is the call graph for this function:

◆ AddBezierQuadratic()

void ImDrawList::AddBezierQuadratic ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
ImU32 col,
float thickness,
int num_segments = 0 )
Here is the call graph for this function:

◆ AddCallback()

void ImDrawList::AddCallback ( ImDrawCallback callback,
void * callback_data )
Here is the call graph for this function:

◆ AddCircle()

void ImDrawList::AddCircle ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments = 0,
float thickness = 1.0f )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddCircleFilled()

void ImDrawList::AddCircleFilled ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments = 0 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddConcavePolyFilled()

void ImDrawList::AddConcavePolyFilled ( const ImVec2 * points,
int num_points,
ImU32 col )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddConvexPolyFilled()

void ImDrawList::AddConvexPolyFilled ( const ImVec2 * points,
int num_points,
ImU32 col )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddDrawCmd()

void ImDrawList::AddDrawCmd ( )
Here is the caller graph for this function:

◆ AddEllipse()

void ImDrawList::AddEllipse ( const ImVec2 & center,
const ImVec2 & radius,
ImU32 col,
float rot = 0.0f,
int num_segments = 0,
float thickness = 1.0f )
Here is the call graph for this function:

◆ AddEllipseFilled()

void ImDrawList::AddEllipseFilled ( const ImVec2 & center,
const ImVec2 & radius,
ImU32 col,
float rot = 0.0f,
int num_segments = 0 )
Here is the call graph for this function:

◆ AddImage()

void ImDrawList::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 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddImageQuad()

void ImDrawList::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 )
Here is the call graph for this function:

◆ AddImageRounded()

void ImDrawList::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 )
Here is the call graph for this function:

◆ AddLine()

void ImDrawList::AddLine ( const ImVec2 & p1,
const ImVec2 & p2,
ImU32 col,
float thickness = 1.0f )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddNgon()

void ImDrawList::AddNgon ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments,
float thickness = 1.0f )
Here is the call graph for this function:

◆ AddNgonFilled()

void ImDrawList::AddNgonFilled ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments )
Here is the call graph for this function:

◆ AddPolyline()

void ImDrawList::AddPolyline ( const ImVec2 * points,
int num_points,
ImU32 col,
ImDrawFlags flags,
float thickness )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddQuad()

void ImDrawList::AddQuad ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
ImU32 col,
float thickness = 1.0f )
Here is the call graph for this function:

◆ AddQuadFilled()

void ImDrawList::AddQuadFilled ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
ImU32 col )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddRect()

void ImDrawList::AddRect ( const ImVec2 & p_min,
const ImVec2 & p_max,
ImU32 col,
float rounding = 0.0f,
ImDrawFlags flags = 0,
float thickness = 1.0f )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddRectFilled()

void ImDrawList::AddRectFilled ( const ImVec2 & p_min,
const ImVec2 & p_max,
ImU32 col,
float rounding = 0.0f,
ImDrawFlags flags = 0 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddRectFilledMultiColor()

void ImDrawList::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 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddText() [1/2]

void ImDrawList::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 )
Here is the call graph for this function:

◆ AddText() [2/2]

void ImDrawList::AddText ( const ImVec2 & pos,
ImU32 col,
const char * text_begin,
const char * text_end = NULL )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddTriangle()

void ImDrawList::AddTriangle ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
ImU32 col,
float thickness = 1.0f )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddTriangleFilled()

void ImDrawList::AddTriangleFilled ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
ImU32 col )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ChannelsMerge()

void ImDrawList::ChannelsMerge ( )
inline
Here is the caller graph for this function:

◆ ChannelsSetCurrent()

void ImDrawList::ChannelsSetCurrent ( int n)
inline
Here is the caller graph for this function:

◆ ChannelsSplit()

void ImDrawList::ChannelsSplit ( int count)
inline
Here is the caller graph for this function:

◆ CloneOutput()

ImDrawList * ImDrawList::CloneOutput ( ) const
Here is the call graph for this function:

◆ GetClipRectMax()

ImVec2 ImDrawList::GetClipRectMax ( ) const
inline

◆ GetClipRectMin()

ImVec2 ImDrawList::GetClipRectMin ( ) const
inline

◆ PathArcTo()

void ImDrawList::PathArcTo ( const ImVec2 & center,
float radius,
float a_min,
float a_max,
int num_segments = 0 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PathArcToFast()

void ImDrawList::PathArcToFast ( const ImVec2 & center,
float radius,
int a_min_of_12,
int a_max_of_12 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PathBezierCubicCurveTo()

void ImDrawList::PathBezierCubicCurveTo ( const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
int num_segments = 0 )
Here is the caller graph for this function:

◆ PathBezierQuadraticCurveTo()

void ImDrawList::PathBezierQuadraticCurveTo ( const ImVec2 & p2,
const ImVec2 & p3,
int num_segments = 0 )
Here is the caller graph for this function:

◆ PathClear()

void ImDrawList::PathClear ( )
inline

◆ PathEllipticalArcTo()

void ImDrawList::PathEllipticalArcTo ( const ImVec2 & center,
const ImVec2 & radius,
float rot,
float a_min,
float a_max,
int num_segments = 0 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PathFillConcave()

void ImDrawList::PathFillConcave ( ImU32 col)
inline
Here is the call graph for this function:

◆ PathFillConvex()

void ImDrawList::PathFillConvex ( ImU32 col)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PathLineTo()

void ImDrawList::PathLineTo ( const ImVec2 & pos)
inline
Here is the caller graph for this function:

◆ PathLineToMergeDuplicate()

void ImDrawList::PathLineToMergeDuplicate ( const ImVec2 & pos)
inline

◆ PathRect()

void ImDrawList::PathRect ( const ImVec2 & rect_min,
const ImVec2 & rect_max,
float rounding = 0.0f,
ImDrawFlags flags = 0 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PathStroke()

void ImDrawList::PathStroke ( ImU32 col,
ImDrawFlags flags = 0,
float thickness = 1.0f )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PopClipRect()

void ImDrawList::PopClipRect ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PopTextureID()

void ImDrawList::PopTextureID ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrimQuadUV()

void ImDrawList::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 )
Here is the caller graph for this function:

◆ PrimRect()

void ImDrawList::PrimRect ( const ImVec2 & a,
const ImVec2 & b,
ImU32 col )
Here is the caller graph for this function:

◆ PrimRectUV()

void ImDrawList::PrimRectUV ( const ImVec2 & a,
const ImVec2 & b,
const ImVec2 & uv_a,
const ImVec2 & uv_b,
ImU32 col )
Here is the caller graph for this function:

◆ PrimReserve()

void ImDrawList::PrimReserve ( int idx_count,
int vtx_count )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrimUnreserve()

void ImDrawList::PrimUnreserve ( int idx_count,
int vtx_count )

◆ PrimVtx()

void ImDrawList::PrimVtx ( const ImVec2 & pos,
const ImVec2 & uv,
ImU32 col )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrimWriteIdx()

void ImDrawList::PrimWriteIdx ( ImDrawIdx idx)
inline
Here is the caller graph for this function:

◆ PrimWriteVtx()

void ImDrawList::PrimWriteVtx ( const ImVec2 & pos,
const ImVec2 & uv,
ImU32 col )
inline
Here is the caller graph for this function:

◆ PushClipRect()

void ImDrawList::PushClipRect ( const ImVec2 & clip_rect_min,
const ImVec2 & clip_rect_max,
bool intersect_with_current_clip_rect = false )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushClipRectFullScreen()

void ImDrawList::PushClipRectFullScreen ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushTextureID()

void ImDrawList::PushTextureID ( ImTextureID texture_id)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _ClipRectStack

ImVector<ImVec4> ImDrawList::_ClipRectStack

◆ _CmdHeader

ImDrawCmdHeader ImDrawList::_CmdHeader

◆ _Data

ImDrawListSharedData* ImDrawList::_Data

◆ _FringeScale

float ImDrawList::_FringeScale

◆ _IdxWritePtr

ImDrawIdx* ImDrawList::_IdxWritePtr

◆ _OwnerName

const char* ImDrawList::_OwnerName

◆ _Path

ImVector<ImVec2> ImDrawList::_Path

◆ _Splitter

ImDrawListSplitter ImDrawList::_Splitter

◆ _TextureIdStack

ImVector<ImTextureID> ImDrawList::_TextureIdStack

◆ _VtxCurrentIdx

unsigned int ImDrawList::_VtxCurrentIdx

◆ _VtxWritePtr

ImDrawVert* ImDrawList::_VtxWritePtr

◆ CmdBuffer

ImVector<ImDrawCmd> ImDrawList::CmdBuffer

◆ Flags

ImDrawListFlags ImDrawList::Flags

◆ IdxBuffer

ImVector<ImDrawIdx> ImDrawList::IdxBuffer

◆ VtxBuffer

ImVector<ImDrawVert> ImDrawList::VtxBuffer

The documentation for this struct was generated from the following files:
Untitled