## GtkColorChooser

GtkColorChooser — Interface implemented by widgets for choosing colors

## Functions

void | gtk_color_chooser_get_rgba ()
void | gtk_color_chooser_set_rgba ()
gboolean | gtk_color_chooser_get_use_alpha ()
void | gtk_color_chooser_set_use_alpha ()
void | gtk_color_chooser_add_palette ()

## Properties

GdkRGBA * | rgba | Read / Write
gboolean | use-alpha | Read / Write

## Signals

void | color-activated | Run First

## Types and Values

| GtkColorChooser

## Object Hierarchy

        GInterface
        ╰── GtkColorChooser

## Prerequisites

GtkColorChooser requires GObject.

## Known Implementations

GtkColorChooser is implemented by GtkColorButton, GtkColorChooserDialog and GtkColorChooserWidget.

## Includes

    #include <gtk/gtk.h>

## Description

GtkColorChooser is an interface that is implemented by widgets for choosing colors. Depending on the situation, colors may be allowed to have alpha (translucency).

In GTK+, the main widgets that implement this interface are GtkColorChooserWidget, GtkColorChooserDialog and GtkColorButton.

## Functions

### gtk_color_chooser_get_rgba ()

    void
    gtk_color_chooser_get_rgba (GtkColorChooser *chooser,
                                GdkRGBA *color);

Gets the currently-selected color.

#### Parameters

chooser | a GtkColorChooser |
color | a GdkRGBA to fill in with the current color. | [out]

Since: 3.4

### gtk_color_chooser_set_rgba ()

    void
    gtk_color_chooser_set_rgba (GtkColorChooser *chooser,
                                const GdkRGBA *color);

Sets the color.

#### Parameters

chooser | a GtkColorChooser |
color | the new color |

Since: 3.4

### gtk_color_chooser_get_use_alpha ()

    gboolean
    gtk_color_chooser_get_use_alpha (GtkColorChooser *chooser);

Returns whether the color chooser shows the alpha channel.

#### Parameters

chooser | a GtkColorChooser |

#### Returns

`TRUE` if the color chooser uses the alpha channel, `FALSE` if not

Since: 3.4

### gtk_color_chooser_set_use_alpha ()

    void
    gtk_color_chooser_set_use_alpha (GtkColorChooser *chooser,
                                     gboolean use_alpha);

Sets whether or not the color chooser should use the alpha channel.

#### Parameters

chooser | a GtkColorChooser |
use_alpha | `TRUE` if color chooser should use alpha channel, `FALSE` if not |

Since: 3.4

### gtk_color_chooser_add_palette ()

    void
    gtk_color_chooser_add_palette (GtkColorChooser *chooser,
                                   GtkOrientation orientation,
                                   gint colors_per_line,
                                   gint n_colors,
                                   GdkRGBA *colors);

Adds a palette to the color chooser. If `orientation` is horizontal, the colors are grouped in rows, with `colors_per_line` colors in each row. If `horizontal` is `FALSE`, the colors are grouped in columns instead.

The default color palette of GtkColorChooserWidget has 27 colors, organized in columns of 3 colors. The default gray palette has 9 grays in a single row.

The layout of the color chooser widget works best when the palettes have 9-10 columns.

Calling this function for the first time has the side effect of removing the default color and gray palettes from the color chooser.

If `colors` is `NULL`, removes all previously added palettes.

#### Parameters

chooser | a GtkColorChooser |
orientation | `GTK_ORIENTATION_HORIZONTAL` if the palette should be displayed in rows, `GTK_ORIENTATION_VERTICAL` for columns |
colors_per_line | the number of colors to show in each row/column |
n_colors | the total number of elements in `colors` |
colors | the colors of the palette, or `NULL`. | [allow-none][array length=n_colors]

Since: 3.4

## Types and Values

### GtkColorChooser

    typedef struct _GtkColorChooser GtkColorChooser;

## Property Details

### The `“rgba”` property

      “rgba”                     GdkRGBA *

The ::rgba property contains the currently selected color, as a GdkRGBA struct. The property can be set to change the current selection programmatically.

Flags: Read / Write

Since: 3.4

### The `“use-alpha”` property

      “use-alpha”                gboolean

When ::use-alpha is `TRUE`, colors may have alpha (translucency) information. When it is `FALSE`, the GdkRGBA struct obtained via the “rgba” property will be forced to have alpha == 1.

Implementations are expected to show alpha by rendering the color over a non-uniform background (like a checkerboard pattern).

Flags: Read / Write

Default value: TRUE

Since: 3.4

## Signal Details

### The `“color-activated”` signal

    void
    user_function (GtkColorChooser *chooser,
                   GdkRGBA         *color,
                   gpointer         user_data)

Emitted when a color is activated from the color chooser. This usually happens when the user clicks a color swatch, or a color is selected and the user presses one of the keys Space, Shift+Space, Return or Enter.

#### Parameters

chooser | the object which received the signal |
color | the color |
user_data | user data set when the signal handler was connected. |

Flags: Run First

Since: 3.4

## See Also

GtkColorChooserDialog, GtkColorChooserWidget, GtkColorButton