summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-06-19 12:35:53 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2011-06-19 12:35:53 +0000
commitc35fb5074464280ecb579cadeee3418ac1bd866a (patch)
tree4847627966ffad5f61d1639aff8bb04854ff65b4 /src
parentMerge from trunk (diff)
downloadinkscape-c35fb5074464280ecb579cadeee3418ac1bd866a.tar.gz
inkscape-c35fb5074464280ecb579cadeee3418ac1bd866a.zip
Fix outline view
(bzr r9508.1.90)
Diffstat (limited to 'src')
-rw-r--r--src/display/nr-arena-image.cpp13
-rw-r--r--src/display/nr-arena-shape.cpp4
2 files changed, 8 insertions, 9 deletions
diff --git a/src/display/nr-arena-image.cpp b/src/display/nr-arena-image.cpp
index 321d72ec1..cb1bc5849 100644
--- a/src/display/nr-arena-image.cpp
+++ b/src/display/nr-arena-image.cpp
@@ -176,27 +176,21 @@ nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock
cairo_restore(ct);
} else { // outline; draw a rect instead
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ guint32 rgba = prefs->getInt("/options/wireframecolors/images", 0xff0000ff);
cairo_save(ct);
- cairo_translate(ct, -area->x0, -area->y0);
ink_cairo_transform(ct, image->ctm);
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- guint32 rgba = prefs->getInt("/options/wireframecolors/images", 0xff0000ff);
- ink_cairo_set_source_rgba32(ct, rgba);
-
- cairo_set_line_width(ct, 0.5);
cairo_new_path(ct);
Geom::Rect r = nr_arena_image_rect (image);
-
Geom::Point c00 = r.corner(0);
Geom::Point c01 = r.corner(3);
Geom::Point c11 = r.corner(2);
Geom::Point c10 = r.corner(1);
cairo_move_to (ct, c00[Geom::X], c00[Geom::Y]);
-
// the box
cairo_line_to (ct, c10[Geom::X], c10[Geom::Y]);
cairo_line_to (ct, c11[Geom::X], c11[Geom::Y]);
@@ -206,7 +200,10 @@ nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock
cairo_line_to (ct, c11[Geom::X], c11[Geom::Y]);
cairo_move_to (ct, c10[Geom::X], c10[Geom::Y]);
cairo_line_to (ct, c01[Geom::X], c01[Geom::Y]);
+ cairo_restore(ct);
+ cairo_set_line_width(ct, 0.5);
+ ink_cairo_set_source_rgba32(ct, rgba);
cairo_stroke(ct);
}
return item->state;
diff --git a/src/display/nr-arena-shape.cpp b/src/display/nr-arena-shape.cpp
index 9055045f4..f278413b2 100644
--- a/src/display/nr-arena-shape.cpp
+++ b/src/display/nr-arena-shape.cpp
@@ -317,13 +317,15 @@ cairo_arena_shape_render_outline(cairo_t *ct, NRArenaItem *item, Geom::OptRect /
guint32 rgba = NR_ARENA_ITEM(shape)->arena->outlinecolor;
cairo_save(ct);
- ink_cairo_set_source_rgba32(ct, rgba);
ink_cairo_transform(ct, shape->ctm);
feed_pathvector_to_cairo (ct, shape->curve->get_pathvector());
cairo_restore(ct);
+ cairo_save(ct);
+ ink_cairo_set_source_rgba32(ct, rgba);
cairo_set_line_width(ct, 0.5);
cairo_set_tolerance(ct, 1.25); // low quality, but good enough for outline mode
cairo_stroke(ct);
+ cairo_restore(ct);
return item->state;
}