Top |
Functions
GdkRGBA * | gdk_rgba_copy () |
void | gdk_rgba_free () |
gboolean | gdk_rgba_is_clear () |
gboolean | gdk_rgba_is_opaque () |
gboolean | gdk_rgba_parse () |
gboolean | gdk_rgba_equal () |
guint | gdk_rgba_hash () |
char * | gdk_rgba_to_string () |
Description
GdkRGBA is a convenient way to pass colors around. It’s based on cairo’s way to deal with colors and mirrors its behavior. All values are in the range from 0.0 to 1.0 inclusive. So the color (0.0, 0.0, 0.0, 0.0) represents transparent black and (1.0, 1.0, 1.0, 1.0) is opaque white. Other values will be clamped to this range when drawing.
Functions
gdk_rgba_copy ()
GdkRGBA *
gdk_rgba_copy (const GdkRGBA *rgba
);
Makes a copy of a GdkRGBA.
The result must be freed through gdk_rgba_free()
.
gdk_rgba_is_clear ()
gboolean
gdk_rgba_is_clear (const GdkRGBA *rgba
);
Checks if an rgba
value is transparent. That is, drawing with the value
would not produce any change.
gdk_rgba_is_opaque ()
gboolean
gdk_rgba_is_opaque (const GdkRGBA *rgba
);
Checks if an rgba
value is opaque. That is, drawing with the value
will not retain any results from previous contents.
gdk_rgba_parse ()
gboolean gdk_rgba_parse (GdkRGBA *rgba
,const char *spec
);
Parses a textual representation of a color, filling in
the red
, green
, blue
and alpha
fields of the rgba
GdkRGBA.
The string can be either one of:
A standard name (Taken from the X11 rgb.txt file).
A hexadecimal value in the form “#rgb”, “#rrggbb”, “#rrrgggbbb” or ”#rrrrggggbbbb”
A hexadecimal value in the form “#rgba”, “#rrggbbaa”, or ”#rrrrggggbbbbaaaa”
A RGB color in the form “rgb(r,g,b)” (In this case the color will have full opacity)
A RGBA color in the form “rgba(r,g,b,a)”
Where “r”, “g”, “b” and “a” are respectively the red, green, blue and alpha color values. In the last two cases, “r”, “g”, and “b” are either integers in the range 0 to 255 or percentage values in the range 0% to 100%, and a is a floating point value in the range 0 to 1.
gdk_rgba_equal ()
gboolean gdk_rgba_equal (gconstpointer p1
,gconstpointer p2
);
Compares two RGBA colors.
gdk_rgba_hash ()
guint
gdk_rgba_hash (gconstpointer p
);
A hash function suitable for using for a hash table that stores GdkRGBAs.
gdk_rgba_to_string ()
char *
gdk_rgba_to_string (const GdkRGBA *rgba
);
Returns a textual specification of rgba
in the form
rgb(r,g,b)
or
rgba(r,g,b,a)
,
where “r”, “g”, “b” and “a” represent the red, green,
blue and alpha values respectively. “r”, “g”, and “b” are
represented as integers in the range 0 to 255, and “a”
is represented as a floating point value in the range 0 to 1.
These string forms are string forms that are supported by
the CSS3 colors module, and can be parsed by gdk_rgba_parse()
.
Note that this string representation may lose some precision, since “r”, “g” and “b” are represented as 8-bit integers. If this is a concern, you should use a different representation.
Types and Values
GdkRGBA
typedef struct { float red; float green; float blue; float alpha; } GdkRGBA;
A GdkRGBA is used to represent a (possibly translucent) color, in a way that is compatible with cairo’s notion of color.