[commit] r2760 - trunk/SDK/DecoratorLib
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Fri Oct 19 13:41:51 CDT 2018
Author: ksmyth
Date: Fri Oct 19 13:41:51 2018
New Revision: 2760
Log:
DecoratorLib: fix resize popup on high DPI displays
Modified:
trunk/SDK/DecoratorLib/ResizeLogic.cpp
trunk/SDK/DecoratorLib/SizeTrackerDialog.cpp
Modified: trunk/SDK/DecoratorLib/ResizeLogic.cpp
==============================================================================
--- trunk/SDK/DecoratorLib/ResizeLogic.cpp Fri Oct 19 13:41:47 2018 (r2759)
+++ trunk/SDK/DecoratorLib/ResizeLogic.cpp Fri Oct 19 13:41:51 2018 (r2760)
@@ -253,14 +253,19 @@
cWnd = CWnd::FromHandle(m_parentWnd);
}
+ int logPixelsX = GetDeviceCaps(transformHDC, LOGPIXELSX);
+ int logPixelsY = GetDeviceCaps(transformHDC, LOGPIXELSX);
+ int width = MulDiv(SizeTrackerWidth, logPixelsX, 96);
+ int height = MulDiv(SizeTrackerHeight, logPixelsY, 96);
CDialogTemplate dlgTemplate(_T(""),
WS_CHILD | WS_VISIBLE | WS_BORDER, // Window Styles
0, // Extended Window Styles
- 0, 0, SizeTrackerWidth, SizeTrackerHeight);
- dlgTemplate.AddStatic(_T("EDT"), WS_VISIBLE, 0, 0, 0, SizeTrackerWidth - 1, SizeTrackerHeight, IDC_INPLACETEXTEDIT);
+ 0, 0, width, height);
+ dlgTemplate.AddStatic(_T("EDT"), WS_VISIBLE, 0, 0, 0, width, height, IDC_INPLACETEXTEDIT);
sizeTrackerDlg = new CSizeTrackerDialog;
- sizeTrackerDlg->SetParameters(m_targetLocation, point, resizeTypeCandidate, cWnd, isPermanentCWnd, transformHDC);
+ CRect location(m_targetLocation.left, m_targetLocation.top, m_targetLocation.left + width, m_targetLocation.top + height);
+ sizeTrackerDlg->SetParameters(location, point, resizeTypeCandidate, cWnd, isPermanentCWnd, transformHDC);
BOOL success = sizeTrackerDlg->CreateIndirect(dlgTemplate, cWnd);
if (success != FALSE)
success = sizeTrackerDlg->ShowWindow(SW_SHOWNORMAL);
Modified: trunk/SDK/DecoratorLib/SizeTrackerDialog.cpp
==============================================================================
--- trunk/SDK/DecoratorLib/SizeTrackerDialog.cpp Fri Oct 19 13:41:47 2018 (r2759)
+++ trunk/SDK/DecoratorLib/SizeTrackerDialog.cpp Fri Oct 19 13:41:51 2018 (r2760)
@@ -57,7 +57,6 @@
TRACE1("CONSTRUCT: %X\n", m_staticWnd);
AdjustPositionAndText(m_mouseClick, m_initialRect);
- m_staticWnd->MoveWindow(0, 0, SizeTrackerWidth - 1, SizeTrackerHeight);
ShowWindow(SW_SHOWNORMAL); // For safety
SetFocus(); // For safety
@@ -88,12 +87,12 @@
switch(m_resizeType) {
case RightEdgeResize: dx = SizeTrackerMargin, dy = 0; break;
case BottomEdgeResize: dx = 0, dy = SizeTrackerMargin; break;
- case LeftEdgeResize: dx = -(SizeTrackerWidth + SizeTrackerMargin), dy = 0; break;
- case TopEdgeResize: dx = 0, dy = -(SizeTrackerHeight + SizeTrackerMargin); break;
- case TopLeftCornerResize: dx = -(SizeTrackerWidth + SizeTrackerMargin), dy = -(SizeTrackerHeight + SizeTrackerMargin); break;
- case TopRightCornerResize: dx = SizeTrackerMargin, dy = -(SizeTrackerHeight + SizeTrackerMargin); break;
+ case LeftEdgeResize: dx = -(m_initialRect.Width() + SizeTrackerMargin), dy = 0; break;
+ case TopEdgeResize: dx = 0, dy = -(m_initialRect.Height() + SizeTrackerMargin); break;
+ case TopLeftCornerResize: dx = -(m_initialRect.Width() + SizeTrackerMargin), dy = -(m_initialRect.Height() + SizeTrackerMargin); break;
+ case TopRightCornerResize: dx = SizeTrackerMargin, dy = -(m_initialRect.Height() + SizeTrackerMargin); break;
case BottomRightCornerResize: dx = SizeTrackerMargin, dy = SizeTrackerMargin; break;
- case BottomLeftCornerResize: dx = -(SizeTrackerWidth + SizeTrackerMargin), dy = SizeTrackerMargin; break;
+ case BottomLeftCornerResize: dx = -(m_initialRect.Width() + SizeTrackerMargin), dy = SizeTrackerMargin; break;
}
CPoint offsetted = pt;
@@ -122,7 +121,7 @@
m_staticWnd->SetWindowText(GetStrToDisplay(location));
CPoint adjPos = GetAdjustedPosition(point);
- MoveWindow(adjPos.x, adjPos.y, SizeTrackerWidth, SizeTrackerHeight);
+ MoveWindow(adjPos.x, adjPos.y, m_initialRect.Width(), m_initialRect.Height());
}
}
More information about the gme-commit
mailing list