GtkSymbolicColor

GtkSymbolicColor — Symbolic colors

Synopsis

#include <gtk/gtk.h>

                    GtkSymbolicColor;
GtkSymbolicColor *  gtk_symbolic_color_new_literal      (const GdkRGBA *color);
GtkSymbolicColor *  gtk_symbolic_color_new_name         (const gchar *name);
GtkSymbolicColor *  gtk_symbolic_color_new_shade        (GtkSymbolicColor *color,
                                                         gdouble factor);
GtkSymbolicColor *  gtk_symbolic_color_new_alpha        (GtkSymbolicColor *color,
                                                         gdouble factor);
GtkSymbolicColor *  gtk_symbolic_color_new_mix          (GtkSymbolicColor *color1,
                                                         GtkSymbolicColor *color2,
                                                         gdouble factor);
GtkSymbolicColor *  gtk_symbolic_color_ref              (GtkSymbolicColor *color);
void                gtk_symbolic_color_unref            (GtkSymbolicColor *color);
gboolean            gtk_symbolic_color_resolve          (GtkSymbolicColor *color,
                                                         GtkStyleProperties *props,
                                                         GdkRGBA *resolved_color);
char *              gtk_symbolic_color_to_string        (GtkSymbolicColor *color);

Description

GtkSymbolicColor is a boxed type that represents a symbolic color. It is the result of parsing a color expression. To obtain the color represented by a GtkSymbolicColor, it has to be resolved with gtk_symbolic_color_resolve(), which replaces all symbolic color references by the colors they refer to (in a given context) and evaluates mix, shade and other expressions, resulting in a GdkRGBA value.

It is not normally necessary to deal directly with GtkSymbolicColors, since they are mostly used behind the scenes by GtkStyleContext and GtkCssProvider.

Details

GtkSymbolicColor

typedef struct _GtkSymbolicColor GtkSymbolicColor;

gtk_symbolic_color_new_literal ()

GtkSymbolicColor *  gtk_symbolic_color_new_literal      (const GdkRGBA *color);

Creates a symbolic color pointing to a literal color.

color :

a GdkRGBA

Returns :

a newly created GtkSymbolicColor

Since 3.0


gtk_symbolic_color_new_name ()

GtkSymbolicColor *  gtk_symbolic_color_new_name         (const gchar *name);

Creates a symbolic color pointing to an unresolved named color. See gtk_style_context_lookup_color() and gtk_style_properties_lookup_color().

name :

color name

Returns :

a newly created GtkSymbolicColor

Since 3.0


gtk_symbolic_color_new_shade ()

GtkSymbolicColor *  gtk_symbolic_color_new_shade        (GtkSymbolicColor *color,
                                                         gdouble factor);

Creates a symbolic color defined as a shade of another color. A factor > 1.0 would resolve to a brighter color, while < 1.0 would resolve to a darker color.

color :

another GtkSymbolicColor

factor :

shading factor to apply to color

Returns :

A newly created GtkSymbolicColor

Since 3.0


gtk_symbolic_color_new_alpha ()

GtkSymbolicColor *  gtk_symbolic_color_new_alpha        (GtkSymbolicColor *color,
                                                         gdouble factor);

Creates a symbolic color by modifying the relative alpha value of color. A factor < 1.0 would resolve to a more transparent color, while > 1.0 would resolve to a more opaque color.

color :

another GtkSymbolicColor

factor :

factor to apply to color alpha

Returns :

A newly created GtkSymbolicColor

Since 3.0


gtk_symbolic_color_new_mix ()

GtkSymbolicColor *  gtk_symbolic_color_new_mix          (GtkSymbolicColor *color1,
                                                         GtkSymbolicColor *color2,
                                                         gdouble factor);

Creates a symbolic color defined as a mix of another two colors. a mix factor of 0 would resolve to color1, while a factor of 1 would resolve to color2.

color1 :

color to mix

color2 :

another color to mix

factor :

mix factor

Returns :

A newly created GtkSymbolicColor

Since 3.0


gtk_symbolic_color_ref ()

GtkSymbolicColor *  gtk_symbolic_color_ref              (GtkSymbolicColor *color);

Increases the reference count of color

color :

a GtkSymbolicColor

Returns :

the same color

Since 3.0


gtk_symbolic_color_unref ()

void                gtk_symbolic_color_unref            (GtkSymbolicColor *color);

Decreases the reference count of color, freeing its memory if the reference count reaches 0.

color :

a GtkSymbolicColor

Since 3.0


gtk_symbolic_color_resolve ()

gboolean            gtk_symbolic_color_resolve          (GtkSymbolicColor *color,
                                                         GtkStyleProperties *props,
                                                         GdkRGBA *resolved_color);

If color is resolvable, resolved_color will be filled in with the resolved color, and TRUE will be returned. Generally, if color can't be resolved, it is due to it being defined on top of a named color that doesn't exist in props.

When props is NULL, resolving of named colors will fail, so if your color is or references such a color, this function will return FALSE.

color :

a GtkSymbolicColor

props :

GtkStyleProperties to use when resolving named colors, or NULL. [allow-none]

resolved_color :

return location for the resolved color. [out]

Returns :

TRUE if the color has been resolved

Since 3.0


gtk_symbolic_color_to_string ()

char *              gtk_symbolic_color_to_string        (GtkSymbolicColor *color);

Converts the given color to a string representation. This is useful both for debugging and for serialization of strings. The format of the string may change between different versions of GTK, but it is guaranteed that the GTK css parser is able to read the string and create the same symbolic color from it.

color :

color to convert to a string

Returns :

a new string representing color