| GTK+ 3 Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <gtk/gtk.h>
GtkGradient;
GtkGradient * gtk_gradient_new_linear (gdouble x0,
gdouble y0,
gdouble x1,
gdouble y1);
GtkGradient * gtk_gradient_new_radial (gdouble x0,
gdouble y0,
gdouble radius0,
gdouble x1,
gdouble y1,
gdouble radius1);
void gtk_gradient_add_color_stop (GtkGradient *gradient,
gdouble offset,
GtkSymbolicColor *color);
GtkGradient * gtk_gradient_ref (GtkGradient *gradient);
void gtk_gradient_unref (GtkGradient *gradient);
gboolean gtk_gradient_resolve (GtkGradient *gradient,
GtkStyleProperties *props,
cairo_pattern_t **resolved_gradient);
cairo_pattern_t * gtk_gradient_resolve_for_context (GtkGradient *gradient,
GtkStyleContext *context);
char * gtk_gradient_to_string (GtkGradient *gradient);
GtkGradient is a boxed type that represents a gradient.
It is the result of parsing a
gradient expression.
To obtain the gradient represented by a GtkGradient, it has to
be resolved with gtk_gradient_resolve(), which replaces all
symbolic color references by the colors they refer to (in a given
context) and constructs a cairo_pattern_t value.
It is not normally necessary to deal directly with GtkGradients, since they are mostly used behind the scenes by GtkStyleContext and GtkCssProvider.
GtkGradient * gtk_gradient_new_linear (gdouble x0,gdouble y0,gdouble x1,gdouble y1);
Creates a new linear gradient along the line defined by (x0, y0) and (x1, y1). Before using the gradient
a number of stop colors must be added through gtk_gradient_add_color_stop().
|
X coordinate of the starting point |
|
Y coordinate of the starting point |
|
X coordinate of the end point |
|
Y coordinate of the end point |
Returns : |
A newly created GtkGradient |
Since 3.0
GtkGradient * gtk_gradient_new_radial (gdouble x0,gdouble y0,gdouble radius0,gdouble x1,gdouble y1,gdouble radius1);
Creates a new radial gradient along the two circles defined by (x0, y0, radius0) and
(x1, y1, radius1). Before using the gradient a number of stop colors must be added
through gtk_gradient_add_color_stop().
|
X coordinate of the start circle |
|
Y coordinate of the start circle |
|
radius of the start circle |
|
X coordinate of the end circle |
|
Y coordinate of the end circle |
|
radius of the end circle |
Returns : |
A newly created GtkGradient |
Since 3.0
void gtk_gradient_add_color_stop (GtkGradient *gradient,gdouble offset,GtkSymbolicColor *color);
Adds a stop color to gradient.
|
a GtkGradient |
|
offset for the color stop |
|
color to use |
Since 3.0
GtkGradient * gtk_gradient_ref (GtkGradient *gradient);
Increases the reference count of gradient.
|
a GtkGradient |
Returns : |
The same gradient
|
Since 3.0
void gtk_gradient_unref (GtkGradient *gradient);
Decreases the reference count of gradient, freeing its memory
if the reference count reaches 0.
|
a GtkGradient |
Since 3.0
gboolean gtk_gradient_resolve (GtkGradient *gradient,GtkStyleProperties *props,cairo_pattern_t **resolved_gradient);
If gradient is resolvable, resolved_gradient will be filled in
with the resolved gradient as a cairo_pattern_t, and TRUE will
be returned. Generally, if gradient can't be resolved, it is
due to it being defined on top of a named color that doesn't
exist in props.
|
a GtkGradient |
|
GtkStyleProperties to use when resolving named colors |
|
return location for the resolved pattern. [out] |
Returns : |
TRUE if the gradient has been resolved |
Since 3.0
cairo_pattern_t * gtk_gradient_resolve_for_context (GtkGradient *gradient,GtkStyleContext *context);
char * gtk_gradient_to_string (GtkGradient *gradient);
Creates a string representation for gradient that is suitable
for using in GTK CSS files.
|
the gradient to print |
Returns : |
A string representation for gradient
|