From 2abe8bd413f97da1beb5c144e1a1f6cb3db25290 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Fri, 13 Apr 2018 13:22:15 +0000 Subject: Homogenise and simplify the API of Fl_Graphics_Driver::cache(image-type *) virtual member functions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/Android/Fl_Android_Graphics_Driver.H | 6 +++--- src/drivers/Android/Fl_Android_Graphics_Driver.cxx | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src/drivers/Android') diff --git a/src/drivers/Android/Fl_Android_Graphics_Driver.H b/src/drivers/Android/Fl_Android_Graphics_Driver.H index 046735c1c..6e0e133ea 100644 --- a/src/drivers/Android/Fl_Android_Graphics_Driver.H +++ b/src/drivers/Android/Fl_Android_Graphics_Driver.H @@ -67,10 +67,10 @@ protected: // set fl_gc, which we do not use in the Android port at this point // super: virtual void global_gc(); /** Support function for Fl_Pixmap drawing */ - virtual fl_uintptr_t cache(Fl_Pixmap *img) override; + virtual void cache(Fl_Pixmap *img) override; /** Support function for Fl_Bitmap drawing */ - virtual fl_uintptr_t cache(Fl_Bitmap *img) override; - virtual fl_uintptr_t cache(Fl_RGB_Image *img) override; + virtual void cache(Fl_Bitmap *img) override; + virtual void cache(Fl_RGB_Image *img) override; /** Support function for Fl_RGB_Image drawing */ virtual void uncache(Fl_RGB_Image *img, fl_uintptr_t &id_, fl_uintptr_t &mask_) override; // --- implementation is in src/drivers/xxx/Fl_xxx_Graphics_Driver_image.cxx diff --git a/src/drivers/Android/Fl_Android_Graphics_Driver.cxx b/src/drivers/Android/Fl_Android_Graphics_Driver.cxx index 05af4bed6..b80d11744 100644 --- a/src/drivers/Android/Fl_Android_Graphics_Driver.cxx +++ b/src/drivers/Android/Fl_Android_Graphics_Driver.cxx @@ -984,7 +984,7 @@ void Fl_Android_Graphics_Driver::draw_fixed(Fl_Bitmap *bm, int X, int Y, int W, } -fl_uintptr_t Fl_Android_Graphics_Driver::cache(Fl_Bitmap *bm) +void Fl_Android_Graphics_Driver::cache(Fl_Bitmap *bm) { int w = bm->w(), h = bm->h(); int rowBytes = (w+7)>>3; @@ -1002,12 +1002,12 @@ fl_uintptr_t Fl_Android_Graphics_Driver::cache(Fl_Bitmap *bm) } } - return (fl_uintptr_t)cache; + *Fl_Graphics_Driver::id(bm) = (fl_uintptr_t)cache; } -fl_uintptr_t Fl_Android_Graphics_Driver::cache(Fl_Pixmap *img) +void Fl_Android_Graphics_Driver::cache(Fl_Pixmap *img) { int w = img->w(), h = img->h(); int rowBytes = 4*w; @@ -1015,7 +1015,8 @@ fl_uintptr_t Fl_Android_Graphics_Driver::cache(Fl_Pixmap *img) int ret = fl_convert_pixmap(img->data(), rgba, 0); if (ret==0) { ::free(rgba); - return 0; + *Fl_Graphics_Driver::id(img) = 0; + return; } Fl_Android_565A_Map *cache = new Fl_Android_565A_Map(w, h); @@ -1032,7 +1033,7 @@ fl_uintptr_t Fl_Android_Graphics_Driver::cache(Fl_Pixmap *img) } ::free(rgba); - return (fl_uintptr_t)cache; + *Fl_Graphics_Driver::id(img) = (fl_uintptr_t)cache; } @@ -1042,7 +1043,7 @@ void Fl_Android_Graphics_Driver::uncache_pixmap(fl_uintptr_t p) delete img; } -fl_uintptr_t Fl_Android_Graphics_Driver::cache(Fl_RGB_Image *img) +void Fl_Android_Graphics_Driver::cache(Fl_RGB_Image *img) { int w = img->data_w(), h = img->data_h(), d = img->d(), stride = w*d + img->ld(); Fl_Android_565A_Map *cgimg = new Fl_Android_565A_Map(w, h); @@ -1092,7 +1093,6 @@ fl_uintptr_t Fl_Android_Graphics_Driver::cache(Fl_RGB_Image *img) } } } - return (fl_uintptr_t)cgimg; } void Fl_Android_Graphics_Driver::draw_fixed(Fl_RGB_Image *img, int X, int Y, int W, int H, int cx, int cy) -- cgit v1.2.3