Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 373d4b60c0ac577bb4893121a2d6b9bb > files > 33

ocaml-cairo-devel-1.2.0.cvs20080301-4mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="next" href="Cairo_bigarray.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Cairo" rel="Chapter" href="Cairo.html">
<link title="Cairo_bigarray" rel="Chapter" href="Cairo_bigarray.html">
<link title="Cairo_png" rel="Chapter" href="Cairo_png.html">
<link title="Cairo_pdf" rel="Chapter" href="Cairo_pdf.html">
<link title="Cairo_ps" rel="Chapter" href="Cairo_ps.html">
<link title="Cairo_ft" rel="Chapter" href="Cairo_ft.html">
<link title="Cairo_lablgtk" rel="Chapter" href="Cairo_lablgtk.html"><link title="Error reporting" rel="Section" href="#3_Errorreporting">
<link title="Types" rel="Section" href="#3_Types">
<link title="Core API" rel="Section" href="#3_CoreAPI">
<link title="Renderer state" rel="Section" href="#3_Rendererstate">
<link title="Transformations" rel="Section" href="#3_Transformations">
<link title="Paths" rel="Section" href="#3_Paths">
<link title="Text API" rel="Section" href="#3_TextAPI">
<link title="Renderer state querying" rel="Section" href="#3_Rendererstatequerying">
<link title="Surface API" rel="Section" href="#3_SurfaceAPI">
<link title="Patterns" rel="Section" href="#3_Patterns">
<link title="Matrix API" rel="Section" href="#3_MatrixAPI">
<link title="Font options" rel="Subsection" href="#4_Fontoptions">
<link title="Scaled Fonts API" rel="Subsection" href="#4_ScaledFontsAPI">
<link title="Image surface" rel="Subsection" href="#4_Imagesurface">
<title>Cairo-ocaml : Cairo</title>
</head>
<body>
<div class="navbar">&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="Cairo_bigarray.html">Next</a>
</div>
<center><h1>Module <a href="type_Cairo.html">Cairo</a></h1></center>
<br>
<pre><span class="keyword">module</span> Cairo: <code class="code">sig</code> <a href="Cairo.html">..</a> <code class="code">end</code></pre>Cairo Graphics<br>
<hr width="100%">
<br>
<a name="3_Errorreporting"></a>
<h3>Error reporting</h3><br>
<br><code><span class="keyword">type</span> <a name="TYPEstatus"></a><code class="type"></code>status = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SUCCESS</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">NO_MEMORY</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_RESTORE</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_POP_GROUP</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">NO_CURRENT_POINT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_MATRIX</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_STATUS</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">NULL_POINTER</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_STRING</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_PATH_DATA</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">READ_ERROR</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">WRITE_ERROR</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SURFACE_FINISHED</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SURFACE_TYPE_MISMATCH</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">PATTERN_TYPE_MISMATCH</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_CONTENT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_FORMAT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_VISUAL</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILE_NOT_FOUND</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_DASH</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_DSC_COMMENT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">INVALID_INDEX</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">CLIP_NOT_REPRESENTABLE</span></code></td>

</tr></table>


<pre><span class="keyword">exception</span> <a name="EXCEPTIONError"></a>Error <span class="keyword">of</span> <code class="type"><a href="Cairo.html#TYPEstatus">status</a></code></pre>
<pre><span class="keyword">val</span> <a name="VALinit"></a>init : <code class="type">unit</code></pre><pre><span class="keyword">val</span> <a name="VALversion_encode"></a>version_encode : <code class="type">int -> int -> int -> int</code></pre><pre><span class="keyword">val</span> <a name="VALrun_time_version"></a>run_time_version : <code class="type">unit -> int</code></pre><pre><span class="keyword">val</span> <a name="VALrun_time_version_string"></a>run_time_version_string : <code class="type">unit -> string</code></pre><pre><span class="keyword">val</span> <a name="VALcompile_time_version"></a>compile_time_version : <code class="type">int</code></pre><pre><span class="keyword">val</span> <a name="VALcompile_time_version_string"></a>compile_time_version_string : <code class="type">string</code></pre><br>
<a name="3_Types"></a>
<h3>Types</h3><br>
<pre><span class="keyword">type</span> <a name="TYPEt"></a><code class="type"></code>t </pre>

