Code

fix compositing for premultiplication and non-alpha cases
[inkscape.git] / src / live_effects / lpe-skeletalstrokes.h
1 #ifndef INKSCAPE_LPE_SKELETAL_STROKES_H\r
2 #define INKSCAPE_LPE_SKELETAL_STROKES_H\r
3 \r
4 /*\r
5  * Inkscape::LPESkeletalStrokes\r
6  *\r
7 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>\r
8  *\r
9  * Released under GNU GPL, read the file 'COPYING' for more information\r
10  */\r
11 \r
12 #include "live_effects/effect.h"\r
13 #include "live_effects/parameter/path.h"\r
14 #include "live_effects/parameter/enum.h"\r
15 \r
16 namespace Inkscape {\r
17 namespace LivePathEffect {\r
18 \r
19 enum SkelCopyType {\r
20     SSCT_SINGLE = 0,\r
21     SSCT_SINGLE_STRETCHED,\r
22     SSCT_REPEATED,\r
23     SSCT_REPEATED_STRETCHED,\r
24     SSCT_END // This must be last\r
25 };\r
26 \r
27 class LPESkeletalStrokes : public Effect {\r
28 public:\r
29     LPESkeletalStrokes(LivePathEffectObject *lpeobject);\r
30     ~LPESkeletalStrokes();\r
31 \r
32     Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect (Geom::Piecewise<Geom::D2<Geom::SBasis> > & pwd2_in);\r
33 \r
34 private:\r
35     PathParam  pattern;\r
36     EnumParam<SkelCopyType> copytype;\r
37 \r
38     void on_pattern_pasted();\r
39 \r
40     LPESkeletalStrokes(const LPESkeletalStrokes&);\r
41     LPESkeletalStrokes& operator=(const LPESkeletalStrokes&);\r
42 };\r
43 \r
44 }; //namespace LivePathEffect\r
45 }; //namespace Inkscape\r
46 \r
47 #endif\r