From fe4d1af1949bc84ea6c17c0e64e9e5758d623ebd Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sat, 22 Feb 2014 15:04:44 +0000 Subject: 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 --- src/Fl_Double_Window.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Fl_Double_Window.cxx b/src/Fl_Double_Window.cxx index fb93c9cd9..4cc487215 100644 --- a/src/Fl_Double_Window.cxx +++ b/src/Fl_Double_Window.cxx @@ -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) { -- cgit v1.2.3