## GOStyle

GOStyle

## Functions

void | go_style_apply_theme ()
void | go_style_assign ()
GOStyle * | go_style_dup ()
void | go_style_fill ()
void | go_style_force_auto ()
void | go_style_clear_auto ()
gpointer | go_style_get_editor ()
GOMarker const * | go_style_get_marker ()
gboolean | go_style_is_auto ()
gboolean | go_style_is_different_size ()
gboolean | go_style_is_fill_visible ()
gboolean | go_style_is_line_visible ()
gboolean | go_style_is_marker_visible ()
gboolean | go_style_is_outline_visible ()
GOStyle * | go_style_new ()
void | go_style_populate_editor ()
gboolean | go_style_set_cairo_line ()
void | go_style_set_fill_brightness ()
void | go_style_set_font ()
void | go_style_set_font_desc ()
void | go_style_set_marker ()
void | go_style_set_text_angle ()

## Types and Values

enum | GOImageType
| GOStyle
enum | GOStyleFill
enum | GOStyleFlag
| GOStyleLine
| GOStyleMark

## Object Hierarchy

        GObject
        ╰── GOStyle

## Implemented Interfaces

GOStyle implements GOPersist.

## Description

## Functions

### go_style_apply_theme ()

    void
    go_style_apply_theme (GOStyle *dst,
                          GOStyle const *src,
                          GOStyleFlag fields);

Merge the attributes from `src` onto the elements of `dst` that were not user assigned (is_auto)

#### Parameters

dst | GOStyle |
src | GOStyle |
fields | the fields to which the copy should be limited |

### go_style_assign ()

    void
    go_style_assign (GOStyle *dst,
                     GOStyle const *src);

### go_style_dup ()

    GOStyle *
    go_style_dup (GOStyle const *style);

Duplicates `style` .

#### Parameters

style | a source GOStyle |

#### Returns

a new GOStyle.

[transfer full]

### go_style_fill ()

    void
    go_style_fill (GOStyle const *style,
                   cairo_t *cr,
                   gboolean preserve);

### go_style_force_auto ()

    void
    go_style_force_auto (GOStyle *style);

Sets all auto fields in `style` to `TRUE`.

#### Parameters

style | a GOStyle |

### go_style_clear_auto ()

    void
    go_style_clear_auto (GOStyle *style);

Sets all auto fields in `style` to `FALSE`.

#### Parameters

style | a GOStyle |

### go_style_get_editor ()

    gpointer
    go_style_get_editor (GOStyle *style,
                         GOStyle *default_style,
                         GOCmdContext *cc,
                         GObject *object_with_style);

Builds the widget used to edit the style.

#### Parameters

style | GOStyle |
default_style | the style used as default |
cc | GOCmdContext |
object_with_style | the object owning the style |

#### Returns

the style editor.

[transfer full]

### go_style_get_marker ()

    GOMarker const *
    go_style_get_marker (GOStyle const *style);

Accessor for `style` ::marker, without referencing it.

#### Parameters

style | GOStyle |

#### Returns

the style GOMarker.

[transfer none]

### go_style_is_auto ()

    gboolean
    go_style_is_auto (GOStyle *style);

### go_style_is_different_size ()

    gboolean
    go_style_is_different_size (GOStyle const *a,
                                GOStyle const *b);

### go_style_is_fill_visible ()

    gboolean
    go_style_is_fill_visible (GOStyle const *style);

### go_style_is_line_visible ()

    gboolean
    go_style_is_line_visible (GOStyle const *style);

### go_style_is_marker_visible ()

    gboolean
    go_style_is_marker_visible (GOStyle const *style);

### go_style_is_outline_visible ()

    gboolean
    go_style_is_outline_visible (GOStyle const *style);

### go_style_new ()

    GOStyle *
    go_style_new (void);

### go_style_populate_editor ()

    void
    go_style_populate_editor (GOStyle *style,
                              GOEditor *editor,
                              GOStyle *default_style,
                              GOCmdContext *cc,
                              GObject *object_with_style,
                              gboolean watch_for_external_change);

### go_style_set_cairo_line ()

    gboolean
    go_style_set_cairo_line (GOStyle const *style,
                             cairo_t *cr);

### go_style_set_fill_brightness ()

    void
    go_style_set_fill_brightness (GOStyle *style,
                                  double brightness);

