## GOPalette GOPalette |

## Functions

void | (*GOPaletteSwatchRenderCallback) ()
const char * | (*GOPaletteSwatchTooltipCallback) ()
int | go_palette_get_n_swatches ()
gpointer | go_palette_get_user_data ()
GtkWidget * | go_palette_new ()
void | go_palette_show_automatic ()
void | go_palette_show_custom ()
GtkWidget * | go_palette_swatch_new ()

## Types and Values

struct | GOPalette

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkMenuShell
                        ╰── GtkMenu
                            ╰── GOPalette

## Implemented Interfaces

GOPalette implements AtkImplementorIface and GtkBuildable.

## Description

## Functions

### GOPaletteSwatchRenderCallback ()

    void
    (*GOPaletteSwatchRenderCallback) (cairo_t *cr,
                                      GdkRectangle const *area,
                                      int index,
                                      gpointer data);

### GOPaletteSwatchTooltipCallback ()

    const char *
    (*GOPaletteSwatchTooltipCallback) (int index,
                                       gpointer data);

### go_palette_get_n_swatches ()

    int
    go_palette_get_n_swatches (GOPalette *palette);

A convenience function.

#### Parameters

palette | a GOPalette |

#### Returns

the number of palette items.

### go_palette_get_user_data ()

    gpointer
    go_palette_get_user_data (GOPalette *palette);

#### Parameters

palette | a GOPalette |

#### Returns

a pointer to user data given to go_palette_new function.

[transfer none]

### go_palette_new ()

    GtkWidget *
    go_palette_new (int n_swatches,
                    double swatch_width,
                    int n_columns,
                    GOPaletteSwatchRenderCallback swatch_render,
                    GOPaletteSwatchTooltipCallback get_tooltip,
                    gpointer data,
                    GDestroyNotify destroy);

#### Parameters

n_swatches | number of palette items |
swatch_width | swatch width as multiple of swatch height |
n_columns | number of columns for displaying palette items |
swatch_render | a user function used for swatch rendering. | [scope notified]
get_tooltip | a user function for tooltips. | [scope notified]
data | user data for use by swatch render function |
destroy | a function to destroy user data on widget finalization. | [scope async]

#### Returns

a new GOPalette object.

### go_palette_show_automatic ()

    void
    go_palette_show_automatic (GOPalette *palette,
                               int index,
                               char const *label);

Adds an automatic button to `palette` .

#### Parameters

palette | a GOPalette |
index | index to use on automatic item activation |
label | if not `NULL`, replace automatic button label |

### go_palette_show_custom ()

    void
    go_palette_show_custom (GOPalette *palette,
                            char const *label);

Adds a custom button to bottom of `palette` . An activation of custom button will cause an emition of "custom_activate" signal.

#### Parameters

palette | a GOPalette |
label | if not `NULL`, replaces custom button label |

### go_palette_swatch_new ()

    GtkWidget *
    go_palette_swatch_new (GOPalette *palette,
                           int index);

#### Parameters

palette | a GOPalette |
index | default index |

#### Returns

a new GtkDrawingArea which will be rendered like a `palette` swatch. `index` can be changed later by changing swatch "index" data.

[transfer full]

## Types and Values

### struct GOPalette

    struct GOPalette;