MetaShapedTexture

MetaShapedTexture — An actor to draw a masked texture.

Synopsis

struct              MetaShapedTexture;
struct              MetaShapedTextureClass;
ClutterActor *      meta_shaped_texture_new             (void);
void                meta_shaped_texture_set_create_mipmaps
                                                        (MetaShapedTexture *stex,
                                                         gboolean create_mipmaps);
gboolean            meta_shaped_texture_update_area     (MetaShapedTexture *stex,
                                                         int x,
                                                         int y,
                                                         int width,
                                                         int height,
                                                         cairo_region_t *unobscured_region);
void                meta_shaped_texture_set_pixmap      (MetaShapedTexture *stex,
                                                         Pixmap pixmap);
CoglTexture *       meta_shaped_texture_get_texture     (MetaShapedTexture *stex);
void                meta_shaped_texture_set_mask_texture
                                                        (MetaShapedTexture *stex,
                                                         CoglTexture *mask_texture);
cairo_surface_t *   meta_shaped_texture_get_image       (MetaShapedTexture *stex,
                                                         cairo_rectangle_int_t *clip);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----ClutterActor
               +----MetaShapedTexture

Implemented Interfaces

MetaShapedTexture implements ClutterContainer, ClutterScriptable, ClutterAnimatable, AtkImplementorIface and MetaCullable.

Description

Details

struct MetaShapedTexture

struct MetaShapedTexture;

The MetaShapedTexture structure contains only private data and should be accessed using the provided API


struct MetaShapedTextureClass

struct MetaShapedTextureClass {
};

meta_shaped_texture_new ()

ClutterActor *      meta_shaped_texture_new             (void);

meta_shaped_texture_set_create_mipmaps ()

void                meta_shaped_texture_set_create_mipmaps
                                                        (MetaShapedTexture *stex,
                                                         gboolean create_mipmaps);

meta_shaped_texture_update_area ()

gboolean            meta_shaped_texture_update_area     (MetaShapedTexture *stex,
                                                         int x,
                                                         int y,
                                                         int width,
                                                         int height,
                                                         cairo_region_t *unobscured_region);

Repairs the damaged area indicated by x, y, width and height and queues a redraw for the intersection visibible_region and the damage area. If visibible_region is NULL a redraw will always get queued.

stex :

MetaShapedTexture

x :

the x coordinate of the damaged area

y :

the y coordinate of the damaged area

width :

the width of the damaged area

height :

the height of the damaged area

unobscured_region :

The unobscured region of the window or NULL if there is no valid one (like when the actor is transformed or has a mapped clone)

Returns :

Whether a redraw have been queued or not

meta_shaped_texture_set_pixmap ()

void                meta_shaped_texture_set_pixmap      (MetaShapedTexture *stex,
                                                         Pixmap pixmap);

stex :

The MetaShapedTexture

pixmap :

The pixmap you want the stex to assume

meta_shaped_texture_get_texture ()

CoglTexture *       meta_shaped_texture_get_texture     (MetaShapedTexture *stex);

stex :

The MetaShapedTexture

Returns :

the unshaped texture. [transfer none]

meta_shaped_texture_set_mask_texture ()

void                meta_shaped_texture_set_mask_texture
                                                        (MetaShapedTexture *stex,
                                                         CoglTexture *mask_texture);

meta_shaped_texture_get_image ()

cairo_surface_t *   meta_shaped_texture_get_image       (MetaShapedTexture *stex,
                                                         cairo_rectangle_int_t *clip);

Flattens the two layers of the shaped texture into one ARGB32 image by alpha blending the two images, and returns the flattened image.

stex :

A MetaShapedTexture

clip :

A clipping rectangle, to help prevent extra processing. In the case that the clipping rectangle is partially or fully outside the bounds of the texture, the rectangle will be clipped.

Returns :

a new cairo surface to be freed with cairo_surface_destroy(). [transfer full]