PURE API 0.5
PR00F's Ultimate Rendering Engine full documentation
Loading...
Searching...
No Matches
ImDrawList Struct Reference

Detailed Description

Definition at line 2523 of file imgui.h.

#include <imgui.h>

Public Member Functions

 ImDrawList (const 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 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 _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< ImDrawIdxIdxBuffer
 
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
 

Constructor & Destructor Documentation

◆ ImDrawList()

ImDrawList::ImDrawList ( const ImDrawListSharedData * shared_data)
inline

Definition at line 2545 of file imgui.h.

◆ ~ImDrawList()

ImDrawList::~ImDrawList ( )
inline

Definition at line 2547 of file imgui.h.

Member Function Documentation

◆ _CalcCircleAutoSegmentCount()

IMGUI_API int ImDrawList::_CalcCircleAutoSegmentCount ( float radius) const

◆ _ClearFreeMemory()

IMGUI_API void ImDrawList::_ClearFreeMemory ( )

◆ _OnChangedClipRect()

IMGUI_API void ImDrawList::_OnChangedClipRect ( )

◆ _OnChangedTextureID()

IMGUI_API void ImDrawList::_OnChangedTextureID ( )

◆ _OnChangedVtxOffset()

IMGUI_API void ImDrawList::_OnChangedVtxOffset ( )

◆ _PathArcToFastEx()

IMGUI_API void ImDrawList::_PathArcToFastEx ( const ImVec2 & center,
float radius,
int a_min_sample,
int a_max_sample,
int a_step )

◆ _PathArcToN()

IMGUI_API void ImDrawList::_PathArcToN ( const ImVec2 & center,
float radius,
float a_min,
float a_max,
int num_segments )

◆ _PopUnusedDrawCmd()

IMGUI_API void ImDrawList::_PopUnusedDrawCmd ( )

◆ _ResetForNewFrame()

IMGUI_API void ImDrawList::_ResetForNewFrame ( )

◆ _TryMergeDrawCmds()

IMGUI_API void ImDrawList::_TryMergeDrawCmds ( )

◆ AddBezierCubic()

IMGUI_API void ImDrawList::AddBezierCubic ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
ImU32 col,
float thickness,
int num_segments = 0 )

◆ AddBezierCurve()

void ImDrawList::AddBezierCurve ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
ImU32 col,
float thickness,
int num_segments = 0 )
inline

Definition at line 2631 of file imgui.h.

◆ AddBezierQuadratic()

IMGUI_API void ImDrawList::AddBezierQuadratic ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
ImU32 col,
float thickness,
int num_segments = 0 )

◆ AddCallback()

IMGUI_API void ImDrawList::AddCallback ( ImDrawCallback callback,
void * callback_data )

◆ AddCircle()

IMGUI_API void ImDrawList::AddCircle ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments = 0,
float thickness = 1.0f )

◆ AddCircleFilled()

IMGUI_API void ImDrawList::AddCircleFilled ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments = 0 )

◆ AddConvexPolyFilled()

IMGUI_API void ImDrawList::AddConvexPolyFilled ( const ImVec2 * points,
int num_points,
ImU32 col )

◆ AddDrawCmd()

IMGUI_API void ImDrawList::AddDrawCmd ( )

◆ AddImage()

IMGUI_API 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 )

◆ AddImageQuad()

IMGUI_API 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 )

◆ AddImageRounded()

IMGUI_API 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 )

◆ AddLine()

IMGUI_API void ImDrawList::AddLine ( const ImVec2 & p1,
const ImVec2 & p2,
ImU32 col,
float thickness = 1.0f )

◆ AddNgon()

IMGUI_API void ImDrawList::AddNgon ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments,
float thickness = 1.0f )

◆ AddNgonFilled()

IMGUI_API void ImDrawList::AddNgonFilled ( const ImVec2 & center,
float radius,
ImU32 col,
int num_segments )

◆ AddPolyline()

IMGUI_API void ImDrawList::AddPolyline ( const ImVec2 * points,
int num_points,
ImU32 col,
ImDrawFlags flags,
float thickness )

◆ AddQuad()

IMGUI_API void ImDrawList::AddQuad ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
ImU32 col,
float thickness = 1.0f )

◆ AddQuadFilled()

IMGUI_API void ImDrawList::AddQuadFilled ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
ImU32 col )

◆ AddRect()

IMGUI_API void ImDrawList::AddRect ( const ImVec2 & p_min,
const ImVec2 & p_max,
ImU32 col,
float rounding = 0.0f,
ImDrawFlags flags = 0,
float thickness = 1.0f )

◆ AddRectFilled()

IMGUI_API void ImDrawList::AddRectFilled ( const ImVec2 & p_min,
const ImVec2 & p_max,
ImU32 col,
float rounding = 0.0f,
ImDrawFlags flags = 0 )

◆ AddRectFilledMultiColor()

IMGUI_API 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 )

◆ AddText() [1/2]

IMGUI_API 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 )

◆ AddText() [2/2]

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

◆ AddTriangle()

IMGUI_API void ImDrawList::AddTriangle ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
ImU32 col,
float thickness = 1.0f )

◆ AddTriangleFilled()

IMGUI_API void ImDrawList::AddTriangleFilled ( const ImVec2 & p1,
const ImVec2 & p2,
const ImVec2 & p3,
ImU32 col )

◆ ChannelsMerge()

void ImDrawList::ChannelsMerge ( )
inline

Definition at line 2615 of file imgui.h.

◆ ChannelsSetCurrent()

void ImDrawList::ChannelsSetCurrent ( int n)
inline

Definition at line 2616 of file imgui.h.

◆ ChannelsSplit()

void ImDrawList::ChannelsSplit ( int count)
inline

