summaryrefslogtreecommitdiffstats
path: root/src/display
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2019-10-07 02:14:39 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-10-07 16:03:16 +0000
commit4ee9f4f89f971a32d9bff14a17fe31f95aa1c7a9 (patch)
treeb22ec45059d77225f5439a15580c21bfa62b8cb7 /src/display
parentFix issue 931 and also improve a lor rendering on canvas on multiselection, m... (diff)
downloadinkscape-4ee9f4f89f971a32d9bff14a17fe31f95aa1c7a9.tar.gz
inkscape-4ee9f4f89f971a32d9bff14a17fe31f95aa1c7a9.zip
Add improvements to rendering
Diffstat (limited to 'src/display')
-rw-r--r--src/display/sp-canvas.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp
index f48ffe775..26a966b50 100644
--- a/src/display/sp-canvas.cpp
+++ b/src/display/sp-canvas.cpp
@@ -2425,6 +2425,7 @@ int SPCanvas::paint()
_y0 + int(allocation.height * split_y),
int(allocation.width * (1 - split_x)),
int(allocation.height * (1 - split_y)) };
+ cairo_region_t *draw = nullptr;
cairo_region_t *to_draw = nullptr;
cairo_region_t *to_draw_outline = nullptr;
if (_split_inverse && split) {
@@ -2434,14 +2435,15 @@ int SPCanvas::paint()
to_draw = cairo_region_create_rectangle(&crect);
to_draw_outline = cairo_region_create_rectangle(&crect_outline);
}
- cairo_rectangle_int_t crectbounds;
- cairo_region_get_extents(_clean_region, &crectbounds);
- cairo_region_subtract_rectangle (_clean_region, &crectbounds);
+ cairo_region_get_extents(_clean_region, &crect);
+ draw = cairo_region_create_rectangle(&crect);
+ cairo_region_subtract(draw, _clean_region);
+ cairo_region_get_extents(draw, &crect);
+ cairo_region_subtract_rectangle(_clean_region, &crect);
cairo_region_subtract(to_draw, _clean_region);
cairo_region_subtract(to_draw_outline, _clean_region);
-
+ cairo_region_destroy(draw);
int n_rects = cairo_region_num_rectangles(to_draw);
- std::cout << n_rects << "dggdgsdgsdgsd" << std::endl;
for (int i = 0; i < n_rects; ++i) {
cairo_rectangle_int_t crect;
cairo_region_get_rectangle(to_draw, i, &crect);