Ylva And Malin
Public Member Functions | Data Fields
ImDrawList Struct Reference

#include <imgui.h>

Collaboration diagram for ImDrawList:
Collaboration graph

Public Member Functions

 ImDrawList (const ImDrawListSharedData *shared_data)
 
 ~ImDrawList ()
 
void PushClipRect (ImVec2 clip_rect_min, ImVec2 clip_rect_max, bool intersect_with_current_clip_rect=false)
 
void PushClipRectFullScreen ()
 
void PopClipRect ()
 
void PushTextureID (ImTextureID texture_id)
 
void PopTextureID ()
 
ImVec2 GetClipRectMin () const
 
ImVec2 GetClipRectMax () const
 
void AddLine (const ImVec2 &a, const ImVec2 &b, ImU32 col, float thickness=1.0f)
 
void AddRect (const ImVec2 &a, const ImVec2 &b, ImU32 col, float rounding=0.0f, int rounding_corners_flags=ImDrawCornerFlags_All, float thickness=1.0f)
 
void AddRectFilled (const ImVec2 &a, const ImVec2 &b, ImU32 col, float rounding=0.0f, int rounding_corners_flags=ImDrawCornerFlags_All)
 
void AddRectFilledMultiColor (const ImVec2 &a, const ImVec2 &b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left)
 
void AddQuad (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &d, ImU32 col, float thickness=1.0f)
 
void AddQuadFilled (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &d, ImU32 col)
 
void AddTriangle (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, ImU32 col, float thickness=1.0f)
 
void AddTriangleFilled (const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, ImU32 col)
 
void AddCircle (const ImVec2 &centre, float radius, ImU32 col, int num_segments=12, float thickness=1.0f)
 
void AddCircleFilled (const ImVec2 &centre, float radius, ImU32 col, int num_segments=12)
 
void AddText (const ImVec2 &pos, ImU32 col, const char *text_begin, const char *text_end=NULL)
 
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)
 
void AddImage (ImTextureID user_texture_id, const ImVec2 &a, const ImVec2 &b, const ImVec2 &uv_a=ImVec2(0, 0), const ImVec2 &uv_b=ImVec2(1, 1), ImU32 col=0xFFFFFFFF)
 
void AddImageQuad (ImTextureID user_texture_id, const ImVec2 &a, const ImVec2 &b, const ImVec2 &c, const ImVec2 &d, const ImVec2 &uv_a=ImVec2(0, 0), const ImVec2 &uv_b=ImVec2(1, 0), const ImVec2 &uv_c=ImVec2(1, 1), const ImVec2 &uv_d=ImVec2(0, 1), ImU32 col=0xFFFFFFFF)
 
void AddImageRounded (ImTextureID user_texture_id, const ImVec2 &a, const ImVec2 &b, const ImVec2 &uv_a, const ImVec2 &uv_b, ImU32 col, float rounding, int rounding_corners=ImDrawCornerFlags_All)
 
void AddPolyline (const ImVec2 *points, const int num_points, ImU32 col, bool closed, float thickness)
 
void AddConvexPolyFilled (const ImVec2 *points, const int num_points, ImU32 col)
 
void AddBezierCurve (const ImVec2 &pos0, const ImVec2 &cp0, const ImVec2 &cp1, const ImVec2 &pos1, ImU32 col, float thickness, int num_segments=0)
 
void PathClear ()
 
void PathLineTo (const ImVec2 &pos)
 
void PathLineToMergeDuplicate (const ImVec2 &pos)
 
void PathFillConvex (ImU32 col)
 
void PathStroke (ImU32 col, bool closed, float thickness=1.0f)
 
void PathArcTo (const ImVec2 &centre, float radius, float a_min, float a_max, int num_segments=10)
 
void PathArcToFast (const ImVec2 &centre, float radius, int a_min_of_12, int a_max_of_12)
 
void PathBezierCurveTo (const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, int num_segments=0)
 
void PathRect (const ImVec2 &rect_min, const ImVec2 &rect_max, float rounding=0.0f, int rounding_corners_flags=ImDrawCornerFlags_All)
 
void ChannelsSplit (int channels_count)
 
void ChannelsMerge ()
 
void ChannelsSetCurrent (int channel_index)
 
void AddCallback (ImDrawCallback callback, void *callback_data)
 
void AddDrawCmd ()
 
ImDrawListCloneOutput () const
 
void Clear ()
 
void ClearFreeMemory ()
 
void PrimReserve (int idx_count, int vtx_count)
 
void PrimRect (const ImVec2 &a, const ImVec2 &b, ImU32 col)
 
