From 4caa00cc99af133e5724cd8ab04f5cb8db81a666 Mon Sep 17 00:00:00 2001 From: sapier Date: Wed, 16 Jul 2014 10:11:05 +0200 Subject: [PATCH] Make scrollbar scale according to DPI and scaling factor --- src/guiTable.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/guiTable.cpp b/src/guiTable.cpp index 6ce857486..1543497ab 100644 --- a/src/guiTable.cpp +++ b/src/guiTable.cpp @@ -33,6 +33,9 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/string.h" #include "util/numeric.h" #include "guiFormSpecMenu.h" // for parseColor() +#include "main.h" +#include "settings.h" // for settings +#include "porting.h" // for dpi /* GUITable @@ -89,6 +92,14 @@ GUITable::GUITable(gui::IGUIEnvironment *env, setTabStop(true); setTabOrder(-1); updateAbsolutePosition(); + + core::rect relative_rect = m_scrollbar->getRelativePosition(); + s32 width = (relative_rect.getWidth()/(2.0/3.0)) * porting::getDisplayDensity() * + g_settings->getFloat("gui_scaling"); + m_scrollbar->setRelativePosition(core::rect( + relative_rect.LowerRightCorner.X-width,relative_rect.UpperLeftCorner.Y, + relative_rect.LowerRightCorner.X,relative_rect.LowerRightCorner.Y + )); } GUITable::~GUITable()