diff options
Diffstat (limited to 'win32/ScintillaWin.cxx')
| -rw-r--r-- | win32/ScintillaWin.cxx | 13 | 
1 files changed, 4 insertions, 9 deletions
| diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 9b1d640f2..cd56105d0 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -286,7 +286,7 @@ class ScintillaWin :  	unsigned int linesPerScroll;	///< Intellimouse support  	int wheelDelta; ///< Wheel delta from roll -	UINT dpi = 72; +	UINT dpi = USER_DEFAULT_SCREEN_DPI;  	HRGN hRgnUpdate; @@ -658,8 +658,8 @@ bool ScintillaWin::DragThreshold(Point ptStart, Point ptNow) {  	const Point ptDifference = ptStart - ptNow;  	const XYPOSITION xMove = std::trunc(std::abs(ptDifference.x));  	const XYPOSITION yMove = std::trunc(std::abs(ptDifference.y)); -	return (xMove > ::GetSystemMetrics(SM_CXDRAG)) || -		(yMove > ::GetSystemMetrics(SM_CYDRAG)); +	return (xMove > SystemMetricsForDpi(SM_CXDRAG, dpi)) || +		(yMove > SystemMetricsForDpi(SM_CYDRAG, dpi));  }  void ScintillaWin::StartDrag() { @@ -2824,13 +2824,8 @@ void ScintillaWin::ImeStartComposition() {  			int sizeZoomed = vs.styles[styleHere].size + vs.zoomLevel * SC_FONT_SIZE_MULTIPLIER;  			if (sizeZoomed <= 2 * SC_FONT_SIZE_MULTIPLIER)	// Hangs if sizeZoomed <= 1  				sizeZoomed = 2 * SC_FONT_SIZE_MULTIPLIER; -			AutoSurface surface(this); -			int deviceHeight = sizeZoomed; -			if (surface) { -				deviceHeight = (sizeZoomed * surface->LogPixelsY()) / 72; -			}  			// The negative is to allow for leading -			lf.lfHeight = -(std::abs(deviceHeight / SC_FONT_SIZE_MULTIPLIER)); +			lf.lfHeight = -::MulDiv(sizeZoomed, dpi, 72*SC_FONT_SIZE_MULTIPLIER);  			lf.lfWeight = vs.styles[styleHere].weight;  			lf.lfItalic = vs.styles[styleHere].italic ? 1 : 0;  			lf.lfCharSet = DEFAULT_CHARSET; | 
