## GtkGradient

GtkGradient — Gradients

## Functions

GtkGradient * | gtk_gradient_new_linear ()
GtkGradient * | gtk_gradient_new_radial ()
void | gtk_gradient_add_color_stop ()
GtkGradient * | gtk_gradient_ref ()
void | gtk_gradient_unref ()
gboolean | gtk_gradient_resolve ()
cairo_pattern_t * | gtk_gradient_resolve_for_context ()
char * | gtk_gradient_to_string ()

## Types and Values

| GtkGradient

## Includes

    #include <gtk/gtk.h>

## Description

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 is deprecated. It was used internally by GTK’s CSS engine to represent gradients. As its handling is not conforming to modern web standards, it is not used anymore. If you want to use gradients in your own code, please use Cairo directly.

## Functions

### gtk_gradient_new_linear ()

    GtkGradient *
    gtk_gradient_new_linear (gdouble x0,
                             gdouble y0,
                             gdouble x1,
                             gdouble y1);

`gtk_gradient_new_linear` has been deprecated since version 3.8 and should not be used in newly-written code.

GtkGradient is deprecated.

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()`.

#### Parameters

x0 | X coordinate of the starting point |
y0 | Y coordinate of the starting point |
x1 | X coordinate of the end point |
y1 | Y coordinate of the end point |

#### Returns

A newly created GtkGradient

Since 3.0

### gtk_gradient_new_radial ()

    GtkGradient *
    gtk_gradient_new_radial (gdouble x0,
                             gdouble y0,
                             gdouble radius0,
                             gdouble x1,
                             gdouble y1,
                             gdouble radius1);

`gtk_gradient_new_radial` has been deprecated since version 3.8 and should not be used in newly-written code.

GtkGradient is deprecated.

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()`.

#### Parameters

x0 | X coordinate of the start circle |
y0 | Y coordinate of the start circle |
radius0 | radius of the start circle |
x1 | X coordinate of the end circle |
y1 | Y coordinate of the end circle |
radius1 | radius of the end circle |

#### Returns

A newly created GtkGradient

Since 3.0

### gtk_gradient_add_color_stop ()

    void
    gtk_gradient_add_color_stop (GtkGradient *gradient,
                                 gdouble offset,
                                 GtkSymbolicColor *color);

`gtk_gradient_add_color_stop` has been deprecated since version 3.8 and should not be used in newly-written code.

GtkGradient is deprecated.

Adds a stop color to `gradient` .

#### Parameters

gradient | a GtkGradient |
offset | offset for the color stop |
color | color to use |

Since 3.0

### gtk_gradient_ref ()

    GtkGradient *
    gtk_gradient_ref (GtkGradient *gradient);

`gtk_gradient_ref` has been deprecated since version 3.8 and should not be used in newly-written code.

GtkGradient is deprecated.

Increases the reference count of `gradient` .

#### Parameters

gradient | a GtkGradient |

#### Returns

The same `gradient`

Since 3.0

### gtk_gradient_unref ()

    void
    gtk_gradient_unref (GtkGradient *gradient);

`gtk_gradient_unref` has been deprecated since version 3.8 and should not be used in newly-written code.

GtkGradient is deprecated.

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

#### Parameters

gradient | a GtkGradient |

Since 3.0

### gtk_gradient_resolve ()

    gboolean
    gtk_gradient_resolve (GtkGradient *gradient,
                          GtkStyleProperties *props,
                          cairo_pattern_t **resolved_gradient);

`gtk_gradient_resolve` has been deprecated since version 3.8 and should not be used in newly-written code.

GtkGradient is deprecated.

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` .

#### Parameters

gradient | a GtkGradient |
props | GtkStyleProperties to use when resolving named colors |
resolved_gradient | return location for the resolved pattern. | [out]

#### Returns

`TRUE` if the gradient has been resolved

Since 3.0

### gtk_gradient_resolve_for_context ()

    cairo_pattern_t *
    gtk_gradient_resolve_for_context (GtkGradient *gradient,
                                      GtkStyleContext *context);

`gtk_gradient_resolve_for_context` is deprecated and should not be used in newly-written code.

### gtk_gradient_to_string ()

    char *
    gtk_gradient_to_string (GtkGradient *gradient);

`gtk_gradient_to_string` has been deprecated since version 3.8 and should not be used in newly-written code.

GtkGradient is deprecated.

Creates a string representation for `gradient` that is suitable for using in GTK CSS files.

#### Parameters

gradient | the gradient to print |

#### Returns

A string representation for `gradient`

## Types and Values

### GtkGradient

    typedef struct _GtkGradient GtkGradient;