<pre><span class="keyword">type</span> <a name="TYPEsurface"></a><code class="type">-'a</code> surface </pre>

<pre><span class="keyword">type</span> <a name="TYPEpattern"></a><code class="type">-'a</code> pattern </pre>

<pre><span class="keyword">type</span> <a name="TYPEfont_face"></a><code class="type">-'a</code> font_face </pre>

<pre><span class="keyword">type</span> <a name="TYPEsurface_type"></a><code class="type"></code>surface_type = <code class="type">[ `BeOS<br>       | `DirectFB<br>       | `Glitz<br>       | `Image<br>       | `PDF<br>       | `PS<br>       | `Quartz<br>       | `SVG<br>       | `Win32<br>       | `XCB<br>       | `Xlib ]</code> </pre>

<pre><span class="keyword">type</span> <a name="TYPEpattern_type"></a><code class="type"></code>pattern_type = <code class="type">[ `Linear | `Radial | `Solid | `Surface ]</code> </pre>

<pre><span class="keyword">type</span> <a name="TYPEfont_type"></a><code class="type"></code>font_type = <code class="type">[ `ATSUI | `FT | `TOY | `Win32 ]</code> </pre>

<br><code><span class="keyword">type</span> <a name="TYPEcontent"></a><code class="type"></code>content = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">CONTENT_COLOR</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">CONTENT_ALPHA</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">CONTENT_COLOR_ALPHA</span></code></td>

</tr></table>


<br><code><span class="keyword">type</span> <a name="TYPEpoint"></a><code class="type"></code>point = {</code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>x&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>y&nbsp;: <code class="type">float</code>;</code></td>

</tr></table>
}


<br><code><span class="keyword">type</span> <a name="TYPEmatrix"></a><code class="type"></code>matrix = {</code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>xx&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>yx&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>xy&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>yy&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>x0&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>y0&nbsp;: <code class="type">float</code>;</code></td>

</tr></table>
}


<br>
<a name="3_CoreAPI"></a>
<h3>Core API</h3><br>
<pre><span class="keyword">val</span> <a name="VALcreate"></a>create : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> <a href="Cairo.html#TYPEt">t</a></code></pre><pre><span class="keyword">val</span> <a name="VALsave"></a>save : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALrestore"></a>restore : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALpush_group"></a>push_group : <code class="type">?content:<a href="Cairo.html#TYPEcontent">content</a> -> <a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALpop_group"></a>pop_group : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [ `Any ] <a href="Cairo.html#TYPEpattern">pattern</a></code></pre><pre><span class="keyword">val</span> <a name="VALpop_group_to_source"></a>pop_group_to_source : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALstatus"></a>status : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEstatus">status</a></code></pre><pre><span class="keyword">val</span> <a name="VALsurface_status"></a>surface_status : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> <a href="Cairo.html#TYPEstatus">status</a></code></pre><pre><span class="keyword">val</span> <a name="VALpattern_status"></a>pattern_status : <code class="type">[> `Any ] <a href="Cairo.html#TYPEpattern">pattern</a> -> <a href="Cairo.html#TYPEstatus">status</a></code></pre><pre><span class="keyword">val</span> <a name="VALfont_face_status"></a>font_face_status : <code class="type">[> `Any ] <a href="Cairo.html#TYPEfont_face">font_face</a> -> <a href="Cairo.html#TYPEstatus">status</a></code></pre><pre><span class="keyword">val</span> <a name="VALstring_of_status"></a>string_of_status : <code class="type"><a href="Cairo.html#TYPEstatus">status</a> -> string</code></pre><br>
<a name="3_Rendererstate"></a>
<h3>Renderer state</h3><br>
<br><code><span class="keyword">type</span> <a name="TYPEoperator"></a><code class="type"></code>operator = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_CLEAR</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_SOURCE</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_OVER</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_IN</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_OUT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_ATOP</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_DEST</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_DEST_OVER</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_DEST_IN</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_DEST_OUT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_DEST_ATOP</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_XOR</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_ADD</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">OPERATOR_SATURATE</span></code></td>

</tr></table>


