diff options
| author | Manolo Gouy <Manolo> | 2010-05-21 07:15:13 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2010-05-21 07:15:13 +0000 |
| commit | ace4c55f352c7c7d5b1c8a61c8914afee52d8475 (patch) | |
| tree | 7094b35b8898fe0cd5eedcfcee345fdff8bd6bfb /src | |
| parent | 2bf58376e5389e9b1fbaae8bbc0de94a143d1f64 (diff) | |
Fl_Gl_Device_Plugin.cxx: fixed compilation error under some 10.4
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7613 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_Gl_Device_Plugin.cxx | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/Fl_Gl_Device_Plugin.cxx b/src/Fl_Gl_Device_Plugin.cxx index f8fc3f8f6..2fe1e3442 100644 --- a/src/Fl_Gl_Device_Plugin.cxx +++ b/src/Fl_Gl_Device_Plugin.cxx @@ -90,19 +90,23 @@ static void print_gl_window(Fl_Gl_Window *glw, int x, int y, int height) glPopClientAttrib(); fl_gc = save_gc; #if defined(__APPLE__) +// kCGBitmapByteOrder32Host and CGBitmapInfo are supposed to arrive with 10.4 +// but some 10.4 don't have kCGBitmapByteOrder32Host, so we play a little #define game #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_4 -#define kCGBitmapByteOrder32Big 0 +#define kCGBitmapByteOrder32Host 0 #define CGBitmapInfo CGImageAlphaInfo +#elif ! defined(kCGBitmapByteOrder32Host) +#ifdef __BIG_ENDIAN__ +#define kCGBitmapByteOrder32Host (4 << 12) +#else /* Little endian. */ +#define kCGBitmapByteOrder32Host (2 << 12) +#endif #endif CGColorSpaceRef cSpace = CGColorSpaceCreateDeviceRGB(); CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, baseAddress, mByteWidth * glw->h(), imgProviderReleaseData); - CGImageRef image = CGImageCreate(glw->w(), glw->h(), 8, 8*bytesperpixel, mByteWidth, cSpace, -#if __BIG_ENDIAN__ - (CGBitmapInfo)(kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Big) /* XRGB Big Endian */ -#else - kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little /* XRGB Little Endian */ -#endif - , provider, NULL, false, kCGRenderingIntentDefault); + CGImageRef image = CGImageCreate(glw->w(), glw->h(), 8, 8*bytesperpixel, mByteWidth, cSpace, + (CGBitmapInfo)(kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Host), + provider, NULL, false, kCGRenderingIntentDefault); if(image == NULL) return; CGContextSaveGState(fl_gc); CGContextTranslateCTM(fl_gc, 0, height); |
