From f76e579ffec32aaf1095d37aaf4a54780fd20b6c Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Tue, 14 Dec 2021 16:06:25 +0100 Subject: Windows platform and Input Methods: improve GUI scaling support. --- src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/drivers') diff --git a/src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx b/src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx index e32d1ae35..07985d3d9 100644 --- a/src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx +++ b/src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx @@ -21,6 +21,7 @@ #include #include #include "../../Fl_Screen_Driver.H" +#include "Fl_Font.H" #if USE_GDIPLUS static ULONG_PTR gdiplusToken = 0; @@ -272,6 +273,9 @@ void Fl_GDI_Graphics_Driver::set_spot(int font, int size, int X, int Y, int W, i cfs.dwStyle = CFS_POINT; cfs.ptCurrentPos.x = X * s; cfs.ptCurrentPos.y = int(Y * s) - int(tw->labelsize() * s); + // Attempt to have temporary text entered by input method use scaled font. + // Does good, but still not always effective. + SelectObject((HDC)gc(), ((Fl_GDI_Font_Descriptor*)font_descriptor())->fid); MapWindowPoints(fl_xid(win), fl_xid(tw), &cfs.ptCurrentPos, 1); flImmSetCompositionWindow(himc, &cfs); flImmReleaseContext(fl_xid(tw), himc); -- cgit v1.2.3