#3332 Issues with text buffer updates
parent
3a251b1b9e
commit
bc84cb02a2
|
|
@ -194,6 +194,11 @@ bool LLWindowCallbacks::handleDPIChanged(LLWindow *window, F32 ui_scale_factor,
|
|||
return false;
|
||||
}
|
||||
|
||||
bool LLWindowCallbacks::handleDisplayChanged()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LLWindowCallbacks::handleWindowDidChangeScreen(LLWindow *window)
|
||||
{
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ public:
|
|||
virtual bool handleTimerEvent(LLWindow *window);
|
||||
virtual bool handleDeviceChange(LLWindow *window);
|
||||
virtual bool handleDPIChanged(LLWindow *window, F32 ui_scale_factor, S32 window_width, S32 window_height);
|
||||
virtual bool handleDisplayChanged();
|
||||
virtual bool handleWindowDidChangeScreen(LLWindow *window);
|
||||
|
||||
enum DragNDropAction {
|
||||
|
|
|
|||
|
|
@ -81,10 +81,6 @@ const S32 BITS_PER_PIXEL = 32;
|
|||
const S32 MAX_NUM_RESOLUTIONS = 32;
|
||||
const F32 ICON_FLASH_TIME = 0.5f;
|
||||
|
||||
#ifndef WM_DPICHANGED
|
||||
#define WM_DPICHANGED 0x02E0
|
||||
#endif
|
||||
|
||||
#ifndef USER_DEFAULT_SCREEN_DPI
|
||||
#define USER_DEFAULT_SCREEN_DPI 96 // Win7
|
||||
#endif
|
||||
|
|
@ -2969,6 +2965,11 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
|
|||
return 0;
|
||||
}
|
||||
|
||||
case WM_DISPLAYCHANGE:
|
||||
{
|
||||
WINDOW_IMP_POST(window_imp->mCallbacks->handleDisplayChanged());
|
||||
}
|
||||
|
||||
case WM_SETFOCUS:
|
||||
{
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_WIN32("mwp - WM_SETFOCUS");
|
||||
|
|
|
|||
|
|
@ -1746,11 +1746,11 @@ bool LLViewerWindow::handleDeviceChange(LLWindow *window)
|
|||
|
||||
bool LLViewerWindow::handleDPIChanged(LLWindow *window, F32 ui_scale_factor, S32 window_width, S32 window_height)
|
||||
{
|
||||
LLFontGL::sResolutionGeneration++;
|
||||
if (ui_scale_factor >= MIN_UI_SCALE && ui_scale_factor <= MAX_UI_SCALE)
|
||||
{
|
||||
LLViewerWindow::reshape(window_width, window_height);
|
||||
mResDirty = true;
|
||||
LLFontGL::sResolutionGeneration++;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
|
@ -1760,6 +1760,12 @@ bool LLViewerWindow::handleDPIChanged(LLWindow *window, F32 ui_scale_factor, S32
|
|||
}
|
||||
}
|
||||
|
||||
bool LLViewerWindow::handleDisplayChanged()
|
||||
{
|
||||
LLFontGL::sResolutionGeneration++;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LLViewerWindow::handleWindowDidChangeScreen(LLWindow *window)
|
||||
{
|
||||
LLCoordScreen window_rect;
|
||||
|
|
@ -1928,6 +1934,7 @@ LLViewerWindow::LLViewerWindow(const Params& p)
|
|||
mDisplayScale.setVec(llmax(1.f / mWindow->getPixelAspectRatio(), 1.f), llmax(mWindow->getPixelAspectRatio(), 1.f));
|
||||
mDisplayScale *= ui_scale_factor;
|
||||
LLUI::setScaleFactor(mDisplayScale);
|
||||
LLFontGL::sResolutionGeneration++;
|
||||
|
||||
{
|
||||
LLCoordWindow size;
|
||||
|
|
@ -2495,6 +2502,7 @@ void LLViewerWindow::reshape(S32 width, S32 height)
|
|||
|
||||
bool display_scale_changed = mDisplayScale != LLUI::getScaleFactor();
|
||||
LLUI::setScaleFactor(mDisplayScale);
|
||||
LLFontGL::sResolutionGeneration++;
|
||||
|
||||
// update our window rectangle
|
||||
mWindowRectScaled.mRight = mWindowRectScaled.mLeft + ll_round((F32)width / mDisplayScale.mV[VX]);
|
||||
|
|
|
|||
|
|
@ -225,6 +225,7 @@ public:
|
|||
/*virtual*/ bool handleTimerEvent(LLWindow *window);
|
||||
/*virtual*/ bool handleDeviceChange(LLWindow *window);
|
||||
/*virtual*/ bool handleDPIChanged(LLWindow *window, F32 ui_scale_factor, S32 window_width, S32 window_height);
|
||||
/*virtual*/ bool handleDisplayChanged();
|
||||
/*virtual*/ bool handleWindowDidChangeScreen(LLWindow *window);
|
||||
|
||||
/*virtual*/ void handlePingWatchdog(LLWindow *window, const char * msg);
|
||||
|
|
|
|||
Loading…
Reference in New Issue