From 00269e8358d8ec6ca46ac293e390c6b13707adb8 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 27 May 2013 19:18:11 -0500 Subject: [PATCH 1/3] Unbork ui scaling. --- indra/newview/llviewerwindow.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 58d34766b..7683d768e 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2441,10 +2441,11 @@ void LLViewerWindow::draw() } gGL.pushMatrix(); + LLUI::pushMatrix(); { // scale view by UI global scale factor and aspect ratio correction factor - gGL.scalef(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f); + gGL.scaleUI(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f); LLVector2 old_scale_factor = LLUI::getScaleFactor(); // apply camera zoom transform (for high res screenshots) @@ -2534,6 +2535,7 @@ void LLViewerWindow::draw() LLUI::setScaleFactor(old_scale_factor); } + LLUI::popMatrix(); gGL.popMatrix(); if (LLGLSLShader::sNoFixedFunction) @@ -5353,9 +5355,9 @@ void LLViewerWindow::calcDisplayScale() F32 ui_scale_factor = gSavedSettings.getF32("UIScaleFactor"); LLVector2 display_scale; display_scale.setVec(llmax(1.f / mWindow->getPixelAspectRatio(), 1.f), llmax(mWindow->getPixelAspectRatio(), 1.f)); - F32 height_normalization = gSavedSettings.getBOOL("UIAutoScale") ? ((F32)mWindowRectRaw.getHeight() / display_scale.mV[VY]) / 768.f : 1.f; if(mWindow->getFullscreen()) { + F32 height_normalization = gSavedSettings.getBOOL("UIAutoScale") ? ((F32)mWindowRectRaw.getHeight() / display_scale.mV[VY]) / 768.f : 1.f; display_scale *= (ui_scale_factor * height_normalization); } else From d5e1a0dd4bd59a1d982487b43a73ae7737031208 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 27 May 2013 19:18:47 -0500 Subject: [PATCH 2/3] Unbreak ui scaling. --- indra/newview/llviewerwindow.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 7683d768e..68b37ef54 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1586,7 +1586,15 @@ LLViewerWindow::LLViewerWindow( F32 ui_scale_factor = gSavedSettings.getF32("UIScaleFactor"); mDisplayScale.setVec(llmax(1.f / mWindow->getPixelAspectRatio(), 1.f), llmax(mWindow->getPixelAspectRatio(), 1.f)); - mDisplayScale *= ui_scale_factor; + if(mWindow->getFullscreen()) + { + F32 height_normalization = gSavedSettings.getBOOL("UIAutoScale") ? ((F32)mWindowRectRaw.getHeight() / mDisplayScale.mV[VY]) / 768.f : 1.f; + mDisplayScale *= (ui_scale_factor * height_normalization); + } + else + { + mDisplayScale *= ui_scale_factor; + } LLUI::setScaleFactor(mDisplayScale); { From 641ada030eee8eaf4a320469e4d19d120f6d1043 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 27 May 2013 19:23:36 -0500 Subject: [PATCH 3/3] Didn't actually want to commit the latter ui-scale related change, but rebasing is too annoying, so revert. --- indra/newview/llviewerwindow.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 21c10dac0..1c7007eea 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1586,15 +1586,7 @@ LLViewerWindow::LLViewerWindow( F32 ui_scale_factor = gSavedSettings.getF32("UIScaleFactor"); mDisplayScale.setVec(llmax(1.f / mWindow->getPixelAspectRatio(), 1.f), llmax(mWindow->getPixelAspectRatio(), 1.f)); - if(mWindow->getFullscreen()) - { - F32 height_normalization = gSavedSettings.getBOOL("UIAutoScale") ? ((F32)mWindowRectRaw.getHeight() / mDisplayScale.mV[VY]) / 768.f : 1.f; - mDisplayScale *= (ui_scale_factor * height_normalization); - } - else - { - mDisplayScale *= ui_scale_factor; - } + mDisplayScale *= ui_scale_factor; LLUI::setScaleFactor(mDisplayScale); {