<pre><span class="keyword">val</span> <a name="VALset_operator"></a>set_operator : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEoperator">operator</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_source"></a>set_source : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [> `Any ] <a href="Cairo.html#TYPEpattern">pattern</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_source_rgb"></a>set_source_rgb : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> red:float -> green:float -> blue:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_source_rgba"></a>set_source_rgba : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> red:float -> green:float -> blue:float -> alpha:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_source_surface"></a>set_source_surface : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> float -> float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_tolerance"></a>set_tolerance : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float -> unit</code></pre><br><code><span class="keyword">type</span> <a name="TYPEantialias"></a><code class="type"></code>antialias = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">ANTIALIAS_DEFAULT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">ANTIALIAS_NONE</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">ANTIALIAS_GRAY</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">ANTIALIAS_SUBPIXEL</span></code></td>

</tr></table>


<pre><span class="keyword">val</span> <a name="VALset_antialias"></a>set_antialias : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEantialias">antialias</a> -> unit</code></pre><br><code><span class="keyword">type</span> <a name="TYPEfill_rule"></a><code class="type"></code>fill_rule = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILL_RULE_WINDING</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILL_RULE_EVEN_ODD</span></code></td>

</tr></table>


<pre><span class="keyword">val</span> <a name="VALset_fill_rule"></a>set_fill_rule : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEfill_rule">fill_rule</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_line_width"></a>set_line_width : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float -> unit</code></pre><br><code><span class="keyword">type</span> <a name="TYPEline_cap"></a><code class="type"></code>line_cap = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">LINE_CAP_BUTT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">LINE_CAP_ROUND</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">LINE_CAP_SQUARE</span></code></td>

</tr></table>


<pre><span class="keyword">val</span> <a name="VALset_line_cap"></a>set_line_cap : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEline_cap">line_cap</a> -> unit</code></pre><br><code><span class="keyword">type</span> <a name="TYPEline_join"></a><code class="type"></code>line_join = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">LINE_JOIN_MITER</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">LINE_JOIN_ROUND</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">LINE_JOIN_BEVEL</span></code></td>

</tr></table>


<pre><span class="keyword">val</span> <a name="VALset_line_join"></a>set_line_join : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEline_join">line_join</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_dash"></a>set_dash : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float array -> float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_miter_limit"></a>set_miter_limit : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float -> unit</code></pre><br>
<a name="3_Transformations"></a>
<h3>Transformations</h3><br>
<pre><span class="keyword">val</span> <a name="VALtranslate"></a>translate : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> tx:float -> ty:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALscale"></a>scale : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> sx:float -> sy:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALrotate"></a>rotate : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> angle:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALtransform"></a>transform : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEmatrix">matrix</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_matrix"></a>set_matrix : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEmatrix">matrix</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALidentity_matrix"></a>identity_matrix : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALuser_to_device"></a>user_to_device : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> <a href="Cairo.html#TYPEpoint">point</a></code></pre><pre><span class="keyword">val</span> <a name="VALuser_to_device_distance"></a>user_to_device_distance : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> <a href="Cairo.html#TYPEpoint">point</a></code></pre><pre><span class="keyword">val</span> <a name="VALdevice_to_user"></a>device_to_user : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> <a href="Cairo.html#TYPEpoint">point</a></code></pre><pre><span class="keyword">val</span> <a name="VALdevice_to_user_distance"></a>device_to_user_distance : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> <a href="Cairo.html#TYPEpoint">point</a></code></pre><br>
<a name="3_Paths"></a>
<h3>Paths</h3><br>
<pre><span class="keyword">val</span> <a name="VALnew_path"></a>new_path : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALmove_to"></a>move_to : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> x:float -> y:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALmove_to_point"></a>move_to_point : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALnew_sub_path"></a>new_sub_path : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALline_to"></a>line_to : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> x:float -> y:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALline_to_point"></a>line_to_point : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALcurve_to"></a>curve_to : <code class="type"><a href="Cairo.html#TYPEt">t</a> -><br>       x1:float -> y1:float -> x2:float -> y2:float -> x3:float -> y3:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALcurve_to_point"></a>curve_to_point : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALarc"></a>arc : <code class="type"><a href="Cairo.html#TYPEt">t</a> -><br>       xc:float -> yc:float -> radius:float -> angle1:float -> angle2:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALarc_negative"></a>arc_negative : <code class="type"><a href="Cairo.html#TYPEt">t</a> -><br>       xc:float -> yc:float -> radius:float -> angle1:float -> angle2:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALrel_move_to"></a>rel_move_to : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> dx:float -> dy:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALrel_line_to"></a>rel_line_to : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> dx:float -> dy:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALrel_curve_to"></a>rel_curve_to : <code class="type"><a href="Cairo.html#TYPEt">t</a> -><br>       dx1:float -><br>       dy1:float -> dx2:float -> dy2:float -> dx3:float -> dy3:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALrectangle"></a>rectangle : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> x:float -> y:float -> width:float -> height:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALclose_path"></a>close_path : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALpaint"></a>paint : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALpaint_with_alpha"></a>paint_with_alpha : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALmask"></a>mask : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [> `Any ] <a href="Cairo.html#TYPEpattern">pattern</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALmask_surface"></a>mask_surface : <code class="type"><a href="Cairo.html#TYPEt">t</a> -><br>       [> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> surface_x:float -> surface_y:float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALstroke"></a>stroke : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALstroke_preserve"></a>stroke_preserve : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALfill"></a>fill : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALfill_preserve"></a>fill_preserve : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALcopy_page"></a>copy_page : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALshow_page"></a>show_page : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALin_stroke"></a>in_stroke : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> bool</code></pre><pre><span class="keyword">val</span> <a name="VALin_fill"></a>in_fill : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a> -> bool</code></pre><pre><span class="keyword">val</span> <a name="VALstroke_extents"></a>stroke_extents : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float * float * float * float</code></pre><pre><span class="keyword">val</span> <a name="VALfill_extents"></a>fill_extents : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float * float * float * float</code></pre><pre><span class="keyword">val</span> <a name="VALreset_clip"></a>reset_clip : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALclip"></a>clip : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALclip_preserve"></a>clip_preserve : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> unit</code></pre><br>
<a name="3_TextAPI"></a>
<h3>Text API</h3><br>
<br><code><span class="keyword">type</span> <a name="TYPEglyph"></a><code class="type"></code>glyph = {</code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>index&nbsp;: <code class="type">int</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>glyph_x&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>glyph_y&nbsp;: <code class="type">float</code>;</code></td>

</tr></table>
}


