(PECL cairo >= 0.1.0)
CairoContext::clip -- cairo_clip — Establishes a new clip region
Object oriented style (method):
Procedural style:
Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by CairoContext::fill or cairo_fill() and according to the current fill rule (see CairoContext::setFillRule or cairo_set_fill_rule()).
After CairoContext::clip or cairo_clip(), the current path will be cleared from the cairo context.
The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.
Calling CairoContext::clip or cairo_clip() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling CairoContext::clip or cairo_clip() within a CairoContext::save/ CairoContext::restore or cairo_save()/cairo_restore() pair. The only other means of increasing the size of the clip region is CairoContext::resetClip or procedural cairo_reset_clip().
A valid CairoContext object
No value is returned.
Example #1 Object oriented style
<?php
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);
$context->clip();
?>
Example #2 Procedural style
<?php
$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$context = cairo_create($surface);
cairo_clip($context);
?>