Top |
Functions
#define | CLUTTER_COLOR_INIT() |
ClutterColor * | clutter_color_new () |
ClutterColor * | clutter_color_alloc () |
ClutterColor * | clutter_color_init () |
ClutterColor * | clutter_color_copy () |
void | clutter_color_free () |
gboolean | clutter_color_equal () |
guint | clutter_color_hash () |
const ClutterColor * | clutter_color_get_static () |
gboolean | clutter_color_from_string () |
gchar * | clutter_color_to_string () |
void | clutter_color_from_hls () |
void | clutter_color_to_hls () |
void | clutter_color_from_pixel () |
guint32 | clutter_color_to_pixel () |
void | clutter_color_add () |
void | clutter_color_subtract () |
void | clutter_color_lighten () |
void | clutter_color_darken () |
void | clutter_color_shade () |
void | clutter_color_interpolate () |
GParamSpec * | clutter_param_spec_color () |
#define | CLUTTER_VALUE_HOLDS_COLOR() |
void | clutter_value_set_color () |
const ClutterColor * | clutter_value_get_color () |
Description
ClutterColor is a simple type for representing colors in Clutter.
A ClutterColor is expressed as a 4-tuple of values ranging from zero to 255, one for each color channel plus one for the alpha.
The alpha channel is fully opaque at 255 and fully transparent at 0.
Functions
CLUTTER_COLOR_INIT()
#define CLUTTER_COLOR_INIT(r,g,b,a) { (r), (g), (b), (a) }
A macro that initializes a ClutterColor, to be used when declaring it.
Parameters
r |
value for the red channel, between 0 and 255 |
|
g |
value for the green channel, between 0 and 255 |
|
b |
value for the blue channel, between 0 and 255 |
|
a |
value for the alpha channel, between 0 and 255 |
Since: 1.12
clutter_color_new ()
ClutterColor * clutter_color_new (guint8 red
,guint8 green
,guint8 blue
,guint8 alpha
);
Creates a new ClutterColor with the given values.
This function is the equivalent of:
1 |
clutter_color_init (clutter_color_alloc (), red, green, blue, alpha); |
Parameters
red |
red component of the color, between 0 and 255 |
|
green |
green component of the color, between 0 and 255 |
|
blue |
blue component of the color, between 0 and 255 |
|
alpha |
alpha component of the color, between 0 and 255 |
Since: 0.8
clutter_color_alloc ()
ClutterColor *
clutter_color_alloc (void
);
Allocates a new, transparent black ClutterColor.
[constructor]
Returns
the newly allocated ClutterColor; use
clutter_color_free()
to free its resources.
[transfer full]
Since: 1.12
clutter_color_init ()
ClutterColor * clutter_color_init (ClutterColor *color
,guint8 red
,guint8 green
,guint8 blue
,guint8 alpha
);
Initializes color
with the given values.
Parameters
color |
||
red |
red component of the color, between 0 and 255 |
|
green |
green component of the color, between 0 and 255 |
|
blue |
blue component of the color, between 0 and 255 |
|
alpha |
alpha component of the color, between 0 and 255 |
Since: 1.12
clutter_color_copy ()
ClutterColor *
clutter_color_copy (const ClutterColor *color
);
Makes a copy of the color structure. The result must be
freed using clutter_color_free()
.
Since: 0.2
clutter_color_free ()
void
clutter_color_free (ClutterColor *color
);
Frees a color structure created with clutter_color_copy()
.
Since: 0.2
clutter_color_equal ()
gboolean clutter_color_equal (gconstpointer v1
,gconstpointer v2
);
Compares two ClutterColors and checks if they are the same.
This function can be passed to g_hash_table_new()
as the key_equal_func
parameter, when using ClutterColors as keys in a GHashTable.
Since: 0.2
clutter_color_hash ()
guint
clutter_color_hash (gconstpointer v
);
Converts a ClutterColor to a hash value.
This function can be passed to g_hash_table_new()
as the hash_func
parameter, when using ClutterColors as keys in a GHashTable.
Since: 1.0
clutter_color_get_static ()
const ClutterColor *
clutter_color_get_static (ClutterStaticColor color
);
Retrieves a static color for the given color
name
Static colors are created by Clutter and are guaranteed to always be available and valid
Returns
a pointer to a static color; the returned pointer is owned by Clutter and it should never be modified or freed
Since: 1.6
clutter_color_from_string ()
gboolean clutter_color_from_string (ClutterColor *color
,const gchar *str
);
Parses a string definition of a color, filling the ClutterColor.red,
ClutterColor.green, ClutterColor.blue and ClutterColor.alpha fields
of color
.
The color
is not allocated.
The format of str
can be either one of:
a standard name (as taken from the X11 rgb.txt file)
an hexadecimal value in the form:
#rgb
,#rrggbb
,#rgba
, or#rrggbbaa
a RGB color in the form:
rgb(r, g, b)
a RGB color in the form:
rgba(r, g, b, a)
a HSL color in the form:
hsl(h, s, l)
-a HSL color in the form:hsla(h, s, l, a)
where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color intensities and the opacity. The 'h', 's' and 'l' are (respectively) the hue, saturation and luminance values.
In the rgb()
and rgba()
formats, the 'r', 'g', and 'b' values are either
integers between 0 and 255, or percentage values in the range between 0%
and 100%; the percentages require the '%' character. The 'a' value, if
specified, can only be a floating point value between 0.0 and 1.0.
In the hls()
and hlsa()
formats, the 'h' value (hue) is an angle between
0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are
percentage values in the range between 0% and 100%. The 'a' value, if specified,
can only be a floating point value between 0.0 and 1.0.
Whitespace inside the definitions is ignored; no leading whitespace is allowed.
If the alpha component is not specified then it is assumed to be set to be fully opaque.
Parameters
color |
return location for a ClutterColor. |
[out caller-allocates] |
str |
a string specifiying a color |
Since: 1.0
clutter_color_to_string ()
gchar *
clutter_color_to_string (const ClutterColor *color
);
Returns a textual specification of color
in the hexadecimal form
#rrggbbaa
, where r
,
g
, b
and a
are
hexadecimal digits representing the red, green, blue and alpha components
respectively.
Since: 0.2
clutter_color_from_hls ()
void clutter_color_from_hls (ClutterColor *color
,gfloat hue
,gfloat luminance
,gfloat saturation
);
Converts a color expressed in HLS (hue, luminance and saturation) values into a ClutterColor.
Parameters
color |
return location for a ClutterColor. |
[out] |
hue |
hue value, in the 0 .. 360 range |
|
luminance |
luminance value, in the 0 .. 1 range |
|
saturation |
saturation value, in the 0 .. 1 range |
clutter_color_to_hls ()
void clutter_color_to_hls (const ClutterColor *color
,gfloat *hue
,gfloat *luminance
,gfloat *saturation
);
Converts color
to the HLS format.
The hue
value is in the 0 .. 360 range. The luminance
and
saturation
values are in the 0 .. 1 range.
clutter_color_from_pixel ()
void clutter_color_from_pixel (ClutterColor *color
,guint32 pixel
);
Converts pixel
from the packed representation of a four 8 bit channel
color to a ClutterColor.
Parameters
color |
return location for a ClutterColor. |
[out caller-allocates] |
pixel |
a 32 bit packed integer containing a color |
clutter_color_to_pixel ()
guint32
clutter_color_to_pixel (const ClutterColor *color
);
Converts color
into a packed 32 bit integer, containing
all the four 8 bit channels used by ClutterColor.
clutter_color_add ()
void clutter_color_add (const ClutterColor *a
,const ClutterColor *b
,ClutterColor *result
);
Adds a
to b
and saves the resulting color inside result
.
The alpha channel of result
is set as as the maximum value
between the alpha channels of a
and b
.
clutter_color_subtract ()
void clutter_color_subtract (const ClutterColor *a
,const ClutterColor *b
,ClutterColor *result
);
Subtracts b
from a
and saves the resulting color inside result
.
This function assumes that the components of a
are greater than the
components of b
; the result is, otherwise, undefined.
The alpha channel of result
is set as the minimum value
between the alpha channels of a
and b
.
clutter_color_lighten ()
void clutter_color_lighten (const ClutterColor *color
,ClutterColor *result
);
Lightens color
by a fixed amount, and saves the changed color
in result
.
clutter_color_darken ()
void clutter_color_darken (const ClutterColor *color
,ClutterColor *result
);
Darkens color
by a fixed amount, and saves the changed color
in result
.
clutter_color_shade ()
void clutter_color_shade (const ClutterColor *color
,gdouble factor
,ClutterColor *result
);
Shades color
by factor
and saves the modified color into result
.
clutter_color_interpolate ()
void clutter_color_interpolate (const ClutterColor *initial
,const ClutterColor *final
,gdouble progress
,ClutterColor *result
);
Interpolates between initial
and final
ClutterColors
using progress
Parameters
initial |
the initial ClutterColor |
|
final |
the final ClutterColor |
|
progress |
the interpolation progress |
|
result |
return location for the interpolation. |
[out] |
Since: 1.6
clutter_param_spec_color ()
GParamSpec * clutter_param_spec_color (const gchar *name
,const gchar *nick
,const gchar *blurb
,const ClutterColor *default_value
,GParamFlags flags
);
Creates a GParamSpec for properties using ClutterColor.
[skip]
Parameters
name |
name of the property |
|
nick |
short name |
|
blurb |
description (can be translatable) |
|
default_value |
default value |
|
flags |
flags for the param spec |
Since: 0.8
CLUTTER_VALUE_HOLDS_COLOR()
#define CLUTTER_VALUE_HOLDS_COLOR(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_COLOR))
Evaluates to TRUE
if x
holds a ClutterColor.
Since: 1.0
clutter_value_set_color ()
void clutter_value_set_color (GValue *value
,const ClutterColor *color
);
Sets value
to color
.
Since: 0.8
clutter_value_get_color ()
const ClutterColor *
clutter_value_get_color (const GValue *value
);
Gets the ClutterColor contained in value
.
Since: 0.8
Types and Values
ClutterColor
typedef struct { guint8 red; guint8 green; guint8 blue; guint8 alpha; } ClutterColor;
Color representation.
enum ClutterStaticColor
Named colors, for accessing global colors defined by Clutter
Members
White color (ffffffff) |
||
Black color (000000ff) |
||
Red color (ff0000ff) |
||
Dark red color (800000ff) |
||
Green color (00ff00ff) |
||
Dark green color (008000ff) |
||
Blue color (0000ffff) |
||
Dark blue color (000080ff) |
||
Cyan color (00ffffff) |
||
Dark cyan color (008080ff) |
||
Magenta color (ff00ffff) |
||
Dark magenta color (800080ff) |
||
Yellow color (ffff00ff) |
||
Dark yellow color (808000ff) |
||
Gray color (a0a0a4ff) |
||
Dark Gray color (808080ff) |
||
Light gray color (c0c0c0ff) |
||
Butter color (edd400ff) |
||
Light butter color (fce94fff) |
||
Dark butter color (c4a000ff) |
||
Orange color (f57900ff) |
||
Light orange color (fcaf3fff) |
||
Dark orange color (ce5c00ff) |
||
Chocolate color (c17d11ff) |
||
Light chocolate color (e9b96eff) |
||
Dark chocolate color (8f5902ff) |
||
Chameleon color (73d216ff) |
||
Light chameleon color (8ae234ff) |
||
Dark chameleon color (4e9a06ff) |
||
Sky color (3465a4ff) |
||
Light sky color (729fcfff) |
||
Dark sky color (204a87ff) |
||
Plum color (75507bff) |
||
Light plum color (ad7fa8ff) |
||
Dark plum color (5c3566ff) |
||
Scarlet red color (cc0000ff) |
||
Light scarlet red color (ef2929ff) |
||
Dark scarlet red color (a40000ff) |
||
Aluminium, first variant (eeeeecff) |
||
Aluminium, second variant (d3d7cfff) |
||
Aluminium, third variant (babdb6ff) |
||
Aluminium, fourth variant (888a85ff) |
||
Aluminium, fifth variant (555753ff) |
||
Aluminium, sixth variant (2e3436ff) |
||
Transparent color (00000000) |
Since: 1.6
struct ClutterParamSpecColor
struct ClutterParamSpecColor { ClutterColor *default_value; };
A GParamSpec subclass for defining properties holding a ClutterColor.
Since: 1.0