diff options
author | Dom Lachowicz <doml@src.gnome.org> | 2004-03-18 02:25:24 +0000 |
---|---|---|
committer | Dom Lachowicz <doml@src.gnome.org> | 2004-03-18 02:25:24 +0000 |
commit | 073cf52b0fa73db4e8165daf1048e9028fd003c7 (patch) | |
tree | 2e014bc68b902a79325cff4ec8fb760269dbda74 /rsvg-styles.h | |
parent | c8cbc856d5436bb88d49f1d0842f19c740273b74 (diff) | |
download | librsvg-073cf52b0fa73db4e8165daf1048e9028fd003c7.tar.gz |
re-merge the RSVG-filters branch back into HEAD
Diffstat (limited to 'rsvg-styles.h')
-rw-r--r-- | rsvg-styles.h | 49 |
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 |