summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fl_draw_image_mac.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/fl_draw_image_mac.cxx b/src/fl_draw_image_mac.cxx
index c0f8a451f..f70d180c0 100644
--- a/src/fl_draw_image_mac.cxx
+++ b/src/fl_draw_image_mac.cxx
@@ -178,7 +178,11 @@ static void innards(const uchar *buf, int X, int Y, int W, int H,
linedelta = W;
}
// create an image context
- CGColorSpaceRef lut = CGColorSpaceCreateDeviceRGB();
+ CGColorSpaceRef lut = 0;
+ if (delta<=2)
+ lut = CGColorSpaceCreateDeviceGray();
+ else
+ lut = CGColorSpaceCreateDeviceRGB();
CGDataProviderRef src = CGDataProviderCreateWithData( 0L, array, linedelta*H*delta, 0L);
CGImageRef img = CGImageCreate( W, H, 8, 8*delta, linedelta*delta,
lut, delta&1?kCGImageAlphaNone:kCGImageAlphaNoneSkipLast,