CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext
PHP Manual

# CairoContext::clipPreserve

# cairo_clip_preserve

(PECL cairo >= 0.1.0)

CairoContext::clipPreserve -- cairo_clip_preserve — Establishes a new clip region from the current clip

### 説明

Object oriented style (method):

public void CairoContext::clipPreserve ( void )

Procedural style:

void cairo_clip_preserve ( CairoContext `$context` )

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by Context.fill and according to the current FILL RULE (see CairoContext::setFillRule or cairo_set_fill_rule()).

Unlike CairoContext::clip, CairoContext::clipPreserve preserves the path within the 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::clipPreserve 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::clipPreserve within a CairoContext::save/ CairoContext::restore pair. The only other means of increasing the size of the clip region is CairoContext::resetClip.

### パラメータ

`context`

  A valid CairoContext object

### 返り値

値を返しません。

### 例

例1 Object oriented style

`<?php
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);
$context->clipPreserve();
?>`

例2 Procedural style

`<?php
$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$context = cairo_create($surface);
cairo_clip_preserve($context);
?>`

### 参考

- CairoContext::save - The save purpose
- CairoContext::restore - The restore purpose
- CairoContext::resetClip - The resetClip purpose

CairoContext::clipExtents
CairoContext::clipRectangleList
CairoContext
PHP Manual