diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2011-06-19 12:35:53 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2011-06-19 12:35:53 +0000 |
| commit | c35fb5074464280ecb579cadeee3418ac1bd866a (patch) | |
| tree | 4847627966ffad5f61d1639aff8bb04854ff65b4 /src | |
| parent | Merge from trunk (diff) | |
| download | inkscape-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.cpp | 13 | ||||
| -rw-r--r-- | src/display/nr-arena-shape.cpp | 4 |
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; } |
