diff options
Diffstat (limited to 'dw/fltkviewbase.cc')
-rw-r--r-- | dw/fltkviewbase.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/dw/fltkviewbase.cc b/dw/fltkviewbase.cc index 72983de0..a5cde27f 100644 --- a/dw/fltkviewbase.cc +++ b/dw/fltkviewbase.cc @@ -172,11 +172,19 @@ PORT1.3 exposeArea = NULL; } #endif - core::Rectangle r (rect->x, rect->y, rect->width, rect->height); + int X, Y, W, H; + + fl_clip_box(x () + translateCanvasXToViewX (rect->x), + y () + translateCanvasYToViewY (rect->y), + rect->width, + rect->height, + X, Y, W, H); + fl_color(bgColor); - fl_rectf(x () + translateCanvasXToViewX (rect->x), - y () + translateCanvasYToViewY (rect->y), - rect->width, rect->height); + fl_rectf(X, Y, W, H); + + core::Rectangle r (translateViewXToCanvasX (X - x ()), + translateViewYToCanvasY (Y - y ()), W, H); theLayout->expose (this, &r); } |