<br><code><span class="keyword">type</span> <a name="TYPEtext_extents"></a><code class="type"></code>text_extents = {</code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>x_bearing&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>y_bearing&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>text_width&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>text_height&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>x_advance&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>y_advance&nbsp;: <code class="type">float</code>;</code></td>

</tr></table>
}


<br><code><span class="keyword">type</span> <a name="TYPEfont_extents"></a><code class="type"></code>font_extents = {</code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>ascent&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>descent&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>font_height&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>max_x_advance&nbsp;: <code class="type">float</code>;</code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code>max_y_advance&nbsp;: <code class="type">float</code>;</code></td>

</tr></table>
}


<br><code><span class="keyword">type</span> <a name="TYPEfont_slant"></a><code class="type"></code>font_slant = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FONT_SLANT_NORMAL</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FONT_SLANT_ITALIC</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FONT_SLANT_OBLIQUE</span></code></td>

</tr></table>


<br><code><span class="keyword">type</span> <a name="TYPEfont_weight"></a><code class="type"></code>font_weight = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FONT_WEIGHT_NORMAL</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FONT_WEIGHT_BOLD</span></code></td>

</tr></table>


<br><code><span class="keyword">type</span> <a name="TYPEsubpixel_order"></a><code class="type"></code>subpixel_order = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SUBPIXEL_ORDER_DEFAULT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SUBPIXEL_ORDER_RGB</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SUBPIXEL_ORDER_BGR</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SUBPIXEL_ORDER_VRGB</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">SUBPIXEL_ORDER_VBGR</span></code></td>

</tr></table>


<br><code><span class="keyword">type</span> <a name="TYPEhint_style"></a><code class="type"></code>hint_style = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_STYLE_DEFAULT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_STYLE_NONE</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_STYLE_SLIGHT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_STYLE_MEDIUM</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_STYLE_FULL</span></code></td>

