summaryrefslogtreecommitdiff
path: root/src/drivers/Quartz
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-12-02 17:46:49 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-12-02 17:46:49 +0100
commit981aa8c2e7b519accfb42c9690dd04fb404122c5 (patch)
treeef40abccff6f7921f6748cea5a6eafda9814b1a8 /src/drivers/Quartz
parent9a7f4bdfcebe04ff85e75d9fc999b3731c9941e4 (diff)
Fix: Drawing bugs on Windows at very large scales (#1144)
Diffstat (limited to 'src/drivers/Quartz')
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
index a9ca6cc88..7ee610d24 100644
--- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
+++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
@@ -159,13 +159,15 @@ void Fl_Quartz_Graphics_Driver::cache_size(Fl_Image *img, int &width, int &heigh
float Fl_Quartz_Graphics_Driver::override_scale() {
float s = scale();
if (s != 1.f && Fl_Display_Device::display_device()->is_current()) {
- scale(1);
+ CGContextScaleCTM(gc_, 1./s, 1./s);
+ Fl_Graphics_Driver::scale(1);
}
return s;
}
void Fl_Quartz_Graphics_Driver::restore_scale(float s) {
if (s != 1.f && Fl_Display_Device::display_device()->is_current()) {
- scale(s);
+ CGContextScaleCTM(gc_, s, s);
+ Fl_Graphics_Driver::scale(s);
}
}