diff options
| author | Manolo Gouy <Manolo> | 2016-02-18 16:21:51 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-02-18 16:21:51 +0000 |
| commit | f33b45f1d30653fb5da4817089e38ff0a2413cfb (patch) | |
| tree | 9edc759690defa581b00b6ada80bb334f4ac5da8 /src/fl_scroll_area.cxx | |
| parent | 6ce27012a9412c4964e0ae40c81ea92ff39a61d3 (diff) | |
Remove all uses of the fl_gc global variable. Towards a clean driver model.
fl_gc remains usable by the application as a hook into the system.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/fl_scroll_area.cxx')
| -rw-r--r-- | src/fl_scroll_area.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/fl_scroll_area.cxx b/src/fl_scroll_area.cxx index 4637dc561..e79d1453c 100644 --- a/src/fl_scroll_area.cxx +++ b/src/fl_scroll_area.cxx @@ -3,7 +3,7 @@ // // Scrolling routines for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2010 by Bill Spitzak and others. +// Copyright 1998-2016 by Bill Spitzak and others. // // This library is free software. Distribution and use rights are outlined in // the file "COPYING" which should have been included with this file. If this @@ -79,7 +79,7 @@ void fl_scroll(int X, int Y, int W, int H, int dx, int dy, } #if defined(USE_X11) - XCopyArea(fl_display, fl_window, fl_window, fl_gc, + XCopyArea(fl_display, fl_window, fl_window, (GC)fl_graphics_driver->get_gc(), src_x, src_y, src_w, src_h, dest_x, dest_y); // we have to sync the display and get the GraphicsExpose events! (sigh) for (;;) { @@ -117,14 +117,15 @@ void fl_scroll(int X, int Y, int W, int H, int dx, int dy, // multi-screen solutions, it will not solve issues scrolling // from a different resolution screen onto another. // Note 3: this has been tested with image maps, too. + HDC gc = (HDC)fl_graphics_driver->get_gc(); if (fl_GetRandomRgn) { // get the DC region minus all overlapping windows HRGN sys_rgn = CreateRectRgn(0, 0, 0, 0); - fl_GetRandomRgn(fl_gc, sys_rgn, 4); + fl_GetRandomRgn(gc, sys_rgn, 4); // now get the source scrolling rectangle HRGN src_rgn = CreateRectRgn(src_x, src_y, src_x+src_w, src_y+src_h); POINT offset = { 0, 0 }; - if (GetDCOrgEx(fl_gc, &offset)) { + if (GetDCOrgEx(gc, &offset)) { OffsetRgn(src_rgn, offset.x, offset.y); } // see if all source pixels are available in the system region @@ -142,7 +143,7 @@ void fl_scroll(int X, int Y, int W, int H, int dx, int dy, } // Great, we can do an accelerated scroll instead of re-rendering - BitBlt(fl_gc, dest_x, dest_y, src_w, src_h, fl_gc, src_x, src_y,SRCCOPY); + BitBlt(gc, dest_x, dest_y, src_w, src_h, gc, src_x, src_y,SRCCOPY); #elif defined(__APPLE_QUARTZ__) // PORTME: Fl_Graphics_Driver - platform scrolling CGImageRef img = Fl_X::CGImage_from_window_rect(Fl_Window::current(), src_x, src_y, src_w, src_h); |
