diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-11-10 20:34:20 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-11-10 20:34:20 -0500 |
commit | 12b715e6fa0b99f755ced1139532218d98b01e37 (patch) | |
tree | a2de6b65b85a5461566040e943756aa29708d285 /libs/canvas | |
parent | fdcb7923582e43f69419023db7985823b2ac1402 (diff) |
tweak canvas on_expose_event() handler to avoid unnecessary save/paint/restore
Diffstat (limited to 'libs/canvas')
-rw-r--r-- | libs/canvas/canvas.cc | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index f59640618c..aebc601620 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -766,14 +766,10 @@ GtkCanvas::on_expose_event (GdkEventExpose* ev) /* draw background color */ - draw_context->save (); draw_context->rectangle (ev->area.x, ev->area.y, ev->area.width, ev->area.height); - draw_context->clip (); - draw_context->set_operator (Cairo::OPERATOR_SOURCE); + draw_context->clip_preserve (); set_source_rgba (draw_context, _bg_color); - draw_context->rectangle (ev->area.x, ev->area.y, ev->area.width, ev->area.height); draw_context->fill (); - draw_context->restore (); /* render canvas */ |