summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-11-07 16:50:21 +0100
committerRobin Gareus <robin@gareus.org>2014-11-07 16:50:21 +0100
commit0fedfab593a8d5e3daa86ad30769bf7433621272 (patch)
treebd1d8e910022bf465c88467d1fee8011a09aa6b6 /libs
parent159cb4d2f916401329593cf7aaec1e6fc68d91ac (diff)
tentative fix for canvas background/image surface
Diffstat (limited to 'libs')
-rw-r--r--libs/canvas/canvas.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc
index 9d1d9f3ad9..85c87a39f0 100644
--- a/libs/canvas/canvas.cc
+++ b/libs/canvas/canvas.cc
@@ -748,13 +748,18 @@ GtkCanvas::on_expose_event (GdkEventExpose* ev)
/* scope for image_context */
Cairo::RefPtr<Cairo::Context> image_context = Cairo::Context::create (canvas_image);
- /* clear expose area to transparent */
+ /* clear expose area */
image_context->save ();
image_context->rectangle (ev->area.x, ev->area.y, ev->area.width, ev->area.height);
image_context->clip ();
- image_context->set_operator (Cairo::OPERATOR_CLEAR);
- image_context->paint ();
+ image_context->set_operator (Cairo::OPERATOR_SOURCE);
+ // TODO get canvas backround see CairoWidget::get_parent_bg
+ // also subscribe to parent's signal_style_changed()
+ // ..until new canvas color-theme API is in place, hardcode some values.
+ image_context->set_source_rgba (84./255., 85./255., 93./255., 1.0);
+ image_context->rectangle (ev->area.x, ev->area.y, ev->area.width, ev->area.height);
+ image_context->fill ();
image_context->restore ();
/* render into image surface */