void PrimRectUV (const ImVec2 &a, const ImVec2 &b, const ImVec2 &uv_a, const ImVec2 &uv_b, ImU32 col)
 
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 UpdateClipRect ()
 
void UpdateTextureID ()
 

Data Fields

ImVector< ImDrawCmdCmdBuffer
 
ImVector< ImDrawIdxIdxBuffer
 
ImVector< ImDrawVertVtxBuffer
 
ImDrawListFlags Flags
 
const ImDrawListSharedData_Data
 
const char * _OwnerName
 
unsigned int _VtxCurrentIdx
 
ImDrawVert_VtxWritePtr
 
ImDrawIdx_IdxWritePtr
 
ImVector< ImVec4_ClipRectStack
 
ImVector< ImTextureID_TextureIdStack
 
ImVector< ImVec2_Path
 
int _ChannelsCurrent
 
int _ChannelsCount
 
ImVector< ImDrawChannel_Channels
 

Constructor & Destructor Documentation

ImDrawList::ImDrawList ( const ImDrawListSharedData shared_data)
inline
ImDrawList::~ImDrawList ( )
inline

Here is the call graph for this function:

Member Function Documentation

void ImDrawList::AddBezierCurve ( const ImVec2 pos0,
const ImVec2 cp0,
const ImVec2 cp1,
const ImVec2 pos1,
ImU32  col,
float  thickness,
int  num_segments = 0 
)

Here is the caller graph for this function:

void ImDrawList::AddCallback ( ImDrawCallback  callback,
void callback_data 
)
void ImDrawList::AddCircle ( const ImVec2 centre,
float  radius,
ImU32  col,
int  num_segments = 12,
float  thickness = 1.0f 
)

Here is the caller graph for this function:

void ImDrawList::AddCircleFilled ( const ImVec2 centre,
float  radius,
ImU32  col,
int  num_segments = 12 
)

Here is the caller graph for this function:

void ImDrawList::AddConvexPolyFilled ( const ImVec2 points,
const int  num_points,
ImU32  col 
)
void ImDrawList::AddDrawCmd ( )
void ImDrawList::AddImage ( ImTextureID  user_texture_id,
const ImVec2 a,
const ImVec2 b,
const ImVec2 uv_a = ImVec2(0,0),
const ImVec2 uv_b = ImVec2(1,1),
ImU32  col = 0xFFFFFFFF 
)

Here is the caller graph for this function:

void ImDrawList::AddImageQuad ( ImTextureID  user_texture_id,
const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 d,
const ImVec2 uv_a = ImVec2(0,0),
const ImVec2 uv_b = ImVec2(1,0),
const ImVec2 uv_c = ImVec2(1,1),
const ImVec2 uv_d = ImVec2(0,1),
ImU32  col = 0xFFFFFFFF 
)
void ImDrawList::AddImageRounded ( ImTextureID  user_texture_id,
const ImVec2 a,
const ImVec2 b,
const ImVec2 uv_a,
const ImVec2 uv_b,
ImU32  col,
float  rounding,
int  rounding_corners = ImDrawCornerFlags_All 
)

Here is the call graph for this function:

void ImDrawList::AddLine ( const ImVec2 a,
const ImVec2 b,
ImU32  col,
float  thickness = 1.0f 
)

Here is the caller graph for this function:

void ImDrawList::AddPolyline ( const ImVec2 points,
const int  num_points,
ImU32  col,
bool  closed,
float  thickness 
)

Here is the caller graph for this function:

void ImDrawList::AddQuad ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 d,
ImU32  col,
float  thickness = 1.0f 
)
void ImDrawList::AddQuadFilled ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
const ImVec2 d,
ImU32  col 
)
void ImDrawList::AddRect ( const ImVec2 a,
const ImVec2 b,
ImU32  col,
float  rounding = 0.0f,
int  rounding_corners_flags = ImDrawCornerFlags_All,
float  thickness = 1.0f 
)

Here is the caller graph for this function:

void ImDrawList::AddRectFilled ( const ImVec2 a,
const ImVec2 b,
ImU32  col,
float  rounding = 0.0f,
int  rounding_corners_flags = ImDrawCornerFlags_All 
)

Here is the caller graph for this function:

void ImDrawList::AddRectFilledMultiColor ( const ImVec2 a,
const ImVec2 b,
ImU32  col_upr_left,
ImU32  col_upr_right,
ImU32  col_bot_right,
ImU32  col_bot_left 
)

Here is the caller graph for this function:

void ImDrawList::AddText ( const ImVec2 pos,
ImU32  col,
const char *  text_begin,
const char *  text_end = NULL 
)

