## GtkColorSelection GtkColorSelection |

## Functions

GtkWidget * | gtk_color_selection_new ()
void | gtk_color_selection_set_update_policy ()
void | gtk_color_selection_set_has_opacity_control ()
gboolean | gtk_color_selection_get_has_opacity_control ()
void | gtk_color_selection_set_has_palette ()
gboolean | gtk_color_selection_get_has_palette ()
guint16 | gtk_color_selection_get_current_alpha ()
void | gtk_color_selection_set_current_alpha ()
void | gtk_color_selection_get_current_color ()
void | gtk_color_selection_set_current_color ()
guint16 | gtk_color_selection_get_previous_alpha ()
void | gtk_color_selection_set_previous_alpha ()
void | gtk_color_selection_get_previous_color ()
void | gtk_color_selection_set_previous_color ()
gboolean | gtk_color_selection_is_adjusting ()
gboolean | gtk_color_selection_palette_from_string ()
gchar * | gtk_color_selection_palette_to_string ()
GtkColorSelectionChangePaletteFunc | gtk_color_selection_set_change_palette_hook ()
void | (*GtkColorSelectionChangePaletteFunc) ()
GtkColorSelectionChangePaletteWithScreenFunc | gtk_color_selection_set_change_palette_with_screen_hook ()
void | (*GtkColorSelectionChangePaletteWithScreenFunc) ()
void | gtk_color_selection_set_color ()
void | gtk_color_selection_get_color ()

## Properties

guint | current-alpha | Read / Write
GdkColor * | current-color | Read / Write
gboolean | has-opacity-control | Read / Write
gboolean | has-palette | Read / Write

## Signals

void | color-changed | Run First

## Types and Values

struct | GtkColorSelection

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkContainer
                        ╰── GtkBox
                            ╰── GtkVBox
                                ╰── GtkColorSelection

## Implemented Interfaces

GtkColorSelection implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Includes

    #include <gtk/gtk.h>

## Description

## Functions

### gtk_color_selection_new ()

    GtkWidget *
    gtk_color_selection_new (void);

Creates a new GtkColorSelection.

#### Returns

a new GtkColorSelection

### gtk_color_selection_set_update_policy ()

    void
    gtk_color_selection_set_update_policy (GtkColorSelection *colorsel,
                                           GtkUpdateType policy);

`gtk_color_selection_set_update_policy` is deprecated and should not be used in newly-written code.

### gtk_color_selection_set_has_opacity_control ()

    void
    gtk_color_selection_set_has_opacity_control
                                   (GtkColorSelection *colorsel,
                                    gboolean has_opacity);

Sets the `colorsel` to use or not use opacity.

#### Parameters

colorsel | a GtkColorSelection. |
has_opacity | `TRUE` if `colorsel` can set the opacity, `FALSE` otherwise. |

### gtk_color_selection_get_has_opacity_control ()

    gboolean
    gtk_color_selection_get_has_opacity_control
                                   (GtkColorSelection *colorsel);

Determines whether the colorsel has an opacity control.

#### Parameters

colorsel | a GtkColorSelection. |

#### Returns

`TRUE` if the `colorsel` has an opacity control. `FALSE` if it does't.

### gtk_color_selection_set_has_palette ()

    void
    gtk_color_selection_set_has_palette (GtkColorSelection *colorsel,
                                         gboolean has_palette);

Shows and hides the palette based upon the value of `has_palette` .

#### Parameters

colorsel | a GtkColorSelection. |
has_palette | `TRUE` if palette is to be visible, `FALSE` otherwise. |

### gtk_color_selection_get_has_palette ()

    gboolean
    gtk_color_selection_get_has_palette (GtkColorSelection *colorsel);

Determines whether the color selector has a color palette.

#### Parameters

colorsel | a GtkColorSelection. |

#### Returns

`TRUE` if the selector has a palette. `FALSE` if it hasn't.

