|
|
commit f76e579ffec32aaf1095d37aaf4a54780fd20b6c
Author: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
AuthorDate: Tue Dec 14 16:06:25 2021 +0100
Commit: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
CommitDate: Tue Dec 14 16:06:25 2021 +0100
Windows platform and Input Methods: improve GUI scaling support.
src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx | 4 ++++
1 file changed, 4 insertions(+)
diff --git src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx
index e32d1ae..07985d3 100644
--- src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx
+++ src/drivers/GDI/Fl_GDI_Graphics_Driver.cxx
@@ -21,6 +21,7 @@
#include <FL/platform.H>
#include <FL/fl_draw.H>
#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);
[ Direct Link to Message ] | |
|
| |