Added GetContentRegionAvailWidth() helper. Demo tweaks.

This commit is contained in:
ocornut 2015-08-30 15:35:59 +01:00
parent fc13ae2aa5
commit d88b73a8b7
3 changed files with 16 additions and 5 deletions

View File

@ -4550,6 +4550,11 @@ ImVec2 ImGui::GetContentRegionAvail()
return GetContentRegionMax() - (window->DC.CursorPos - window->Pos);
}
float ImGui::GetContentRegionAvailWidth()
{
return GetContentRegionAvail().x;
}
// In window space (not screen space!)
ImVec2 ImGui::GetWindowContentRegionMin()
{

View File

@ -124,6 +124,7 @@ namespace ImGui
IMGUI_API ImVec2 GetContentRegionAvail(); // == GetContentRegionMax() - GetCursorPos()
IMGUI_API ImVec2 GetWindowContentRegionMin(); // window boundaries, in windows coordinates
IMGUI_API ImVec2 GetWindowContentRegionMax();
IMGUI_API float GetContentRegionAvailWidth(); //
IMGUI_API ImDrawList* GetWindowDrawList(); // get rendering command-list if you want to append your own draw primitives
IMGUI_API ImFont* GetWindowFont();
IMGUI_API float GetWindowFontSize(); // size (also height in pixels) of current font with current scale applied

View File

@ -735,21 +735,26 @@ void ImGui::ShowTestWindow(bool* opened)
if (ImGui::TreeNode("Widgets Alignment"))
{
static float f = 0.0f;
ImGui::Text("Fixed: 100 pixels");
ImGui::Text("PushItemWidth(100)");
ImGui::PushItemWidth(100);
ImGui::InputFloat("float##1", &f);
ImGui::PopItemWidth();
ImGui::Text("Proportional: 50%% of window width");
ImGui::Text("PushItemWidth(GetWindowWidth() * 0.5f);");
ImGui::PushItemWidth(ImGui::GetWindowWidth() * 0.5f);
ImGui::InputFloat("float##2", &f);
ImGui::PopItemWidth();
ImGui::Text("Right-aligned: Leave 100 pixels for label");
ImGui::PushItemWidth(-100);
ImGui::Text("PushItemWidth(GetContentRegionAvailWidth() * 0.5f);");
ImGui::PushItemWidth(ImGui::GetContentRegionAvailWidth() * 0.5f);
ImGui::InputFloat("float##3", &f);
ImGui::PopItemWidth();
ImGui::Text("PushItemWidth(-100);");
ImGui::PushItemWidth(-100);
ImGui::InputFloat("float##4", &f);
ImGui::PopItemWidth();
ImGui::TreePop();
}
@ -1205,7 +1210,7 @@ void ImGui::ShowTestWindow(bool* opened)
ImGui::Separator();
ImGui::Spacing();
// Word-wrapping
// Word wrapping
ImGui::Text("Word-wrapping:");
ImGui::Columns(2, "word-wrapping");
ImGui::Separator();