### gtk_color_selection_get_current_alpha ()

    guint16
    gtk_color_selection_get_current_alpha (GtkColorSelection *colorsel);

Returns the current alpha value.

#### Parameters

colorsel | a GtkColorSelection. |

#### Returns

an integer between 0 and 65535.

### gtk_color_selection_set_current_alpha ()

    void
    gtk_color_selection_set_current_alpha (GtkColorSelection *colorsel,
                                           guint16 alpha);

Sets the current opacity to be `alpha` . The first time this is called, it will also set the original opacity to be `alpha` too.

#### Parameters

colorsel | a GtkColorSelection. |
alpha | an integer between 0 and 65535. |

### gtk_color_selection_get_current_color ()

    void
    gtk_color_selection_get_current_color (GtkColorSelection *colorsel,
                                           GdkColor *color);

Sets `color` to be the current color in the GtkColorSelection widget.

#### Parameters

colorsel | a GtkColorSelection. |
color | a GdkColor to fill in with the current color. | [out]

### gtk_color_selection_set_current_color ()

    void
    gtk_color_selection_set_current_color (GtkColorSelection *colorsel,
                                           const GdkColor *color);

Sets the current color to be `color` . The first time this is called, it will also set the original color to be `color` too.

#### Parameters

colorsel | a GtkColorSelection. |
color | A GdkColor to set the current color with. |

### gtk_color_selection_get_previous_alpha ()

    guint16
    gtk_color_selection_get_previous_alpha
                                   (GtkColorSelection *colorsel);

Returns the previous alpha value.

#### Parameters

colorsel | a GtkColorSelection. |

#### Returns

an integer between 0 and 65535.

### gtk_color_selection_set_previous_alpha ()

    void
    gtk_color_selection_set_previous_alpha
                                   (GtkColorSelection *colorsel,
                                    guint16 alpha);

Sets the 'previous' alpha to be `alpha` . This function should be called with some hesitations, as it might seem confusing to have that alpha change.

#### Parameters

colorsel | a GtkColorSelection. |
alpha | an integer between 0 and 65535. |

### gtk_color_selection_get_previous_color ()

    void
    gtk_color_selection_get_previous_color
                                   (GtkColorSelection *colorsel,
                                    GdkColor *color);

Fills `color` in with the original color value.

#### Parameters

colorsel | a GtkColorSelection. |
color | a GdkColor to fill in with the original color value. | [out]

### gtk_color_selection_set_previous_color ()

    void
    gtk_color_selection_set_previous_color
                                   (GtkColorSelection *colorsel,
                                    const GdkColor *color);

Sets the 'previous' color to be `color` . This function should be called with some hesitations, as it might seem confusing to have that color change. Calling `gtk_color_selection_set_current_color()` will also set this color the first time it is called.

#### Parameters

colorsel | a GtkColorSelection. |
color | a GdkColor to set the previous color with. |

### gtk_color_selection_is_adjusting ()

    gboolean
    gtk_color_selection_is_adjusting (GtkColorSelection *colorsel);

Gets the current state of the `colorsel` .

#### Parameters

colorsel | a GtkColorSelection. |

#### Returns

`TRUE` if the user is currently dragging a color around, and `FALSE` if the selection has stopped.

### gtk_color_selection_palette_from_string ()

    gboolean
    gtk_color_selection_palette_from_string
                                   (const gchar *str,
                                    GdkColor **colors,
                                    gint *n_colors);

Parses a color palette string; the string is a colon-separated list of color names readable by `gdk_color_parse()`.

#### Parameters

str | a string encoding a color palette. |
colors | return location for allocated array of GdkColor. | [out][array length=n_colors]
n_colors | return location for length of array. |

#### Returns

`TRUE` if a palette was successfully parsed.

### gtk_color_selection_palette_to_string ()

    gchar *
    gtk_color_selection_palette_to_string (const GdkColor *colors,
                                           gint n_colors);

