1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 294366 $ -->
<refentry xml:id="cairocontext.clip" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>CairoContext::clip</refname>
<refname>cairo_clip</refname>
<refpurpose>Establishes a new clip region</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>Object oriented style (method):</para>
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>CairoContext::clip</methodname>
<void />
</methodsynopsis>
<para>Procedural style:</para>
<methodsynopsis>
<type>void</type><methodname>cairo_clip</methodname>
<methodparam><type>CairoContext</type><parameter>context</parameter></methodparam>
</methodsynopsis>
<para>
Establishes a new clip region by intersecting the current clip region with the current path as it
would be filled by <methodname>CairoContext::fill</methodname> or <function>cairo_fill</function>
and according to the current fill rule (see <methodname>CairoContext::setFillRule</methodname>
or <function>cairo_set_fill_rule</function>).
</para>
<para>
After <methodname>CairoContext::clip</methodname> or <function>cairo_clip</function>,
the current path will be cleared from the cairo context.
</para>
<para>
The current clip region affects all drawing operations by effectively masking out any changes
to the surface that are outside the current clip region.
</para>
<para>
Calling <methodname>CairoContext::clip</methodname> or <function>cairo_clip</function>
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
<methodname>CairoContext::clip</methodname> or <function>cairo_clip</function> within a
<methodname>CairoContext::save</methodname>/<methodname>CairoContext::restore</methodname> or
<function>cairo_save</function>/<function>cairo_restore</function> pair.
The only other means of increasing the size of the clip region is
<methodname>CairoContext::resetClip</methodname> or procedural <function>cairo_reset_clip</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
A valid CairoContext object
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Object oriented style</title>
<programlisting role="php">
<![CDATA[
<?php
$surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
$context = new CairoContext($surface);
$context->clip();
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Procedural style</title>
<programlisting role="php">
<![CDATA[
<?php
$surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
$context = cairo_create($surface);
cairo_clip($context);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>CairoContext::resetClip</methodname></member>
<member><function>cairo_reset_clip</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|