From 578da50c794702991970f287699914596b5358ef Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Mon, 11 Dec 2017 15:41:46 +0100 Subject: Fix rendering of controls that don't invert color. --- src/display/sodipodi-ctrl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/display/sodipodi-ctrl.cpp') diff --git a/src/display/sodipodi-ctrl.cpp b/src/display/sodipodi-ctrl.cpp index 0c346eccf..04ec947f6 100644 --- a/src/display/sodipodi-ctrl.cpp +++ b/src/display/sodipodi-ctrl.cpp @@ -606,7 +606,7 @@ sp_ctrl_render (SPCanvasItem *item, SPCanvasBuf *buf) cairo_set_source_surface(cr, cairo_get_target(buf->ct), buf->rect.left(), buf->rect.top()); cairo_paint(cr); cairo_destroy(cr); - cairo_surface_write_to_png( work, "ctrl0.png" ); + // cairo_surface_write_to_png( work, "ctrl0.png" ); // 2. Composite the control on a temporary surface cairo_surface_flush(work); @@ -632,7 +632,7 @@ sp_ctrl_render (SPCanvasItem *item, SPCanvasBuf *buf) } } cairo_surface_mark_dirty(work); - cairo_surface_write_to_png( work, "ctrl1.png" ); + // cairo_surface_write_to_png( work, "ctrl1.png" ); // 3. Replace the affected part of output with contents of temporary surface cairo_save(buf->ct); @@ -647,6 +647,7 @@ sp_ctrl_render (SPCanvasItem *item, SPCanvasBuf *buf) } else { cairo_surface_t *cache = cairo_image_surface_create_for_data( reinterpret_cast(ctrl->cache), CAIRO_FORMAT_ARGB32, w, h, w*4); + cairo_surface_set_device_scale(cache, buf->device_scale, buf->device_scale); cairo_set_source_surface(buf->ct, cache, ctrl->box.left() - buf->rect.left(), ctrl->box.top() - buf->rect.top()); cairo_paint(buf->ct); -- cgit v1.2.3