Encodes a palette as a string, useful for persistent storage.

#### Parameters

colors | an array of colors. | [array length=n_colors]
n_colors | length of the array. |

#### Returns

allocated string encoding the palette.

### gtk_color_selection_set_change_palette_hook ()

    GtkColorSelectionChangePaletteFunc
    gtk_color_selection_set_change_palette_hook
                                   (GtkColorSelectionChangePaletteFunc func);

`gtk_color_selection_set_change_palette_hook` has been deprecated since version 2.4 and should not be used in newly-written code.

This function does not work in multihead environments. Use `gtk_color_selection_set_change_palette_with_screen_hook()` instead.

Installs a global function to be called whenever the user tries to modify the palette in a color selection. This function should save the new palette contents, and update the GtkSettings property "gtk-color-palette" so all GtkColorSelection widgets will be modified.

#### Parameters

func | a function to call when the custom palette needs saving. |

#### Returns

the previous change palette hook (that was replaced).

### GtkColorSelectionChangePaletteFunc ()

    void
    (*GtkColorSelectionChangePaletteFunc) (const GdkColor *colors,
                                           gint n_colors);

### gtk_color_selection_set_change_palette_with_screen_hook ()

    GtkColorSelectionChangePaletteWithScreenFunc
    gtk_color_selection_set_change_palette_with_screen_hook
                                   (GtkColorSelectionChangePaletteWithScreenFunc func);

Installs a global function to be called whenever the user tries to modify the palette in a color selection. This function should save the new palette contents, and update the GtkSettings property "gtk-color-palette" so all GtkColorSelection widgets will be modified.

#### Parameters

func | a function to call when the custom palette needs saving. |

#### Returns

the previous change palette hook (that was replaced).

Since: 2.2

### GtkColorSelectionChangePaletteWithScreenFunc ()

    void
    (*GtkColorSelectionChangePaletteWithScreenFunc)
                                   (GdkScreen *screen,
                                    const GdkColor *colors,
                                    gint n_colors);

### gtk_color_selection_set_color ()

    void
    gtk_color_selection_set_color (GtkColorSelection *colorsel,
                                   gdouble *color);

`gtk_color_selection_set_color` has been deprecated since version 2.0 and should not be used in newly-written code.

Use `gtk_color_selection_set_current_color()` instead.

Sets the current color to be `color` . The first time this is called, it will also set the original color to be `color` too.

#### Parameters

colorsel | a GtkColorSelection. |
color | an array of 4 doubles specifying the red, green, blue and opacity to set the current color to. |

### gtk_color_selection_get_color ()

    void
    gtk_color_selection_get_color (GtkColorSelection *colorsel,
                                   gdouble *color);

`gtk_color_selection_get_color` has been deprecated since version 2.0 and should not be used in newly-written code.

Use `gtk_color_selection_get_current_color()` instead.

Sets `color` to be the current color in the GtkColorSelection widget.

#### Parameters

colorsel | a GtkColorSelection. |
color | an array of 4 gdouble to fill in with the current color. |

## Types and Values

### struct GtkColorSelection

    struct GtkColorSelection;

## Property Details

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

      “current-alpha”            guint

The current opacity value (0 fully transparent, 65535 fully opaque).

Flags: Read / Write

Allowed values: <= 65535

Default value: 65535

### The `“current-color”` property

      “current-color”            GdkColor *

The current color.

Flags: Read / Write

### The `“has-opacity-control”` property

      “has-opacity-control”      gboolean

Whether the color selector should allow setting opacity.

Flags: Read / Write

Default value: FALSE

### The `“has-palette”` property

      “has-palette”              gboolean

Whether a palette should be used.

Flags: Read / Write

Default value: FALSE

## Signal Details

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

    void
    user_function (GtkColorSelection *colorselection,
                   gpointer           user_data)

Flags: Run First