Following STR #2583, the behaviour of fl_draw_image() with d = 4 on Mac OS is here
made consistent with other platforms, that is, the 4th byte of each pixel is ignored instead of treated as transparency data. In the future, the fl_draw_image() signature may be extended with another argument that would describe if and how transparency information is available. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8581 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
38a3c21ffd
commit
8b026342dd
@ -92,8 +92,8 @@ static void innards(const uchar *buf, int X, int Y, int W, int H,
|
||||
tmpBuf ? dataReleaseCB : NULL
|
||||
);
|
||||
CGImageRef img = CGImageCreate( W, H, 8, 8*delta, linedelta,
|
||||
//lut, delta&1?kCGImageAlphaNone:kCGImageAlphaNoneSkipLast,
|
||||
lut, delta&1?kCGImageAlphaNone:kCGImageAlphaLast,
|
||||
lut, delta&1?kCGImageAlphaNone:kCGImageAlphaNoneSkipLast,
|
||||
//lut, delta&1?kCGImageAlphaNone:kCGImageAlphaLast,
|
||||
src, 0L, false, kCGRenderingIntentDefault);
|
||||
// draw the image into the destination context
|
||||
if (img) {
|
||||
|
||||
@ -86,11 +86,7 @@ public:
|
||||
fl_color(FL_BLACK); fl_rectf(xx, yy, 130, 130);
|
||||
fl_color(FL_WHITE); fl_rectf(xx+1, yy+1, 64, 64);
|
||||
fl_color(FL_WHITE); fl_rectf(xx+65, yy+65, 64, 64);
|
||||
#ifdef __APPLE__
|
||||
fl_draw_image(img_rgba, xx+1, yy+1, 128, 128, 4); // Apple: okay w/alpha
|
||||
#else
|
||||
i_rgba->draw(xx+1,yy+1); // only Fl_RGB_Image->draw() works with alpha
|
||||
#endif
|
||||
fl_color(FL_BLACK); fl_draw("RGBA", xx+134, yy+64);
|
||||
|
||||
// top right: Gray
|
||||
@ -106,11 +102,7 @@ public:
|
||||
fl_color(FL_BLACK); fl_rectf(xx, yy, 130, 130);
|
||||
fl_color(FL_WHITE); fl_rectf(xx+1, yy+1, 64, 64);
|
||||
fl_color(FL_WHITE); fl_rectf(xx+65, yy+65, 64, 64);
|
||||
#ifdef __APPLE__
|
||||
fl_draw_image(img_gray_a, xx+1, yy+1, 128, 128, 2); // Apple: okay w/alpha
|
||||
#else
|
||||
i_ga->draw(xx+1,yy+1); // only Fl_RGB_Image->draw() works with alpha
|
||||
#endif
|
||||
fl_color(FL_BLACK); fl_draw("Gray+Alpha", xx+134, yy+64);
|
||||
}
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user