GtkColorChooser

GtkColorChooser — Interface implemented by widgets for choosing colors

Synopsis

#include <gtk/gtk.h>

                    GtkColorChooser;
void                gtk_color_chooser_get_rgba          (GtkColorChooser *chooser,
                                                         GdkRGBA *color);
void                gtk_color_chooser_set_rgba          (GtkColorChooser *chooser,
                                                         const GdkRGBA *color);
gboolean            gtk_color_chooser_get_use_alpha     (GtkColorChooser *chooser);
void                gtk_color_chooser_set_use_alpha     (GtkColorChooser *chooser,
                                                         gboolean use_alpha);
void                gtk_color_chooser_add_palette       (GtkColorChooser *chooser,
                                                         gboolean horizontal,
                                                         gint colors_per_line,
                                                         gint n_colors,
                                                         GdkRGBA *colors);

Object Hierarchy

  GInterface
   +----GtkColorChooser

Prerequisites

GtkColorChooser requires GObject.

Known Implementations

GtkColorChooser is implemented by GtkColorButton, GtkColorChooserDialog and GtkColorChooserWidget.

Properties

  "rgba"                     GdkRGBA*              : Read / Write
  "use-alpha"                gboolean              : Read / Write

Signals

  "color-activated"                                : Run First

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.

Details

GtkColorChooser

typedef struct _GtkColorChooser GtkColorChooser;

gtk_color_chooser_get_rgba ()

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

Gets the currently-selected color.

chooser :

a GtkColorChooser

color :

return location for the color

Since 3.4


gtk_color_chooser_set_rgba ()

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

Sets the color.

chooser :

a GtkColorChooser

color :

the new color

gtk_color_chooser_get_use_alpha ()

gboolean            gtk_color_chooser_get_use_alpha     (GtkColorChooser *chooser);

Returns whether the color chooser shows the alpha channel.

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.

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,
                                                         gboolean horizontal,
                                                         gint colors_per_line,
                                                         gint n_colors,
                                                         GdkRGBA *colors);

Adds a palette to the color chooser. If horizontal is TRUE, 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 is called for the first time has the side effect of removing the default color and gray palettes from the color chooser.

chooser :

a GtkColorChooser

horizontal :

TRUE if the palette should be displayed in rows, FALSE 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. [array length=n_colors]

Property Details

The "rgba" property

  "rgba"                     GdkRGBA*              : Read / Write

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

Since 3.4


The "use-alpha" property

  "use-alpha"                gboolean              : Read / Write

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).

Default value: TRUE

Since 3.4

Signal Details

The "color-activated" signal

void                user_function                      (GtkColorChooser *chooser,
                                                        gchar           *color,
                                                        gpointer         user_data)      : Run First

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.

chooser :

the object which received the signal

color :

the color

user_data :

user data set when the signal handler was connected.

Since 3.4

See Also

GtkColorChooserDialog, GtkColorChooserWidget, GtkColorButton