Top | ![]() |
![]() |
![]() |
![]() |
void | meta_shaped_texture_set_create_mipmaps () |
gboolean | meta_shaped_texture_update_area () |
CoglTexture * | meta_shaped_texture_get_texture () |
void | meta_shaped_texture_set_overlay_path () |
void | meta_shaped_texture_set_clip_region () |
void | meta_shaped_texture_set_opaque_region () |
cairo_surface_t * | meta_shaped_texture_get_image () |
void | meta_shaped_texture_ensure_mask () |
void | meta_shaped_texture_dirty_mask () |
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
);
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 |
||
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 |
CoglTexture *
meta_shaped_texture_get_texture (MetaShapedTexture *stex
);
void meta_shaped_texture_set_overlay_path (MetaShapedTexture *stex
,cairo_region_t *overlay_region
,cairo_path_t *overlay_path
);
stex |
||
overlay_region |
A region containing the parts of the mask to overlay. All rectangles in this region are wiped clear to full transparency, and the overlay path is clipped to this region. |
|
overlay_path |
This path will be painted onto the mask texture with a fully opaque source. Due to the lack of refcounting in cairo_path_t, ownership of the path is assumed. |
[transfer full] |
void meta_shaped_texture_set_clip_region (MetaShapedTexture *stex
,cairo_region_t *clip_region
);
Provides a hint to the texture about what areas of the texture are not completely obscured and thus need to be painted. This is an optimization and is not supposed to have any effect on the output.
Typically a parent container will set the clip region before painting its children, and then unset it afterwards.
void meta_shaped_texture_set_opaque_region (MetaShapedTexture *stex
,cairo_region_t *opaque_region
);
As most windows have a large portion that does not require blending, we can easily turn off blending if we know the areas that do not require blending. This sets the region where we will not blend for optimization purposes.
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.
void meta_shaped_texture_ensure_mask (MetaShapedTexture *stex
,cairo_region_t *shape_region
,gboolean has_frame
);
“size-changed”
signalvoid user_function (MetaShapedTexture *metashapedtexture, gpointer user_data)
Flags: Run Last