summaryrefslogtreecommitdiff
path: root/src/drivers/Quartz
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2018-04-14 13:37:47 +0000
committerManolo Gouy <Manolo>2018-04-14 13:37:47 +0000
commitbfac5462be7da58bc84032462307a150314b669a (patch)
tree7acbb7b48f186d40e24be1dac62ddac5ff5598c3 /src/drivers/Quartz
parent2abe8bd413f97da1beb5c144e1a1f6cb3db25290 (diff)
Remove Fl_Pixmap::prepare() and Fl_Bitmap::prepare() that were used only once.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/Quartz')
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Graphics_Driver_image.cxx17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_image.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_image.cxx
index b0cab9733..ac705fcd5 100644
--- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_image.cxx
+++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_image.cxx
@@ -134,9 +134,14 @@ void fl_rectf(int x, int y, int w, int h, uchar r, uchar g, uchar b) {
void Fl_Quartz_Graphics_Driver::draw_bitmap(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy) {
int X, Y, W, H;
- if (Fl_Graphics_Driver::prepare(bm, XP, YP, WP, HP, cx, cy, X, Y, W, H)) {
+ if (!bm->array) {
+ draw_empty(bm, XP, YP);
return;
}
+ if (start_image(bm, XP,YP,WP,HP,cx,cy,X,Y,W,H)) return;
+ if (!*id(bm))
+ cache(bm);
+
if (*Fl_Graphics_Driver::id(bm) && gc_) {
draw_CGImage((CGImageRef)*Fl_Graphics_Driver::id(bm), X,Y,W,H, cx, cy, bm->w(), bm->h());
}
@@ -199,7 +204,15 @@ void Fl_Quartz_Graphics_Driver::draw_rgb(Fl_RGB_Image *img, int XP, int YP, int
void Fl_Quartz_Graphics_Driver::draw_pixmap(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy) {
int X, Y, W, H;
- if (Fl_Graphics_Driver::prepare(pxm, XP, YP, WP, HP, cx, cy, X, Y, W, H)) return;
+ if (!pxm->data() || !pxm->w()) {
+ draw_empty(pxm, XP, YP);
+ return;
+ }
+ if ( start_image(pxm, XP,YP,WP,HP,cx,cy,X,Y,W,H) ) return;
+ if (!*id(pxm)) {
+ cache(pxm);
+ }
+
CGImageRef cgimg = (CGImageRef)*Fl_Graphics_Driver::id(pxm);
draw_CGImage(cgimg, X,Y,W,H, cx,cy, pxm->w(), pxm->h());
}