summaryrefslogtreecommitdiff
path: root/src/Fl_Pixmap.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2012-03-17 17:35:02 +0000
committerManolo Gouy <Manolo>2012-03-17 17:35:02 +0000
commit53ccc787591de6b4aea756f45c8d3cdd6611b818 (patch)
tree51ce92e1f1f04f80c6ea9b0a1500ad32debca74e /src/Fl_Pixmap.cxx
parentc41d3ac3f322c2008e0caa4b8d786b2b9b3fba0a (diff)
Removed duplicated code when printing pixmap on WIN32.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9291 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Pixmap.cxx')
-rw-r--r--src/Fl_Pixmap.cxx10
1 files changed, 1 insertions, 9 deletions
diff --git a/src/Fl_Pixmap.cxx b/src/Fl_Pixmap.cxx
index 4b76c5e0d..2c780d326 100644
--- a/src/Fl_Pixmap.cxx
+++ b/src/Fl_Pixmap.cxx
@@ -141,22 +141,14 @@ void Fl_GDI_Graphics_Driver::draw(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP
if(hMod) fl_TransparentBlt = (fl_transp_func)GetProcAddress(hMod, "TransparentBlt");
}
if (fl_TransparentBlt) {
- Fl_Offscreen tmp_id = fl_create_offscreen(pxm->w(), pxm->h());
- fl_begin_offscreen(tmp_id);
- uchar *bitmap = 0;
- fl_mask_bitmap = &bitmap;
- // draw pixmap to offscreen
- fl_draw_pixmap(pxm->data(), 0, 0);
- fl_end_offscreen();
HDC new_gc = CreateCompatibleDC(fl_gc);
int save = SaveDC(new_gc);
- SelectObject(new_gc, (void*)tmp_id);
+ SelectObject(new_gc, (void*)pxm->id_);
// print all of offscreen but its parts in background color
extern UINT win_pixmap_bg_color; // computed by fl_draw_pixmap()
fl_TransparentBlt(fl_gc, X, Y, W, H, new_gc, cx, cy, pxm->w(), pxm->h(), win_pixmap_bg_color );
RestoreDC(new_gc,save);
DeleteDC(new_gc);
- fl_delete_offscreen(tmp_id);
}
else {
fl_copy_offscreen(X, Y, W, H, (Fl_Offscreen)pxm->id_, cx, cy);