GogStyle

GogStyle — Style of graph objects

Synopsis




                    GogStyle;
enum                GogStyleFlag;
enum                GogFillStyle;
enum                GogImageType;
                    GogStyleLine;
                    GogStyleMark;
GogStyle*           gog_style_new                       (void);
GogStyle*           gog_style_dup                       (GogStyle const *style);
void                gog_style_assign                    (GogStyle *dst,
                                                         GogStyle const *src);
void                gog_style_apply_theme               (GogStyle *dst,
                                                         GogStyle const *src);
void                gog_style_set_marker                (GogStyle *style,
                                                         GOMarker *marker);
void                gog_style_set_font_desc             (GogStyle *style,
                                                         PangoFontDescription *desc);
void                gog_style_set_font                  (GogStyle *style,
                                                         GOFont const *font);
void                gog_style_set_fill_brightness       (GogStyle *style,
                                                         float brightness);
void                gog_style_set_fill_image_filename   (GogStyle *style,
                                                         char *filename);
void                gog_style_set_text_angle            (GogStyle *style,
                                                         double angle);
gboolean            gog_style_is_different_size         (GogStyle const *a,
                                                         GogStyle const *b);
gboolean            gog_style_is_marker_visible         (GogStyle const *style);
gboolean            gog_style_is_line_visible           (GogStyle const *style);
gboolean            gog_style_is_outline_visible        (GogStyle const *style);
void                gog_style_force_auto                (GogStyle *style);
void                gog_style_populate_editor           (GogStyle *style,
                                                         GogEditor *editor,
                                                         GogStyle *default_style,
                                                         GOCmdContext *cc,
                                                         GObject *object_with_style,
                                                         gboolean watch_for_external_change);
gpointer            gog_style_get_editor                (GogStyle *style,
                                                         GogStyle *default_style,
                                                         GOCmdContext *cc,
                                                         GObject *object_with_style);


Object Hierarchy


  GObject
   +----GogStyle

Implemented Interfaces

GogStyle implements GogPersist.

Description

Details

GogStyle

typedef struct _GogStyle GogStyle;


enum GogStyleFlag

typedef enum {
	GOG_STYLE_OUTLINE	= 1 << 0,
	GOG_STYLE_FILL		= 1 << 1,
	GOG_STYLE_LINE		= 1 << 2,
	GOG_STYLE_MARKER	= 1 << 3,
	GOG_STYLE_FONT		= 1 << 4,
	GOG_STYLE_TEXT_LAYOUT	= 1 << 5,
	GOG_STYLE_INTERPOLATION	= 1 << 6,
	GOG_STYLE_MARKER_NO_COLOR	= 1 << 7,
	GOG_STYLE_ALL		= 0x1F
} GogStyleFlag;


enum GogFillStyle

typedef enum {
	GOG_FILL_STYLE_NONE	= 0,
	GOG_FILL_STYLE_PATTERN	= 1,
	GOG_FILL_STYLE_GRADIENT	= 2,
	GOG_FILL_STYLE_IMAGE	= 3
} GogFillStyle;


enum GogImageType

typedef enum {
	GOG_IMAGE_STRETCHED,
	GOG_IMAGE_WALLPAPER,
	GOG_IMAGE_CENTERED
} GogImageType;


GogStyleLine

typedef struct {
	/* <0 == no outline,
	 * =0 == hairline : unscaled, minimum useful (can be bigger than visible) size.
	 * >0 in pts */
	float	 	 width;
	GOLineDashType 	 dash_type;
	gboolean	 auto_dash;
	GOColor	 	 color;
	gboolean 	 auto_color;
	unsigned 	 pattern; /* TODO border type from gnumeric */
} GogStyleLine;


GogStyleMark

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


gog_style_new ()

GogStyle*           gog_style_new                       (void);

Returns :

gog_style_dup ()

GogStyle*           gog_style_dup                       (GogStyle const *style);

Duplicates style.

style : a source GogStyle
Returns : a new GogStyle

gog_style_assign ()

void                gog_style_assign                    (GogStyle *dst,
                                                         GogStyle const *src);

dst :
src :

gog_style_apply_theme ()

void                gog_style_apply_theme               (GogStyle *dst,
                                                         GogStyle const *src);

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

dst : GogStyle
src : GogStyle

gog_style_set_marker ()

void                gog_style_set_marker                (GogStyle *style,
                                                         GOMarker *marker);

Absorb a reference to marker and assign it to style.

style : GogStyle
marker : GOMarker

gog_style_set_font_desc ()

void                gog_style_set_font_desc             (GogStyle *style,
                                                         PangoFontDescription *desc);

style :
desc :

gog_style_set_font ()

void                gog_style_set_font                  (GogStyle *style,
                                                         GOFont const *font);

style :
font :

gog_style_set_fill_brightness ()

void                gog_style_set_fill_brightness       (GogStyle *style,
                                                         float brightness);

style :
brightness :

gog_style_set_fill_image_filename ()

void                gog_style_set_fill_image_filename   (GogStyle *style,
                                                         char *filename);

absorb the string and eventually free it.

style : GogStyle
filename :

gog_style_set_text_angle ()

void                gog_style_set_text_angle            (GogStyle *style,
                                                         double angle);

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

style : GogStyle
angle : text rotation in degrees

gog_style_is_different_size ()

gboolean            gog_style_is_different_size         (GogStyle const *a,
                                                         GogStyle const *b);

a :
b :
Returns :

gog_style_is_marker_visible ()

gboolean            gog_style_is_marker_visible         (GogStyle const *style);

style :
Returns :

gog_style_is_line_visible ()

gboolean            gog_style_is_line_visible           (GogStyle const *style);

style :
Returns :

gog_style_is_outline_visible ()

gboolean            gog_style_is_outline_visible        (GogStyle const *style);

style :
Returns :

gog_style_force_auto ()

void                gog_style_force_auto                (GogStyle *style);

style :

gog_style_populate_editor ()

void                gog_style_populate_editor           (GogStyle *style,
                                                         GogEditor *editor,
                                                         GogStyle *default_style,
                                                         GOCmdContext *cc,
                                                         GObject *object_with_style,
                                                         gboolean watch_for_external_change);

style :
editor :
default_style :
cc :
object_with_style :
watch_for_external_change :

gog_style_get_editor ()

gpointer            gog_style_get_editor                (GogStyle *style,
                                                         GogStyle *default_style,
                                                         GOCmdContext *cc,
                                                         GObject *object_with_style);

style :
default_style :
cc :
object_with_style :
Returns :