diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-10-07 02:14:39 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-10-07 16:03:16 +0000 |
| commit | 4ee9f4f89f971a32d9bff14a17fe31f95aa1c7a9 (patch) | |
| tree | b22ec45059d77225f5439a15580c21bfa62b8cb7 /src/display | |
| parent | Fix issue 931 and also improve a lor rendering on canvas on multiselection, m... (diff) | |
| download | inkscape-4ee9f4f89f971a32d9bff14a17fe31f95aa1c7a9.tar.gz inkscape-4ee9f4f89f971a32d9bff14a17fe31f95aa1c7a9.zip | |
Add improvements to rendering
Diffstat (limited to 'src/display')
| -rw-r--r-- | src/display/sp-canvas.cpp | 12 |
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); |
