summaryrefslogtreecommitdiffstats
path: root/src/style-internal.h
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2018-11-08 14:56:09 +0000
committerTavmjong Bah <tavmjong@free.fr>2018-11-08 14:56:09 +0000
commit517288aebef7426ab1a70065746d0a81d545568d (patch)
tree2a35356ce5c50d302e69de010a7047af78503013 /src/style-internal.h
parentfix bug 1793940 ODG image export (diff)
downloadinkscape-517288aebef7426ab1a70065746d0a81d545568d.tar.gz
inkscape-517288aebef7426ab1a70065746d0a81d545568d.zip
Implement the remaining vector effects properties.
Diffstat (limited to 'src/style-internal.h')
-rw-r--r--src/style-internal.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/style-internal.h b/src/style-internal.h
index 16877f9a5..e3b3fcada 100644
--- a/src/style-internal.h
+++ b/src/style-internal.h
@@ -1299,6 +1299,49 @@ struct SPITextDecorationData {
float line_through_position;
};
+/// Vector Effects. THIS SHOULD BE A GENERIC CLASS
+class SPIVectorEffect : public SPIBase
+{
+
+public:
+ SPIVectorEffect()
+ : SPIBase( "vector-effect" ) {
+ this->clear();
+ inherits = false;
+ }
+
+ ~SPIVectorEffect() override
+ = default;
+
+ void read( gchar const *str ) override;
+ const Glib::ustring get_value() const override;
+ void clear() override {
+ SPIBase::clear();
+ stroke = false;
+ size = false;
+ rotate = false;
+ fixed = false;
+ }
+
+ // Does not inherit
+ void cascade( const SPIBase* const parent ) override {};
+ void merge( const SPIBase* const parent ) override {};
+
+ SPIVectorEffect& operator=(const SPIVectorEffect& rhs) = default;
+
+ bool operator==(const SPIBase& rhs) override;
+ bool operator!=(const SPIBase& rhs) override {
+ return !(*this == rhs);
+ }
+
+ // To do: make private
+public:
+ bool stroke : 1;
+ bool size : 1;
+ bool rotate : 1;
+ bool fixed : 1;
+};
+
#endif // SEEN_SP_STYLE_INTERNAL_H