Mutter Reference Manual: Gradients

## Gradients Gradients — Metacity gradient rendering |

## Functions

GdkPixbuf * | meta_gradient_create_simple ()
GdkPixbuf * | meta_gradient_create_multi ()
GdkPixbuf * | meta_gradient_create_interwoven ()
void | meta_gradient_add_alpha ()

## Types and Values

enum | MetaGradientType

## Description

## Functions

### meta_gradient_create_simple ()

    GdkPixbuf *
    meta_gradient_create_simple (int width,
                                 int height,
                                 const GdkRGBA *from,
                                 const GdkRGBA *to,
                                 MetaGradientType style);

#### Parameters

width | Width in pixels |
height | Height in pixels |
from | Starting color |
to | Ending color |
style | Gradient style |

#### Returns

A new linear gradient.

[transfer full]

### meta_gradient_create_multi ()

    GdkPixbuf *
    meta_gradient_create_multi (int width,
                                int height,
                                const GdkRGBA *colors,
                                int n_colors,
                                MetaGradientType style);

#### Parameters

width | Width in pixels |
height | Height in pixels |
colors | Array of colors. | [array length=n_colors]
n_colors | Number of colors |
style | Gradient style |

#### Returns

A new multi-step linear gradient.

[transfer full]

### meta_gradient_create_interwoven ()

    GdkPixbuf *
    meta_gradient_create_interwoven (int width,
                                     int height,
                                     const GdkRGBA colors1[2],
                                     int thickness1,
                                     const GdkRGBA colors2[2],
                                     int thickness2);

Interwoven essentially means we have two vertical gradients, cut into horizontal strips of the given thickness, and then the strips are alternated. I'm not sure what it's good for, just copied since WindowMaker had it.

#### Parameters

width | Width in pixels |
height | Height in pixels |
colors1 | Array of colors |
thickness1 | Thickness |
colors2 | Array of colors |
thickness2 | Thickness |

### meta_gradient_add_alpha ()

    void
    meta_gradient_add_alpha (GdkPixbuf *pixbuf,
                             const guchar *alphas,
                             int n_alphas,
                             MetaGradientType type);

## Types and Values

### enum MetaGradientType

#### Members

META_GRADIENT_VERTICAL | Vertical gradient |
META_GRADIENT_HORIZONTAL | Horizontal gradient |
META_GRADIENT_DIAGONAL | Diagonal gradient |
META_GRADIENT_LAST | Marks the end of the MetaGradientType enumeration |