</tr></table>


<br><code><span class="keyword">type</span> <a name="TYPEhint_metrics"></a><code class="type"></code>hint_metrics = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_METRICS_DEFAULT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_METRICS_OFF</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">HINT_METRICS_ON</span></code></td>

</tr></table>


<pre><span class="keyword">val</span> <a name="VALfont_face_get_type"></a>font_face_get_type : <code class="type">[> `Any ] <a href="Cairo.html#TYPEfont_face">font_face</a> -> [ `ATSUI | `Any | `FT | `TOY | `Win32 ]</code></pre><pre><span class="keyword">val</span> <a name="VALfont_face_downcast_to_toy"></a>font_face_downcast_to_toy : <code class="type">[> `Any ] <a href="Cairo.html#TYPEfont_face">font_face</a> -> [ `Any | `TOY ] <a href="Cairo.html#TYPEfont_face">font_face</a></code></pre><br>
<a name="4_Fontoptions"></a>
<h4>Font options</h4><br>
<pre><span class="keyword">module</span> <a href="Cairo.Font_Options.html">Font_Options</a>: <code class="code">sig</code> <a href="Cairo.Font_Options.html">..</a> <code class="code">end</code></pre><div class="info">
Font options functions
</div>
<br>
<a name="4_ScaledFontsAPI"></a>
<h4>Scaled Fonts API</h4><br>
<pre><span class="keyword">module</span> <a href="Cairo.Scaled_Font.html">Scaled_Font</a>: <code class="code">sig</code> <a href="Cairo.Scaled_Font.html">..</a> <code class="code">end</code></pre><div class="info">
Scaled fonts functions
</div>
<pre><span class="keyword">val</span> <a name="VALselect_font_face"></a>select_font_face : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> string -> <a href="Cairo.html#TYPEfont_slant">font_slant</a> -> <a href="Cairo.html#TYPEfont_weight">font_weight</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_font_size"></a>set_font_size : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALset_font_matrix"></a>set_font_matrix : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEmatrix">matrix</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALget_font_matrix"></a>get_font_matrix : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEmatrix">matrix</a></code></pre><pre><span class="keyword">val</span> <a name="VALset_font_options"></a>set_font_options : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.Font_Options.html#TYPEt">Font_Options.t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALmerge_font_options"></a>merge_font_options : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.Font_Options.html#TYPEt">Font_Options.t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALget_font_options"></a>get_font_options : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.Font_Options.html#TYPEt">Font_Options.t</a></code></pre><pre><span class="keyword">val</span> <a name="VALset_scaled_font"></a>set_scaled_font : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [> `Any ] <a href="Cairo.Scaled_Font.html#TYPEt">Scaled_Font.t</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALshow_text"></a>show_text : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> string -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALshow_glyphs"></a>show_glyphs : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEglyph">glyph</a> array -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALget_font_face"></a>get_font_face : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [ `Any ] <a href="Cairo.html#TYPEfont_face">font_face</a></code></pre><pre><span class="keyword">val</span> <a name="VALfont_extents"></a>font_extents : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEfont_extents">font_extents</a></code></pre><pre><span class="keyword">val</span> <a name="VALset_font_face"></a>set_font_face : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [> `Any ] <a href="Cairo.html#TYPEfont_face">font_face</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALtext_extents"></a>text_extents : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> string -> <a href="Cairo.html#TYPEtext_extents">text_extents</a></code></pre><pre><span class="keyword">val</span> <a name="VALglyph_extents"></a>glyph_extents : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEglyph">glyph</a> array -> <a href="Cairo.html#TYPEtext_extents">text_extents</a></code></pre><pre><span class="keyword">val</span> <a name="VALtext_path"></a>text_path : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> string -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALglyph_path"></a>glyph_path : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEglyph">glyph</a> array -> unit</code></pre><br>
<a name="3_Rendererstatequerying"></a>
<h3>Renderer state querying</h3><br>
<pre><span class="keyword">val</span> <a name="VALget_operator"></a>get_operator : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEoperator">operator</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_source"></a>get_source : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [ `Any ] <a href="Cairo.html#TYPEpattern">pattern</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_tolerance"></a>get_tolerance : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float</code></pre><pre><span class="keyword">val</span> <a name="VALget_antialias"></a>get_antialias : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEantialias">antialias</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_current_point"></a>get_current_point : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEpoint">point</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_fill_rule"></a>get_fill_rule : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEfill_rule">fill_rule</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_line_width"></a>get_line_width : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float</code></pre><pre><span class="keyword">val</span> <a name="VALget_line_cap"></a>get_line_cap : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEline_cap">line_cap</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_line_join"></a>get_line_join : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEline_join">line_join</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_miter_limit"></a>get_miter_limit : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> float</code></pre><pre><span class="keyword">val</span> <a name="VALget_matrix"></a>get_matrix : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> <a href="Cairo.html#TYPEmatrix">matrix</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_target"></a>get_target : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [ `Any ] <a href="Cairo.html#TYPEsurface">surface</a></code></pre><pre><span class="keyword">val</span> <a name="VALget_group_target"></a>get_group_target : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [ `Any ] <a href="Cairo.html#TYPEsurface">surface</a></code></pre><pre><span class="keyword">type</span> <a name="TYPEflat_path"></a><code class="type"></code>flat_path = <code class="type">[ `CLOSE | `LINE_TO of <a href="Cairo.html#TYPEpoint">point</a> | `MOVE_TO of <a href="Cairo.html#TYPEpoint">point</a> ]</code> </pre>