Definition at line 2614 of file imgui.h.

◆ CloneOutput()

IMGUI_API ImDrawList * ImDrawList::CloneOutput ( ) const

◆ GetClipRectMax()

ImVec2 ImDrawList::GetClipRectMax ( ) const
inline

Definition at line 2554 of file imgui.h.

◆ GetClipRectMin()

ImVec2 ImDrawList::GetClipRectMin ( ) const
inline

Definition at line 2553 of file imgui.h.

◆ PathArcTo()

IMGUI_API void ImDrawList::PathArcTo ( const ImVec2 & center,
float radius,
float a_min,
float a_max,
int num_segments = 0 )

◆ PathArcToFast()

IMGUI_API void ImDrawList::PathArcToFast ( const ImVec2 & center,
float radius,
int a_min_of_12,
int a_max_of_12 )

◆ PathBezierCubicCurveTo()

IMGUI_API void ImDrawList::PathBezierCubicCurveTo ( const ImVec2 & p2,
const ImVec2 & p3,
const ImVec2 & p4,
int num_segments = 0 )

◆ PathBezierCurveTo()

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

Definition at line 2632 of file imgui.h.

◆ PathBezierQuadraticCurveTo()

IMGUI_API void ImDrawList::PathBezierQuadraticCurveTo ( const ImVec2 & p2,
const ImVec2 & p3,
int num_segments = 0 )

◆ PathClear()

void ImDrawList::PathClear ( )
inline

Definition at line 2592 of file imgui.h.

◆ PathFillConvex()

void ImDrawList::PathFillConvex ( ImU32 col)
inline

Definition at line 2595 of file imgui.h.

◆ PathLineTo()

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

Definition at line 2593 of file imgui.h.

◆ PathLineToMergeDuplicate()

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

Definition at line 2594 of file imgui.h.

◆ PathRect()

IMGUI_API void ImDrawList::PathRect ( const ImVec2 & rect_min,
const ImVec2 & rect_max,
float rounding = 0.0f,
ImDrawFlags flags = 0 )

◆ PathStroke()

void ImDrawList::PathStroke ( ImU32 col,
ImDrawFlags flags = 0,
float thickness = 1.0f )
inline

Definition at line 2596 of file imgui.h.

◆ PopClipRect()

IMGUI_API void ImDrawList::PopClipRect ( )

◆ PopTextureID()

IMGUI_API void ImDrawList::PopTextureID ( )

◆ PrimQuadUV()

IMGUI_API 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 )

◆ PrimRect()

IMGUI_API void ImDrawList::PrimRect ( const ImVec2 & a,
const ImVec2 & b,
ImU32 col )

◆ PrimRectUV()

IMGUI_API void ImDrawList::PrimRectUV ( const ImVec2 & a,
const ImVec2 & b,
const ImVec2 & uv_a,
const ImVec2 & uv_b,
ImU32 col )

◆ PrimReserve()

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

◆ PrimUnreserve()

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

◆ PrimVtx()

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

Definition at line 2628 of file imgui.h.

◆ PrimWriteIdx()

void ImDrawList::PrimWriteIdx ( ImDrawIdx idx)
inline

Definition at line 2627 of file imgui.h.

◆ PrimWriteVtx()

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

Definition at line 2626 of file imgui.h.

◆ PushClipRect()

IMGUI_API void ImDrawList::PushClipRect ( const ImVec2 & clip_rect_min,
const ImVec2 & clip_rect_max,
bool intersect_with_current_clip_rect = false )

◆ PushClipRectFullScreen()

IMGUI_API void ImDrawList::PushClipRectFullScreen ( )

◆ PushTextureID()

IMGUI_API void ImDrawList::PushTextureID ( ImTextureID texture_id)

Member Data Documentation

◆ _ClipRectStack

ImVector<ImVec4> ImDrawList::_ClipRectStack

Definition at line 2537 of file imgui.h.

◆ _CmdHeader

ImDrawCmdHeader ImDrawList::_CmdHeader

Definition at line 2540 of file imgui.h.

◆ _Data

const ImDrawListSharedData* ImDrawList::_Data

Definition at line 2533 of file imgui.h.

◆ _FringeScale

float ImDrawList::_FringeScale

Definition at line 2542 of file imgui.h.

◆ _IdxWritePtr

ImDrawIdx* ImDrawList::_IdxWritePtr

Definition at line 2536 of file imgui.h.

◆ _OwnerName

const char* ImDrawList::_OwnerName

Definition at line 2534 of file imgui.h.

◆ _Path

ImVector<ImVec2> ImDrawList::_Path

Definition at line 2539 of file imgui.h.

◆ _Splitter

ImDrawListSplitter ImDrawList::_Splitter

Definition at line 2541 of file imgui.h.

◆ _TextureIdStack

ImVector<ImTextureID> ImDrawList::_TextureIdStack

Definition at line 2538 of file imgui.h.

◆ _VtxCurrentIdx

unsigned int ImDrawList::_VtxCurrentIdx

Definition at line 2532 of file imgui.h.

◆ _VtxWritePtr

ImDrawVert* ImDrawList::_VtxWritePtr

Definition at line 2535 of file imgui.h.

◆ CmdBuffer

ImVector<ImDrawCmd> ImDrawList::CmdBuffer

Definition at line 2526 of file imgui.h.

◆ Flags

ImDrawListFlags ImDrawList::Flags

Definition at line 2529 of file imgui.h.

◆ IdxBuffer

ImVector<ImDrawIdx> ImDrawList::IdxBuffer

Definition at line 2527 of file imgui.h.

◆ VtxBuffer

ImVector<ImDrawVert> ImDrawList::VtxBuffer

Definition at line 2528 of file imgui.h.


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