php-doc-en/reference/cairo/cairocontext/curveto.xml
2012-01-11 06:50:17 +00:00

205 lines
5.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="cairocontext.curveto" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>CairoContext::curveTo</refname>
<refname>cairo_curve_to</refname>
<refpurpose>Adds a curve</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>&style.oop; (method):</para>
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>CairoContext::curveTo</methodname>
<methodparam><type>float</type><parameter>x1</parameter></methodparam>
<methodparam><type>float</type><parameter>y1</parameter></methodparam>
<methodparam><type>float</type><parameter>x2</parameter></methodparam>
<methodparam><type>float</type><parameter>y2</parameter></methodparam>
<methodparam><type>float</type><parameter>x3</parameter></methodparam>
<methodparam><type>float</type><parameter>y3</parameter></methodparam>
</methodsynopsis>
<para>&style.procedural;:</para>
<methodsynopsis>
<type>void</type><methodname>cairo_curve_to</methodname>
<methodparam><type>CairoContext</type><parameter>context</parameter></methodparam>
<methodparam><type>float</type><parameter>x1</parameter></methodparam>
<methodparam><type>float</type><parameter>y1</parameter></methodparam>
<methodparam><type>float</type><parameter>x2</parameter></methodparam>
<methodparam><type>float</type><parameter>y2</parameter></methodparam>
<methodparam><type>float</type><parameter>x3</parameter></methodparam>
<methodparam><type>float</type><parameter>y3</parameter></methodparam>
</methodsynopsis>
<para>
Adds a cubic Bezier spline to the path from the current point to position <parameter>x3</parameter>
,<parameter>y3</parameter> in user-space coordinates, using <parameter>x1</parameter>,
<parameter>y1</parameter> and <parameter>x2</parameter>, <parameter>y2</parameter> as the control
points. After this call the current point will be <parameter>x3</parameter>, <parameter>y3</parameter>.
</para>
<para>
If there is no current point before the call to <methodname>CairoContext::curveTo</methodname>
this function will behave as if preceded by a call to <methodname>CairoContext::moveTo</methodname>
(<parameter>x1</parameter>, <parameter>y1</parameter>).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
A valid <classname>CairoContext</classname> object created with
<methodname>CairoContext::__construct</methodname> or <function>cairo_create</function>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x1</parameter></term>
<listitem>
<para>
First control point in the x axis for the curve
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y1</parameter></term>
<listitem>
<para>
First control point in the y axis for the curve
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x2</parameter></term>
<listitem>
<para>
Second control point in x axis for the curve
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y2</parameter></term>
<listitem>
<para>
Second control point in y axis for the curve
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x3</parameter></term>
<listitem>
<para>
Final point in the x axis for the curve
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y3</parameter></term>
<listitem>
<para>
Final point in the y axis for the curve
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>&style.oop;</title>
<programlisting role="php">
<![CDATA[
<?php
$s = new CairoImageSurface(CairoFormat::ARGB32, 100, 100);
$c = new CairoContext($s);
$c->setSourceRgb(0, 0, 0);
$c->paint();
$c->moveTo(10, 50);
$c->setLineWidth(5);
$c->setSourceRgb(.1, 0, 1);
$c->curveTo(20, 80, 80, 20, 90, 50);
$c->stroke();
$s->writeToPng(dirname(__FILE__) . '/curveTo.png');
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>&style.procedural;</title>
<programlisting role="php">
<![CDATA[
<?php
$s = cairo_image_surface_create(CAIRO_SURFACE_TYPE_IMAGE, 100, 100);
$c = cairo_create($s);
cairo_set_source_rgb($c, 0, 0, 0);
cairo_paint($c);
cairo_move_to($c, 10, 50);
cairo_set_line_width($c, 5);
cairo_set_source_rgb($c, .1, 0, 1);
cairo_curve_to($c, 20, 80, 80, 20, 90, 50);
cairo_stroke($c);
cairo_surface_write_to_png($s, dirname(__FILE__) . '/curve_to.png');
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>CairoContext::moveTo</methodname></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
-->