summaryrefslogtreecommitdiff
path: root/rsvg-paint-server.h
diff options
context:
space:
mode:
authorCaleb Michael Moore <cmoore@src.gnome.org>2005-05-19 23:05:30 +0000
committerCaleb Michael Moore <cmoore@src.gnome.org>2005-05-19 23:05:30 +0000
commit31c5c2db80df440fb2213ea51e07205aec04e003 (patch)
treed453368e3f9dde0c0c41a2f672c2f62904bade8a /rsvg-paint-server.h
parentc29dd1c3baeb7faa536bde467715dddfc18b5ff0 (diff)
downloadlibrsvg-31c5c2db80df440fb2213ea51e07205aec04e003.tar.gz
pserver domification
Diffstat (limited to 'rsvg-paint-server.h')
-rw-r--r--rsvg-paint-server.h55
1 files changed, 42 insertions, 13 deletions
diff --git a/rsvg-paint-server.h b/rsvg-paint-server.h
index b677bf31..827a7ae5 100644
--- a/rsvg-paint-server.h
+++ b/rsvg-paint-server.h
@@ -60,39 +60,50 @@ struct _RsvgPSCtx {
};
struct _RsvgGradientStop {
+ RsvgNode super;
double offset;
gboolean is_current_color;
guint32 rgba;
};
-struct _RsvgGradientStops {
- int n_stop;
- RsvgGradientStop *stop;
-};
-
struct _RsvgLinearGradient {
RsvgNode super;
gboolean obj_bbox;
double affine[6]; /* user space to actual at time of gradient def */
- RsvgGradientStops *stops;
RsvgGradientSpread spread;
double x1, y1;
double x2, y2;
guint32 current_color;
gboolean has_current_color;
+ int hasx1 : 1;
+ int hasy1 : 1;
+ int hasx2 : 1;
+ int hasy2 : 1;
+ int hastransform : 1;
+ int hasbbox : 1;
+ int hasspread : 1;
+ RsvgNode * fallback;
};
struct _RsvgRadialGradient {
RsvgNode super;
gboolean obj_bbox;
double affine[6]; /* user space to actual at time of gradient def */
- RsvgGradientStops *stops;
RsvgGradientSpread spread;
double cx, cy;
double r;
double fx, fy;
guint32 current_color;
gboolean has_current_color;
+ int hascx : 1;
+ int hascy : 1;
+ int hasfx : 1;
+ int hasfy : 1;
+ int hasr : 1;
+ int hasspread : 1;
+ int hastransform : 1;
+ int hasbbox : 1;
+ RsvgNode * fallback;
};
struct _RsvgPattern {
@@ -103,8 +114,17 @@ struct _RsvgPattern {
double affine[6]; /* user space to actual at time of gradient def */
double x, y, width, height;
double vbx, vby, vbh, vbw;
- RsvgNode * fallback;
unsigned int preserve_aspect_ratio;
+ int hasx : 1;
+ int hasy : 1;
+ int haswidth : 1;
+ int hasheight : 1;
+ int hasvbox : 1;
+ int hasaspect : 1;
+ int hastransform : 1;
+ int hascbox : 1;
+ int hasbbox : 1;
+ RsvgPattern * fallback;
};
struct _RsvgSolidColour {
@@ -153,17 +173,26 @@ rsvg_clone_radial_gradient (const RsvgRadialGradient *grad, gboolean * shallow_c
RsvgLinearGradient *
rsvg_clone_linear_gradient (const RsvgLinearGradient *grad, gboolean * shallow_cloned);
-RsvgPattern *
-rsvg_clone_pattern (const RsvgPattern *pattern);
+RsvgNode *
+rsvg_new_linear_gradient (void);
+
+RsvgNode *
+rsvg_new_radial_gradient (void);
+
+RsvgNode *
+rsvg_new_stop(void);
+
+RsvgNode *
+rsvg_new_pattern (void);
void
-rsvg_start_linear_gradient (RsvgHandle *ctx, RsvgPropertyBag *atts);
+rsvg_pattern_fix_fallback(RsvgPattern * pattern);
void
-rsvg_start_radial_gradient (RsvgHandle *ctx, RsvgPropertyBag *atts, const char * tag);
+rsvg_linear_gradient_fix_fallback(RsvgLinearGradient * grad);
void
-rsvg_start_pattern (RsvgHandle *ctx, RsvgPropertyBag *atts);
+rsvg_radial_gradient_fix_fallback(RsvgRadialGradient * grad);
G_END_DECLS