From 3ae2b1d74e35a4ac0d80b35e3eaa23088ccffeb4 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sun, 30 Oct 2016 07:26:13 +0000 Subject: Add virtual Fl_RGB_Image* Fl_Image::as_rgb_image() to detect whether an Fl_Image is derived from Fl_RGB_Image git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/drivers') diff --git a/src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx b/src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx index a9ecae8e0..cbd6f591a 100644 --- a/src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx +++ b/src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx @@ -542,9 +542,9 @@ int Fl_GDI_Printer_Graphics_Driver::draw_scaled(Fl_Image *img, int XP, int YP, i } int Fl_GDI_Graphics_Driver::draw_scaled(Fl_Image *img, int XP, int YP, int WP, int HP) { - if (img->d() == 0 || img->count() >= 2) return 0; // for bitmaps and pixmaps + Fl_RGB_Image *rgb = img->as_rgb_image(); + if (!rgb || !rgb->array) return 0; // for bitmaps and pixmaps - Fl_RGB_Image *rgb = (Fl_RGB_Image*)img; if (!rgb->id_) rgb->id_ = (fl_uintptr_t)build_id(rgb, (void**)&(rgb->mask_)); HDC new_gc = CreateCompatibleDC(gc_); int save = SaveDC(new_gc); -- cgit v1.2.3