mirror of
https://github.com/brl/mutter.git
synced 2025-01-23 18:09:10 +00:00
cairo-texture: Use an internal function for create_region()
Avoid double argument checking, and a deprecation warning when implementing create() as a wrapper around create_region(), by using a simple internal function.
This commit is contained in:
parent
b19c919645
commit
f4e971a7e5
@ -757,49 +757,19 @@ intersect_rectangles (cairo_rectangle_int_t *a,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
static cairo_t *
|
||||||
* clutter_cairo_texture_create_region:
|
clutter_cairo_texture_create_region_internal (ClutterCairoTexture *self,
|
||||||
* @self: a #ClutterCairoTexture
|
gint x_offset,
|
||||||
* @x_offset: offset of the region on the X axis
|
gint y_offset,
|
||||||
* @y_offset: offset of the region on the Y axis
|
gint width,
|
||||||
* @width: width of the region, or -1 for the full surface width
|
gint height)
|
||||||
* @height: height of the region, or -1 for the full surface height
|
|
||||||
*
|
|
||||||
* Creates a new Cairo context that will updat the region defined
|
|
||||||
* by @x_offset, @y_offset, @width and @height.
|
|
||||||
*
|
|
||||||
* <warning><para>Do not call this function within the paint virtual
|
|
||||||
* function or from a callback to the #ClutterActor::paint
|
|
||||||
* signal.</para></warning>
|
|
||||||
*
|
|
||||||
* Return value: a newly created Cairo context. Use cairo_destroy()
|
|
||||||
* to upload the contents of the context when done drawing
|
|
||||||
*
|
|
||||||
* Since: 1.0
|
|
||||||
*
|
|
||||||
* Deprecated: 1.8: Use the #ClutterCairoTexture::draw signal and
|
|
||||||
* clutter_cairo_texture_invalidate_rectangle() to obtain a
|
|
||||||
* clipped Cairo context for 2D drawing.
|
|
||||||
*/
|
|
||||||
cairo_t *
|
|
||||||
clutter_cairo_texture_create_region (ClutterCairoTexture *self,
|
|
||||||
gint x_offset,
|
|
||||||
gint y_offset,
|
|
||||||
gint width,
|
|
||||||
gint height)
|
|
||||||
{
|
{
|
||||||
ClutterCairoTexturePrivate *priv;
|
ClutterCairoTexturePrivate *priv = self->priv;
|
||||||
DrawContext *ctxt;
|
|
||||||
cairo_rectangle_int_t region, area, inter;
|
cairo_rectangle_int_t region, area, inter;
|
||||||
cairo_surface_t *surface;
|
cairo_surface_t *surface;
|
||||||
|
DrawContext *ctxt;
|
||||||
cairo_t *cr;
|
cairo_t *cr;
|
||||||
|
|
||||||
g_return_val_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self), NULL);
|
|
||||||
|
|
||||||
clutter_warn_if_paint_fail (self);
|
|
||||||
|
|
||||||
priv = self->priv;
|
|
||||||
|
|
||||||
if (width < 0)
|
if (width < 0)
|
||||||
width = priv->surface_width;
|
width = priv->surface_width;
|
||||||
|
|
||||||
@ -842,6 +812,46 @@ clutter_cairo_texture_create_region (ClutterCairoTexture *self,
|
|||||||
return cr;
|
return cr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clutter_cairo_texture_create_region:
|
||||||
|
* @self: a #ClutterCairoTexture
|
||||||
|
* @x_offset: offset of the region on the X axis
|
||||||
|
* @y_offset: offset of the region on the Y axis
|
||||||
|
* @width: width of the region, or -1 for the full surface width
|
||||||
|
* @height: height of the region, or -1 for the full surface height
|
||||||
|
*
|
||||||
|
* Creates a new Cairo context that will updat the region defined
|
||||||
|
* by @x_offset, @y_offset, @width and @height.
|
||||||
|
*
|
||||||
|
* <warning><para>Do not call this function within the paint virtual
|
||||||
|
* function or from a callback to the #ClutterActor::paint
|
||||||
|
* signal.</para></warning>
|
||||||
|
*
|
||||||
|
* Return value: a newly created Cairo context. Use cairo_destroy()
|
||||||
|
* to upload the contents of the context when done drawing
|
||||||
|
*
|
||||||
|
* Since: 1.0
|
||||||
|
*
|
||||||
|
* Deprecated: 1.8: Use the #ClutterCairoTexture::draw signal and
|
||||||
|
* clutter_cairo_texture_invalidate_rectangle() to obtain a
|
||||||
|
* clipped Cairo context for 2D drawing.
|
||||||
|
*/
|
||||||
|
cairo_t *
|
||||||
|
clutter_cairo_texture_create_region (ClutterCairoTexture *self,
|
||||||
|
gint x_offset,
|
||||||
|
gint y_offset,
|
||||||
|
gint width,
|
||||||
|
gint height)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self), NULL);
|
||||||
|
|
||||||
|
clutter_warn_if_paint_fail (self);
|
||||||
|
|
||||||
|
return clutter_cairo_texture_create_region_internal (self,
|
||||||
|
x_offset, y_offset,
|
||||||
|
width, height);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_cairo_texture_invalidate_rectangle:
|
* clutter_cairo_texture_invalidate_rectangle:
|
||||||
* @self: a #ClutterCairoTexture
|
* @self: a #ClutterCairoTexture
|
||||||
@ -953,7 +963,7 @@ clutter_cairo_texture_create (ClutterCairoTexture *self)
|
|||||||
|
|
||||||
clutter_warn_if_paint_fail (self);
|
clutter_warn_if_paint_fail (self);
|
||||||
|
|
||||||
return clutter_cairo_texture_create_region (self, 0, 0, -1, -1);
|
return clutter_cairo_texture_create_region_internal (self, 0, 0, -1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user