summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorroot <root@jtx.marker.es>2013-04-14 21:08:45 +0000
committerroot <root@jtx.marker.es>2013-04-14 21:08:45 +0000
commit224bac8cddd8960f65cf08202c4f40e74c8fc1ae (patch)
tree3c841d0754517a3de6829702b581bd90f31919ba /src
parenthalo (diff)
downloadinkscape-224bac8cddd8960f65cf08202c4f40e74c8fc1ae.tar.gz
inkscape-224bac8cddd8960f65cf08202c4f40e74c8fc1ae.zip
Go back
(bzr r11950.1.93)
Diffstat (limited to 'src')
-rw-r--r--src/display/canvas-bpath.cpp38
-rw-r--r--src/draw-context.cpp14
-rw-r--r--src/draw-context.h3
-rw-r--r--src/pen-context.cpp17
4 files changed, 10 insertions, 62 deletions
diff --git a/src/display/canvas-bpath.cpp b/src/display/canvas-bpath.cpp
index defd95b45..8faf8947f 100644
--- a/src/display/canvas-bpath.cpp
+++ b/src/display/canvas-bpath.cpp
@@ -147,6 +147,9 @@ sp_canvas_bpath_render (SPCanvasItem *item, SPCanvasBuf *buf)
cairo_set_tolerance(buf->ct, 0.5);
cairo_new_path(buf->ct);
+
+ feed_pathvector_to_cairo (buf->ct, cbp->curve->get_pathvector(), cbp->affine, area,
+ /* optimized_stroke = */ !dofill, 1);
if (dofill) {
// RGB / BGR
ink_cairo_set_source_rgba32(buf->ct, cbp->fill_rgba);
@@ -156,37 +159,12 @@ sp_canvas_bpath_render (SPCanvasItem *item, SPCanvasBuf *buf)
}
if (dostroke) {
- SPCurve* orig = new SPCurve(cbp->curve->get_pathvector());
- Geom::Point origPoint(orig->first_path()->initialPoint());
- if(cbp->stroke_rgba == 0x12345678){
- cairo_save(buf->ct);
- orig->moveto(origPoint[Geom::X]+1,origPoint[Geom::Y]+1);
- feed_pathvector_to_cairo (buf->ct, cbp->curve->get_pathvector(), cbp->affine, area,
- /* optimized_stroke = */ !dofill, 1);
- ink_cairo_set_source_rgba32(buf->ct, 0x00000020);
- cairo_set_line_width(buf->ct, 1);
- cairo_move_to(buf->ct, origPoint[Geom::X] + 1, origPoint[Geom::Y] + 1);
- cairo_stroke_preserve(buf->ct);
- cairo_restore(buf->ct);
- cairo_save(buf->ct);
- feed_pathvector_to_cairo (buf->ct, cbp->curve->get_pathvector(), cbp->affine, area,
- /* optimized_stroke = */ !dofill, 1);
- ink_cairo_set_source_rgba32(buf->ct, 0xffffff20);
- cairo_set_line_width(buf->ct, 1);
- cairo_move_to(buf->ct, origPoint[Geom::X] - 1, origPoint[Geom::Y] - 1);
- cairo_stroke_preserve(buf->ct);
- cairo_restore(buf->ct);
- }else{
- feed_pathvector_to_cairo (buf->ct, cbp->curve->get_pathvector(), cbp->affine, area,
- /* optimized_stroke = */ !dofill, 1);
- ink_cairo_set_source_rgba32(buf->ct, cbp->stroke_rgba);
- cairo_set_line_width(buf->ct, 1);
- cairo_move_to(buf->ct, origPoint[Geom::X], origPoint[Geom::Y]);
- if (cbp->dashes[0] != 0 && cbp->dashes[1] != 0) {
- cairo_set_dash (buf->ct, cbp->dashes, 2, 0);
- }
- cairo_stroke(buf->ct);
+ ink_cairo_set_source_rgba32(buf->ct, cbp->stroke_rgba);
+ cairo_set_line_width(buf->ct, 1);
+ if (cbp->dashes[0] != 0 && cbp->dashes[1] != 0) {
+ cairo_set_dash (buf->ct, cbp->dashes, 2, 0);
}
+ cairo_stroke(buf->ct);
} else {
cairo_new_path(buf->ct);
}
diff --git a/src/draw-context.cpp b/src/draw-context.cpp
index 459137cc0..69e394aaa 100644
--- a/src/draw-context.cpp
+++ b/src/draw-context.cpp
@@ -99,7 +99,6 @@ static void sp_draw_context_init(SPDrawContext *dc)
dc->red_color = 0xff00007f;
dc->blue_color = 0x0000ff7f;
dc->green_color = 0x00ff007f;
- dc->halo_color = 0x12345678;
dc->red_curve_is_valid = false;
dc->red_bpath = NULL;
@@ -108,8 +107,6 @@ static void sp_draw_context_init(SPDrawContext *dc)
dc->blue_bpath = NULL;
dc->blue_curve = NULL;
- dc->halo_bpath = NULL;
-
dc->green_bpaths = NULL;
dc->green_curve = NULL;
dc->green_anchor = NULL;
@@ -179,10 +176,6 @@ static void sp_draw_context_setup(SPEventContext *ec)
dc->blue_bpath = sp_canvas_bpath_new(sp_desktop_sketch(ec->desktop), NULL);
sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(dc->blue_bpath), dc->blue_color, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT);
- // Create halo bpath
- dc->halo_bpath = sp_canvas_bpath_new(sp_desktop_sketch(ec->desktop), NULL);
- sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(dc->halo_bpath), dc->halo_color, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT);
-
// Create blue curve
dc->blue_curve = new SPCurve();
@@ -539,7 +532,6 @@ void spdc_concat_colors_and_flush(SPDrawContext *dc, gboolean forceclosed)
dc->red_curve->reset();
sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(dc->red_bpath), NULL);
- sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(dc->halo_bpath), NULL);
if (c->is_empty()) {
c->unref();
@@ -761,12 +753,6 @@ static void spdc_free_colors(SPDrawContext *dc)
dc->blue_curve = dc->blue_curve->unref();
}
- // Halo
- if (dc->halo_bpath) {
- sp_canvas_item_destroy(SP_CANVAS_ITEM(dc->halo_bpath));
- dc->halo_bpath = NULL;
- }
-
// Green
while (dc->green_bpaths) {
sp_canvas_item_destroy(SP_CANVAS_ITEM(dc->green_bpaths->data));
diff --git a/src/draw-context.h b/src/draw-context.h
index 1b4d04773..f930fa858 100644
--- a/src/draw-context.h
+++ b/src/draw-context.h
@@ -44,7 +44,6 @@ struct SPDrawContext : public SPEventContext{
guint32 red_color;
guint32 blue_color;
guint32 green_color;
- guint32 halo_color;
// Red
SPCanvasItem *red_bpath;
@@ -54,8 +53,6 @@ struct SPDrawContext : public SPEventContext{
SPCanvasItem *blue_bpath;
SPCurve *blue_curve;
- // Halo
- SPCanvasItem *halo_bpath;
// Green
GSList *green_bpaths;
diff --git a/src/pen-context.cpp b/src/pen-context.cpp
index 4a1384657..43f2fd76e 100644
--- a/src/pen-context.cpp
+++ b/src/pen-context.cpp
@@ -1401,7 +1401,6 @@ static void spdc_reset_colors(SPPenContext *pc)
pc->blue_curve->reset();
sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(pc->blue_bpath), NULL);
- sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(pc->halo_bpath), NULL);
// Green
while (pc->green_bpaths) {
sp_canvas_item_destroy(SP_CANVAS_ITEM(pc->green_bpaths->data));
@@ -1426,7 +1425,6 @@ static void spdc_pen_set_initial_point(SPPenContext *const pc, Geom::Point const
pc->p[1] = p;
pc->npoints = 2;
sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(pc->red_bpath), NULL);
- sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(pc->halo_bpath), NULL);
pc->desktop->canvas->forceFullRedrawAfterInterruptions(5);
}
@@ -1818,26 +1816,15 @@ static void bspline_spiro_build(SPPenContext *const pc)
//LivePathEffectObject *lpeobj = static_cast<LivePathEffectObject*> (curve);
//Effect *spr = static_cast<Effect*> ( new LPEbspline(lpeobj) );
//spr->doEffect(curve);
- SPCurve *halo = new SPCurve();
if(pc->bspline){
bspline_doEffect(curve);
- halo = curve->copy()->create_reverse();
- if(!pc->green_curve->is_empty())
- halo->append_continuous(pc->green_curve, 0.0625);
- if(!pc->red_curve->is_empty())
- halo->append_continuous(pc->red_curve, 0.0625);
- if(Geom::are_near(halo->first_path()->initialPoint(), halo->last_path()->finalPoint())){
- halo->closepath_current();
- }
}else{
spiro_doEffect(curve);
- halo = curve->copy();
}
- sp_canvas_item_show(pc->blue_bpath);
- sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(pc->halo_bpath), halo);
- sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(pc->halo_bpath), pc->halo_color, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT);
+
sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(pc->blue_bpath), curve);
sp_canvas_bpath_set_stroke(SP_CANVAS_BPATH(pc->blue_bpath), pc->blue_color, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT);
+ sp_canvas_item_show(pc->blue_bpath);
curve->unref();
pc->blue_curve->reset();
//We hide the holders that doesn't contribute anything