(PECL cairo >= 0.1.0)
CairoContext::clipPreserve -- cairo_clip_preserve — Establce una nueva región de recorte desde el recorte actual
Estilo orientado a objetos (método):
Estilo por procedimientos:
Establece una nueva región de recorte intersectando la región de recorte actual con el trazado actual como si fuese rellenada por Context.fill() y según la acutual FILL RULE (véase CairoContext::setFillRule() o cairo_set_fill_rule()).
A diferencia de CairoContext::clip(), CairoContext::clipPreserve() preserva el trazado dentro de Context. La región de recorte actual afecta a todas las operaciones de dibujo enmascarando cualquier cambio hecho a la superficie que esté fuera de la región de recorte actual.
Llamar a CairoContext::clipPreserve() sólo puede hacer la región de recorte más pequeña, nunca más grande. Pero el recorte actual es parte del estado de gráficos, por lo que se puede llevar a cabo una restricción temporal de la región de recorte llamando a CairoContext::clipPreserve() dentro de una pareja CairoContext::save()/CairoContext::restore(). El otro medio para incrementar el tamaño de la región de recorte es CairoContext::resetClip().
context
Un objeto CairoContext válido
No devuelve ningún valor.
Ejemplo #1 Estilo orientado a objetos
<?php
$superficie = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$contexto = new CairoContext($superficie);
$contexto->clipPreserve();
?>
Ejemplo #2 Estilo por procedimientos
<?php
$superficie = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$contexto = cairo_create($superficie);
cairo_clip_preserve($contexto);
?>