Top |
Functions
void | go_styled_object_apply_theme () |
void | go_styled_object_fill () |
GOStyle * | go_styled_object_get_auto_style () |
GODoc * | go_styled_object_get_document () |
GOStyle * | go_styled_object_get_style () |
gboolean | go_styled_object_set_cairo_line () |
gboolean | go_styled_object_set_style () |
void | go_styled_object_style_changed () |
Known Implementations
GOStyledObject is implemented by GocArc, GocCircle, GocEllipse, GocLine, GocPath, GocPolygon, GocPolyline, GocRectangle, GocStyledItem, GocText, GogAxis, GogAxisBase, GogAxisLine, GogChart, GogColorScale, GogDataLabel, GogGraph, GogGrid, GogGridLine, GogLabel, GogLegend, GogOutlinedObject, GogRegCurve, GogRegEqn, GogSeries, GogSeriesElement, GogSeriesLabels, GogSeriesLines, GogSmoothedCurve, GogStyledObject, GogText and GogTrendLine.
Functions
go_styled_object_apply_theme ()
void go_styled_object_apply_theme (GOStyledObject *gso
,GOStyle *style
);
Apply appropriate theme style
if meaningful, i.e. properties with
auto flag set to TRUE
should be changed to default theme value.
go_styled_object_fill ()
void go_styled_object_fill (GOStyledObject const *so
,cairo_t *cr
,gboolean preserve
);
fills the current path according to the item style and canvas scale.
go_styled_object_get_auto_style ()
GOStyle *
go_styled_object_get_auto_style (GOStyledObject *gso
);
This function returns a new style that is initialized with the auto values for gso
.
Caller is responsible for the result.
go_styled_object_get_document ()
GODoc *
go_styled_object_get_document (GOStyledObject *gso
);
A GODoc is necessary to store images. If no GODoc is associated with the object, image filling will not be supported.
go_styled_object_get_style ()
GOStyle *
go_styled_object_get_style (GOStyledObject *gso
);
Simply an accessor function that returns gso->style
, without referencing it.
go_styled_object_set_cairo_line ()
gboolean go_styled_object_set_cairo_line (GOStyledObject const *so
,cairo_t *cr
);
Prepares the cairo context cr
to draw a line according to the
item style and canvas scale.
go_styled_object_set_style ()
gboolean go_styled_object_set_style (GOStyledObject *gso
,GOStyle *style
);
Sets a new style for gso
, and emits "style-changed" signal. This function
does not take ownership of style
.
The best way to change the style is to set the "style" property.
This function will fail if the new style and the previous style are the same. In that case, the function will always return false:
style = go_styled_object_get_style (gso); style->line.width = 2; size_changed = go_styled_object_set_style (gso, style);
In this sample, the call to go_styled_object_set_style()
is just useless. You
need to check yourself if you really change the size, call
go_styled_object_style_changed()
to trigger the "style-changed" event.
So the following code is much better:
style = go_styled_object_get_style (gso); if (style->line.width != 2.) { style->line.width = 2; go_styled_object_style_changed (gso); size_changed = true; } else size_changed = FALSE;
or even better:
style = go_style_dup (go_styled_object_get_style (gso)); style->line.width = 2; size_changed = go_styled_object_set_style (gso, style); g_object_unref (style);
go_styled_object_style_changed ()
void
go_styled_object_style_changed (GOStyledObject *gso
);
Called when the style changed. Might emit a signal if meaningful.
Types and Values
GOStyledObjectClass
typedef struct { GTypeInterface base; gboolean (*set_style) (GOStyledObject *gso, GOStyle *style); GOStyle *(*get_style) (GOStyledObject *gso); GOStyle *(*get_auto_style) (GOStyledObject *gso); void (*style_changed) (GOStyledObject *gso); void (*apply_theme) (GOStyledObject *gso, GOStyle *style); GODoc *(*get_document) (GOStyledObject *gso); } GOStyledObjectClass;
Members
sets the object style. |
||
returns the object current style. |
||
returns the default style for the object. |
||
called when the style changed. |
||
apply the current theme if any to the object style. |
||
returns the GODoc associated to the object if any. |