Here is the caller graph for this function:

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:

void ImDrawList::AddTriangle ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
ImU32  col,
float  thickness = 1.0f 
)

Here is the caller graph for this function:

void ImDrawList::AddTriangleFilled ( const ImVec2 a,
const ImVec2 b,
const ImVec2 c,
ImU32  col 
)

Here is the caller graph for this function:

void ImDrawList::ChannelsMerge ( )

Here is the call graph for this function:

Here is the caller graph for this function:

void ImDrawList::ChannelsSetCurrent ( int  channel_index)

Here is the caller graph for this function:

void ImDrawList::ChannelsSplit ( int  channels_count)

Here is the caller graph for this function:

void ImDrawList::Clear ( )

Here is the caller graph for this function:

void ImDrawList::ClearFreeMemory ( )

Here is the caller graph for this function:

ImDrawList * ImDrawList::CloneOutput ( ) const
ImVec2 ImDrawList::GetClipRectMax ( ) const
inline

Here is the call graph for this function:

ImVec2 ImDrawList::GetClipRectMin ( ) const
inline

Here is the call graph for this function:

void ImDrawList::PathArcTo ( const ImVec2 centre,
float  radius,
float  a_min,
float  a_max,
int  num_segments = 10 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void ImDrawList::PathArcToFast ( const ImVec2 centre,
float  radius,
int  a_min_of_12,
int  a_max_of_12 
)

Here is the caller graph for this function:

void ImDrawList::PathBezierCurveTo ( const ImVec2 p1,
const ImVec2 p2,
const ImVec2 p3,
int  num_segments = 0 
)
void ImDrawList::PathClear ( )
inline

Here is the call graph for this function:

void ImDrawList::PathFillConvex ( ImU32  col)
inline

Here is the caller graph for this function:

void ImDrawList::PathLineTo ( const ImVec2 pos)
inline

Here is the call graph for this function:

Here is the caller graph for this function:

void ImDrawList::PathLineToMergeDuplicate ( const ImVec2 pos)
inline

Here is the call graph for this function:

void ImDrawList::PathRect ( const ImVec2 rect_min,
const ImVec2 rect_max,
float  rounding = 0.0f,
int  rounding_corners_flags = ImDrawCornerFlags_All 
)
void ImDrawList::PathStroke ( ImU32  col,
bool  closed,
float  thickness = 1.0f 
)
inline

Here is the caller graph for this function:

void ImDrawList::PopClipRect ( )

Here is the caller graph for this function:

void ImDrawList::PopTextureID ( )

Here is the caller graph for this function:

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 
)
void ImDrawList::PrimRect ( const ImVec2 a,
const ImVec2 b,
ImU32  col 
)
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:

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

Here is the caller graph for this function:

void ImDrawList::PrimVtx ( const ImVec2 pos,
const ImVec2 uv,
ImU32  col 
)
inline

Here is the caller graph for this function:

void ImDrawList::PrimWriteIdx ( ImDrawIdx  idx)
inline
void ImDrawList::PrimWriteVtx ( const ImVec2 pos,
const ImVec2 uv,
ImU32  col 
)
inline
void ImDrawList::PushClipRect ( ImVec2  clip_rect_min,
ImVec2  clip_rect_max,
bool  intersect_with_current_clip_rect = false 
)

Here is the caller graph for this function:

void ImDrawList::PushClipRectFullScreen ( )

Here is the call graph for this function:

Here is the caller graph for this function:

void ImDrawList::PushTextureID ( ImTextureID  texture_id)

Here is the caller graph for this function:

void ImDrawList::UpdateClipRect ( )
void ImDrawList::UpdateTextureID ( )

Field Documentation

ImVector<ImDrawChannel> ImDrawList::_Channels
int ImDrawList::_ChannelsCount
int ImDrawList::_ChannelsCurrent
ImVector<ImVec4> ImDrawList::_ClipRectStack
const ImDrawListSharedData* ImDrawList::_Data
ImDrawIdx* ImDrawList::_IdxWritePtr
const char* ImDrawList::_OwnerName
ImVector<ImVec2> ImDrawList::_Path
ImVector<ImTextureID> ImDrawList::_TextureIdStack
unsigned int ImDrawList::_VtxCurrentIdx
ImDrawVert* ImDrawList::_VtxWritePtr
ImVector<ImDrawCmd> ImDrawList::CmdBuffer
ImDrawListFlags ImDrawList::Flags
ImVector<ImDrawIdx> ImDrawList::IdxBuffer
ImVector<ImDrawVert> ImDrawList::VtxBuffer

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