From 55d43e4e27e0ba58a47fad70957dfa989aa173ad Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Tue, 14 Aug 2007 20:54:48 +0000 Subject: Commit LivePathEffect branch to trunk! (disabled extension/internal/bitmap/*.* in build.xml to fix compilation) (bzr r3472) --- src/live_effects/lpe-test-doEffect-stack.cpp | 96 ++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/live_effects/lpe-test-doEffect-stack.cpp (limited to 'src/live_effects/lpe-test-doEffect-stack.cpp') diff --git a/src/live_effects/lpe-test-doEffect-stack.cpp b/src/live_effects/lpe-test-doEffect-stack.cpp new file mode 100644 index 000000000..2e3d12725 --- /dev/null +++ b/src/live_effects/lpe-test-doEffect-stack.cpp @@ -0,0 +1,96 @@ +#define INKSCAPE_LPE_DOEFFECT_STACK_CPP + +/* + * Copyright (C) Johan Engelen 2007 + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "live_effects/lpe-test-doEffect-stack.h" + +#include <2geom/piecewise.h> +#include +#include + +namespace Inkscape { +namespace LivePathEffect { + + +LPEdoEffectStackTest::LPEdoEffectStackTest(LivePathEffectObject *lpeobject) : + Effect(lpeobject), + step(_("Stack step"), _(""), "step", &wr, this) +{ + registerParameter( dynamic_cast(&step) ); +} + +LPEdoEffectStackTest::~LPEdoEffectStackTest() +{ + +} + +void +LPEdoEffectStackTest::doEffect (SPCurve * curve) +{ + if (step >= 1) { + Effect::doEffect(curve); + } else { + // return here + return; + } +} + +NArtBpath * +LPEdoEffectStackTest::doEffect (NArtBpath * path_in) +{ + if (step >= 2) { + return Effect::doEffect(path_in); + } else { + // return here + NArtBpath *path_out; + + unsigned ret = 0; + while ( path_in[ret].code != NR_END ) { + ++ret; + } + unsigned len = ++ret; + + path_out = g_new(NArtBpath, len); + memcpy(path_out, path_in, len * sizeof(NArtBpath)); + return path_out; + } +} + +std::vector +LPEdoEffectStackTest::doEffect (std::vector & path_in) +{ + if (step >= 3) { + return Effect::doEffect(path_in); + } else { + // return here + std::vector path_out = path_in; + return path_out; + } +} + +Geom::Piecewise > +LPEdoEffectStackTest::doEffect (Geom::Piecewise > & pwd2_in) +{ + Geom::Piecewise > output = pwd2_in; + + return output; +} + + +}; // namespace LivePathEffect +}; /* namespace Inkscape */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : -- cgit v1.2.3