Index

Package: Color

Description

package Gdk.Color is

This package provides an interface to the color handling facilities in gtk+. It is able to handle any kind of visual (monochrome, greyscale, color with different depths, ...), but provides a common and easy interface for all of them.

Some of these functions expect a Colormap. There are two ways you can get such a colormap, either a system default colormap or a per-widget colormap. It is recommended, unless you are writing your own new widget, to always use the system default Colormap. All the functions to get these colormaps are found in Gtk.Widget.

Getting the Red/Green/Blue components can be done through Parse, and is actually recommended, since the exact color generally depends on the visual your application is running on.

Note for users transitioning from gtk+ 1.2: the Get_System call is now obsolete, and you should use Gtk.Widget.Get_Default_Colormap instead.

Binding from C File version 1.3.6

Types

Gdk_Color

type Gdk_Color is private;
A color to be displayed on the screen. Currently, GtkAda only supports the RGB standard, ie each color is set by its red, green and blue components. An extra field (Pixel) is the internal representation of the color, which is set once the color has been allocated.

Gdk_Color_Array

type Gdk_Color_Array is array (Natural range <>) of Gdk_Color;
An array of colors.

Gdk_Color_Unconstrained_Array

type Gdk_Color_Unconstrained_Array is array (Natural) of Gdk_Color;

Gdk_Colormap

subtype Gdk_Colormap is Gdk.Gdk_Colormap;
The set of colors the can be displayed on the screen. When the screen is not a true-color screen (ie there is only a limited number of possible colors, like 256), the colors are in fact indexes into a colormap, which gives the components of the color. This is the same concept as a palette.

Property_Gdk_Color

type Property_Gdk_Color is new Glib.Property;

Constants & Global variables

Null_Color (Gdk_Color)

Null_Color : constant Gdk_Color;
No color. For most functions, this will select the default color in the context, although this exact specification depends on the function you want to use.

Null_Colormap (Gdk_Colormap)

Null_Colormap : constant Gdk_Colormap;

Wrong_Color

Wrong_Color : exception;
Exception raised when some functions below could not find or allocate a color on the user's system.

Subprograms & Entries

To_Array

function To_Array 
(Colors: Gdk_Color_Unconstrained_Array;
N_Colors: Gint) return Gdk_Color_Array;
Return a version of Colors easier to use in Ada.

Gdk_Color_Type

function Gdk_Color_Type return Glib.GType;
Return the internal gtk+ types associated with a color

Gdk_Colormap_Type

function Gdk_Colormap_Type return Glib.GType;
Return the internal gtk+ types associated with a colormap

Set_Rgb

procedure Set_Rgb 
(Color: out Gdk_Color;
Red, Green, Blue: Guint16);
Modify the fields of the color. You then have to allocate the color with one of the Alloc* functions above.

Set_Pixel

procedure Set_Pixel 
(Color: in out Gdk_Color;
Pixel: Guint32);
This function should almost never be used. Instead, use Alloc_Color.

Red

function Red 
(Color: Gdk_Color) return Guint16;
Return the Red field of Color.

Green

function Green 
(Color: Gdk_Color) return Guint16;
Return the Green field of Color.

Blue

function Blue 
(Color: Gdk_Color) return Guint16;
Return the Blue field of Color.

Pixel

function Pixel 
(Color: Gdk_Color) return Guint32;
Return the Pixel field of Color.

Ref

procedure Ref 
(Colormap: Gdk_Colormap);
Increment the ref-count for the color.

Unref

procedure Unref 
(Colormap: Gdk_Colormap);
Unref is the only way to destroy a colormap once you no longer need it. Note that because gtk+ uses reference counts, the colormap will not be actually destroyed while at least one object is using it.

Copy

procedure Copy 
(Source: Gdk_Color;
Destination: out Gdk_Color);
Copy the Source color to Destination.

Parse

function Parse 
(Spec: String) return Gdk_Color;
Parse the string Spec, and get its Red/Green/Blue components. The color is not allocated, and you need to call Alloc_Color. If the string could not be parsed to an existing color, Wrong_Color is raised. The string can be one of : - "RGB:FF/FF/FF" where the "FF" substrings are respectively the value of the red, green and blue components. Some other prefixes than RGB are defined in the X11 definition, please see some X11 documentation (or the man page XParseColor on unix systems). - "color_name" which can be any color name defined in the file rgb.txt of the user's system. You should always check that Wrong_Color was not raised, in case the color was not known on the user's system. This string is case insensitive. Color names are not supported on Windows systems.

Equal

function Equal 
(Colora, Colorb: Gdk_Color) return Boolean;

=

function "=" 
(Colora, Colorb: Gdk_Color) return Boolean renames Equal;
True if the Red, Green and Blue components of both colors are equal.

To_String

function To_String 
(Color: Gdk_Color) return String;
Return the RGB values of Color under the form "#RRGGBB". Directly usable by Parse, see above.

Set_Property

procedure Set_Property 
(Object: access Glib.Object.GObject_Record'Class;
Name: Property_Gdk_Color;
Value: Gdk_Color);

Get_Property

function Get_Property 
(Object: access Glib.Object.GObject_Record'Class;
Name: Property_Gdk_Color) return Gdk_Color;

Set_Value

procedure Set_Value 
(Value: out Glib.Values.GValue;
Val: Gdk_Color);

Get_Value

function  Get_Value 
(Value: Glib.Values.GValue) return Gdk_Color;
Store or retrieve a color from a value

Gdk_Color_Or_Null

function Gdk_Color_Or_Null 
(Val: System.Address) return System.Address;
<doc_ignore>