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

#include <src/imgui/imgui_internal.h>

Public Member Functions

 ImGuiMenuColumns ()
 
void Update (int count, float spacing, bool clear)
 
float DeclColumns (float w0, float w1, float w2)
 
float CalcExtraSpace (float avail_w) const
 

Public Attributes

float Spacing
 
float Width
 
float NextWidth
 
float Pos [3]
 
float NextWidths [3]
 

Detailed Description

Constructor & Destructor Documentation

◆ ImGuiMenuColumns()

ImGuiMenuColumns::ImGuiMenuColumns ( )
inline
1009{ memset(this, 0, sizeof(*this)); }

Member Function Documentation

◆ CalcExtraSpace()

float ImGuiMenuColumns::CalcExtraSpace ( float  avail_w) const
6543{
6544 return ImMax(0.0f, avail_w - Width);
6545}
static T ImMax(T lhs, T rhs)
Definition imgui_internal.h:410
float Width
Definition imgui_internal.h:1006

References ImMax(), and Width.

+ Here is the call graph for this function:

◆ DeclColumns()

float ImGuiMenuColumns::DeclColumns ( float  w0,
float  w1,
float  w2 
)
6532{
6533 NextWidth = 0.0f;
6534 NextWidths[0] = ImMax(NextWidths[0], w0);
6535 NextWidths[1] = ImMax(NextWidths[1], w1);
6536 NextWidths[2] = ImMax(NextWidths[2], w2);
6537 for (int i = 0; i < IM_ARRAYSIZE(Pos); i++)
6538 NextWidth += NextWidths[i] + ((i > 0 && NextWidths[i] > 0.0f) ? Spacing : 0.0f);
6539 return ImMax(Width, NextWidth);
6540}
#define IM_ARRAYSIZE(_ARR)
Definition imgui.h:83
float NextWidth
Definition imgui_internal.h:1006
float NextWidths[3]
Definition imgui_internal.h:1007
float Pos[3]
Definition imgui_internal.h:1007
float Spacing
Definition imgui_internal.h:1005

References IM_ARRAYSIZE, ImMax(), NextWidth, NextWidths, Pos, Spacing, and Width.

Referenced by ImGui::BeginMenu(), and ImGui::MenuItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Update()

void ImGuiMenuColumns::Update ( int  count,
float  spacing,
bool  clear 
)
6514{
6515 IM_ASSERT(count == IM_ARRAYSIZE(Pos));
6516 IM_UNUSED(count);
6517 Width = NextWidth = 0.0f;
6518 Spacing = spacing;
6519 if (clear)
6520 memset(NextWidths, 0, sizeof(NextWidths));
6521 for (int i = 0; i < IM_ARRAYSIZE(Pos); i++)
6522 {
6523 if (i > 0 && NextWidths[i] > 0.0f)
6524 Width += Spacing;
6525 Pos[i] = IM_FLOOR(Width);
6526 Width += NextWidths[i];
6527 NextWidths[i] = 0.0f;
6528 }
6529}
#define IM_UNUSED(_VAR)
Definition imgui.h:84
#define IM_ASSERT(_EXPR)
Definition imgui.h:81
#define IM_FLOOR(_VAL)
Definition imgui_internal.h:232

References IM_ARRAYSIZE, IM_ASSERT, IM_FLOOR, IM_UNUSED, NextWidth, NextWidths, Pos, Spacing, and Width.

Referenced by ImGui::Begin().

+ Here is the caller graph for this function:

Member Data Documentation

◆ NextWidth

float ImGuiMenuColumns::NextWidth

Referenced by DeclColumns(), and Update().

◆ NextWidths

float ImGuiMenuColumns::NextWidths[3]

Referenced by DeclColumns(), and Update().

◆ Pos

float ImGuiMenuColumns::Pos[3]

◆ Spacing

float ImGuiMenuColumns::Spacing

Referenced by DeclColumns(), and Update().

◆ Width

float ImGuiMenuColumns::Width

Referenced by CalcExtraSpace(), DeclColumns(), and Update().


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