Check for use of the Fl_GDI_Printer_Graphics_Driver class to detect printer usage.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10111 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2014-02-22 15:04:44 +00:00
parent 56ac442c93
commit fe4d1af194

View File

@ -218,8 +218,9 @@ void Fl_GDI_Graphics_Driver::copy_offscreen_with_alpha(int x,int y,int w,int h,H
BOOL alpha_ok = 0;
// first try to alpha blend
// if to printer, always try alpha_blend
if ( Fl_Surface_Device::surface() != Fl_Display_Device::display_device() || fl_can_do_alpha_blending() ) {
if (fl_alpha_blend) alpha_ok = fl_alpha_blend(fl_gc, x, y, w, h, new_gc, srcx, srcy, w, h, blendfunc);
if (fl_graphics_driver->class_name() == Fl_GDI_Printer_Graphics_Driver::class_id && fl_alpha_blend ||
Fl_Surface_Device::surface() == Fl_Display_Device::display_device() && fl_can_do_alpha_blending() ) {
alpha_ok = fl_alpha_blend(fl_gc, x, y, w, h, new_gc, srcx, srcy, w, h, blendfunc);
}
// if that failed (it shouldn't), still copy the bitmap over, but now alpha is 1
if (!alpha_ok) {