<pre><span class="keyword">type</span> <a name="TYPEpath"></a><code class="type"></code>path = <code class="type">[ `CLOSE<br>       | `CURVE_TO of <a href="Cairo.html#TYPEpoint">point</a> * <a href="Cairo.html#TYPEpoint">point</a> * <a href="Cairo.html#TYPEpoint">point</a><br>       | `LINE_TO of <a href="Cairo.html#TYPEpoint">point</a><br>       | `MOVE_TO of <a href="Cairo.html#TYPEpoint">point</a> ]</code> </pre>

<pre><span class="keyword">val</span> <a name="VALfold_path"></a>fold_path : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> ('a -> [> <a href="Cairo.html#TYPEpath">path</a> ] -> 'a) -> 'a -> 'a</code></pre><pre><span class="keyword">val</span> <a name="VALfold_path_flat"></a>fold_path_flat : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> ('a -> [> <a href="Cairo.html#TYPEflat_path">flat_path</a> ] -> 'a) -> 'a -> 'a</code></pre><pre><span class="keyword">val</span> <a name="VALappend_path"></a>append_path : <code class="type"><a href="Cairo.html#TYPEt">t</a> -> [< <a href="Cairo.html#TYPEpath">path</a> ] -> unit</code></pre><br>
<a name="3_SurfaceAPI"></a>
<h3>Surface API</h3><br>
<pre><span class="keyword">val</span> <a name="VALsurface_create_similar"></a>surface_create_similar : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -><br>       <a href="Cairo.html#TYPEcontent">content</a> -> width:int -> height:int -> [ `Any ] <a href="Cairo.html#TYPEsurface">surface</a></code></pre><pre><span class="keyword">val</span> <a name="VALsurface_finish"></a>surface_finish : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALsurface_get_type"></a>surface_get_type : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -><br>       [ `Any<br>       | `BeOS<br>       | `DirectFB<br>       | `Glitz<br>       | `Image<br>       | `PDF<br>       | `PS<br>       | `Quartz<br>       | `SVG<br>       | `Win32<br>       | `XCB<br>       | `Xlib ]</code></pre><pre><span class="keyword">val</span> <a name="VALsurface_get_content"></a>surface_get_content : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> <a href="Cairo.html#TYPEcontent">content</a></code></pre><pre><span class="keyword">val</span> <a name="VALsurface_get_font_options"></a>surface_get_font_options : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> <a href="Cairo.Font_Options.html#TYPEt">Font_Options.t</a></code></pre><pre><span class="keyword">val</span> <a name="VALsurface_flush"></a>surface_flush : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALmark_dirty"></a>mark_dirty : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALmark_dirty_rectangle"></a>mark_dirty_rectangle : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> int -> int -> int -> int -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALsurface_set_device_offset"></a>surface_set_device_offset : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> float -> float -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALsurface_get_device_offset"></a>surface_get_device_offset : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> float * float</code></pre><pre><span class="keyword">val</span> <a name="VALsurface_set_fallback_resolution"></a>surface_set_fallback_resolution : <code class="type">[> `Any ] <a href="Cairo.html#TYPEsurface">surface</a> -> float -> float -> unit</code></pre><br>
<a name="4_Imagesurface"></a>
<h4>Image surface</h4><br>
<pre><span class="keyword">type</span> <a name="TYPEimage_surface"></a><code class="type"></code>image_surface = <code class="type">[ `Any | `Image ] <a href="Cairo.html#TYPEsurface">surface</a></code> </pre>

