GtkHSV

GtkHSV — A 'color wheel' widget

Synopsis

#include <gtk/gtk.h>

struct              GtkHSV;
GtkWidget *         gtk_hsv_new                         (void);
void                gtk_hsv_set_color                   (GtkHSV *hsv,
                                                         double h,
                                                         double s,
                                                         double v);
void                gtk_hsv_get_color                   (GtkHSV *hsv,
                                                         gdouble *h,
                                                         gdouble *s,
                                                         gdouble *v);
void                gtk_hsv_set_metrics                 (GtkHSV *hsv,
                                                         gint size,
                                                         gint ring_width);
void                gtk_hsv_get_metrics                 (GtkHSV *hsv,
                                                         gint *size,
                                                         gint *ring_width);
gboolean            gtk_hsv_is_adjusting                (GtkHSV *hsv);
void                gtk_hsv_to_rgb                      (gdouble h,
                                                         gdouble s,
                                                         gdouble v,
                                                         gdouble *r,
                                                         gdouble *g,
                                                         gdouble *b);
void                gtk_rgb_to_hsv                      (gdouble r,
                                                         gdouble g,
                                                         gdouble b,
                                                         gdouble *h,
                                                         gdouble *s,
                                                         gdouble *v);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkHSV

Implemented Interfaces

GtkHSV implements AtkImplementorIface and GtkBuildable.

Signals

  "changed"                                        : Run First
  "move"                                           : Action

Description

GtkHSV is the 'color wheel' part of a complete color selector widget. It allows to select a color by determining its HSV components in an intuitive way. Moving the selection around the outer ring changes the hue, and moving the selection point inside the inner triangle changes value and saturation.

Details

struct GtkHSV

struct GtkHSV;


gtk_hsv_new ()

GtkWidget *         gtk_hsv_new                         (void);

Creates a new HSV color selector.

Returns :

A newly-created HSV color selector.

Since 2.14


gtk_hsv_set_color ()

void                gtk_hsv_set_color                   (GtkHSV *hsv,
                                                         double h,
                                                         double s,
                                                         double v);

Sets the current color in an HSV color selector. Color component values must be in the [0.0, 1.0] range.

hsv :

An HSV color selector

h :

Hue

s :

Saturation

v :

Value

Since 2.14


gtk_hsv_get_color ()

void                gtk_hsv_get_color                   (GtkHSV *hsv,
                                                         gdouble *h,
                                                         gdouble *s,
                                                         gdouble *v);

Queries the current color in an HSV color selector. Returned values will be in the [0.0, 1.0] range.

hsv :

An HSV color selector

h :

Return value for the hue. [out]

s :

Return value for the saturation. [out]

v :

Return value for the value. [out]

Since 2.14


gtk_hsv_set_metrics ()

void                gtk_hsv_set_metrics                 (GtkHSV *hsv,
                                                         gint size,
                                                         gint ring_width);

Sets the size and ring width of an HSV color selector.

hsv :

An HSV color selector

size :

Diameter for the hue ring

ring_width :

Width of the hue ring

Since 2.14


gtk_hsv_get_metrics ()

void                gtk_hsv_get_metrics                 (GtkHSV *hsv,
                                                         gint *size,
                                                         gint *ring_width);

Queries the size and ring width of an HSV color selector.

hsv :

An HSV color selector

size :

Return value for the diameter of the hue ring. [out]

ring_width :

Return value for the width of the hue ring. [out]

Since 2.14


gtk_hsv_is_adjusting ()

gboolean            gtk_hsv_is_adjusting                (GtkHSV *hsv);

An HSV color selector can be said to be adjusting if multiple rapid changes are being made to its value, for example, when the user is adjusting the value with the mouse. This function queries whether the HSV color selector is being adjusted or not.

hsv :

A GtkHSV

Returns :

TRUE if clients can ignore changes to the color value, since they may be transitory, or FALSE if they should consider the color value status to be final.

Since 2.14


gtk_hsv_to_rgb ()

void                gtk_hsv_to_rgb                      (gdouble h,
                                                         gdouble s,
                                                         gdouble v,
                                                         gdouble *r,
                                                         gdouble *g,
                                                         gdouble *b);

Converts a color from HSV space to RGB. Input values must be in the [0.0, 1.0] range; output values will be in the same range.

h :

Hue

s :

Saturation

v :

Value

r :

Return value for the red component. [out]

g :

Return value for the green component. [out]

b :

Return value for the blue component. [out]

Since 2.14


gtk_rgb_to_hsv ()

void                gtk_rgb_to_hsv                      (gdouble r,
                                                         gdouble g,
                                                         gdouble b,
                                                         gdouble *h,
                                                         gdouble *s,
                                                         gdouble *v);

Converts a color from RGB space to HSV. Input values must be in the [0.0, 1.0] range; output values will be in the same range.

r :

Red

g :

Green

b :

Blue

h :

Return value for the hue component. [out]

s :

Return value for the saturation component. [out]

v :

Return value for the value component. [out]

Since 2.14

Signal Details

The "changed" signal

void                user_function                      (GtkHSV  *hsv,
                                                        gpointer user_data)      : Run First

hsv :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

The "move" signal

void                user_function                      (GtkHSV          *hsv,
                                                        GtkDirectionType arg1,
                                                        gpointer         user_data)      : Action

hsv :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

See Also

GtkColorSelection

a complete color selection widget

GtkColorSelectionDialog

a color selection dialog