### go_style_set_font ()

    void
    go_style_set_font (GOStyle *style,
                       GOFont const *font);

Set text font used by the style.

#### Parameters

style | GOStyle |
font | new font. | [transfer full]

### go_style_set_font_desc ()

    void
    go_style_set_font_desc (GOStyle *style,
                            PangoFontDescription *desc);

Set text font used by the style.

#### Parameters

style | GOStyle |
desc | new font description to use. | [transfer full]

### go_style_set_marker ()

    void
    go_style_set_marker (GOStyle *style,
                         GOMarker *marker);

Absorb a reference to `marker` and assign it to `style` .

#### Parameters

style | GOStyle |
marker | GOMarker. | [transfer full]

### go_style_set_text_angle ()

    void
    go_style_set_text_angle (GOStyle *style,
                             double angle);

Set text rotation angle in degrees. Valid values are in the range [-180.0° , 180.0°].

#### Parameters

style | GOStyle |
angle | text rotation in degrees |

## Types and Values

### enum GOImageType

#### Members

GO_IMAGE_STRETCHED | stretch the image so that it fills the whole area. |
GO_IMAGE_WALLPAPER | repeat the image starting from top left. |
GO_IMAGE_CENTERED | use only one image at its natural size, centered in the area. |
GO_IMAGE_CENTERED_WALLPAPER | repeat the image starting from one at center. |

### GOStyle

    typedef struct _GOStyle GOStyle;

### enum GOStyleFill

#### Members

GO_STYLE_FILL_NONE | no filling. |
GO_STYLE_FILL_PATTERN | fill with pattern. |
GO_STYLE_FILL_GRADIENT | fill with a gradient. |
GO_STYLE_FILL_IMAGE | fill with an image. |

### enum GOStyleFlag

Gives the meaningful fields in `GOStyle` . Anyw combination can be used, except that `GO_STYLE_OUTLINE` and `GO_STYLE_OUTLINE` should never coexist.

#### Members

GO_STYLE_OUTLINE | outline. |
GO_STYLE_FILL | fill. |
GO_STYLE_LINE | line. |
GO_STYLE_MARKER | marker. |
GO_STYLE_FONT | font. |
GO_STYLE_TEXT_LAYOUT | text orientaiton. |
GO_STYLE_INTERPOLATION | curve interpolation. |
GO_STYLE_MARKER_NO_COLOR | marker with no color. |
GO_STYLE_ALL | all elements |

### GOStyleLine

    typedef struct {
    	/* <0 == no outline,
    	 * =0 == hairline : unscaled, minimum useful (can be bigger than visible) size.
    	 * >0 in pts */
    	double	 	 width;
    	GOLineDashType 	 dash_type;
    	gboolean	 auto_dash;
    	GOColor	 	 color; /* color is used as background for compatibility
    						(pattern == 0 means filled with background color) */
    	GOColor	 	 fore;
    	gboolean 	 auto_color;
    	gboolean 	 auto_fore;
    	gboolean 	 auto_width;
    	GOPatternType	 pattern;
    	cairo_line_cap_t cap;
    	cairo_line_join_t join;
    	double		 miter_limit;
    } GOStyleLine;

#### Members

double `width`;

line width: <0 == no line, =0 == hairline : unscaled, minimum useful (can be bigger than visible) size.

> 0 in pts.

GOLineDashType `dash_type`; | GOLineDashType. |
gboolean `auto_dash`; | automatic dash type. |
GOColor `color`; | color is used as background for compatibility (pattern == 0 means filled with background color). |
GOColor `fore`; | second color used for patterned lines. |
gboolean `auto_color`; | color is automatic. |
gboolean `auto_fore`; | fore is automatic. |
gboolean `auto_width`; | automatic width |
GOPatternType `pattern`; | pattern. |
cairo_line_cap_t `cap`; | cap style. |
cairo_line_join_t `join`; | join style. |
double `miter_limit`; | mitter limit. |

### GOStyleMark

    typedef struct {
    	GOMarker *mark;
    	gboolean auto_shape;
    	gboolean auto_outline_color;
    	gboolean auto_fill_color;
    } GOStyleMark;

#### Members

GOMarker *`mark`; | the used GOMarker. |
gboolean `auto_shape`; | automatic `marc` . |
gboolean `auto_outline_color`; | automatic outline color. |
gboolean `auto_fill_color`; | automatic fill color. |