diff --git a/Versions/day.txt b/Versions/day.txt index 282d20871..8da60bbdf 100644 --- a/Versions/day.txt +++ b/Versions/day.txt @@ -1 +1 @@ -612 +613 diff --git a/crypto/crypto.c b/crypto/crypto.c index 76c06a870..ccc315b86 100644 --- a/crypto/crypto.c +++ b/crypto/crypto.c @@ -132,8 +132,8 @@ INT_PTR CALLBACK SetKeysDlgProc(HWND hDlg, UINT umsg, WPARAM wParam, LPARAM lPar return true; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hDlg); - return true; + UpdateWindowLayoutForDPI(hDlg, (RECT*)lParam, NULL); + return !0; case WM_COMMAND: @@ -150,7 +150,7 @@ INT_PTR CALLBACK SetKeysDlgProc(HWND hDlg, UINT umsg, WPARAM wParam, LPARAM lPar } InvalidateRect(hDlg, NULL, TRUE); } - return true; + return !0; break; case IDOK: @@ -223,10 +223,9 @@ INT_PTR CALLBACK SetKeysDlgProc(HWND hDlg, UINT umsg, WPARAM wParam, LPARAM lPar break; } - - return false; - + return 0; } + // // helper for setting password when reading a file // the complication in this version is that the incoming text is unicode. We deal @@ -254,11 +253,11 @@ INT_PTR CALLBACK GetKeysDlgProc(HWND hDlg, UINT umsg, WPARAM wParam, LPARAM lPar // Don't use: SetFocus( GetDlgItem( hDlg, IDC_PWD_EDIT3 ) ); SetDialogFocus(hDlg, GetDlgItem(hDlg, IDC_PWD_EDIT3)); } - return true; + return !0; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hDlg); - return true; + UpdateWindowLayoutForDPI(hDlg, (RECT*)lParam, NULL); + return !0; case WM_COMMAND: @@ -273,8 +272,9 @@ INT_PTR CALLBACK GetKeysDlgProc(HWND hDlg, UINT umsg, WPARAM wParam, LPARAM lPar SendDlgItemMessage(hDlg, IDC_PWD_EDIT3, EM_SETPASSWORDCHAR, (WPARAM)wDot, 0); } InvalidateRect(hDlg, NULL, TRUE); - return true; } + return !0; + case IDOK: { bool const useMas = IsButtonChecked(hDlg, IDC_PWD_CHECK3); @@ -295,8 +295,7 @@ INT_PTR CALLBACK GetKeysDlgProc(HWND hDlg, UINT umsg, WPARAM wParam, LPARAM lPar } EndDialog(hDlg, IDOK); } - return true; - break; + return !0; case IDCANCEL: EndDialog(hDlg, IDCANCEL); @@ -304,7 +303,7 @@ INT_PTR CALLBACK GetKeysDlgProc(HWND hDlg, UINT umsg, WPARAM wParam, LPARAM lPar } break; } - return false; + return 0; } diff --git a/res/Notepad3.exe.manifest.conf b/res/Notepad3.exe.manifest.conf index 895d50ae9..bd0b43cae 100644 --- a/res/Notepad3.exe.manifest.conf +++ b/res/Notepad3.exe.manifest.conf @@ -3,7 +3,7 @@ Notepad3 BETA diff --git a/scintilla/win32/PlatWin.cxx b/scintilla/win32/PlatWin.cxx index 8630fa1e8..b36849e0a 100644 --- a/scintilla/win32/PlatWin.cxx +++ b/scintilla/win32/PlatWin.cxx @@ -669,7 +669,7 @@ void SurfaceGDI::Init(WindowID wid) noexcept { hdc = ::CreateCompatibleDC({}); hdcOwned = true; ::SetTextAlign(hdc, TA_BASELINE); - logPixelsY = DpiForWindow(wid); + logPixelsY = DpiYForWindow(wid); } void SurfaceGDI::Init(SurfaceID sid, WindowID wid, bool printing) noexcept { @@ -677,7 +677,7 @@ void SurfaceGDI::Init(SurfaceID sid, WindowID wid, bool printing) noexcept { hdc = static_cast(sid); ::SetTextAlign(hdc, TA_BASELINE); //const bool printing = (::GetDeviceCaps(hdc, TECHNOLOGY) != DT_RASDISPLAY); - logPixelsY = printing ? ::GetDeviceCaps(hdc, LOGPIXELSY) : DpiForWindow(wid); + logPixelsY = printing ? ::GetDeviceCaps(hdc, LOGPIXELSY) : DpiYForWindow(wid); } void SurfaceGDI::InitPixMap(int width, int height, Surface *surface_, WindowID wid) noexcept { @@ -692,7 +692,7 @@ void SurfaceGDI::InitPixMap(int width, int height, Surface *surface_, WindowID w ::SetTextAlign(hdc, TA_BASELINE); SetUnicodeMode(psurfOther->unicodeMode); //~SetDBCSMode(psurfOther->codePage); - logPixelsY = DpiForWindow(wid); + logPixelsY = DpiYForWindow(wid); } void SurfaceGDI::PenColour(ColourDesired fore) noexcept { @@ -1343,19 +1343,19 @@ HRESULT SurfaceD2D::FlushDrawing() const noexcept { void SurfaceD2D::Init(WindowID wid) noexcept { Release(); - logPixelsY = DpiForWindow(wid); + logPixelsY = DpiYForWindow(wid); } void SurfaceD2D::Init(SurfaceID sid, WindowID wid, bool /*printing*/) noexcept { Release(); // printing always using GDI - logPixelsY = DpiForWindow(wid); + logPixelsY = DpiYForWindow(wid); pRenderTarget = static_cast(sid); } void SurfaceD2D::InitPixMap(int width, int height, Surface *surface_, WindowID wid) noexcept { Release(); - logPixelsY = DpiForWindow(wid); + logPixelsY = DpiYForWindow(wid); SurfaceD2D *psurfOther = down_cast(surface_); // Should only ever be called with a SurfaceD2D, not a SurfaceGDI PLATFORM_ASSERT(psurfOther); diff --git a/scintilla/win32/PlatWin.h b/scintilla/win32/PlatWin.h index 56a3d71b8..b29897654 100644 --- a/scintilla/win32/PlatWin.h +++ b/scintilla/win32/PlatWin.h @@ -132,10 +132,8 @@ inline void ReleaseUnknown(T *&ppUnknown) noexcept { } } -inline UINT DpiForWindow(WindowID wid) noexcept { - //~return GetWindowDPI(HwndFromWindowID(wid)).y; - // retrieving the logPixelsY per window may double the Font Size calculation - return USER_DEFAULT_SCREEN_DPI; // DPI_AWARENESS set by manifest +inline UINT DpiYForWindow(WindowID wid) noexcept { + return GetWindowDPI(HwndFromWindowID(wid)).y; } HCURSOR LoadReverseArrowCursor(DPI_T dpi) noexcept; diff --git a/src/Dialogs.c b/src/Dialogs.c index 635e1f58d..3c72ce743 100644 --- a/src/Dialogs.c +++ b/src/Dialogs.c @@ -259,7 +259,7 @@ static INT_PTR CALLBACK _InfoBoxLngDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -460,7 +460,7 @@ static INT_PTR CALLBACK CmdLineHelpProc(HWND hwnd, UINT umsg, WPARAM wParam, LPA return true; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; case WM_COMMAND: @@ -712,11 +712,16 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam break; case WM_SIZE: + return !0; + case WM_DPICHANGED: { - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); + + DPI_T dpi; + dpi.x = LOWORD(wParam); + dpi.y = HIWORD(wParam); - DPI_T const dpi = Scintilla_GetCurrentDPI(hwnd); SendDlgItemMessage(hwnd, IDC_RICHEDITABOUT, EM_SETZOOM, (WPARAM)dpi.y, (LPARAM)USER_DEFAULT_SCREEN_DPI); //~~// get current richedit box format @@ -896,9 +901,9 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam EndDialog(hwnd, IDOK); break; } - return true; + return !0; } - return false; + return 0; } @@ -926,7 +931,7 @@ static INT_PTR CALLBACK RunDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM l case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -1108,7 +1113,7 @@ static INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -1306,7 +1311,7 @@ static INT_PTR CALLBACK FavoritesDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARA case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -1471,7 +1476,7 @@ static INT_PTR CALLBACK AddToFavDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPA case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); break; @@ -1718,7 +1723,7 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -2073,7 +2078,7 @@ static INT_PTR CALLBACK ChangeNotifyDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, return true; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; case WM_COMMAND: @@ -2154,7 +2159,7 @@ static INT_PTR CALLBACK ColumnWrapDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, L case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -2257,7 +2262,7 @@ static INT_PTR CALLBACK WordWrapSettingsDlgProc(HWND hwnd, UINT umsg, WPARAM wPa case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -2360,7 +2365,7 @@ static INT_PTR CALLBACK LongLineSettingsDlgProc(HWND hwnd, UINT umsg, WPARAM wPa case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -2479,7 +2484,7 @@ static INT_PTR CALLBACK TabSettingsDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPA case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -2612,7 +2617,7 @@ static INT_PTR CALLBACK SelectDefEncodingDlgProc(HWND hwnd, UINT umsg, WPARAM wP case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -2759,7 +2764,7 @@ static INT_PTR CALLBACK SelectEncodingDlgProc(HWND hwnd,UINT umsg,WPARAM wParam, case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -2954,7 +2959,7 @@ static INT_PTR CALLBACK SelectDefLineEndingDlgProc(HWND hwnd,UINT umsg,WPARAM wP case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -4297,6 +4302,33 @@ int Toolbar_SetButtons(HANDLE hwnd, int cmdBase, LPCWSTR lpszButtons, LPCTBBUTTO } +//============================================================================= +// +// GetCurrentPPI() +// (font size) points per inch +// +DPI_T GetCurrentPPI(HWND hwnd) { + HDC const hDC = GetDC(hwnd); + DPI_T ppi; + ppi.x = max_u(GetDeviceCaps(hDC, LOGPIXELSX), USER_DEFAULT_SCREEN_DPI); + ppi.y = max_u(GetDeviceCaps(hDC, LOGPIXELSY), USER_DEFAULT_SCREEN_DPI); + ReleaseDC(hwnd, hDC); + return ppi; +} + +/* +if (!bSucceed) { + NONCLIENTMETRICS ncm; + ncm.cbSize = sizeof(NONCLIENTMETRICS); + SystemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(NONCLIENTMETRICS),&ncm,0); + if (ncm.lfMessageFont.lfHeight < 0) + ncm.lfMessageFont.lfHeight = -ncm.lfMessageFont.lfHeight; + *wSize = (WORD)MulDiv(ncm.lfMessageFont.lfHeight,72,iLogPixelsY); + if (*wSize == 0) + *wSize = 8; +}*/ + + /* Themed Dialogs @@ -4496,42 +4528,20 @@ void SetUACIcon(const HMENU hMenu, const UINT nItem) } - - -//============================================================================= -// -// GetCurrentPPI() -// (font size) points per inch -// -DPI_T GetCurrentPPI(HWND hwnd) { - HDC const hDC = GetDC(hwnd); - DPI_T ppi; - ppi.x = max_u(GetDeviceCaps(hDC, LOGPIXELSX), USER_DEFAULT_SCREEN_DPI); - ppi.y = max_u(GetDeviceCaps(hDC, LOGPIXELSY), USER_DEFAULT_SCREEN_DPI); - ReleaseDC(hwnd, hDC); - return ppi; -} - -/* -if (!bSucceed) { - NONCLIENTMETRICS ncm; - ncm.cbSize = sizeof(NONCLIENTMETRICS); - SystemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(NONCLIENTMETRICS),&ncm,0); - if (ncm.lfMessageFont.lfHeight < 0) - ncm.lfMessageFont.lfHeight = -ncm.lfMessageFont.lfHeight; - *wSize = (WORD)MulDiv(ncm.lfMessageFont.lfHeight,72,iLogPixelsY); - if (*wSize == 0) - *wSize = 8; -}*/ - - //============================================================================= // // UpdateWindowLayoutForDPI() // -void UpdateWindowLayoutForDPI(HWND hWnd) +void UpdateWindowLayoutForDPI(HWND hWnd, RECT* pRC, DPI_T* pDPI) { - DPI_T const wndDPI = Scintilla_GetCurrentDPI(hWnd); + UINT const uWndFlags = SWP_NOZORDER | SWP_NOACTIVATE; //~ | SWP_NOMOVE | SWP_NOSIZE | SWP_NOREPOSITION | SWP_FRAMECHANGED + if (pRC) { + SetWindowPos(hWnd, NULL, pRC->left, pRC->top, (pRC->right - pRC->left), (pRC->bottom - pRC->top), uWndFlags); + //~InvalidateRect(hWnd, NULL, TRUE); + return; + } + + DPI_T const wndDPI = pDPI ? *pDPI : Scintilla_GetCurrentDPI(hWnd); RECT rc; GetWindowRect(hWnd, &rc); @@ -4543,9 +4553,7 @@ void UpdateWindowLayoutForDPI(HWND hWnd) int dpiScaledWidth = MulDiv(width, wndDPI.x, USER_DEFAULT_SCREEN_DPI); int dpiScaledHeight = MulDiv(height, wndDPI.y, USER_DEFAULT_SCREEN_DPI); - SetWindowPos(hWnd, NULL, dpiScaledX, dpiScaledY, dpiScaledWidth, dpiScaledHeight, - SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOREPOSITION | SWP_FRAMECHANGED); - + SetWindowPos(hWnd, NULL, dpiScaledX, dpiScaledY, dpiScaledWidth, dpiScaledHeight, uWndFlags); //~InvalidateRect(hWnd, NULL, TRUE); } diff --git a/src/Dialogs.h b/src/Dialogs.h index 8a8cbffb6..a62c4e12d 100644 --- a/src/Dialogs.h +++ b/src/Dialogs.h @@ -140,7 +140,9 @@ inline int ScaleFractionalFontSize(HWND hwnd, float fSize) { HBITMAP ConvertIconToBitmap(const HICON hIcon, const int cx, const int cy); void SetUACIcon(const HMENU hMenu, const UINT nItem); -void UpdateWindowLayoutForDPI(HWND hWnd); +void UpdateWindowLayoutForDPI(HWND hWnd, RECT* pRC, DPI_T* pDPI); +//#define HandleDpiChangedMessage(hW, wP,lP) { DPI_T dpi; dpi.x = LOWORD(wP); dpi.y = HIWORD(wP); \ +// UpdateWindowLayoutForDPI(hW, (RECT*)lP, pRC, DPI_T* pDPI); } HBITMAP ResizeImageForCurrentDPI(HWND hwnd, HBITMAP hbmp); LRESULT SendWMSize(HWND hwnd, RECT* rc); diff --git a/src/Edit.c b/src/Edit.c index 3f5d2298d..d8c9f767b 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -5850,7 +5850,7 @@ static INT_PTR CALLBACK EditFindReplaceDlgProc(HWND hwnd,UINT umsg,WPARAM wParam case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return !0; // further processing @@ -6614,7 +6614,7 @@ HWND EditFindReplaceDlg(HWND hwnd,LPCEDITFINDREPLACE lpefr,bool bReplace) (LPARAM) lpefr); if (hDlg != INVALID_HANDLE_VALUE) { - UpdateWindowLayoutForDPI(hDlg); + UpdateWindowLayoutForDPI(hDlg, NULL, NULL); ShowWindow(hDlg, SW_SHOW); } CoUninitialize(); @@ -7912,7 +7912,7 @@ static INT_PTR CALLBACK EditLinenumDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPA case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; @@ -8057,7 +8057,7 @@ static INT_PTR CALLBACK EditModifyLinesDlgProc(HWND hwnd,UINT umsg,WPARAM wParam return true; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; case WM_DESTROY: @@ -8235,7 +8235,7 @@ static INT_PTR CALLBACK EditAlignDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARA return true; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; case WM_COMMAND: @@ -8319,7 +8319,7 @@ static INT_PTR CALLBACK EditEncloseSelectionDlgProc(HWND hwnd,UINT umsg,WPARAM w return true; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; case WM_COMMAND: @@ -8406,7 +8406,7 @@ static INT_PTR CALLBACK EditInsertTagDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,L return false; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; case WM_COMMAND: @@ -8596,7 +8596,7 @@ static INT_PTR CALLBACK EditSortDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM return true; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return true; case WM_COMMAND: diff --git a/src/Notepad3.c b/src/Notepad3.c index cb30f9ee4..f3c98cdd2 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -1275,7 +1275,7 @@ HWND InitInstance(HINSTANCE hInstance,LPCWSTR pszCmdLine,int nCmdShow) if ((Settings.AlwaysOnTop || s_flagAlwaysOnTop == 2) && s_flagAlwaysOnTop != 1) { SetWindowPos(Globals.hwndMain, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); } - //~UpdateWindowLayoutForDPI(Globals.hwndMain); + //~UpdateWindowLayoutForDPI(Globals.hwndMain, NULL, NULL); SET_NP3_DLG_ICON_SMALL(Globals.hwndMain); SET_NP3_DLG_ICON_BIG(Globals.hwndMain); @@ -2560,18 +2560,15 @@ LRESULT MsgEndSession(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) // LRESULT MsgDPIChanged(HWND hwnd, WPARAM wParam, LPARAM lParam) { - UNUSED(lParam); - - DPI_T dpi; - dpi.x = LOWORD(wParam); - dpi.y = HIWORD(wParam); - - const RECT* const rc = (RECT*)lParam; + //DPI_T dpi; + //dpi.x = LOWORD(wParam); + //dpi.y = HIWORD(wParam); + UNUSED(wParam); + //const RECT* const rc = (RECT*)lParam; DocPos const pos = SciCall_GetCurrentPos(); - //~UpdateWindowLayoutForDPI(hwnd); - SetWindowPos(hwnd, NULL, rc->left, rc->top, rc->right - rc->left, rc->bottom - rc->top, SWP_NOZORDER | SWP_NOACTIVATE); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); SendMessage(Globals.hwndEdit, WM_DPICHANGED, wParam, lParam); @@ -6623,6 +6620,8 @@ void HandleDWellStartEnd(const DocPos position, const UINT uid) // bool HandleHotSpotURLClicked(const DocPos position, const HYPERLINK_OPS operation) { + if (position < 0) { return false; } + //~PostMessage(Globals.hwndEdit, WM_LBUTTONUP, MK_LBUTTON, 0); CancelCallTip(); @@ -6633,6 +6632,8 @@ bool HandleHotSpotURLClicked(const DocPos position, const HYPERLINK_OPS operatio DocPos const lastPos = SciCall_IndicatorEnd(INDIC_NP3_HYPERLINK, position); DocPos const length = min_p(lastPos - firstPos, INTERNET_MAX_URL_LENGTH); + if (length < 4) { return false; } + const char* pszText = (const char*)SciCall_GetRangePointer(firstPos, length); WCHAR szTextW[INTERNET_MAX_URL_LENGTH + 1]; diff --git a/src/Print.cpp b/src/Print.cpp index aa9180753..c21548d90 100644 --- a/src/Print.cpp +++ b/src/Print.cpp @@ -503,7 +503,7 @@ extern "C" UINT_PTR CALLBACK PageSetupHook(HWND hwnd, UINT uiMsg, WPARAM wParam, break; case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); break; case WM_COMMAND: diff --git a/src/Styles.c b/src/Styles.c index bcaf3fe01..3ed1a6e05 100644 --- a/src/Styles.c +++ b/src/Styles.c @@ -3687,11 +3687,11 @@ void Style_SetStyles(HWND hwnd, int iStyle, LPCWSTR lpszStyle, bool bInitDefault } _SetCurrentFontSize(fBaseFontSize); } - SendMessage(hwnd, SCI_STYLESETSIZEFRACTIONAL, iStyle, (LPARAM)ScaleFractionalFontSize(hwnd, fBaseFontSize)); + SendMessage(hwnd, SCI_STYLESETSIZEFRACTIONAL, iStyle, float2int(fBaseFontSize * SC_FONT_SIZE_MULTIPLIER)); } else if (bInitDefault) { _SetBaseFontSize(fBaseFontSize); - SendMessage(hwnd, SCI_STYLESETSIZEFRACTIONAL, STYLE_DEFAULT, (LPARAM)ScaleFractionalFontSize(hwnd, fBaseFontSize)); + SendMessage(hwnd, SCI_STYLESETSIZEFRACTIONAL, STYLE_DEFAULT, float2int(fBaseFontSize * SC_FONT_SIZE_MULTIPLIER)); } // Character Set @@ -4146,8 +4146,10 @@ INT_PTR CALLBACK Style_CustomizeSchemesDlgProc(HWND hwnd,UINT umsg,WPARAM wParam return false; case WM_SIZE: + return !0; + case WM_DPICHANGED: - UpdateWindowLayoutForDPI(hwnd); + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return !0; #if 0 @@ -4671,7 +4673,7 @@ HWND Style_CustomizeSchemesDlg(HWND hwnd) Style_CustomizeSchemesDlgProc, (LPARAM)NULL); if (hDlg != INVALID_HANDLE_VALUE) { - UpdateWindowLayoutForDPI(hDlg); + UpdateWindowLayoutForDPI(hDlg, NULL, NULL); ShowWindow(hDlg, SW_SHOW); } return hDlg; @@ -4754,35 +4756,29 @@ INT_PTR CALLBACK Style_SelectLexerDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPAR case WM_DESTROY: - { ResizeDlg_Destroy(hwnd, &s_cxStyleSelectDlg, &s_cyStyleSelectDlg); - } return 0; case WM_DPICHANGED: - { - UpdateWindowLayoutForDPI(hwnd); - } + UpdateWindowLayoutForDPI(hwnd, (RECT*)lParam, NULL); return !0; case WM_SIZE: { ResizeDlg_Size(hwnd, lParam, &cxClient, &cyClient); - - HDWP hdwp; - hdwp = BeginDeferWindowPos(6); - hdwp = DeferCtlPos(hdwp, hwnd, IDOK, cxClient, cyClient, SWP_NOSIZE); - hdwp = DeferCtlPos(hdwp, hwnd, IDCANCEL, cxClient, cyClient, SWP_NOSIZE); + HDWP hdwp = BeginDeferWindowPos(6); + hdwp = DeferCtlPos(hdwp, hwnd, IDC_RESIZEGRIP, cxClient, cyClient, SWP_NOSIZE); hdwp = DeferCtlPos(hdwp, hwnd, IDC_STYLELIST, 0, cyClient, SWP_NOMOVE); hdwp = DeferCtlPos(hdwp, hwnd, IDC_DEFAULTSCHEME, cxClient, cyClient, SWP_NOSIZE); hdwp = DeferCtlPos(hdwp, hwnd, IDC_AUTOSELECT, cxClient, cyClient, SWP_NOSIZE); - hdwp = DeferCtlPos(hdwp, hwnd, IDC_RESIZEGRIP, cxClient, cyClient, SWP_NOSIZE); + hdwp = DeferCtlPos(hdwp, hwnd, IDOK, cxClient, cyClient, SWP_NOSIZE); + hdwp = DeferCtlPos(hdwp, hwnd, IDCANCEL, cxClient, cyClient, SWP_NOSIZE); EndDeferWindowPos(hdwp); ListView_SetColumnWidth(GetDlgItem(hwnd, IDC_STYLELIST), 0, LVSCW_AUTOSIZE_USEHEADER); - } + } return !0; diff --git a/src/VersionEx.h b/src/VersionEx.h index 7de742c7b..591a73f2b 100644 --- a/src/VersionEx.h +++ b/src/VersionEx.h @@ -8,7 +8,7 @@ #define SAPPNAME "Notepad3" #define VERSION_MAJOR 5 #define VERSION_MINOR 20 -#define VERSION_REV 612 +#define VERSION_REV 613 #define VERSION_BUILD 1 #define SCINTILLA_VER 443 #define ONIGURUMA_REGEX_VER 6.9.5