@@ -1719,6 +1719,10 @@ private ImageHandle init(ImageData i, int zoom) {
1719
1719
*/
1720
1720
@ Override
1721
1721
public long internal_new_GC (GCData data ) {
1722
+ return configureGC (data , 100 );
1723
+ }
1724
+
1725
+ private long configureGC (GCData data , int zoom ) {
1722
1726
if (isDisposed ()) SWT .error (SWT .ERROR_GRAPHIC_DISPOSED );
1723
1727
/*
1724
1728
* Create a new GC that can draw into the image.
@@ -1743,9 +1747,9 @@ public long internal_new_GC (GCData data) {
1743
1747
data .style |= SWT .LEFT_TO_RIGHT ;
1744
1748
}
1745
1749
data .device = device ;
1746
- data .nativeZoom = initialNativeZoom ;
1750
+ data .nativeZoom = zoom ;
1747
1751
data .image = this ;
1748
- data .font = SWTFontProvider .getSystemFont (device , initialNativeZoom );
1752
+ data .font = SWTFontProvider .getSystemFont (device , zoom );
1749
1753
}
1750
1754
return imageDC ;
1751
1755
}
@@ -2530,7 +2534,7 @@ protected ImageHandle newImageHandle(int zoom) {
2530
2534
} else {
2531
2535
image = new Image (device , width , height , zoom );
2532
2536
}
2533
- GC gc = new GC (image , gcStyle );
2537
+ GC gc = new GC (new DrawableWrapper ( image , zoom ) , gcStyle );
2534
2538
try {
2535
2539
gc .data .nativeZoom = zoom ;
2536
2540
drawer .drawOn (gc , width , height );
@@ -2544,6 +2548,26 @@ protected ImageHandle newImageHandle(int zoom) {
2544
2548
}
2545
2549
}
2546
2550
2551
+ private class DrawableWrapper implements Drawable {
2552
+ private final Image image ;
2553
+ private final int zoom ;
2554
+
2555
+ public DrawableWrapper (Image image , int zoom ) {
2556
+ this .image = image ;
2557
+ this .zoom = zoom ;
2558
+ }
2559
+
2560
+ @ Override
2561
+ public long internal_new_GC (GCData data ) {
2562
+ return this .image .configureGC (data , zoom );
2563
+ }
2564
+
2565
+ @ Override
2566
+ public void internal_dispose_GC (long handle , GCData data ) {
2567
+ this .image .internal_dispose_GC (handle , data );
2568
+ }
2569
+ }
2570
+
2547
2571
@ Override
2548
2572
Object getProvider () {
2549
2573
return drawer ;
0 commit comments