<br><code><span class="keyword">type</span> <a name="TYPEformat"></a><code class="type"></code>format = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FORMAT_ARGB32</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FORMAT_RGB24</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FORMAT_A8</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FORMAT_A1</span></code></td>

</tr></table>


<pre><span class="keyword">val</span> <a name="VALimage_surface_create"></a>image_surface_create : <code class="type"><a href="Cairo.html#TYPEformat">format</a> -> width:int -> height:int -> <a href="Cairo.html#TYPEimage_surface">image_surface</a></code></pre><pre><span class="keyword">val</span> <a name="VALimage_surface_get_format"></a>image_surface_get_format : <code class="type">[> `Image ] <a href="Cairo.html#TYPEsurface">surface</a> -> <a href="Cairo.html#TYPEformat">format</a></code></pre><pre><span class="keyword">val</span> <a name="VALimage_surface_get_width"></a>image_surface_get_width : <code class="type">[> `Image ] <a href="Cairo.html#TYPEsurface">surface</a> -> int</code></pre><pre><span class="keyword">val</span> <a name="VALimage_surface_get_height"></a>image_surface_get_height : <code class="type">[> `Image ] <a href="Cairo.html#TYPEsurface">surface</a> -> int</code></pre><pre><span class="keyword">val</span> <a name="VALimage_surface_get_stride"></a>image_surface_get_stride : <code class="type">[> `Image ] <a href="Cairo.html#TYPEsurface">surface</a> -> int</code></pre><br>
<a name="3_Patterns"></a>
<h3>Patterns</h3><br>
<pre><span class="keyword">type</span> <a name="TYPEsolid_pattern"></a><code class="type"></code>solid_pattern = <code class="type">[ `Any | `Solid ] <a href="Cairo.html#TYPEpattern">pattern</a></code> </pre>

<pre><span class="keyword">type</span> <a name="TYPEsurface_pattern"></a><code class="type"></code>surface_pattern = <code class="type">[ `Any | `Surface ] <a href="Cairo.html#TYPEpattern">pattern</a></code> </pre>

<pre><span class="keyword">type</span> <a name="TYPEgradient_pattern"></a><code class="type"></code>gradient_pattern = <code class="type">[ `Any | `Gradient ] <a href="Cairo.html#TYPEpattern">pattern</a></code> </pre>

<br><code><span class="keyword">type</span> <a name="TYPEextend"></a><code class="type"></code>extend = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">EXTEND_NONE</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">EXTEND_REPEAT</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">EXTEND_REFLECT</span></code></td>

</tr></table>


<br><code><span class="keyword">type</span> <a name="TYPEfilter"></a><code class="type"></code>filter = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILTER_FAST</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILTER_GOOD</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILTER_BEST</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILTER_NEAREST</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILTER_BILINEAR</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">FILTER_GAUSSIAN</span></code></td>

</tr></table>


<pre><span class="keyword">module</span> <a href="Cairo.Pattern.html">Pattern</a>: <code class="code">sig</code> <a href="Cairo.Pattern.html">..</a> <code class="code">end</code></pre><div class="info">
Patterns functions
</div>
<br>
<a name="3_MatrixAPI"></a>
<h3>Matrix API</h3><br>
<pre><span class="keyword">module</span> <a href="Cairo.Matrix.html">Matrix</a>: <code class="code">sig</code> <a href="Cairo.Matrix.html">..</a> <code class="code">end</code></pre><div class="info">
Matrix functions
</div>
</body></html>