| GooCanvas Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
Synopsis
GooCanvasStyle; GooCanvasStyleProperty; GooCanvasStyle* goo_canvas_style_new (void); GooCanvasStyle* goo_canvas_style_copy (GooCanvasStyle *style); GooCanvasStyle* goo_canvas_style_get_parent (GooCanvasStyle *style); void goo_canvas_style_set_parent (GooCanvasStyle *style,GooCanvasStyle *parent); GValue* goo_canvas_style_get_property (GooCanvasStyle *style,GQuark property_id); void goo_canvas_style_set_property (GooCanvasStyle *style,GQuark property_id,const GValue *value); gboolean goo_canvas_style_set_fill_options (GooCanvasStyle *style,cairo_t *cr); gboolean goo_canvas_style_set_stroke_options (GooCanvasStyle *style,cairo_t *cr); extern GQuark goo_canvas_style_antialias_id; extern GQuark goo_canvas_style_fill_pattern_id; extern GQuark goo_canvas_style_fill_rule_id; extern GQuark goo_canvas_style_font_desc_id; extern GQuark goo_canvas_style_hint_metrics_id; extern GQuark goo_canvas_style_line_cap_id; extern GQuark goo_canvas_style_line_dash_id; extern GQuark goo_canvas_style_line_join_id; extern GQuark goo_canvas_style_line_join_miter_limit_id; extern GQuark goo_canvas_style_line_width_id; extern GQuark goo_canvas_style_operator_id; extern GQuark goo_canvas_style_stroke_pattern_id;
Description
GooCanvasStyle provides support for cascading style properties for canvas items. It is intended to be used when implementing new canvas items.
Note
The cascading styles canvas feature may be removed in a future version of GooCanvas.
Style properties are identified by a unique GQuark, and contain arbitrary data stored in a GValue.
GooCanvasStyle also provides a few convenience functions such as
goo_canvas_style_set_stroke_options() and
goo_canvas_style_set_fill_options() which efficiently apply an item's
standard style properties to the given cairo_t.
Details
GooCanvasStyle
typedef struct {
GooCanvasStyle *parent;
GArray *properties;
} GooCanvasStyle;
GooCanvasStyle holds the style properties of a canvas item, as well as a pointer to the parent style.
GooCanvasStyle * |
the parent style. |
| an array of GooCanvasStyleProperty property settings. |
GooCanvasStyleProperty
typedef struct {
GQuark id;
GValue value;
} GooCanvasStyleProperty;
GooCanvasStyleProperty represents a property setting.
goo_canvas_style_new ()
GooCanvasStyle* goo_canvas_style_new (void);
Creates a new GooCanvasStyle.
Returns : |
a new GooCanvasStyle. |
goo_canvas_style_copy ()
GooCanvasStyle* goo_canvas_style_copy (GooCanvasStyle *style);
Copies the given GooCanvasStyle, by copying all of its properties. Though the parent of the new style is left unset.
|
a GooCanvasStyle. |
Returns : |
a copy of the given GooCanvasStyle. |
goo_canvas_style_get_parent ()
GooCanvasStyle* goo_canvas_style_get_parent (GooCanvasStyle *style);
Gets the parent of the style.
|
a style. |
Returns : |
the parent of the given style, or NULL.
|
goo_canvas_style_set_parent ()
void goo_canvas_style_set_parent (GooCanvasStyle *style,GooCanvasStyle *parent);
Sets the parent of the style.
|
a style. |
|
the new parent. |
goo_canvas_style_get_property ()
GValue* goo_canvas_style_get_property (GooCanvasStyle *style,GQuark property_id);
Gets the value of a property.
This searches though all the GooCanvasStyle's own list of property settings and also all ancestor GooCanvasStyle objects.
Note that it returns a pointer to the internal GValue setting, which should not be changed.
|
a style. |
|
the property identifier. |
Returns : |
the property value, or NULL if it isn't set.
|
goo_canvas_style_set_property ()
void goo_canvas_style_set_property (GooCanvasStyle *style,GQuark property_id,const GValue *value);
Sets a property in the style, replacing any current setting.
Note that this will override the property setting in ancestor GooCanvasStyle objects.
|
a style. |
|
the property identifier. |
|
the value of the property. |
goo_canvas_style_set_fill_options ()
gboolean goo_canvas_style_set_fill_options (GooCanvasStyle *style,cairo_t *cr);
Sets the standard cairo fill options using the given style.
|
a style. |
|
a cairo context. |
Returns : |
TRUE if a paint source is set, or FALSE if the fill should
be skipped.
|
goo_canvas_style_set_stroke_options ()
gboolean goo_canvas_style_set_stroke_options (GooCanvasStyle *style,cairo_t *cr);
Sets the standard cairo stroke options using the given style.
|
a style. |
|
a cairo context. |
Returns : |
TRUE if a paint source is set, or FALSE if the stroke should
be skipped.
|
goo_canvas_style_antialias_id
extern GQuark goo_canvas_style_antialias_id;
Unique GQuark identifier used for the standard antialias property.
goo_canvas_style_fill_pattern_id
extern GQuark goo_canvas_style_fill_pattern_id;
Unique GQuark identifier used for the standard fill pattern property.
goo_canvas_style_fill_rule_id
extern GQuark goo_canvas_style_fill_rule_id;
Unique GQuark identifier used for the standard fill rule property.
goo_canvas_style_font_desc_id
extern GQuark goo_canvas_style_font_desc_id;
Unique GQuark identifier used for the standard font description property.
goo_canvas_style_hint_metrics_id
extern GQuark goo_canvas_style_hint_metrics_id;
Unique GQuark identifier used for the standard hint metrics property.
goo_canvas_style_line_cap_id
extern GQuark goo_canvas_style_line_cap_id;
Unique GQuark identifier used for the standard line cap property.
goo_canvas_style_line_dash_id
extern GQuark goo_canvas_style_line_dash_id;
Unique GQuark identifier used for the standard line dash property.
goo_canvas_style_line_join_id
extern GQuark goo_canvas_style_line_join_id;
Unique GQuark identifier used for the standard line join property.
goo_canvas_style_line_join_miter_limit_id
extern GQuark goo_canvas_style_line_join_miter_limit_id;
Unique GQuark identifier used for the standard miter limit property.
goo_canvas_style_line_width_id
extern GQuark goo_canvas_style_line_width_id;
Unique GQuark identifier used for the standard line width property.
goo_canvas_style_operator_id
extern GQuark goo_canvas_style_operator_id;
Unique GQuark identifier used for the standard operator property.
