Desktop version gui scaling restored
This commit is contained in:
parent
40688176d9
commit
c4005da3c9
8 changed files with 18 additions and 5 deletions
|
|
@ -117,10 +117,7 @@ float GUIHolder::final_gui_scale() {
|
|||
}
|
||||
|
||||
void GUIHolder::calculate_final_gui_scale() {
|
||||
finalCalculatedGuiScale = final_gui_scale_not_fit();
|
||||
//Vector2f maxWindowSizeBeforeForcedFit = final_gui_scale_not_fit() * Vector2f{700.0f, 700.0f};
|
||||
//Vector2f fitRatio = {main.window.size.x() / maxWindowSizeBeforeForcedFit.x(), main.window.size.y() / maxWindowSizeBeforeForcedFit.y()};
|
||||
//finalCalculatedGuiScale = final_gui_scale_not_fit() * std::min(std::min(fitRatio.x(), fitRatio.y()), 1.0f);
|
||||
finalCalculatedGuiScale = main.calculate_gui_scale();
|
||||
}
|
||||
|
||||
float GUIHolder::final_gui_scale_not_fit() {
|
||||
|
|
|
|||
|
|
@ -55,9 +55,10 @@ class GUIHolder {
|
|||
std::optional<InputManager::TextBoxStartInfo> get_text_box_start_info();
|
||||
|
||||
float final_gui_scale();
|
||||
float final_gui_scale_not_fit();
|
||||
|
||||
private:
|
||||
void calculate_final_gui_scale();
|
||||
float final_gui_scale_not_fit();
|
||||
|
||||
float finalCalculatedGuiScale;
|
||||
|
||||
|
|
|
|||
|
|
@ -557,6 +557,10 @@ void MainProgram::run_new_screen_func() {
|
|||
}
|
||||
}
|
||||
|
||||
float MainProgram::calculate_gui_scale() {
|
||||
return screen->calculate_gui_scale();
|
||||
}
|
||||
|
||||
void MainProgram::set_screen(std::function<std::unique_ptr<Screen>(std::unique_ptr<Screen>)> screenFunc) {
|
||||
newScreenFunc = screenFunc;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -201,6 +201,8 @@ class MainProgram {
|
|||
std::shared_ptr<FileDownloader::DownloadData> versionFile;
|
||||
} updateCheckerData;
|
||||
|
||||
float calculate_gui_scale();
|
||||
|
||||
private:
|
||||
std::unordered_set<World*> tabsToClose;
|
||||
void close_set_to_close_tabs();
|
||||
|
|
|
|||
|
|
@ -94,3 +94,9 @@ void DesktopDrawingProgramScreen::on_tab_close() {
|
|||
else
|
||||
main.switch_to_tab(0);
|
||||
}
|
||||
|
||||
float DesktopDrawingProgramScreen::calculate_gui_scale() {
|
||||
Vector2f maxWindowSizeBeforeForcedFit = main.g.final_gui_scale_not_fit() * Vector2f{700.0f, 700.0f};
|
||||
Vector2f fitRatio = {main.window.size.x() / maxWindowSizeBeforeForcedFit.x(), main.window.size.y() / maxWindowSizeBeforeForcedFit.y()};
|
||||
return main.g.final_gui_scale_not_fit() * std::min(std::min(fitRatio.x(), fitRatio.y()), 1.0f);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ class DesktopDrawingProgramScreen : public DrawingProgramScreen {
|
|||
virtual void input_text_key_callback(const InputManager::KeyCallbackArgs& key) override;
|
||||
virtual void open_file_selector(const std::string& filePickerName, const std::vector<ExtensionFilter>& extensionFilters, OpenFileSelectorCallback postSelectionFunc, const std::string& fileName = "", bool isSaving = false) override;
|
||||
virtual void on_tab_close() override;
|
||||
virtual float calculate_gui_scale() override;
|
||||
|
||||
private:
|
||||
Toolbar toolbar;
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ void Screen::input_window_scale_callback(const InputManager::WindowScaleCallback
|
|||
void Screen::input_app_about_to_go_to_background_callback() {}
|
||||
void Screen::input_app_about_to_go_to_foreground_callback() {}
|
||||
void Screen::on_tab_close() {}
|
||||
float Screen::calculate_gui_scale() { return main.g.final_gui_scale_not_fit(); }
|
||||
std::optional<InputManager::TextBoxStartInfo> Screen::get_text_box_start_info() { return std::nullopt; }
|
||||
|
||||
Screen::~Screen() {}
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ class Screen {
|
|||
virtual void input_window_scale_callback(const InputManager::WindowScaleCallbackArgs& w);
|
||||
virtual void input_app_about_to_go_to_background_callback();
|
||||
virtual void input_app_about_to_go_to_foreground_callback();
|
||||
virtual float calculate_gui_scale();
|
||||
virtual void on_tab_close();
|
||||
virtual std::optional<InputManager::TextBoxStartInfo> get_text_box_start_info();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue