summaryrefslogtreecommitdiff
path: root/rsvg-styles.h
diff options
context:
space:
mode:
authorDom Lachowicz <doml@src.gnome.org>2004-03-18 02:25:24 +0000
committerDom Lachowicz <doml@src.gnome.org>2004-03-18 02:25:24 +0000
commit073cf52b0fa73db4e8165daf1048e9028fd003c7 (patch)
tree2e014bc68b902a79325cff4ec8fb760269dbda74 /rsvg-styles.h
parentc8cbc856d5436bb88d49f1d0842f19c740273b74 (diff)
downloadlibrsvg-073cf52b0fa73db4e8165daf1048e9028fd003c7.tar.gz
re-merge the RSVG-filters branch back into HEAD
Diffstat (limited to 'rsvg-styles.h')
-rw-r--r--rsvg-styles.h49
1 files changed, 41 insertions, 8 deletions
diff --git a/rsvg-styles.h b/rsvg-styles.h
index 6c4755ab..03a0666e 100644
--- a/rsvg-styles.h
+++ b/rsvg-styles.h
@@ -56,52 +56,83 @@ enum {
FILL_RULE_NONZERO = 1
};
-typedef struct {
+struct _RsvgState {
double affine[6];
+ double personal_affine[6];
gint opacity; /* 0..255 */
RsvgPaintServer *fill;
+ gboolean has_fill_server;
gint fill_opacity; /* 0..255 */
-
+ gboolean has_fill_opacity;
gint fill_rule;
+ gboolean has_fill_rule;
+
+ RsvgFilter *filter;
+ void *mask;
+ gboolean backgroundnew;
RsvgPaintServer *stroke;
+ gboolean has_stroke_server;
gint stroke_opacity; /* 0..255 */
+ gboolean has_stroke_opacity;
double stroke_width;
+ gboolean has_stroke_width;
double miter_limit;
+ gboolean has_miter_limit;
ArtPathStrokeCapType cap;
+ gboolean has_cap;
ArtPathStrokeJoinType join;
+ gboolean has_join;
double font_size;
+ gboolean has_font_size;
char * font_family;
+ gboolean has_font_family;
char * lang;
+ gboolean has_lang;
PangoStyle font_style;
+ gboolean has_font_style;
PangoVariant font_variant;
+ gboolean has_font_variant;
PangoWeight font_weight;
+ gboolean has_font_weight;
PangoStretch font_stretch;
+ gboolean has_font_stretch;
TextDecoration font_decor;
+ gboolean has_font_decor;
PangoDirection text_dir;
- TextAnchor text_anchor;
+ gboolean has_text_dir;
+ TextAnchor text_anchor;
+ gboolean has_text_anchor;
guint text_offset;
guint32 stop_color; /* rgb */
+ gboolean has_stop_color;
gint stop_opacity; /* 0..255 */
+ gboolean has_stop_opacity;
gboolean visible;
+ gboolean has_visible;
ArtVpathDash dash;
+ gboolean has_dash;
GdkPixbuf *save_pixbuf;
-} RsvgState;
+};
void rsvg_state_init (RsvgState *state);
void rsvg_state_clone (RsvgState *dst, const RsvgState *src);
+void rsvg_state_inherit (RsvgState *dst, const RsvgState *src);
+void rsvg_state_reinherit (RsvgState *dst, const RsvgState *src);
+void rsvg_state_dominate (RsvgState *dst, const RsvgState *src);
void rsvg_state_finalize (RsvgState *state);
-gboolean rsvg_is_style_arg(const char *str);
+void rsvg_parse_style_pairs (RsvgHandle *ctx, RsvgState *state,
+ RsvgPropertyBag *atts);
void rsvg_parse_style_pair (RsvgHandle *ctx, RsvgState *state,
const char *key, const char *val);
void rsvg_parse_style (RsvgHandle *ctx, RsvgState *state, const char *str);
@@ -109,14 +140,16 @@ void rsvg_parse_cssbuffer (RsvgHandle *ctx, const char * buff, size_t buflen);
void rsvg_parse_style_attrs (RsvgHandle *ctx, RsvgState *state, const char * tag,
const char * klazz, const char * id,
- const xmlChar **atts);
+ RsvgPropertyBag *atts);
gdouble rsvg_viewport_percentage (gdouble width, gdouble height);
-void rsvg_pop_opacity_group (RsvgHandle *ctx, int opacity);
-void rsvg_push_opacity_group (RsvgHandle *ctx);
+void
+rsvg_pop_discrete_layer(RsvgHandle *ctx);
+void rsvg_push_discrete_layer (RsvgHandle *ctx);
gboolean rsvg_parse_transform (double dst[6], const char *src);
RsvgState * rsvg_state_current (RsvgHandle *ctx);
+double rsvg_state_current_font_size (RsvgHandle *ctx);
G_END_DECLS