Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
ImDrawData Struct Reference

#include <src/imgui/imgui.h>

+ Collaboration diagram for ImDrawData:

Public Member Functions

 ImDrawData ()
 
void Clear ()
 
IMGUI_API void DeIndexAllBuffers ()
 
IMGUI_API void ScaleClipRects (const ImVec2 &fb_scale)
 

Public Attributes

bool Valid
 
int CmdListsCount
 
int TotalIdxCount
 
int TotalVtxCount
 
ImDrawList ** CmdLists
 
ImVec2 DisplayPos
 
ImVec2 DisplaySize
 
ImVec2 FramebufferScale
 

Detailed Description

Constructor & Destructor Documentation

◆ ImDrawData()

ImDrawData::ImDrawData ( )
inline
2484{ Clear(); }
void Clear()
Definition imgui.h:2485

Member Function Documentation

◆ Clear()

void ImDrawData::Clear ( )
inline
2485{ memset(this, 0, sizeof(*this)); } // The ImDrawList are owned by ImGuiContext!

Referenced by ImGui::NewFrame().

+ Here is the caller graph for this function:

◆ DeIndexAllBuffers()

void ImDrawData::DeIndexAllBuffers ( )
1808{
1809 ImVector<ImDrawVert> new_vtx_buffer;
1811 for (int i = 0; i < CmdListsCount; i++)
1812 {
1813 ImDrawList* cmd_list = CmdLists[i];
1814 if (cmd_list->IdxBuffer.empty())
1815 continue;
1816 new_vtx_buffer.resize(cmd_list->IdxBuffer.Size);
1817 for (int j = 0; j < cmd_list->IdxBuffer.Size; j++)
1818 new_vtx_buffer[j] = cmd_list->VtxBuffer[cmd_list->IdxBuffer[j]];
1819 cmd_list->VtxBuffer.swap(new_vtx_buffer);
1820 cmd_list->IdxBuffer.resize(0);
1821 TotalVtxCount += cmd_list->VtxBuffer.Size;
1822 }
1823}
int TotalIdxCount
Definition imgui.h:2476
ImDrawList ** CmdLists
Definition imgui.h:2478
int CmdListsCount
Definition imgui.h:2475
int TotalVtxCount
Definition imgui.h:2477
Definition imgui.h:2348
ImVector< ImDrawVert > VtxBuffer
Definition imgui.h:2352
ImVector< ImDrawIdx > IdxBuffer
Definition imgui.h:2351
Definition imgui.h:1654
bool empty() const
Definition imgui.h:1670
int Size
Definition imgui.h:1655
void resize(int new_size)
Definition imgui.h:1690
void swap(ImVector< T > &rhs)
Definition imgui.h:1687

References CmdLists, CmdListsCount, ImVector< T >::empty(), ImDrawList::IdxBuffer, ImVector< T >::resize(), ImVector< T >::Size, ImVector< T >::swap(), TotalIdxCount, TotalVtxCount, and ImDrawList::VtxBuffer.

+ Here is the call graph for this function:

◆ ScaleClipRects()

void ImDrawData::ScaleClipRects ( const ImVec2 fb_scale)
1829{
1830 for (int i = 0; i < CmdListsCount; i++)
1831 {
1832 ImDrawList* cmd_list = CmdLists[i];
1833 for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++)
1834 {
1835 ImDrawCmd* cmd = &cmd_list->CmdBuffer[cmd_i];
1836 cmd->ClipRect = ImVec4(cmd->ClipRect.x * fb_scale.x, cmd->ClipRect.y * fb_scale.y, cmd->ClipRect.z * fb_scale.x, cmd->ClipRect.w * fb_scale.y);
1837 }
1838 }
1839}
Definition imgui.h:2236
ImVector< ImDrawCmd > CmdBuffer
Definition imgui.h:2350
float y
Definition imgui.h:246
float x
Definition imgui.h:246
Definition imgui.h:258
struct command cmd[]
Definition term.c:94

References cmd, ImDrawList::CmdBuffer, CmdLists, CmdListsCount, ImVector< T >::Size, ImVec2::x, and ImVec2::y.

Member Data Documentation

◆ CmdLists

◆ CmdListsCount

◆ DisplayPos

◆ DisplaySize

◆ FramebufferScale

ImVec2 ImDrawData::FramebufferScale

◆ TotalIdxCount

int ImDrawData::TotalIdxCount

◆ TotalVtxCount

int ImDrawData::TotalVtxCount

◆ Valid

bool ImDrawData::Valid

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