summaryrefslogtreecommitdiffstats
path: root/src/sp-linear-gradient.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-linear-gradient.h')
-rw-r--r--src/sp-linear-gradient.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/sp-linear-gradient.h b/src/sp-linear-gradient.h
index b99b6b293..ac3fdb04a 100644
--- a/src/sp-linear-gradient.h
+++ b/src/sp-linear-gradient.h
@@ -7,19 +7,27 @@
#include "sp-gradient.h"
#include "svg/svg-length.h"
-#include "sp-linear-gradient-fns.h"
+
+#define SP_LINEARGRADIENT(obj) (dynamic_cast<SPLinearGradient*>((SPObject*)obj))
+#define SP_IS_LINEARGRADIENT(obj) (dynamic_cast<const SPLinearGradient*>((SPObject*)obj) != NULL)
/** Linear gradient. */
-struct SPLinearGradient : public SPGradient {
+class SPLinearGradient : public SPGradient {
+public:
+ SPLinearGradient();
+ virtual ~SPLinearGradient();
+
SVGLength x1;
SVGLength y1;
SVGLength x2;
SVGLength y2;
-};
-/// The SPLinearGradient vtable.
-struct SPLinearGradientClass {
- SPGradientClass parent_class;
+ virtual cairo_pattern_t* pattern_new(cairo_t *ct, Geom::OptRect const &bbox, double opacity);
+
+protected:
+ virtual void build(SPDocument *document, Inkscape::XML::Node *repr);
+ virtual void set(unsigned key, gchar const *value);
+ virtual Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags);
};
#endif /* !SP_LINEAR_GRADIENT_H */