From a160af25af3390f03d00a448703f6ecb80455c0d Mon Sep 17 00:00:00 2001 From: buliabyak Date: Sun, 5 Nov 2006 08:06:00 +0000 Subject: [PATCH] add diagonals, fix shape conversion --- src/display/nr-arena-image.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/display/nr-arena-image.cpp b/src/display/nr-arena-image.cpp index cf662b829..c4140481b 100644 --- a/src/display/nr-arena-image.cpp +++ b/src/display/nr-arena-image.cpp @@ -231,26 +231,34 @@ nr_arena_image_render (NRArenaItem *item, NRRectL *area, NRPixBlock *pb, unsigne thePath->Reset (); thePath->MoveTo (image->c00); + // the box thePath->LineTo (image->c10); thePath->LineTo (image->c11); thePath->LineTo (image->c01); thePath->LineTo (image->c00); + // the diagonals + thePath->LineTo (image->c11); + thePath->MoveTo (image->c10); + thePath->LineTo (image->c01); + // livarot black magic - exactly this sequnce of conversions to get stable rendering of the shape thePath->Convert(1.0); - Shape* theShape = new Shape; thePath->Stroke(theShape, true, 0.25, join_pointy, butt_straight, 5); + Shape* theShape1 = new Shape; + theShape1->ConvertToShape(theShape, fill_nonZero); NRPixBlock m; nr_pixblock_setup_fast(&m, NR_PIXBLOCK_MODE_A8, area->x0, area->y0, area->x1, area->y1, TRUE); m.visible_area = pb->visible_area; - nr_pixblock_render_shape_mask_or(m, theShape); + nr_pixblock_render_shape_mask_or(m, theShape1); m.empty = FALSE; guint32 rgba = prefs_get_int_attribute("options.wireframecolors", "images", 0xff0000ff); nr_blit_pixblock_mask_rgba32(pb, &m, rgba); pb->empty = FALSE; nr_pixblock_release(&m); delete theShape; + delete theShape1; delete thePath; } -- 2.30.2