## GogTheme GogTheme — Graph theme management |

## Synopsis

    #define             GOG_THEME_TYPE
    #define             GOG_THEME                           (o)
    #define             IS_GOG_THEME                        (o)
                        GogTheme;
    GType               gog_theme_get_type                  (void);
    GogTheme*           gog_theme_new                       (char const *name);
    GogTheme*           gog_theme_new_from_file             (char const *name,
                                                             char const *file);
    charconst *         gog_theme_get_name                  (GogTheme const *theme);
    void                gog_theme_fillin_style              (GogTheme const *theme,
                                                             GogStyle *style,
                                                             GogObject const *obj,
                                                             int ind,
                                                             gboolean complete_overwrite);
    void                gog_theme_registry_add              (GogTheme *theme,
                                                             gboolean is_default);
    GogTheme*           gog_theme_registry_lookup           (char const *name);
    GSList*             gog_theme_registry_get_theme_names  (void);
    void                gog_themes_init                     (void);
    void                gog_themes_shutdown                 (void);

## Object Hierarchy

      GObject
       +----GogTheme

## Description

## Details

### GOG_THEME_TYPE

    #define GOG_THEME_TYPE	(gog_theme_get_type ())

### GOG_THEME()

    #define GOG_THEME(o)	(G_TYPE_CHECK_INSTANCE_CAST ((o), GOG_THEME_TYPE, GogTheme))

`o` : |

### IS_GOG_THEME()

    #define IS_GOG_THEME(o)	(G_TYPE_CHECK_INSTANCE_TYPE ((o), GOG_THEME_TYPE))

`o` : |

### GogTheme

    typedef struct _GogTheme GogTheme;

### gog_theme_get_type ()

    GType               gog_theme_get_type                  (void);

Returns : |

### gog_theme_new ()

    GogTheme*           gog_theme_new                       (char const *name);

`name` : |
Returns : |

### gog_theme_new_from_file ()

    GogTheme*           gog_theme_new_from_file             (char const *name,
                                                             char const *file);

`name` : |
`file` : |
Returns : |

### gog_theme_get_name ()

    charconst *         gog_theme_get_name                  (GogTheme const *theme);

`theme` : |
Returns : |

### gog_theme_fillin_style ()

    void                gog_theme_fillin_style              (GogTheme const *theme,
                                                             GogStyle *style,
                                                             GogObject const *obj,
                                                             int ind,
                                                             gboolean complete_overwrite);

Fill in the auto aspects of `style` based on `theme` 's element for objects of type/role similar to `obj` with index `ind`. If `complete_overwrite` is used, fillin the entire style, not just the auto portions.

`theme` : | GogTheme
`style` : | GogStyle to initialize
`obj` : | GogObject The object associated with `style`
`ind` : | an optional index
`complete_overwrite` : | boolean

### gog_theme_registry_add ()

    void                gog_theme_registry_add              (GogTheme *theme,
                                                             gboolean is_default);

Keep a pointer to `theme` in graph theme registry. This function does not add a reference to `theme`.

`theme` : | a GogTheme
`is_default` : |

### gog_theme_registry_lookup ()

    GogTheme*           gog_theme_registry_lookup           (char const *name);

Retrieves a GogTheme from theme registry.

`name` : | a theme name
Returns : |

### gog_theme_registry_get_theme_names ()

    GSList*             gog_theme_registry_get_theme_names  (void);

Returns : | a newly allocated theme name list from theme registry.

### gog_themes_init ()

    void                gog_themes_init                     (void);

### gog_themes_shutdown ()

    void                gog_themes_shutdown                 (void);