@ -6705,66 +6705,6 @@ void ImGui::SetWindowFontScale(float scale)
g . FontSize = g . DrawListSharedData . FontSize = window - > CalcFontSize ( ) ;
g . FontSize = g . DrawListSharedData . FontSize = window - > CalcFontSize ( ) ;
}
}
// User generally sees positions in window coordinates. Internally we store CursorPos in absolute screen coordinates because it is more convenient.
// Conversion happens as we pass the value to user, but it makes our naming convention confusing because GetCursorPos() == (DC.CursorPos - window.Pos). May want to rename 'DC.CursorPos'.
ImVec2 ImGui : : GetCursorPos ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos - window - > Pos + window - > Scroll ;
}
float ImGui : : GetCursorPosX ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos . x - window - > Pos . x + window - > Scroll . x ;
}
float ImGui : : GetCursorPosY ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos . y - window - > Pos . y + window - > Scroll . y ;
}
void ImGui : : SetCursorPos ( const ImVec2 & local_pos )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos = window - > Pos - window - > Scroll + local_pos ;
window - > DC . CursorMaxPos = ImMax ( window - > DC . CursorMaxPos , window - > DC . CursorPos ) ;
}
void ImGui : : SetCursorPosX ( float x )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos . x = window - > Pos . x - window - > Scroll . x + x ;
window - > DC . CursorMaxPos . x = ImMax ( window - > DC . CursorMaxPos . x , window - > DC . CursorPos . x ) ;
}
void ImGui : : SetCursorPosY ( float y )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos . y = window - > Pos . y - window - > Scroll . y + y ;
window - > DC . CursorMaxPos . y = ImMax ( window - > DC . CursorMaxPos . y , window - > DC . CursorPos . y ) ;
}
ImVec2 ImGui : : GetCursorStartPos ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorStartPos - window - > Pos ;
}
ImVec2 ImGui : : GetCursorScreenPos ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos ;
}
void ImGui : : SetCursorScreenPos ( const ImVec2 & pos )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos = pos ;
window - > DC . CursorMaxPos = ImMax ( window - > DC . CursorMaxPos , window - > DC . CursorPos ) ;
}
void ImGui : : ActivateItem ( ImGuiID id )
void ImGui : : ActivateItem ( ImGuiID id )
{
{
ImGuiContext & g = * GImGui ;
ImGuiContext & g = * GImGui ;
@ -6966,6 +6906,11 @@ static void ImGui::ErrorCheckBeginEndCompareStacksSize(ImGuiWindow* window, bool
// - ItemSize()
// - ItemSize()
// - ItemAdd()
// - ItemAdd()
// - SameLine()
// - SameLine()
// - GetCursorScreenPos()
// - SetCursorScreenPos()
// - GetCursorPos(), GetCursorPosX(), GetCursorPosY()
// - SetCursorPos(), SetCursorPosX(), SetCursorPosY()
// - GetCursorStartPos()
// - Indent()
// - Indent()
// - Unindent()
// - Unindent()
// - BeginGroup()
// - BeginGroup()
@ -7097,6 +7042,66 @@ void ImGui::SameLine(float offset_from_start_x, float spacing_w)
window - > DC . CurrLineTextBaseOffset = window - > DC . PrevLineTextBaseOffset ;
window - > DC . CurrLineTextBaseOffset = window - > DC . PrevLineTextBaseOffset ;
}
}
ImVec2 ImGui : : GetCursorScreenPos ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos ;
}
void ImGui : : SetCursorScreenPos ( const ImVec2 & pos )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos = pos ;
window - > DC . CursorMaxPos = ImMax ( window - > DC . CursorMaxPos , window - > DC . CursorPos ) ;
}
// User generally sees positions in window coordinates. Internally we store CursorPos in absolute screen coordinates because it is more convenient.
// Conversion happens as we pass the value to user, but it makes our naming convention confusing because GetCursorPos() == (DC.CursorPos - window.Pos). May want to rename 'DC.CursorPos'.
ImVec2 ImGui : : GetCursorPos ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos - window - > Pos + window - > Scroll ;
}
float ImGui : : GetCursorPosX ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos . x - window - > Pos . x + window - > Scroll . x ;
}
float ImGui : : GetCursorPosY ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorPos . y - window - > Pos . y + window - > Scroll . y ;
}
void ImGui : : SetCursorPos ( const ImVec2 & local_pos )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos = window - > Pos - window - > Scroll + local_pos ;
window - > DC . CursorMaxPos = ImMax ( window - > DC . CursorMaxPos , window - > DC . CursorPos ) ;
}
void ImGui : : SetCursorPosX ( float x )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos . x = window - > Pos . x - window - > Scroll . x + x ;
window - > DC . CursorMaxPos . x = ImMax ( window - > DC . CursorMaxPos . x , window - > DC . CursorPos . x ) ;
}
void ImGui : : SetCursorPosY ( float y )
{
ImGuiWindow * window = GetCurrentWindow ( ) ;
window - > DC . CursorPos . y = window - > Pos . y - window - > Scroll . y + y ;
window - > DC . CursorMaxPos . y = ImMax ( window - > DC . CursorMaxPos . y , window - > DC . CursorPos . y ) ;
}
ImVec2 ImGui : : GetCursorStartPos ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return window - > DC . CursorStartPos - window - > Pos ;
}
void ImGui : : Indent ( float indent_w )
void ImGui : : Indent ( float indent_w )
{
{
ImGuiContext & g = * GImGui ;
ImGuiContext & g = * GImGui ;