tweak canvas on_expose_event() handler to avoid unnecessary save/paint/restore
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 11 Nov 2014 01:34:20 +0000 (20:34 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 11 Nov 2014 01:34:20 +0000 (20:34 -0500)
libs/canvas/canvas.cc

index f59640618cd39bb2a35cb4da304511cbf9c649c4..aebc601620f30c6ac503a132d1c7316fba105972 100644 (file)
@@ -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 */