editor: added gui scaling combo box #992
This commit is contained in:
@@ -1190,6 +1190,33 @@ void EditorComponent::Load()
|
||||
});
|
||||
topmenuWnd.AddWidget(&exitButton);
|
||||
|
||||
guiScalingCombo.Create("GuiScaling");
|
||||
guiScalingCombo.SetDropArrowEnabled(false);
|
||||
guiScalingCombo.SetFixedDropWidth(60);
|
||||
guiScalingCombo.SetText("");
|
||||
guiScalingCombo.SetTooltip("Set the custom scaling factor for the GUI.\nNote that this is in addition to the operating system's DPI scaling for the monitor.");
|
||||
guiScalingCombo.AddItem("50%", 50);
|
||||
guiScalingCombo.AddItem("75%", 75);
|
||||
guiScalingCombo.AddItem("100%", 100);
|
||||
guiScalingCombo.AddItem("125%", 125);
|
||||
guiScalingCombo.AddItem("150%", 150);
|
||||
guiScalingCombo.AddItem("175%", 175);
|
||||
guiScalingCombo.AddItem("200%", 200);
|
||||
guiScalingCombo.AddItem("225%", 225);
|
||||
guiScalingCombo.AddItem("250%", 250);
|
||||
if (main->config.Has("scaling"))
|
||||
{
|
||||
guiScalingCombo.SetSelectedByUserdata((uint64_t)main->config.GetInt("scaling"));
|
||||
}
|
||||
else
|
||||
{
|
||||
guiScalingCombo.SetSelectedByUserdataWithoutCallback(100);
|
||||
}
|
||||
guiScalingCombo.OnSelect([this](wi::gui::EventArgs args) {
|
||||
this->main->config.Set("scaling", (int)args.userdata);
|
||||
});
|
||||
GetGUI().AddWidget(&guiScalingCombo);
|
||||
|
||||
componentsWnd.Create(this);
|
||||
GetGUI().AddWidget(&componentsWnd);
|
||||
|
||||
@@ -1291,6 +1318,8 @@ void EditorComponent::Update(float dt)
|
||||
{
|
||||
wi::profiler::range_id profrange = wi::profiler::BeginRangeCPU("Editor Update");
|
||||
|
||||
main->canvas.scaling = float(guiScalingCombo.GetSelectedUserdata()) / 100.0f;
|
||||
|
||||
if (CheckInput(EditorActions::MAKE_NEW_SCREENSHOT))
|
||||
{
|
||||
std::string filename = wi::helper::screenshot(main->swapChain);
|
||||
@@ -5301,6 +5330,9 @@ void EditorComponent::UpdateDynamicWidgets()
|
||||
paintToolButton.Update(*this, 0);
|
||||
y += hei + padding;
|
||||
|
||||
|
||||
guiScalingCombo.SetSize(XMFLOAT2(50, 18));
|
||||
guiScalingCombo.SetPos(XMFLOAT2(ofs, screenH - guiScalingCombo.GetSize().y - padding));
|
||||
}
|
||||
|
||||
void EditorComponent::SetCurrentScene(int index)
|
||||
|
||||
Reference in New Issue
Block a user