X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flive_effects%2Flpe-pathalongpath.h;h=f1578d5bfdb0666803a04af2a9e975efbeb1a2d4;hb=00b090b634756cdf4b9c01dfffc76c2e2ed0ae0d;hp=b556efd88fd30f612d33ca351b40f0de4aa144b6;hpb=182486105ac34c36a2c74e775bcb44d5cbbaffac;p=inkscape.git diff --git a/src/live_effects/lpe-pathalongpath.h b/src/live_effects/lpe-pathalongpath.h index b556efd88..f1578d5bf 100644 --- a/src/live_effects/lpe-pathalongpath.h +++ b/src/live_effects/lpe-pathalongpath.h @@ -4,7 +4,8 @@ /* * Inkscape::LPEPathAlongPath * -* Copyright (C) Johan Engelen 2007 + * Copyright (C) Johan Engelen 2007 + * Copyright (C) Steren Giannini 2008 * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -14,35 +15,40 @@ #include "live_effects/parameter/enum.h" #include "live_effects/parameter/bool.h" +#include <2geom/sbasis.h> +#include <2geom/sbasis-geometric.h> +#include <2geom/bezier-to-sbasis.h> +#include <2geom/sbasis-to-bezier.h> +#include <2geom/d2.h> +#include <2geom/piecewise.h> + +#include "live_effects/lpegroupbbox.h" + namespace Inkscape { namespace LivePathEffect { -enum PAPCopyType { - PAPCT_SINGLE = 0, - PAPCT_SINGLE_STRETCHED, - PAPCT_REPEATED, - PAPCT_REPEATED_STRETCHED, - PAPCT_END // This must be last -}; - -class LPEPathAlongPath : public Effect { +//for Bend path on group : we need information concerning the group Bounding box +class LPEPathAlongPath : public Effect, LivePathEffect_group_bbox { public: LPEPathAlongPath(LivePathEffectObject *lpeobject); virtual ~LPEPathAlongPath(); + virtual void doBeforeEffect (SPLPEItem *lpeitem); + virtual Geom::Piecewise > doEffect_pwd2 (Geom::Piecewise > & pwd2_in); virtual void resetDefaults(SPItem * item); + virtual void transform_multiply(Geom::Matrix const& postmul, bool set); + private: PathParam bend_path; - //PathParam width_path; - //ScalarParam width_path_range; - EnumParam copytype; ScalarParam prop_scale; BoolParam scale_y_rel; BoolParam vertical_pattern; + bool groupSpecialBehavior; + void on_pattern_pasted(); LPEPathAlongPath(const LPEPathAlongPath&);