Next: , Previous: Package_Gtk.Clist, Up: Top



Package Gtk.Color_Selection

A Gtk_Color_Selection widget is a complex dialog that allows the user to select a color based either on its (Red, Green, Blue) or its (Hue, Saturation, Value). An additional field is provided to select the opacity of the color (this is usually called the alpha channel).

see Package_Gtk.Color_Selection_Dialog for a version of this widget that comes with its own dialog.

see Package_Gtk.Extra.Color_Combo for a different way to select colors.

Widget Hierarchy
     GObject                       (see Package_Glib.Object)
     Gtk_Object                    (see Package_Gtk.Object)
        \___ Gtk_Widget            (see Package_Gtk.Widget)
           \___ Gtk_Container      (see Package_Gtk.Container)
              \___ Gtk_Box         (see Package_Gtk.Box)
                 \___ Gtk_Color_Selection (see Package_Gtk.Color_Selection)
     

Signals

Types

type Color_Array is array (Color_Index) of Gdouble;

Array that indicates the currently selected color. All the values are between 0.0 and 1.0 (a percentage value). They should be converted to absolute values before using them to create a new color, with the following piece of code: Absolute := To_Absolute (Color_Array (Index))



type Color_Index is
(Red, Green, Blue, Opacity);

Used as an index to the table used to set and get the currently selected color.


Subprograms
procedure Gtk_New (Widget : out Gtk_Color_Selection);
Create a new color selection widget.

function Get_Type return Glib.GType;
Return the internal value associated with a Gtk_Color_Selection.

function Get_Has_Opacity_Control (Colorsel : access Gtk_Color_Selection_Record) return Boolean;
Return True if the Colorsel has an opacity control.

procedure Set_Has_Opacity_Control (Colorsel : access Gtk_Color_Selection_Record; Has_Opacity : Boolean);
Set the Colorsel to use or not use opacity.

function Get_Has_Palette (Colorsel : access Gtk_Color_Selection_Record) return Boolean;
Return True if the Colorsel has a palette.

procedure Set_Has_Palette (Colorsel : access Gtk_Color_Selection_Record; Has_Palette : Boolean);
If Has_Palette is True, then set the Colorsel to show the palette.
Hide the palette otherwise.

procedure Set_Current_Color (Colorsel : access Gtk_Color_Selection_Record; Color : Gdk.Color.Gdk_Color);
Set the current color of the Colorsel. When called for the first time,
the original color will the set to Color as well.

procedure Set_Current_Alpha (Colorsel : access Gtk_Color_Selection_Record; Alpha : Guint16);
Set the current opacity to be Alpha. When called for the first time,
the original opacity will be set too.

procedure Get_Current_Color (Colorsel : access Gtk_Color_Selection_Record; Color : out Gdk.Color.Gdk_Color);
Set Color to the value of the current color in the Colorsel.

function Get_Current_Alpha (Colorsel : access Gtk_Color_Selection_Record) return Guint16;
Return the current opacity.

procedure Set_Previous_Color (Colorsel : access Gtk_Color_Selection_Record; Color : Gdk.Color.Gdk_Color);
Set the previous color. This procedure should not be called without
analysis, as it might seem confusing to see that color change. Calling Set_Current_Color for the first time will also set this color.

procedure Set_Previous_Alpha (Colorsel : access Gtk_Color_Selection_Record; Alpha : Guint16);
Set the previous opacity to Alpha. This procedure should not be called
without analysis, as it might seem confusing to see that value change.

procedure Get_Previous_Color (Colorsel : access Gtk_Color_Selection_Record; Color : out Gdk.Color.Gdk_Color);
Set Color to the original color value.

function Get_Previous_Alpha (Colorsel : access Gtk_Color_Selection_Record) return Guint16;
Return the previous alpha value.

function Is_Adjusting (Colorsel : access Gtk_Color_Selection_Record) return Boolean;
Get the current state of the Colorsel.
Return TRue if the user is currently dragging a color around, False if the selection has stopped.

function To_Absolute (Color : Gdouble) return Gushort;
Convert from a percentage value as returned by Get_Color to an
absolute value as can be used with Gdk_Color.

function To_Percent (Color : Gushort) return Gdouble;
Convert from an absolute value as used in Gdk_Color to a percentage
value as used in Set_Color.