Code

remove g++ 4.1.1 compiler errors
[inkscape.git] / src / style.h
index 1233b795866c8d8c462a3ae768485fb4914aac5a..5c956302bbfacc81fe3d4eb42c5dc01da55753ba 100644 (file)
@@ -16,6 +16,9 @@
 #include "color.h"
 #include "forward.h"
 #include "sp-marker-loc.h"
+#include "sp-filter.h"
+
+#include <sigc++/connection.h>
 
 namespace Inkscape {
 namespace XML {
@@ -148,6 +151,8 @@ enum {
     SP_PAINT_TYPE_IMPOSSIBLE
 };
 
+class SVGICCColor;
+
 /// Paint type internal to SPStyle.
 struct SPIPaint {
     unsigned set : 1;
@@ -161,6 +166,15 @@ struct SPIPaint {
             gchar *uri;
         } paint;
     } value;
+    SVGICCColor *iccColor;
+};
+
+/// Filter type internal to SPStyle
+struct SPIFilter {
+    unsigned set : 1;
+    unsigned inherit : 1;
+    SPFilter *filter;
+    gchar *uri;
 };
 
 enum {
@@ -319,8 +333,34 @@ struct SPStyle {
     /** Marker list */
     SPIString marker[SP_MARKER_LOC_QTY];
 
+    /** Filter effect */
+    SPIFilter filter;
+
+   /** normally not used, but duplicates the Gaussian blur deviation (if any) from the attached
+        filter when the style is used for querying */
+    SPILength filter_gaussianBlur_deviation;
+
+    /** enable-background, used for defining where filter effects get
+     * their background image */
+    SPIEnum enable_background;
+
     /// style belongs to a cloned object, must not href anything
     bool cloned; 
+    /// style has hreffed its fill/stroke paintservers, needs to release.
+    bool fill_hreffed; 
+    bool stroke_hreffed; 
+    bool filter_hreffed; 
+
+    sigc::connection release_connection;
+
+    sigc::connection fill_release_connection;
+    sigc::connection fill_modified_connection;
+
+    sigc::connection stroke_release_connection;
+    sigc::connection stroke_modified_connection;
+
+    sigc::connection filter_release_connection;
+    sigc::connection filter_modified_connection;
 };
 
 SPStyle *sp_style_new();
@@ -475,6 +515,11 @@ enum SPCSSDisplay {
     SP_CSS_DISPLAY_TABLE_CAPTION
 };
 
+enum SPEnableBackground {
+    SP_CSS_BACKGROUND_ACCUMULATE,
+    SP_CSS_BACKGROUND_NEW
+};
+
 /// An SPTextStyle has a refcount, a font family, and a font name.
 struct SPTextStyle {
     int refcount;
@@ -494,6 +539,8 @@ SPCSSAttr *sp_css_attr_scale(SPCSSAttr *css, double ex);
 
 void sp_style_unset_property_attrs(SPObject *o);
 
+void sp_style_set_property_url (SPObject *item, gchar const *property, SPObject *linked, bool recursive);
+
 #endif