Sophie

Sophie

distrib > Fedora > 13 > x86_64 > by-pkgid > f5b8bf9ba5c3c0062e8b494b5ddab2e8 > files > 43

cairomm-devel-1.8.4-1.fc13.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
        <title>cairomm: Cairo::Context Class Reference</title>
        <link href="cairomm.css" rel="stylesheet" type="text/css">
    </head>
<body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceCairo.html">Cairo</a>::<a class="el" href="classCairo_1_1Context.html">Context</a>
  </div>
</div>
<div class="contents">
<h1>Cairo::Context Class Reference</h1><!-- doxytag: class="Cairo::Context" --><a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> is the main class used to draw in cairomm.  
<a href="#_details">More...</a>
<p>

<p>
<a href="classCairo_1_1Context-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef cairo_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a></td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The base cairo C type that is wrapped by <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Cairo::Context</a>.  <a href="#14e54b45199452f9916ebcafcd4a629e"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#db2361743a9f017e662c3c6809dfc765">Context</a> (cairo_t*<a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a>, bool has_reference=false)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a C++ wrapper for the C instance.  <a href="#db2361743a9f017e662c3c6809dfc765"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#35d214d3ad4d29bd5993d683333a9791">~Context</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6">save</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes a copy of the current state of the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> and saves it on an internal stack of saved states.  <a href="#5249fa850f6adc1cb743e60a65a1ddb6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815">restore</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Restores cr to the state saved by a preceding call to <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> and removes that state from the stack of saved states.  <a href="#45a80032b95d87eafe72dc2ab235f815"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#61f276527b921cbd4fd81880ac372e2a">set_operator</a> (<a class="el" href="namespaceCairo.html#2d612c31d146fc32d486f9614560c8d1">Operator</a> op)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the compositing operator to be used for all drawing operations.  <a href="#61f276527b921cbd4fd81880ac372e2a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#534d571d5aa4b500782036202a3e2aea">set_source</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Pattern.html">Pattern</a> &gt;&amp; source)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the source pattern within the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> to source.  <a href="#534d571d5aa4b500782036202a3e2aea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#ff3f3fc62bdf862646bb8cc568c30b2a">set_source_rgb</a> (double red, double green, double blue)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the source pattern within the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> to an opaque color.  <a href="#ff3f3fc62bdf862646bb8cc568c30b2a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#f9267aed8eb866701178dcada6c7e51a">set_source_rgba</a> (double red, double green, double blue, double alpha)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the source pattern within the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> to a translucent color.  <a href="#f9267aed8eb866701178dcada6c7e51a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#d88c0ef8700410920b37833b8e6ed329">set_source</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp; surface, double x, double y)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a convenience function for creating a pattern from a <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a> and setting it as the source.  <a href="#d88c0ef8700410920b37833b8e6ed329"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#01481a915f4086051f1c200f0f7a33d1">set_tolerance</a> (double tolerance)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the tolerance used when converting paths into trapezoids.  <a href="#01481a915f4086051f1c200f0f7a33d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#79220a6785490688fdea41750d8933d6">set_antialias</a> (<a class="el" href="namespaceCairo.html#2cb381e7f63bef767a7d697fc5af13b4">Antialias</a> antialias)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the antialiasing mode of the rasterizer used for drawing shapes.  <a href="#79220a6785490688fdea41750d8933d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#d15693ae817e3229409d831c7dd96bed">set_fill_rule</a> (<a class="el" href="namespaceCairo.html#1ba15b0a2e22c87c14af044801006c85">FillRule</a> fill_rule)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current fill rule within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#d15693ae817e3229409d831c7dd96bed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#9ad2649d95e81a65aa0c581c4345375e">set_line_width</a> (double width)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current line width within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#9ad2649d95e81a65aa0c581c4345375e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#07fd8fc2c75558484e960c5ff63a61cc">set_line_cap</a> (<a class="el" href="namespaceCairo.html#bbb9aae64ef26733965e6d500ae76f1e">LineCap</a> line_cap)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current line cap style within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#07fd8fc2c75558484e960c5ff63a61cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#23b5ba9363f568cacc1abf5e79a0200d">set_line_join</a> (<a class="el" href="namespaceCairo.html#dbc632404edaa736e01c12122239de73">LineJoin</a> line_join)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current line join style within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#23b5ba9363f568cacc1abf5e79a0200d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#aa0b483d3f36facb1c9f2aa7f0a0ac13">set_dash</a> (<a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00598.html">std::valarray</a>&lt; double &gt;&amp; dashes, double offset)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Alternate version of <a class="el" href="classCairo_1_1Context.html#aa0b483d3f36facb1c9f2aa7f0a0ac13" title="Alternate version of set_dash().">set_dash()</a>.  <a href="#aa0b483d3f36facb1c9f2aa7f0a0ac13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#de74abb6db86a97ff3800e431e27ba45">set_dash</a> (<a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; double &gt;&amp; dashes, double offset)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the dash pattern to be used by <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a>.  <a href="#de74abb6db86a97ff3800e431e27ba45"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#b20ad42403add42a9388b281074b77d2">unset_dash</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables a dash pattern that was set with <a class="el" href="classCairo_1_1Context.html#aa0b483d3f36facb1c9f2aa7f0a0ac13" title="Alternate version of set_dash().">set_dash()</a>.  <a href="#b20ad42403add42a9388b281074b77d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#583445ca963769d3f31613bc55b1e8ad">set_miter_limit</a> (double limit)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#3058f50f915d9c43d165dfcd1a940cdc">translate</a> (double tx, double ty)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty).  <a href="#3058f50f915d9c43d165dfcd1a940cdc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#45543fb03fb740fe4c013492f348e084">scale</a> (double sx, double sy)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively.  <a href="#45543fb03fb740fe4c013492f348e084"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#332811cd74028c20b5832501ec46d67e">rotate</a> (double angle_radians)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians.  <a href="#332811cd74028c20b5832501ec46d67e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#0ae251ef83d7c2985f4306abc905934d">rotate_degrees</a> (double angle_degres)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A convenience wrapper around <a class="el" href="classCairo_1_1Context.html#332811cd74028c20b5832501ec46d67e" title="Modifies the current transformation matrix (CTM) by rotating the user-space axes...">rotate()</a> that accepts angles in degrees.  <a href="#0ae251ef83d7c2985f4306abc905934d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#c520512061fa271fff3b1f922f94c9cb">transform</a> (const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp; matrix)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifies the current transformation matrix (CTM) by applying matrix as an additional transformation.  <a href="#c520512061fa271fff3b1f922f94c9cb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#1bb46fed0df67873bef36e8d7c515c5a">transform</a> (const <a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp; matrix)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#c2eafbac5591e569d22495f7920d60d2">set_matrix</a> (const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp; matrix)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifies the current transformation matrix (CTM) by setting it equal to matrix.  <a href="#c2eafbac5591e569d22495f7920d60d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#6d94c400c393d7e40bf2d2bbf4e6dcba">set_matrix</a> (const <a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp; matrix)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#a3e9b13312b6ef331830b5348093e19e">set_identity_matrix</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the current transformation matrix (CTM) by setting it equal to the identity matrix.  <a href="#a3e9b13312b6ef331830b5348093e19e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#a9cc3eeb14b515b184be6a401c0993a4">user_to_device</a> (double&amp; x, double&amp; y)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform a coordinate from user space to device space by multiplying the given point by the current transformation matrix (CTM).  <a href="#a9cc3eeb14b515b184be6a401c0993a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#b0daccfeaa8b173b26473e79271f7e88">user_to_device_distance</a> (double&amp; dx, double&amp; dy)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform a distance vector from user space to device space.  <a href="#b0daccfeaa8b173b26473e79271f7e88"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#0c7acaaf16d4740cd7fee2298bf2b5c4">device_to_user</a> (double&amp; x, double&amp; y)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).  <a href="#0c7acaaf16d4740cd7fee2298bf2b5c4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#2f396567b0504d1421abb5f7ed38cd97">device_to_user_distance</a> (double&amp; dx, double&amp; dy)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform a distance vector from device space to user space.  <a href="#2f396567b0504d1421abb5f7ed38cd97"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#527efe9a3a5bf48f768e223d5f4fecca">begin_new_path</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the current path.  <a href="#527efe9a3a5bf48f768e223d5f4fecca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#8cb4b961893563c585ed05a67126b0df">begin_new_sub_path</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin a new subpath.  <a href="#8cb4b961893563c585ed05a67126b0df"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022">move_to</a> (double x, double y)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current subpath is not empty, begin a new subpath.  <a href="#4086700b5f780fd3fb94bea941895022"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8">line_to</a> (double x, double y)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a line to the path from the current point to position (x, y) in user-space coordinates.  <a href="#e305a9f8a79cc0e0693393a940ee1de8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#9bdb6a5e2ea0e4bc9441bdc5704805f7">curve_to</a> (double x1, double y1, double x2, double y2, double x3, double y3)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points.  <a href="#9bdb6a5e2ea0e4bc9441bdc5704805f7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#aa96080beea581244f0a3838fb7c9ee6">arc</a> (double xc, double yc, double radius, double angle1, double angle2)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a circular arc of the given radius to the current path.  <a href="#aa96080beea581244f0a3838fb7c9ee6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#1a9e7517cd5afd49d729b8a87539a305">arc_negative</a> (double xc, double yc, double radius, double angle1, double angle2)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a circular arc of the given radius to the current path.  <a href="#1a9e7517cd5afd49d729b8a87539a305"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#3c739ac7e8e43d395f24dff0a0a83c0d">rel_move_to</a> (double dx, double dy)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current subpath is not empty, begin a new subpath.  <a href="#3c739ac7e8e43d395f24dff0a0a83c0d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#35f2d0f7e9afcb59eef83af3d2831f2b">rel_line_to</a> (double dx, double dy)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Relative-coordinate version of <a class="el" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8" title="Adds a line to the path from the current point to position (x, y) in user-space coordinates...">line_to()</a>.  <a href="#35f2d0f7e9afcb59eef83af3d2831f2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#d7660dac997d5db2f7ce1539c20345e2">rel_curve_to</a> (double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Relative-coordinate version of <a class="el" href="classCairo_1_1Context.html#9bdb6a5e2ea0e4bc9441bdc5704805f7" title="Adds a cubic Bezier spline to the path from the current point to position (x3, y3)...">curve_to()</a>.  <a href="#d7660dac997d5db2f7ce1539c20345e2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#85ee124b89c43dc29ff0d964bd005c11">rectangle</a> (double x, double y, double width, double height)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates.  <a href="#85ee124b89c43dc29ff0d964bd005c11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#32211b0684b1d264c17402b5289fcba0">close_path</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a>), and closes this subpath.  <a href="#32211b0684b1d264c17402b5289fcba0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#d919eae3bc3b9827a3c1ceff2d86833e">paint</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that paints the current source everywhere within the current clip region.  <a href="#d919eae3bc3b9827a3c1ceff2d86833e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#34208a6c6868cdcd65866cb8a2349525">paint_with_alpha</a> (double alpha)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha.  <a href="#34208a6c6868cdcd65866cb8a2349525"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#2ad3ea59afb6bb4fa04d000f5e9c3cf2">mask</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Pattern.html">Pattern</a> &gt;&amp; pattern)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that paints the current source using the alpha channel of pattern as a mask.  <a href="#2ad3ea59afb6bb4fa04d000f5e9c3cf2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#2f76e3b13027efc4c8745de5e04e00ec">mask</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp; surface, double surface_x, double surface_y)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that paints the current source using the alpha channel of surface as a mask.  <a href="#2f76e3b13027efc4c8745de5e04e00ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17">stroke</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that strokes the current <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> according to the current line width, line join, line cap, and dash settings.  <a href="#8e4acbb44f4b3fac00ee93f6251d6d17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#b10d89295e122b04ff1bbda425ae069c">stroke_preserve</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that strokes the current <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> according to the current line width, line join, line cap, and dash settings.  <a href="#b10d89295e122b04ff1bbda425ae069c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d">fill</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled).  <a href="#0a484790884dd138108b07c0ebbbe21d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#0ef3f887f91527a485ce1300972ac8e3">fill_preserve</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled).  <a href="#0ef3f887f91527a485ce1300972ac8e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#7ccbeacb2a7f2d787b3daf31a69383fd">copy_page</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#525cac95b4d4c2abea12b82c433adba9">show_page</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#15e153f40f02aaccd0aed27f7720bf6a">in_stroke</a> (double x, double y) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#3d50e91f8ed135cee8741fef805df070">in_fill</a> (double x, double y) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#fbcad49bf4f75eca485fa4d728255ae0">get_stroke_extents</a> (double&amp; x1, double&amp; y1, double&amp; x2, double&amp; y2) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#80bceb0e11be82c365b4606efe3a8d30">get_fill_extents</a> (double&amp; x1, double&amp; y1, double&amp; x2, double&amp; y2) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#82d001967dc8ba3e45f4d7a06c4b9ff2">reset_clip</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the current clip region to its original, unrestricted state.  <a href="#82d001967dc8ba3e45f4d7a06c4b9ff2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488">clip</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Establishes a new clip region by intersecting the current clip region with the current <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> as it would be filled by <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a> and according to the current fill rule.  <a href="#423077b911738772807cc8bc24c25488"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#2987c4ecac0438ee808c34d3c35c7f2e">clip_preserve</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a> and according to the current fill rule.  <a href="#2987c4ecac0438ee808c34d3c35c7f2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#7211a6110201b959ee46c47aa173b12a">get_clip_extents</a> (double&amp; x1, double&amp; y1, double&amp; x2, double&amp; y2) const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes a bounding box in user coordinates covering the area inside the current clip.  <a href="#7211a6110201b959ee46c47aa173b12a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#7dc19917311f812e667d71102b0d986b">copy_clip_rectangle_list</a> (<a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#5a956a3226f8c0cece695c49f453e124">Rectangle</a> &gt;&amp; rectangles) const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current clip region as a list of rectangles in user coordinates.  <a href="#7dc19917311f812e667d71102b0d986b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#cb1da5f3949195f76424e11be923fbfd">select_font_face</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a>&amp; family, <a class="el" href="namespaceCairo.html#0a2c19fefac301a702a6b7fdb368bf55">FontSlant</a> slant, <a class="el" href="namespaceCairo.html#d8514818fb9292a5864b57f4b8a1e546">FontWeight</a> weight)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#c8a04a09c2e871a470fd030edb45b024">set_font_size</a> (double <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html#g445a43f417432dd1b9aed90ef239c700">size</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#7981bd1109ec5538fb505b36ec377757">set_font_matrix</a> (const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp; matrix)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#ada6eda8880143f16721d6311206b25f">get_font_matrix</a> (<a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp; matrix) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#2d7f465d946804a8fe9877d7f7f4bbcb">set_font_options</a> (const <a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>&amp; options)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#8d44b4f4e45a4fb2a794f3486f895640">set_font_matrix</a> (const <a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp; matrix)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#34be6fb9a99354259d3944b1b31c634b">get_font_matrix</a> (<a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp; matrix) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#b69217658ea7fa4e859aa305e3bc3ebc">get_font_options</a> (<a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>&amp; options) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#aa8c0b24d9338d392c18435babeb4263">set_scaled_font</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1ScaledFont.html">ScaledFont</a> &gt;&amp; scaled_font)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1ScaledFont.html">ScaledFont</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#511ca42d6c21a4cfc9ce4c4b1116ddad">get_scaled_font</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#584596d6f12dbea30519b908cacce038">show_text</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a>&amp; utf8)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#f51f2c2ff72e8af66abeea3d15d25553">show_glyphs</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp; glyphs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#45723fd605cc2343ab46cf603d330002">show_text_glyphs</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a>&amp; utf8, const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp; glyphs, const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#3c23510889078c8a75d66add004ab288">TextCluster</a> &gt;&amp; clusters, <a class="el" href="namespaceCairo.html#61b770cf36c555a4098b5428e030542a">TextClusterFlags</a> cluster_flags)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1FontFace.html">FontFace</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#a3606d313d54bc1b26938a8dfadc1e94">get_font_face</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1FontFace.html">FontFace</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#02c602da267ff6c0b29d638f4a59a158">get_font_face</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#cbe72f83295624f8905a350c589e7209">get_font_extents</a> (<a class="el" href="namespaceCairo.html#a7da46c699a67bfbdd5400af7e6b7b39">FontExtents</a>&amp; extents) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#9b344db51097aba30e36452e1364faef">set_font_face</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1FontFace.html">FontFace</a> &gt;&amp; font_face)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#837ff58a69e3e74f6a6ef9da8454af2b">get_text_extents</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a>&amp; utf8, <a class="el" href="namespaceCairo.html#f6d8a4744616383984c99f8f052c7a5d">TextExtents</a>&amp; extents) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#fa37e5c6559f2573cfc55bb6fa5f6ef6">get_glyph_extents</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp; glyphs, <a class="el" href="namespaceCairo.html#f6d8a4744616383984c99f8f052c7a5d">TextExtents</a>&amp; extents) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#5613b4202f82f6a53f1aeac6c58e5521">text_path</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a>&amp; utf8)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#d3372fc30d9a26c8d26c440a21464ce5">glyph_path</a> (const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp; glyphs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceCairo.html#2d612c31d146fc32d486f9614560c8d1">Operator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#a5683fc9da28916cb237b4868a9c5d97">get_operator</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current compositing operator for a cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#a5683fc9da28916cb237b4868a9c5d97"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Pattern.html">Pattern</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#0b6eeda4d80f3d591a770cbbbf8a0c87">get_source</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current source pattern for the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#0b6eeda4d80f3d591a770cbbbf8a0c87"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Pattern.html">Pattern</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#a17cc0c92671d0d4c2d48bc3a79858d0">get_source</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#216632e43aa061890c0a637ea41f7960">get_tolerance</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current tolerance value, as set by <a class="el" href="classCairo_1_1Context.html#01481a915f4086051f1c200f0f7a33d1" title="Sets the tolerance used when converting paths into trapezoids.">set_tolerance()</a>.  <a href="#216632e43aa061890c0a637ea41f7960"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceCairo.html#2cb381e7f63bef767a7d697fc5af13b4">Antialias</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#3269ed87a45ce150d1b7bd00c1c18a80">get_antialias</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current shape antialiasing mode, as set by <a class="el" href="classCairo_1_1Context.html#79220a6785490688fdea41750d8933d6" title="Set the antialiasing mode of the rasterizer used for drawing shapes.">set_antialias()</a>.  <a href="#3269ed87a45ce150d1b7bd00c1c18a80"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#69b25af8a2bac826a330e1bfeb2f1a1f">get_current_point</a> (double&amp; x, double&amp; y) const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current point of the current path, which is conceptually the final point reached by the path so far.  <a href="#69b25af8a2bac826a330e1bfeb2f1a1f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#1db62850e9879589bacd463e54406b50">has_current_point</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if there is a current point defined.  <a href="#1db62850e9879589bacd463e54406b50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceCairo.html#1ba15b0a2e22c87c14af044801006c85">FillRule</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#21a26ea9c08bb3c9c4180635f58fa7f8">get_fill_rule</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current fill rule, as set by <a class="el" href="classCairo_1_1Context.html#d15693ae817e3229409d831c7dd96bed" title="Set the current fill rule within the cairo Context.">set_fill_rule()</a>.  <a href="#21a26ea9c08bb3c9c4180635f58fa7f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#2aacb5cd843266b708ae47bc9a4f7014">get_line_width</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current line width, as set by <a class="el" href="classCairo_1_1Context.html#9ad2649d95e81a65aa0c581c4345375e" title="Sets the current line width within the cairo Context.">set_line_width()</a>.  <a href="#2aacb5cd843266b708ae47bc9a4f7014"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceCairo.html#bbb9aae64ef26733965e6d500ae76f1e">LineCap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#af84f561587f41a6cdaffe8024ebf96c">get_line_cap</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current line cap style, as set by <a class="el" href="classCairo_1_1Context.html#07fd8fc2c75558484e960c5ff63a61cc" title="Sets the current line cap style within the cairo Context.">set_line_cap()</a>.  <a href="#af84f561587f41a6cdaffe8024ebf96c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceCairo.html#dbc632404edaa736e01c12122239de73">LineJoin</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#543677421cced4e1eca10f70dd36220f">get_line_join</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current line join style, as set by <a class="el" href="classCairo_1_1Context.html#23b5ba9363f568cacc1abf5e79a0200d" title="Sets the current line join style within the cairo Context.">set_line_join()</a>.  <a href="#543677421cced4e1eca10f70dd36220f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#55c7e2c0533e35635c31c34ec498a4a2">get_miter_limit</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current miter limit, as set by <a class="el" href="classCairo_1_1Context.html#583445ca963769d3f31613bc55b1e8ad">set_miter_limit()</a>.  <a href="#55c7e2c0533e35635c31c34ec498a4a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#aa43d0034e155d3c0244e0b4fdaf6af9">get_dash</a> (<a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; double &gt;&amp; dashes, double&amp; offset) const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current dash array and offset.  <a href="#aa43d0034e155d3c0244e0b4fdaf6af9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#03b21f4a3a44e28086c3a25075fdcea1">get_matrix</a> (<a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp; matrix)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the current transformation matrix (CTM) into matrix.  <a href="#03b21f4a3a44e28086c3a25075fdcea1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#ea651404be2fa942033c636e2665cd7e">get_matrix</a> (<a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp; matrix)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#99cadcdd63e366bc793306e8d3cfee37">get_matrix</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#ea76bccc09bdab482f96469a4e7f94f6">get_target</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the target surface associated with this <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#ea76bccc09bdab482f96469a4e7f94f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#39f36fa1f1460ca8a7f0504f01cb4d90">get_target</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the target surface associated with this <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#39f36fa1f1460ca8a7f0504f01cb4d90"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1Path.html">Path</a>*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#48743c731a58fb25524593dc90b567b3">copy_path</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a copy of the current path and returns it to the user.  <a href="#48743c731a58fb25524593dc90b567b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#28d0fa55e1d478ec05975b3c9f545c53">get_path_extents</a> (double&amp; x1, double&amp; y1, double&amp; x2, double&amp; y2) const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes a bounding box in user-space coordinates covering the points on the current path.  <a href="#28d0fa55e1d478ec05975b3c9f545c53"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1Path.html">Path</a>*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#5213dad7e0b0054d631053abe0df1c7d">copy_path_flat</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a flattened copy of the current path and returns it to the user.  <a href="#5213dad7e0b0054d631053abe0df1c7d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#ee34ef17540ad11f33176e8897d73203">append_path</a> (const <a class="el" href="classCairo_1_1Path.html">Path</a>&amp; path)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the path onto the current path.  <a href="#ee34ef17540ad11f33176e8897d73203"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6">push_group</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporarily redirects drawing to an intermediate surface known as a group.  <a href="#a0a5a1ee48ff742d87480a689dca51c6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97">push_group_with_content</a> (<a class="el" href="namespaceCairo.html#1f0f5d82599dfeabbeb2396dbfd767d0">Content</a> content)</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporarily redirects drawing to an intermediate surface known as a group.  <a href="#d08812ecb59891f92e79a3d4dbca2d97"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Pattern.html">Pattern</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#ece6278f4d71ce652557c80788415711">pop_group</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates the redirection begun by a call to <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> or <a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group_with_content()</a> and returns a new pattern containing the results of all drawing operations performed to the group.  <a href="#ece6278f4d71ce652557c80788415711"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#bd11fa1d3a582e0975ebb0155b9d4467">pop_group_to_source</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates the redirection begun by a call to <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> or <a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group_with_content()</a> and installs the resulting pattern as the source pattern in the given cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#bd11fa1d3a582e0975ebb0155b9d4467"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#d75b7d22f76958a6651e9f02172525f8">get_group_target</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the target surface for the current group as started by the most recent call to <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> or <a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group_with_content()</a>.  <a href="#d75b7d22f76958a6651e9f02172525f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#6908784c77134e45b09bd1ff4bcb34c9">get_group_target</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the non-const version but returns a reference to a const <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a>.  <a href="#6908784c77134e45b09bd1ff4bcb34c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a>*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#614bcb4e9570c5b5c54b3bfc304c194a">cobj</a> ()</td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a pointer to the base C type that is wrapped by the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#614bcb4e9570c5b5c54b3bfc304c194a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a>*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#e99b48b6e596f42a7ccb90ab4ae94074">cobj</a> () const </td></tr>

<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a pointer to the base C type that is wrapped by the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.  <a href="#e99b48b6e596f42a7ccb90ab4ae94074"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Context.html">Context</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#9a27f6ec57d788fd3ecbc310aeb24d99">create</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp; target)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#c3c5491dbf6e57a26369e987361f6cd8">Context</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp; target)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a>*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Context.html#620db06ff96d42e8e1db12ada0435fcc">m_cobject</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> is the main class used to draw in cairomm. 
<p>
In the simplest case, create a <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> with its target <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a>, set its drawing options (line width, color, etc), create shapes with methods like <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a> and <a class="el" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8" title="Adds a line to the path from the current point to position (x, y) in user-space coordinates...">line_to()</a>, and then draw the shapes to the <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a> using methods such as <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a> or <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a>.<p>
<a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> is a reference-counted object that should be used via <a class="el" href="classCairo_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer.">Cairo::RefPtr</a>. <hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="14e54b45199452f9916ebcafcd4a629e"></a><!-- doxytag: member="Cairo::Context::cobject" ref="14e54b45199452f9916ebcafcd4a629e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef cairo_t <a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">Cairo::Context::cobject</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The base cairo C type that is wrapped by <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Cairo::Context</a>. 
<p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="c3c5491dbf6e57a26369e987361f6cd8"></a><!-- doxytag: member="Cairo::Context::Context" ref="c3c5491dbf6e57a26369e987361f6cd8" args="(const RefPtr&lt; Surface &gt; &amp;target)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Cairo::Context::Context           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>target</em>          </td>
          <td>&#160;)&#160;</td>
          <td><code> [explicit, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="db2361743a9f017e662c3c6809dfc765"></a><!-- doxytag: member="Cairo::Context::Context" ref="db2361743a9f017e662c3c6809dfc765" args="(cairo_t *cobject, bool has_reference=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Cairo::Context::Context           </td>
          <td>(</td>
          <td class="paramtype">cairo_t *&#160;</td>
          <td class="paramname"> <em>cobject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"> <em>has_reference</em> = <code>false</code></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a C++ wrapper for the C instance. 
<p>
This C++ instance should then be given to a <a class="el" href="classCairo_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer.">RefPtr</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cobject</em>&#160;</td><td>The C instance. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>has_reference</em>&#160;</td><td>Whether we already have a reference. Otherwise, the constructor will take an extra reference. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="35d214d3ad4d29bd5993d683333a9791"></a><!-- doxytag: member="Cairo::Context::~Context" ref="35d214d3ad4d29bd5993d683333a9791" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Cairo::Context::~Context           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ee34ef17540ad11f33176e8897d73203"></a><!-- doxytag: member="Cairo::Context::append_path" ref="ee34ef17540ad11f33176e8897d73203" args="(const Path &amp;path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::append_path           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1Path.html">Path</a>&amp;&#160;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append the path onto the current path. 
<p>
The path may be either the return value from one of <a class="el" href="classCairo_1_1Context.html#48743c731a58fb25524593dc90b567b3" title="Creates a copy of the current path and returns it to the user.">copy_path()</a> or <a class="el" href="classCairo_1_1Context.html#5213dad7e0b0054d631053abe0df1c7d" title="Gets a flattened copy of the current path and returns it to the user.">copy_path_flat()</a> or it may be constructed manually.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&#160;</td><td>path to be appended </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="aa96080beea581244f0a3838fb7c9ee6"></a><!-- doxytag: member="Cairo::Context::arc" ref="aa96080beea581244f0a3838fb7c9ee6" args="(double xc, double yc, double radius, double angle1, double angle2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::arc           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>xc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>yc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>angle1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>angle2</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a circular arc of the given radius to the current path. 
<p>
The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of increasing angles to end at angle2. If angle2 is less than angle1 it will be progressively increased by 2*M_PI until it is greater than angle1.<p>
If there is a current point, an initial line segment will be added to the path to connect the current point to the beginning of the arc.<p>
Angles are measured in radians. An angle of 0 is in the direction of the positive X axis (in user-space). An angle of M_PI radians (90 degrees) is in the direction of the positive Y axis (in user-space). Angles increase in the direction from the positive X axis toward the positive Y axis. So with the default transformation matrix, angles increase in a clockwise direction.<p>
(To convert from degrees to radians, use degrees * (M_PI / 180.).)<p>
This function gives the arc in the direction of increasing angles; see <a class="el" href="classCairo_1_1Context.html#1a9e7517cd5afd49d729b8a87539a305" title="Adds a circular arc of the given radius to the current path.">arc_negative()</a> to get the arc in the direction of decreasing angles.<p>
The arc is circular in user-space. To achieve an elliptical arc, you can scale the current transformation matrix by different amounts in the X and Y directions. For example, to draw an ellipse in the box given by x, y, width, height:<p>
<div class="fragment"><pre class="fragment"> context-&gt;save();
 context-&gt;translate(x, y);
 context-&gt;scale(width / 2.0, height / 2.0);
 context-&gt;arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);
 context-&gt;restore();
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xc</em>&#160;</td><td>X position of the center of the arc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>yc</em>&#160;</td><td>Y position of the center of the arc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>radius</em>&#160;</td><td>the radius of the arc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>angle1</em>&#160;</td><td>the start angle, in radians </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>angle2</em>&#160;</td><td>the end angle, in radians </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1a9e7517cd5afd49d729b8a87539a305"></a><!-- doxytag: member="Cairo::Context::arc_negative" ref="1a9e7517cd5afd49d729b8a87539a305" args="(double xc, double yc, double radius, double angle1, double angle2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::arc_negative           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>xc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>yc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>angle1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>angle2</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a circular arc of the given radius to the current path. 
<p>
The arc is centered at (xc, yc), begins at angle1 and proceeds in the direction of decreasing angles to end at angle2. If angle2 is greater than angle1 it will be progressively decreased by 2*M_PI until it is greater than angle1.<p>
See <a class="el" href="classCairo_1_1Context.html#aa96080beea581244f0a3838fb7c9ee6" title="Adds a circular arc of the given radius to the current path.">arc()</a> for more details. This function differs only in the direction of the arc between the two angles.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xc</em>&#160;</td><td>X position of the center of the arc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>yc</em>&#160;</td><td>Y position of the center of the arc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>radius</em>&#160;</td><td>the radius of the arc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>angle1</em>&#160;</td><td>the start angle, in radians </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>angle2</em>&#160;</td><td>the end angle, in radians </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="527efe9a3a5bf48f768e223d5f4fecca"></a><!-- doxytag: member="Cairo::Context::begin_new_path" ref="527efe9a3a5bf48f768e223d5f4fecca" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::begin_new_path           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clears the current path. 
<p>
After this call there will be no current point. 
</div>
</div><p>
<a class="anchor" name="8cb4b961893563c585ed05a67126b0df"></a><!-- doxytag: member="Cairo::Context::begin_new_sub_path" ref="8cb4b961893563c585ed05a67126b0df" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::begin_new_sub_path           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Begin a new subpath. 
<p>
Note that the existing path is not affected. After this call there will be no current point.<p>
In many cases, this call is not needed since new subpaths are frequently started with <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a>.<p>
A call to <a class="el" href="classCairo_1_1Context.html#8cb4b961893563c585ed05a67126b0df" title="Begin a new subpath.">begin_new_sub_path()</a> is particularly useful when beginning a new subpath with one of the <a class="el" href="classCairo_1_1Context.html#aa96080beea581244f0a3838fb7c9ee6" title="Adds a circular arc of the given radius to the current path.">arc()</a> calls. This makes things easier as it is no longer necessary to manually compute the arc's initial coordinates for a call to <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a>. 
</div>
</div><p>
<a class="anchor" name="423077b911738772807cc8bc24c25488"></a><!-- doxytag: member="Cairo::Context::clip" ref="423077b911738772807cc8bc24c25488" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::clip           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Establishes a new clip region by intersecting the current clip region with the current <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> as it would be filled by <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a> and according to the current fill rule. 
<p>
After <a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488" title="Establishes a new clip region by intersecting the current clip region with the current...">clip()</a>, the current path will be cleared from the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.<p>
The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.<p>
Calling <a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488" title="Establishes a new clip region by intersecting the current clip region with the current...">clip()</a> 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 cairo_clip() within a <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a>/restore() pair. The only other means of increasing the size of the clip region is <a class="el" href="classCairo_1_1Context.html#82d001967dc8ba3e45f4d7a06c4b9ff2" title="Reset the current clip region to its original, unrestricted state.">reset_clip()</a>.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#d15693ae817e3229409d831c7dd96bed" title="Set the current fill rule within the cairo Context.">set_fill_rule()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="2987c4ecac0438ee808c34d3c35c7f2e"></a><!-- doxytag: member="Cairo::Context::clip_preserve" ref="2987c4ecac0438ee808c34d3c35c7f2e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::clip_preserve           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a> and according to the current fill rule. 
<p>
Unlike <a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488" title="Establishes a new clip region by intersecting the current clip region with the current...">clip()</a>, cairo_clip_preserve preserves the path within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488" title="Establishes a new clip region by intersecting the current clip region with the current...">clip()</a> <p>
<a class="el" href="classCairo_1_1Context.html#d15693ae817e3229409d831c7dd96bed" title="Set the current fill rule within the cairo Context.">set_fill_rule()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="32211b0684b1d264c17402b5289fcba0"></a><!-- doxytag: member="Cairo::Context::close_path" ref="32211b0684b1d264c17402b5289fcba0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::close_path           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a line segment to the path from the current point to the beginning of the current subpath, (the most recent point passed to <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a>), and closes this subpath. 
<p>
The behavior of <a class="el" href="classCairo_1_1Context.html#32211b0684b1d264c17402b5289fcba0" title="Adds a line segment to the path from the current point to the beginning of the current...">close_path()</a> is distinct from simply calling <a class="el" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8" title="Adds a line to the path from the current point to position (x, y) in user-space coordinates...">line_to()</a> with the equivalent coordinate in the case of stroking. When a closed subpath is stroked, there are no caps on the ends of the subpath. Instead, there is a line join connecting the final and initial segments of the subpath. 
</div>
</div><p>
<a class="anchor" name="e99b48b6e596f42a7ccb90ab4ae94074"></a><!-- doxytag: member="Cairo::Context::cobj" ref="e99b48b6e596f42a7ccb90ab4ae94074" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a>* Cairo::Context::cobj           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets a pointer to the base C type that is wrapped by the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="614bcb4e9570c5b5c54b3bfc304c194a"></a><!-- doxytag: member="Cairo::Context::cobj" ref="614bcb4e9570c5b5c54b3bfc304c194a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a>* Cairo::Context::cobj           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets a pointer to the base C type that is wrapped by the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="7dc19917311f812e667d71102b0d986b"></a><!-- doxytag: member="Cairo::Context::copy_clip_rectangle_list" ref="7dc19917311f812e667d71102b0d986b" args="(std::vector&lt; Rectangle &gt; &amp;rectangles) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::copy_clip_rectangle_list           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#5a956a3226f8c0cece695c49f453e124">Rectangle</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>rectangles</em>          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the current clip region as a list of rectangles in user coordinates. 
<p>
This function will throw an exception if the clip region cannot be represented as a list of user-space rectangles.<p>
1.4 
</div>
</div><p>
<a class="anchor" name="7ccbeacb2a7f2d787b3daf31a69383fd"></a><!-- doxytag: member="Cairo::Context::copy_page" ref="7ccbeacb2a7f2d787b3daf31a69383fd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::copy_page           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="48743c731a58fb25524593dc90b567b3"></a><!-- doxytag: member="Cairo::Context::copy_path" ref="48743c731a58fb25524593dc90b567b3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1Path.html">Path</a>* Cairo::Context::copy_path           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a copy of the current path and returns it to the user. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The caller owns the <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> object returned from this function. The <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> object must be freed when you are finished with it. </dd></dl>

</div>
</div><p>
<a class="anchor" name="5213dad7e0b0054d631053abe0df1c7d"></a><!-- doxytag: member="Cairo::Context::copy_path_flat" ref="5213dad7e0b0054d631053abe0df1c7d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1Path.html">Path</a>* Cairo::Context::copy_path_flat           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets a flattened copy of the current path and returns it to the user. 
<p>
This function is like <a class="el" href="classCairo_1_1Context.html#48743c731a58fb25524593dc90b567b3" title="Creates a copy of the current path and returns it to the user.">copy_path()</a> except that any curves in the path will be approximated with piecewise-linear approximations, (accurate to within the current tolerance value). That is, the result is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO which will instead be replaced by a series of CAIRO_PATH_LINE_TO elements.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The caller owns the <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> object returned from this function. The <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> object must be freed when you are finished with it. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9a27f6ec57d788fd3ecbc310aeb24d99"></a><!-- doxytag: member="Cairo::Context::create" ref="9a27f6ec57d788fd3ecbc310aeb24d99" args="(const RefPtr&lt; Surface &gt; &amp;target)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;<a class="el" href="classCairo_1_1Context.html">Context</a>&gt; Cairo::Context::create           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>target</em>          </td>
          <td>&#160;)&#160;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="image-surface_8cc-example.html#a3">image-surface.cc</a>, <a class="el" href="pdf-surface_8cc-example.html#a3">pdf-surface.cc</a>, <a class="el" href="ps-surface_8cc-example.html#a3">ps-surface.cc</a>, <a class="el" href="svg-surface_8cc-example.html#a3">svg-surface.cc</a>, <a class="el" href="toy-text_8cc-example.html#a3">toy-text.cc</a>, and <a class="el" href="user-font_8cc-example.html#a6">user-font.cc</a>.</dl>
</div>
</div><p>
<a class="anchor" name="9bdb6a5e2ea0e4bc9441bdc5704805f7"></a><!-- doxytag: member="Cairo::Context::curve_to" ref="9bdb6a5e2ea0e4bc9441bdc5704805f7" args="(double x1, double y1, double x2, double y2, double x3, double y3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::curve_to           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y3</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a cubic Bezier spline to the path from the current point to position (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the control points. 
<p>
After this call the current point will be (x3, y3).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x1</em>&#160;</td><td>the X coordinate of the first control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y1</em>&#160;</td><td>the Y coordinate of the first control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x2</em>&#160;</td><td>the X coordinate of the second control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y2</em>&#160;</td><td>the Y coordinate of the second control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x3</em>&#160;</td><td>the X coordinate of the end of the curve </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y3</em>&#160;</td><td>the Y coordinate of the end of the curve </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0c7acaaf16d4740cd7fee2298bf2b5c4"></a><!-- doxytag: member="Cairo::Context::device_to_user" ref="0c7acaaf16d4740cd7fee2298bf2b5c4" args="(double &amp;x, double &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::device_to_user           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&#160;</td><td>X value of coordinate (in/out parameter) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&#160;</td><td>Y value of coordinate (in/out parameter) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="2f396567b0504d1421abb5f7ed38cd97"></a><!-- doxytag: member="Cairo::Context::device_to_user_distance" ref="2f396567b0504d1421abb5f7ed38cd97" args="(double &amp;dx, double &amp;dy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::device_to_user_distance           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>dx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>dy</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform a distance vector from device space to user space. 
<p>
This function is similar to <a class="el" href="classCairo_1_1Context.html#0c7acaaf16d4740cd7fee2298bf2b5c4" title="Transform a coordinate from device space to user space by multiplying the given point...">device_to_user()</a> except that the translation components of the inverse CTM will be ignored when transforming (dx,dy).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dx</em>&#160;</td><td>X component of a distance vector (in/out parameter) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dy</em>&#160;</td><td>Y component of a distance vector (in/out parameter) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0a484790884dd138108b07c0ebbbe21d"></a><!-- doxytag: member="Cairo::Context::fill" ref="0a484790884dd138108b07c0ebbbe21d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::fill           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). 
<p>
After <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a>, the current path will be cleared from the cairo context.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#d15693ae817e3229409d831c7dd96bed" title="Set the current fill rule within the cairo Context.">set_fill_rule()</a> <p>
<a class="el" href="classCairo_1_1Context.html#0ef3f887f91527a485ce1300972ac8e3" title="A drawing operator that fills the current path according to the current fill rule...">fill_preserve()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="0ef3f887f91527a485ce1300972ac8e3"></a><!-- doxytag: member="Cairo::Context::fill_preserve" ref="0ef3f887f91527a485ce1300972ac8e3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::fill_preserve           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that fills the current path according to the current fill rule, (each sub-path is implicitly closed before being filled). 
<p>
Unlike <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a>, <a class="el" href="classCairo_1_1Context.html#0ef3f887f91527a485ce1300972ac8e3" title="A drawing operator that fills the current path according to the current fill rule...">fill_preserve()</a> preserves the path within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#d15693ae817e3229409d831c7dd96bed" title="Set the current fill rule within the cairo Context.">set_fill_rule()</a> <p>
<a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3269ed87a45ce150d1b7bd00c1c18a80"></a><!-- doxytag: member="Cairo::Context::get_antialias" ref="3269ed87a45ce150d1b7bd00c1c18a80" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceCairo.html#2cb381e7f63bef767a7d697fc5af13b4">Antialias</a> Cairo::Context::get_antialias           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current shape antialiasing mode, as set by <a class="el" href="classCairo_1_1Context.html#79220a6785490688fdea41750d8933d6" title="Set the antialiasing mode of the rasterizer used for drawing shapes.">set_antialias()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="7211a6110201b959ee46c47aa173b12a"></a><!-- doxytag: member="Cairo::Context::get_clip_extents" ref="7211a6110201b959ee46c47aa173b12a" args="(double &amp;x1, double &amp;y1, double &amp;x2, double &amp;y2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_clip_extents           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y2</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Computes a bounding box in user coordinates covering the area inside the current clip. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x1</em>&#160;</td><td>left of the resulting extents </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y1</em>&#160;</td><td>top of the resulting extents </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x2</em>&#160;</td><td>right of the resulting extents </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y2</em>&#160;</td><td>bottom of the resulting extents</td></tr>
  </table>
</dl>
<dl class="since" compact><dt><b>Since:</b></dt><dd>1.4 </dd></dl>

</div>
</div><p>
<a class="anchor" name="69b25af8a2bac826a330e1bfeb2f1a1f"></a><!-- doxytag: member="Cairo::Context::get_current_point" ref="69b25af8a2bac826a330e1bfeb2f1a1f" args="(double &amp;x, double &amp;y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_current_point           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current point of the current path, which is conceptually the final point reached by the path so far. 
<p>
The current point is returned in the user-space coordinate system. If there is no defined current point then x and y will both be set to 0.0.<p>
Most path construction functions alter the current point. See the following for details on how they affect the current point: clear_path(), <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a>, <a class="el" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8" title="Adds a line to the path from the current point to position (x, y) in user-space coordinates...">line_to()</a>, <a class="el" href="classCairo_1_1Context.html#9bdb6a5e2ea0e4bc9441bdc5704805f7" title="Adds a cubic Bezier spline to the path from the current point to position (x3, y3)...">curve_to()</a>, <a class="el" href="classCairo_1_1Context.html#aa96080beea581244f0a3838fb7c9ee6" title="Adds a circular arc of the given radius to the current path.">arc()</a>, <a class="el" href="classCairo_1_1Context.html#3c739ac7e8e43d395f24dff0a0a83c0d" title="If the current subpath is not empty, begin a new subpath.">rel_move_to()</a>, <a class="el" href="classCairo_1_1Context.html#35f2d0f7e9afcb59eef83af3d2831f2b" title="Relative-coordinate version of line_to().">rel_line_to()</a>, <a class="el" href="classCairo_1_1Context.html#d7660dac997d5db2f7ce1539c20345e2" title="Relative-coordinate version of curve_to().">rel_curve_to()</a>, <a class="el" href="classCairo_1_1Context.html#aa96080beea581244f0a3838fb7c9ee6" title="Adds a circular arc of the given radius to the current path.">arc()</a>, and <a class="el" href="classCairo_1_1Context.html#5613b4202f82f6a53f1aeac6c58e5521">text_path()</a><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&#160;</td><td>return value for X coordinate of the current point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&#160;</td><td>return value for Y coordinate of the current point</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#1db62850e9879589bacd463e54406b50" title="Checks if there is a current point defined.">has_current_point</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="aa43d0034e155d3c0244e0b4fdaf6af9"></a><!-- doxytag: member="Cairo::Context::get_dash" ref="aa43d0034e155d3c0244e0b4fdaf6af9" args="(std::vector&lt; double &gt; &amp;dashes, double &amp;offset) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_dash           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"> <em>dashes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>offset</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current dash array and offset. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dashes</em>&#160;</td><td>return value for the dash array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&#160;</td><td>return value for the current dash offset.</td></tr>
  </table>
</dl>
Since: 1.4 
</div>
</div><p>
<a class="anchor" name="80bceb0e11be82c365b4606efe3a8d30"></a><!-- doxytag: member="Cairo::Context::get_fill_extents" ref="80bceb0e11be82c365b4606efe3a8d30" args="(double &amp;x1, double &amp;y1, double &amp;x2, double &amp;y2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_fill_extents           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y2</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="21a26ea9c08bb3c9c4180635f58fa7f8"></a><!-- doxytag: member="Cairo::Context::get_fill_rule" ref="21a26ea9c08bb3c9c4180635f58fa7f8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceCairo.html#1ba15b0a2e22c87c14af044801006c85">FillRule</a> Cairo::Context::get_fill_rule           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current fill rule, as set by <a class="el" href="classCairo_1_1Context.html#d15693ae817e3229409d831c7dd96bed" title="Set the current fill rule within the cairo Context.">set_fill_rule()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="cbe72f83295624f8905a350c589e7209"></a><!-- doxytag: member="Cairo::Context::get_font_extents" ref="cbe72f83295624f8905a350c589e7209" args="(FontExtents &amp;extents) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_font_extents           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#a7da46c699a67bfbdd5400af7e6b7b39">FontExtents</a>&amp;&#160;</td>
          <td class="paramname"> <em>extents</em>          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="02c602da267ff6c0b29d638f4a59a158"></a><!-- doxytag: member="Cairo::Context::get_font_face" ref="02c602da267ff6c0b29d638f4a59a158" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;const <a class="el" href="classCairo_1_1FontFace.html">FontFace</a>&gt; Cairo::Context::get_font_face           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="a3606d313d54bc1b26938a8dfadc1e94"></a><!-- doxytag: member="Cairo::Context::get_font_face" ref="a3606d313d54bc1b26938a8dfadc1e94" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;<a class="el" href="classCairo_1_1FontFace.html">FontFace</a>&gt; Cairo::Context::get_font_face           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="34be6fb9a99354259d3944b1b31c634b"></a><!-- doxytag: member="Cairo::Context::get_font_matrix" ref="34be6fb9a99354259d3944b1b31c634b" args="(cairo_matrix_t &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_font_matrix           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="ada6eda8880143f16721d6311206b25f"></a><!-- doxytag: member="Cairo::Context::get_font_matrix" ref="ada6eda8880143f16721d6311206b25f" args="(Matrix &amp;matrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_font_matrix           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b69217658ea7fa4e859aa305e3bc3ebc"></a><!-- doxytag: member="Cairo::Context::get_font_options" ref="b69217658ea7fa4e859aa305e3bc3ebc" args="(FontOptions &amp;options) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_font_options           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>&amp;&#160;</td>
          <td class="paramname"> <em>options</em>          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="fa37e5c6559f2573cfc55bb6fa5f6ef6"></a><!-- doxytag: member="Cairo::Context::get_glyph_extents" ref="fa37e5c6559f2573cfc55bb6fa5f6ef6" args="(const std::vector&lt; Glyph &gt; &amp;glyphs, TextExtents &amp;extents) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_glyph_extents           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>glyphs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#f6d8a4744616383984c99f8f052c7a5d">TextExtents</a>&amp;&#160;</td>
          <td class="paramname"> <em>extents</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="6908784c77134e45b09bd1ff4bcb34c9"></a><!-- doxytag: member="Cairo::Context::get_group_target" ref="6908784c77134e45b09bd1ff4bcb34c9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;const <a class="el" href="classCairo_1_1Surface.html">Surface</a>&gt; Cairo::Context::get_group_target           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same as the non-const version but returns a reference to a const <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="d75b7d22f76958a6651e9f02172525f8"></a><!-- doxytag: member="Cairo::Context::get_group_target" ref="d75b7d22f76958a6651e9f02172525f8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;<a class="el" href="classCairo_1_1Surface.html">Surface</a>&gt; Cairo::Context::get_group_target           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the target surface for the current group as started by the most recent call to <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> or <a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group_with_content()</a>. 
<p>
This function will return NULL if called "outside" of any group rendering blocks, (that is, after the last balancing call to <a class="el" href="classCairo_1_1Context.html#ece6278f4d71ce652557c80788415711" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group()</a> or <a class="el" href="classCairo_1_1Context.html#bd11fa1d3a582e0975ebb0155b9d4467" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group_to_source()</a>).<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em></em>&#160;</td><td></td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="af84f561587f41a6cdaffe8024ebf96c"></a><!-- doxytag: member="Cairo::Context::get_line_cap" ref="af84f561587f41a6cdaffe8024ebf96c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceCairo.html#bbb9aae64ef26733965e6d500ae76f1e">LineCap</a> Cairo::Context::get_line_cap           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current line cap style, as set by <a class="el" href="classCairo_1_1Context.html#07fd8fc2c75558484e960c5ff63a61cc" title="Sets the current line cap style within the cairo Context.">set_line_cap()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="543677421cced4e1eca10f70dd36220f"></a><!-- doxytag: member="Cairo::Context::get_line_join" ref="543677421cced4e1eca10f70dd36220f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceCairo.html#dbc632404edaa736e01c12122239de73">LineJoin</a> Cairo::Context::get_line_join           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current line join style, as set by <a class="el" href="classCairo_1_1Context.html#23b5ba9363f568cacc1abf5e79a0200d" title="Sets the current line join style within the cairo Context.">set_line_join()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="2aacb5cd843266b708ae47bc9a4f7014"></a><!-- doxytag: member="Cairo::Context::get_line_width" ref="2aacb5cd843266b708ae47bc9a4f7014" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double Cairo::Context::get_line_width           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current line width, as set by <a class="el" href="classCairo_1_1Context.html#9ad2649d95e81a65aa0c581c4345375e" title="Sets the current line width within the cairo Context.">set_line_width()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="99cadcdd63e366bc793306e8d3cfee37"></a><!-- doxytag: member="Cairo::Context::get_matrix" ref="99cadcdd63e366bc793306e8d3cfee37" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1Matrix.html">Matrix</a> Cairo::Context::get_matrix           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="ea651404be2fa942033c636e2665cd7e"></a><!-- doxytag: member="Cairo::Context::get_matrix" ref="ea651404be2fa942033c636e2665cd7e" args="(cairo_matrix_t &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_matrix           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="03b21f4a3a44e28086c3a25075fdcea1"></a><!-- doxytag: member="Cairo::Context::get_matrix" ref="03b21f4a3a44e28086c3a25075fdcea1" args="(Matrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_matrix           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stores the current transformation matrix (CTM) into matrix. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&#160;</td><td>return value for the matrix </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="55c7e2c0533e35635c31c34ec498a4a2"></a><!-- doxytag: member="Cairo::Context::get_miter_limit" ref="55c7e2c0533e35635c31c34ec498a4a2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double Cairo::Context::get_miter_limit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current miter limit, as set by <a class="el" href="classCairo_1_1Context.html#583445ca963769d3f31613bc55b1e8ad">set_miter_limit()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="a5683fc9da28916cb237b4868a9c5d97"></a><!-- doxytag: member="Cairo::Context::get_operator" ref="a5683fc9da28916cb237b4868a9c5d97" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceCairo.html#2d612c31d146fc32d486f9614560c8d1">Operator</a> Cairo::Context::get_operator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current compositing operator for a cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="28d0fa55e1d478ec05975b3c9f545c53"></a><!-- doxytag: member="Cairo::Context::get_path_extents" ref="28d0fa55e1d478ec05975b3c9f545c53" args="(double &amp;x1, double &amp;y1, double &amp;x2, double &amp;y2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_path_extents           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y2</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Computes a bounding box in user-space coordinates covering the points on the current path. 
<p>
If the current path is empty, returns an empty rectangle ((0,0), (0,0)). Stroke parameters, fill rule, surface dimensions and clipping are not taken into account.<p>
Contrast with fill_extents() and stroke_extents() which return the extents of only the area that would be "inked" by the corresponding drawing operations.<p>
The result of path_extents() is defined as equivalent to the limit of stroke_extents() with <a class="el" href="namespaceCairo.html#bbb9aae64ef26733965e6d500ae76f1e05298af325e119d8cfbb6bf7f81f8255">Cairo::LINE_CAP_ROUND</a> as the line width approaches 0.0, (but never reaching the empty-rectangle returned by stroke_extents() for a line width of 0.0).<p>
Specifically, this means that zero-area sub-paths such as <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a>;<a class="el" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8" title="Adds a line to the path from the current point to position (x, y) in user-space coordinates...">line_to()</a> segments, (even degenerate cases where the coordinates to both calls are identical), will be considered as contributing to the extents. However, a lone <a class="el" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to()</a> will not contribute to the results of path_extents().<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x1</em>&#160;</td><td>left of the resulting extents </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y1</em>&#160;</td><td>top of the resulting extents </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x2</em>&#160;</td><td>right of the resulting extents </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y2</em>&#160;</td><td>bottom of the resulting extents</td></tr>
  </table>
</dl>
<dl class="since" compact><dt><b>Since:</b></dt><dd>1.6 </dd></dl>

</div>
</div><p>
<a class="anchor" name="511ca42d6c21a4cfc9ce4c4b1116ddad"></a><!-- doxytag: member="Cairo::Context::get_scaled_font" ref="511ca42d6c21a4cfc9ce4c4b1116ddad" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;<a class="el" href="classCairo_1_1ScaledFont.html">ScaledFont</a>&gt; Cairo::Context::get_scaled_font           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="a17cc0c92671d0d4c2d48bc3a79858d0"></a><!-- doxytag: member="Cairo::Context::get_source" ref="a17cc0c92671d0d4c2d48bc3a79858d0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;const <a class="el" href="classCairo_1_1Pattern.html">Pattern</a>&gt; Cairo::Context::get_source           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0b6eeda4d80f3d591a770cbbbf8a0c87"></a><!-- doxytag: member="Cairo::Context::get_source" ref="0b6eeda4d80f3d591a770cbbbf8a0c87" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;<a class="el" href="classCairo_1_1Pattern.html">Pattern</a>&gt; Cairo::Context::get_source           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current source pattern for the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="fbcad49bf4f75eca485fa4d728255ae0"></a><!-- doxytag: member="Cairo::Context::get_stroke_extents" ref="fbcad49bf4f75eca485fa4d728255ae0" args="(double &amp;x1, double &amp;y1, double &amp;x2, double &amp;y2) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_stroke_extents           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y2</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="39f36fa1f1460ca8a7f0504f01cb4d90"></a><!-- doxytag: member="Cairo::Context::get_target" ref="39f36fa1f1460ca8a7f0504f01cb4d90" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;const <a class="el" href="classCairo_1_1Surface.html">Surface</a>&gt; Cairo::Context::get_target           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the target surface associated with this <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em></em>&#160;</td><td></td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ea76bccc09bdab482f96469a4e7f94f6"></a><!-- doxytag: member="Cairo::Context::get_target" ref="ea76bccc09bdab482f96469a4e7f94f6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;<a class="el" href="classCairo_1_1Surface.html">Surface</a>&gt; Cairo::Context::get_target           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the target surface associated with this <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em></em>&#160;</td><td></td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="837ff58a69e3e74f6a6ef9da8454af2b"></a><!-- doxytag: member="Cairo::Context::get_text_extents" ref="837ff58a69e3e74f6a6ef9da8454af2b" args="(const std::string &amp;utf8, TextExtents &amp;extents) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::get_text_extents           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"> <em>utf8</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#f6d8a4744616383984c99f8f052c7a5d">TextExtents</a>&amp;&#160;</td>
          <td class="paramname"> <em>extents</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="216632e43aa061890c0a637ea41f7960"></a><!-- doxytag: member="Cairo::Context::get_tolerance" ref="216632e43aa061890c0a637ea41f7960" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double Cairo::Context::get_tolerance           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current tolerance value, as set by <a class="el" href="classCairo_1_1Context.html#01481a915f4086051f1c200f0f7a33d1" title="Sets the tolerance used when converting paths into trapezoids.">set_tolerance()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="d3372fc30d9a26c8d26c440a21464ce5"></a><!-- doxytag: member="Cairo::Context::glyph_path" ref="d3372fc30d9a26c8d26c440a21464ce5" args="(const std::vector&lt; Glyph &gt; &amp;glyphs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::glyph_path           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>glyphs</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="1db62850e9879589bacd463e54406b50"></a><!-- doxytag: member="Cairo::Context::has_current_point" ref="1db62850e9879589bacd463e54406b50" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Cairo::Context::has_current_point           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks if there is a current point defined. 
<p>

</div>
</div><p>
<a class="anchor" name="3d50e91f8ed135cee8741fef805df070"></a><!-- doxytag: member="Cairo::Context::in_fill" ref="3d50e91f8ed135cee8741fef805df070" args="(double x, double y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Cairo::Context::in_fill           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="15e153f40f02aaccd0aed27f7720bf6a"></a><!-- doxytag: member="Cairo::Context::in_stroke" ref="15e153f40f02aaccd0aed27f7720bf6a" args="(double x, double y) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Cairo::Context::in_stroke           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="e305a9f8a79cc0e0693393a940ee1de8"></a><!-- doxytag: member="Cairo::Context::line_to" ref="e305a9f8a79cc0e0693393a940ee1de8" args="(double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::line_to           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a line to the path from the current point to position (x, y) in user-space coordinates. 
<p>
After this call the current point will be (x, y).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&#160;</td><td>the X coordinate of the end of the new line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&#160;</td><td>the Y coordinate of the end of the new line </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="2f76e3b13027efc4c8745de5e04e00ec"></a><!-- doxytag: member="Cairo::Context::mask" ref="2f76e3b13027efc4c8745de5e04e00ec" args="(const RefPtr&lt; const Surface &gt; &amp;surface, double surface_x, double surface_y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::mask           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>surface_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>surface_y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that paints the current source using the alpha channel of surface as a mask. 
<p>
(Opaque areas of surface are painted with the source, transparent areas are not painted.)<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>surface</em>&#160;</td><td>a <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>surface_x</em>&#160;</td><td>X coordinate at which to place the origin of surface </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>surface_y</em>&#160;</td><td>Y coordinate at which to place the origin of surface </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="2ad3ea59afb6bb4fa04d000f5e9c3cf2"></a><!-- doxytag: member="Cairo::Context::mask" ref="2ad3ea59afb6bb4fa04d000f5e9c3cf2" args="(const RefPtr&lt; const Pattern &gt; &amp;pattern)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::mask           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Pattern.html">Pattern</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>pattern</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that paints the current source using the alpha channel of pattern as a mask. 
<p>
(Opaque areas of mask are painted with the source, transparent areas are not painted.)<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pattern</em>&#160;</td><td>a <a class="el" href="classCairo_1_1Pattern.html" title="This is a reference-counted object that should be used via Cairo::RefPtr.">Pattern</a> </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4086700b5f780fd3fb94bea941895022"></a><!-- doxytag: member="Cairo::Context::move_to" ref="4086700b5f780fd3fb94bea941895022" args="(double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::move_to           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If the current subpath is not empty, begin a new subpath. 
<p>
After this call the current point will be (x, y).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&#160;</td><td>the X coordinate of the new position </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&#160;</td><td>the Y coordinate of the new position </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d919eae3bc3b9827a3c1ceff2d86833e"></a><!-- doxytag: member="Cairo::Context::paint" ref="d919eae3bc3b9827a3c1ceff2d86833e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::paint           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that paints the current source everywhere within the current clip region. 
<p>

</div>
</div><p>
<a class="anchor" name="34208a6c6868cdcd65866cb8a2349525"></a><!-- doxytag: member="Cairo::Context::paint_with_alpha" ref="34208a6c6868cdcd65866cb8a2349525" args="(double alpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::paint_with_alpha           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>alpha</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that paints the current source everywhere within the current clip region using a mask of constant alpha value alpha. 
<p>
The effect is similar to <a class="el" href="classCairo_1_1Context.html#d919eae3bc3b9827a3c1ceff2d86833e" title="A drawing operator that paints the current source everywhere within the current clip...">paint()</a>, but the drawing is faded out using the alpha value.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>alpha</em>&#160;</td><td>an alpha value, between 0 (transparent) and 1 (opaque) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ece6278f4d71ce652557c80788415711"></a><!-- doxytag: member="Cairo::Context::pop_group" ref="ece6278f4d71ce652557c80788415711" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt;<a class="el" href="classCairo_1_1Pattern.html">Pattern</a>&gt; Cairo::Context::pop_group           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Terminates the redirection begun by a call to <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> or <a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group_with_content()</a> and returns a new pattern containing the results of all drawing operations performed to the group. 
<p>
The <a class="el" href="classCairo_1_1Context.html#ece6278f4d71ce652557c80788415711" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group()</a> function calls <a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a>, (balancing a call to <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> by the push_group function), so that any changes to the graphics state will not be visible outside the group.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a (surface) pattern containing the results of all drawing operations performed to the group. </dd></dl>

</div>
</div><p>
<a class="anchor" name="bd11fa1d3a582e0975ebb0155b9d4467"></a><!-- doxytag: member="Cairo::Context::pop_group_to_source" ref="bd11fa1d3a582e0975ebb0155b9d4467" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::pop_group_to_source           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Terminates the redirection begun by a call to <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> or <a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group_with_content()</a> and installs the resulting pattern as the source pattern in the given cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>
The behavior of this function is equivalent to the sequence of operations:<p>
<div class="fragment"><pre class="fragment"> RefPtr&lt;Pattern&gt; group = cr-&gt;pop_group();
 cr-&gt;set_source(group);
</pre></div><p>
but is more convenient as their is no need for a variable to store the short-lived pointer to the pattern.<p>
The <a class="el" href="classCairo_1_1Context.html#ece6278f4d71ce652557c80788415711" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group()</a> function calls <a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a>, (balancing a call to <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> by the push_group function), so that any changes to the graphics state will not be visible outside the group. 
</div>
</div><p>
<a class="anchor" name="a0a5a1ee48ff742d87480a689dca51c6"></a><!-- doxytag: member="Cairo::Context::push_group" ref="a0a5a1ee48ff742d87480a689dca51c6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::push_group           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Temporarily redirects drawing to an intermediate surface known as a group. 
<p>
The redirection lasts until the group is completed by a call to <a class="el" href="classCairo_1_1Context.html#ece6278f4d71ce652557c80788415711" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group()</a> or <a class="el" href="classCairo_1_1Context.html#bd11fa1d3a582e0975ebb0155b9d4467" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group_to_source()</a>. These calls provide the result of any drawing to the group as a pattern, (either as an explicit object, or set as the source pattern).<p>
This group functionality can be convenient for performing intermediate compositing. One common use of a group is to render objects as opaque within the group, (so that they occlude each other), and then blend the result with translucence onto the destination.<p>
Groups can be nested arbitrarily deep by making balanced calls to <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a>/pop_group(). Each call pushes/pops the new target group onto/from a stack.<p>
The <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> function calls <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> so that any changes to the graphics state will not be visible outside the group, (the pop_group functions call <a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a>).<p>
By default the intermediate group will have a content type of CONTENT_COLOR_ALPHA. Other content types can be chosen for the group by using <a class="el" href="classCairo_1_1Context.html#d08812ecb59891f92e79a3d4dbca2d97" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group_with_content()</a> instead.<p>
As an example, here is how one might fill and stroke a path with translucence, but without any portion of the fill being visible under the stroke:<p>
<div class="fragment"><pre class="fragment"> cr-&gt;push_group();
 cr-&gt;set_source(fill_pattern);
 cr-&gt;fill_preserve();
 cr-&gt;set_source(stroke_pattern);
 cr-&gt;stroke();
 cr-&gt;pop_group_to_source();
 cr-&gt;paint_with_alpha(alpha);
</pre></div> 
</div>
</div><p>
<a class="anchor" name="d08812ecb59891f92e79a3d4dbca2d97"></a><!-- doxytag: member="Cairo::Context::push_group_with_content" ref="d08812ecb59891f92e79a3d4dbca2d97" args="(Content content)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::push_group_with_content           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#1f0f5d82599dfeabbeb2396dbfd767d0">Content</a>&#160;</td>
          <td class="paramname"> <em>content</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Temporarily redirects drawing to an intermediate surface known as a group. 
<p>
The redirection lasts until the group is completed by a call to <a class="el" href="classCairo_1_1Context.html#ece6278f4d71ce652557c80788415711" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group()</a> or <a class="el" href="classCairo_1_1Context.html#bd11fa1d3a582e0975ebb0155b9d4467" title="Terminates the redirection begun by a call to push_group() or push_group_with_content()...">pop_group_to_source()</a>. These calls provide the result of any drawing to the group as a pattern, (either as an explicit object, or set as the source pattern).<p>
The group will have a content type of . The ability to control this content type is the only distinction between this function and <a class="el" href="classCairo_1_1Context.html#a0a5a1ee48ff742d87480a689dca51c6" title="Temporarily redirects drawing to an intermediate surface known as a group.">push_group()</a> which you should see for a more detailed description of group rendering.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>content</em>&#160;</td><td>indicates the type of group that will be created </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="85ee124b89c43dc29ff0d964bd005c11"></a><!-- doxytag: member="Cairo::Context::rectangle" ref="85ee124b89c43dc29ff0d964bd005c11" args="(double x, double y, double width, double height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::rectangle           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>height</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a closed-subpath rectangle of the given size to the current path at position (x, y) in user-space coordinates. 
<p>
This function is logically equivalent to:<p>
<div class="fragment"><pre class="fragment"> context-&gt;move_to(x, y);
 context-&gt;rel_line_to(width, 0);
 context-&gt;rel_line_to(0, height);
 context-&gt;rel_line_to(-width, 0);
 context-&gt;close_path();
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&#160;</td><td>the X coordinate of the top left corner of the rectangle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&#160;</td><td>the Y coordinate to the top left corner of the rectangle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>width</em>&#160;</td><td>the width of the rectangle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>height</em>&#160;</td><td>the height of the rectangle </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d7660dac997d5db2f7ce1539c20345e2"></a><!-- doxytag: member="Cairo::Context::rel_curve_to" ref="d7660dac997d5db2f7ce1539c20345e2" args="(double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::rel_curve_to           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dx1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dy1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dx2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dy2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dx3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dy3</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Relative-coordinate version of <a class="el" href="classCairo_1_1Context.html#9bdb6a5e2ea0e4bc9441bdc5704805f7" title="Adds a cubic Bezier spline to the path from the current point to position (x3, y3)...">curve_to()</a>. 
<p>
All offsets are relative to the current point. Adds a cubic Bezier spline to the path from the current point to a point offset from the current point by (dx3, dy3), using points offset by (dx1, dy1) and (dx2, dy2) as the control points. After this call the current point will be offset by (dx3, dy3).<p>
Given a current point of (x, y), <div class="fragment"><pre class="fragment"> <a class="code" href="classCairo_1_1Context.html#d7660dac997d5db2f7ce1539c20345e2" title="Relative-coordinate version of curve_to().">rel_curve_to</a>(dx1, dy1, dx2, dy2, dx3, dy3)
</pre></div> is logically equivalent to <div class="fragment"><pre class="fragment"> <a class="code" href="classCairo_1_1Context.html#9bdb6a5e2ea0e4bc9441bdc5704805f7" title="Adds a cubic Bezier spline to the path from the current point to position (x3, y3)...">curve_to</a>(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3).
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dx1</em>&#160;</td><td>the X offset to the first control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dy1</em>&#160;</td><td>the Y offset to the first control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dx2</em>&#160;</td><td>the X offset to the second control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dy2</em>&#160;</td><td>the Y offset to the second control point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dx3</em>&#160;</td><td>the X offset to the end of the curve </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dy3</em>&#160;</td><td>the Y offset to the end of the curve</td></tr>
  </table>
</dl>
It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception. 
</div>
</div><p>
<a class="anchor" name="35f2d0f7e9afcb59eef83af3d2831f2b"></a><!-- doxytag: member="Cairo::Context::rel_line_to" ref="35f2d0f7e9afcb59eef83af3d2831f2b" args="(double dx, double dy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::rel_line_to           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dy</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Relative-coordinate version of <a class="el" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8" title="Adds a line to the path from the current point to position (x, y) in user-space coordinates...">line_to()</a>. 
<p>
Adds a line to the path from the current point to a point that is offset from the current point by (dx, dy) in user space. After this call the current point will be offset by (dx, dy).<p>
Given a current point of (x, y), <div class="fragment"><pre class="fragment"> <a class="code" href="classCairo_1_1Context.html#35f2d0f7e9afcb59eef83af3d2831f2b" title="Relative-coordinate version of line_to().">rel_line_to</a>(dx, dy)
</pre></div> is logically equivalent to <div class="fragment"><pre class="fragment"> <a class="code" href="classCairo_1_1Context.html#e305a9f8a79cc0e0693393a940ee1de8" title="Adds a line to the path from the current point to position (x, y) in user-space coordinates...">line_to</a>(x + dx, y + dy).
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dx</em>&#160;</td><td>the X offset to the end of the new line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dy</em>&#160;</td><td>the Y offset to the end of the new line</td></tr>
  </table>
</dl>
It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception. 
</div>
</div><p>
<a class="anchor" name="3c739ac7e8e43d395f24dff0a0a83c0d"></a><!-- doxytag: member="Cairo::Context::rel_move_to" ref="3c739ac7e8e43d395f24dff0a0a83c0d" args="(double dx, double dy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::rel_move_to           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>dy</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If the current subpath is not empty, begin a new subpath. 
<p>
After this call the current point will offset by (x, y).<p>
Given a current point of (x, y), <div class="fragment"><pre class="fragment"> <a class="code" href="classCairo_1_1Context.html#3c739ac7e8e43d395f24dff0a0a83c0d" title="If the current subpath is not empty, begin a new subpath.">rel_move_to</a>(dx, dy)
</pre></div> is logically equivalent to <div class="fragment"><pre class="fragment"> <a class="code" href="classCairo_1_1Context.html#4086700b5f780fd3fb94bea941895022" title="If the current subpath is not empty, begin a new subpath.">move_to</a>(x + dx, y + dy)
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dx</em>&#160;</td><td>the X offset </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dy</em>&#160;</td><td>the Y offset</td></tr>
  </table>
</dl>
It is an error to call this function with no current point. Doing so will cause this to shutdown with a status of CAIRO_STATUS_NO_CURRENT_POINT. Cairomm will then throw an exception. 
</div>
</div><p>
<a class="anchor" name="82d001967dc8ba3e45f4d7a06c4b9ff2"></a><!-- doxytag: member="Cairo::Context::reset_clip" ref="82d001967dc8ba3e45f4d7a06c4b9ff2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::reset_clip           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset the current clip region to its original, unrestricted state. 
<p>
That is, set the clip region to an infinitely large shape containing the target surface. Equivalently, if infinity is too hard to grasp, one can imagine the clip region being reset to the exact bounds of the target surface.<p>
Note that code meant to be reusable should not call <a class="el" href="classCairo_1_1Context.html#82d001967dc8ba3e45f4d7a06c4b9ff2" title="Reset the current clip region to its original, unrestricted state.">reset_clip()</a> as it will cause results unexpected by higher-level code which calls <a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488" title="Establishes a new clip region by intersecting the current clip region with the current...">clip()</a>. Consider using <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> and <a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a> around <a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488" title="Establishes a new clip region by intersecting the current clip region with the current...">clip()</a> as a more robust means of temporarily restricting the clip region. 
</div>
</div><p>
<a class="anchor" name="45a80032b95d87eafe72dc2ab235f815"></a><!-- doxytag: member="Cairo::Context::restore" ref="45a80032b95d87eafe72dc2ab235f815" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::restore           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Restores cr to the state saved by a preceding call to <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> and removes that state from the stack of saved states. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="332811cd74028c20b5832501ec46d67e"></a><!-- doxytag: member="Cairo::Context::rotate" ref="332811cd74028c20b5832501ec46d67e" args="(double angle_radians)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::rotate           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>angle_radians</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians. 
<p>
The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&#160;</td><td>angle (in radians) by which the user-space axes will be rotated </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0ae251ef83d7c2985f4306abc905934d"></a><!-- doxytag: member="Cairo::Context::rotate_degrees" ref="0ae251ef83d7c2985f4306abc905934d" args="(double angle_degres)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::rotate_degrees           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>angle_degres</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A convenience wrapper around <a class="el" href="classCairo_1_1Context.html#332811cd74028c20b5832501ec46d67e" title="Modifies the current transformation matrix (CTM) by rotating the user-space axes...">rotate()</a> that accepts angles in degrees. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>angle_degrees</em>&#160;</td><td>angle (in degrees) by which the user-space axes should be rotated </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5249fa850f6adc1cb743e60a65a1ddb6"></a><!-- doxytag: member="Cairo::Context::save" ref="5249fa850f6adc1cb743e60a65a1ddb6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::save           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Makes a copy of the current state of the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> and saves it on an internal stack of saved states. 
<p>
When <a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a> is called, it will be restored to the saved state. Multiple calls to <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a> and <a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a> can be nested; each call to <a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a> restores the state from the matching paired <a class="el" href="classCairo_1_1Context.html#5249fa850f6adc1cb743e60a65a1ddb6" title="Makes a copy of the current state of the Context and saves it on an internal stack...">save()</a>.<p>
It isn't necessary to clear all saved states before a cairo_t is freed. Any saved states will be freed when the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> is destroyed.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#45a80032b95d87eafe72dc2ab235f815" title="Restores cr to the state saved by a preceding call to save() and removes that state...">restore()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="45543fb03fb740fe4c013492f348e084"></a><!-- doxytag: member="Cairo::Context::scale" ref="45543fb03fb740fe4c013492f348e084" args="(double sx, double sy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::scale           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>sx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>sy</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively. 
<p>
The scaling of the axes takes place after any existing transformation of user space.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sx</em>&#160;</td><td>scale factor for the X dimension </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sy</em>&#160;</td><td>scale factor for the Y dimension </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="cb1da5f3949195f76424e11be923fbfd"></a><!-- doxytag: member="Cairo::Context::select_font_face" ref="cb1da5f3949195f76424e11be923fbfd" args="(const std::string &amp;family, FontSlant slant, FontWeight weight)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::select_font_face           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"> <em>family</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#0a2c19fefac301a702a6b7fdb368bf55">FontSlant</a>&#160;</td>
          <td class="paramname"> <em>slant</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#d8514818fb9292a5864b57f4b8a1e546">FontWeight</a>&#160;</td>
          <td class="paramname"> <em>weight</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="79220a6785490688fdea41750d8933d6"></a><!-- doxytag: member="Cairo::Context::set_antialias" ref="79220a6785490688fdea41750d8933d6" args="(Antialias antialias)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_antialias           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#2cb381e7f63bef767a7d697fc5af13b4">Antialias</a>&#160;</td>
          <td class="paramname"> <em>antialias</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the antialiasing mode of the rasterizer used for drawing shapes. 
<p>
This value is a hint, and a particular backend may or may not support a particular value. At the current time, no backend supports CAIRO_ANTIALIAS_SUBPIXEL when drawing shapes.<p>
Note that this option does not affect text rendering, instead see <a class="el" href="classCairo_1_1FontOptions.html#c4805f8378e318a2ad52803285b7e7de" title="Sets the antialiasing mode for the font options object.">FontOptions::set_antialias()</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>antialias</em>&#160;</td><td>the new antialiasing mode </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="de74abb6db86a97ff3800e431e27ba45"></a><!-- doxytag: member="Cairo::Context::set_dash" ref="de74abb6db86a97ff3800e431e27ba45" args="(std::vector&lt; double &gt; &amp;dashes, double offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_dash           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"> <em>dashes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>offset</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the dash pattern to be used by <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a>. 
<p>
A dash pattern is specified by dashes, an array of positive values. Each value provides the user-space length of altenate "on" and "off" portions of the stroke. The offset specifies an offset into the pattern at which the stroke begins.<p>
If dashes is empty dashing is disabled. If the size of dashes is 1, a symmetric pattern is assumed with alternating on and off portions of the size specified by the single value in dashes.<p>
It is invalid for any value in dashes to be negative, or for all values to be 0. If this is the case, an exception will be thrown<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dashes</em>&#160;</td><td>an array specifying alternate lengths of on and off portions </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&#160;</td><td>an offset into the dash pattern at which the stroke should start</td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em></em>&#160;</td><td></td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="aa0b483d3f36facb1c9f2aa7f0a0ac13"></a><!-- doxytag: member="Cairo::Context::set_dash" ref="aa0b483d3f36facb1c9f2aa7f0a0ac13" args="(std::valarray&lt; double &gt; &amp;dashes, double offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_dash           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00598.html">std::valarray</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"> <em>dashes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>offset</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Alternate version of <a class="el" href="classCairo_1_1Context.html#aa0b483d3f36facb1c9f2aa7f0a0ac13" title="Alternate version of set_dash().">set_dash()</a>. 
<p>
You'll probably want to use the one that takes a <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a> argument instead. 
</div>
</div><p>
<a class="anchor" name="d15693ae817e3229409d831c7dd96bed"></a><!-- doxytag: member="Cairo::Context::set_fill_rule" ref="d15693ae817e3229409d831c7dd96bed" args="(FillRule fill_rule)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_fill_rule           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#1ba15b0a2e22c87c14af044801006c85">FillRule</a>&#160;</td>
          <td class="paramname"> <em>fill_rule</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the current fill rule within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>
The fill rule is used to determine which regions are inside or outside a complex (potentially self-intersecting) path. The current fill rule affects both <a class="el" href="classCairo_1_1Context.html#0a484790884dd138108b07c0ebbbe21d" title="A drawing operator that fills the current path according to the current fill rule...">fill()</a> and <a class="el" href="classCairo_1_1Context.html#423077b911738772807cc8bc24c25488" title="Establishes a new clip region by intersecting the current clip region with the current...">clip()</a>. See FillRule for details on the semantics of each available fill rule.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fill_rule</em>&#160;</td><td>a fill rule, specified as a FillRule </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="9b344db51097aba30e36452e1364faef"></a><!-- doxytag: member="Cairo::Context::set_font_face" ref="9b344db51097aba30e36452e1364faef" args="(const RefPtr&lt; const FontFace &gt; &amp;font_face)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_font_face           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1FontFace.html">FontFace</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>font_face</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="8d44b4f4e45a4fb2a794f3486f895640"></a><!-- doxytag: member="Cairo::Context::set_font_matrix" ref="8d44b4f4e45a4fb2a794f3486f895640" args="(const cairo_matrix_t &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_font_matrix           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7981bd1109ec5538fb505b36ec377757"></a><!-- doxytag: member="Cairo::Context::set_font_matrix" ref="7981bd1109ec5538fb505b36ec377757" args="(const Matrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_font_matrix           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="2d7f465d946804a8fe9877d7f7f4bbcb"></a><!-- doxytag: member="Cairo::Context::set_font_options" ref="2d7f465d946804a8fe9877d7f7f4bbcb" args="(const FontOptions &amp;options)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_font_options           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>&amp;&#160;</td>
          <td class="paramname"> <em>options</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c8a04a09c2e871a470fd030edb45b024"></a><!-- doxytag: member="Cairo::Context::set_font_size" ref="c8a04a09c2e871a470fd030edb45b024" args="(double size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_font_size           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="a3e9b13312b6ef331830b5348093e19e"></a><!-- doxytag: member="Cairo::Context::set_identity_matrix" ref="a3e9b13312b6ef331830b5348093e19e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_identity_matrix           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Resets the current transformation matrix (CTM) by setting it equal to the identity matrix. 
<p>
That is, the user-space and device-space axes will be aligned and one user-space unit will transform to one device-space unit. 
</div>
</div><p>
<a class="anchor" name="07fd8fc2c75558484e960c5ff63a61cc"></a><!-- doxytag: member="Cairo::Context::set_line_cap" ref="07fd8fc2c75558484e960c5ff63a61cc" args="(LineCap line_cap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_line_cap           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#bbb9aae64ef26733965e6d500ae76f1e">LineCap</a>&#160;</td>
          <td class="paramname"> <em>line_cap</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the current line cap style within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>
See LineCap for details about how the available line cap styles are drawn.<p>
As with the other stroke parameters, the current line cap style is examined by <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a>, stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>line_cap</em>&#160;</td><td>a line cap style, as a LineCap </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="23b5ba9363f568cacc1abf5e79a0200d"></a><!-- doxytag: member="Cairo::Context::set_line_join" ref="23b5ba9363f568cacc1abf5e79a0200d" args="(LineJoin line_join)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_line_join           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#dbc632404edaa736e01c12122239de73">LineJoin</a>&#160;</td>
          <td class="paramname"> <em>line_join</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the current line join style within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>
See LineJoin for details about how the available line join styles are drawn.<p>
As with the other stroke parameters, the current line join style is examined by <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a>, stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>line_join</em>&#160;</td><td>a line joint style, as a LineJoin </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="9ad2649d95e81a65aa0c581c4345375e"></a><!-- doxytag: member="Cairo::Context::set_line_width" ref="9ad2649d95e81a65aa0c581c4345375e" args="(double width)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_line_width           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>width</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the current line width within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>. 
<p>
The line width specifies the diameter of a pen that is circular in user-space.<p>
As with the other stroke parameters, the current line cap style is examined by <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a>, stroke_extents(), and stroke_to_path(), but does not have any effect during path construction.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>width</em>&#160;</td><td>a line width, as a user-space value </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="6d94c400c393d7e40bf2d2bbf4e6dcba"></a><!-- doxytag: member="Cairo::Context::set_matrix" ref="6d94c400c393d7e40bf2d2bbf4e6dcba" args="(const cairo_matrix_t &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_matrix           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c2eafbac5591e569d22495f7920d60d2"></a><!-- doxytag: member="Cairo::Context::set_matrix" ref="c2eafbac5591e569d22495f7920d60d2" args="(const Matrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_matrix           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modifies the current transformation matrix (CTM) by setting it equal to matrix. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&#160;</td><td>a transformation matrix from user space to device space </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="583445ca963769d3f31613bc55b1e8ad"></a><!-- doxytag: member="Cairo::Context::set_miter_limit" ref="583445ca963769d3f31613bc55b1e8ad" args="(double limit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_miter_limit           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>limit</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="61f276527b921cbd4fd81880ac372e2a"></a><!-- doxytag: member="Cairo::Context::set_operator" ref="61f276527b921cbd4fd81880ac372e2a" args="(Operator op)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_operator           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#2d612c31d146fc32d486f9614560c8d1">Operator</a>&#160;</td>
          <td class="paramname"> <em>op</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the compositing operator to be used for all drawing operations. 
<p>
See Operator for details on the semantics of each available compositing operator.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>op</em>&#160;</td><td>a compositing operator, specified as a Operator </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="aa8c0b24d9338d392c18435babeb4263"></a><!-- doxytag: member="Cairo::Context::set_scaled_font" ref="aa8c0b24d9338d392c18435babeb4263" args="(const RefPtr&lt; const ScaledFont &gt; &amp;scaled_font)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_scaled_font           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1ScaledFont.html">ScaledFont</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>scaled_font</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="d88c0ef8700410920b37833b8e6ed329"></a><!-- doxytag: member="Cairo::Context::set_source" ref="d88c0ef8700410920b37833b8e6ed329" args="(const RefPtr&lt; Surface &gt; &amp;surface, double x, double y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_source           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; <a class="el" href="classCairo_1_1Surface.html">Surface</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This is a convenience function for creating a pattern from a <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a> and setting it as the source. 
<p>
The x and y parameters give the user-space coordinate at which the <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a> origin should appear. (The <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a> origin is its upper-left corner before any transformation has been applied.) The x and y patterns are negated and then set as translation values in the pattern matrix.<p>
Other than the initial translation pattern matrix, as described above, all other pattern attributes, (such as its extend mode), are set to the default values as in <a class="el" href="classCairo_1_1Context.html#9a27f6ec57d788fd3ecbc310aeb24d99">Context::create(const RefPtr&lt;Surface&gt;&amp; target)</a>. The resulting pattern can be queried with <a class="el" href="classCairo_1_1Context.html#0b6eeda4d80f3d591a770cbbbf8a0c87" title="Gets the current source pattern for the Context.">get_source()</a> so that these attributes can be modified if desired, (eg. to create a repeating pattern with Pattern::set_extend()).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>surface</em>&#160;</td><td>a <a class="el" href="classCairo_1_1Surface.html" title="A cairo surface represents an image, either as the destination of a drawing operation...">Surface</a> to be used to set the source pattern </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x</em>&#160;</td><td>User-space X coordinate for surface origin </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&#160;</td><td>User-space Y coordinate for surface origin </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="534d571d5aa4b500782036202a3e2aea"></a><!-- doxytag: member="Cairo::Context::set_source" ref="534d571d5aa4b500782036202a3e2aea" args="(const RefPtr&lt; const Pattern &gt; &amp;source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_source           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>&lt; const <a class="el" href="classCairo_1_1Pattern.html">Pattern</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>source</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the source pattern within the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> to source. 
<p>
This <a class="el" href="classCairo_1_1Pattern.html" title="This is a reference-counted object that should be used via Cairo::RefPtr.">Pattern</a> will then be used for any subsequent drawing operation until a new source pattern is set.<p>
Note: The Pattern's transformation matrix will be locked to the user space in effect at the time of <a class="el" href="classCairo_1_1Context.html#534d571d5aa4b500782036202a3e2aea" title="Sets the source pattern within the Context to source.">set_source()</a>. This means that further modifications of the current transformation matrix will not affect the source pattern.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&#160;</td><td>a <a class="el" href="classCairo_1_1Pattern.html" title="This is a reference-counted object that should be used via Cairo::RefPtr.">Pattern</a> to be used as the source for subsequent drawing operations.</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Pattern.html#09dbb1295ba0a4f8a92b571aa6e425af">Pattern::set_matrix()</a> <p>
<a class="el" href="classCairo_1_1Context.html#ff3f3fc62bdf862646bb8cc568c30b2a" title="Sets the source pattern within the Context to an opaque color.">set_source_rgb()</a> <p>
<a class="el" href="classCairo_1_1Context.html#f9267aed8eb866701178dcada6c7e51a" title="Sets the source pattern within the Context to a translucent color.">set_source_rgba()</a> <p>
<a class="el" href="classCairo_1_1Context.html#d88c0ef8700410920b37833b8e6ed329" title="This is a convenience function for creating a pattern from a Surface and setting...">set_source(const RefPtr&lt;Surface&gt;&amp; surface, double x, double y)</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="ff3f3fc62bdf862646bb8cc568c30b2a"></a><!-- doxytag: member="Cairo::Context::set_source_rgb" ref="ff3f3fc62bdf862646bb8cc568c30b2a" args="(double red, double green, double blue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_source_rgb           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>blue</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the source pattern within the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> to an opaque color. 
<p>
This opaque color will then be used for any subsequent drawing operation until a new source pattern is set.<p>
The color components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>red</em>&#160;</td><td>red component of color </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>green</em>&#160;</td><td>green component of color </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>blue</em>&#160;</td><td>blue component of color</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#f9267aed8eb866701178dcada6c7e51a" title="Sets the source pattern within the Context to a translucent color.">set_source_rgba()</a> <p>
<a class="el" href="classCairo_1_1Context.html#534d571d5aa4b500782036202a3e2aea" title="Sets the source pattern within the Context to source.">set_source()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="f9267aed8eb866701178dcada6c7e51a"></a><!-- doxytag: member="Cairo::Context::set_source_rgba" ref="f9267aed8eb866701178dcada6c7e51a" args="(double red, double green, double blue, double alpha)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_source_rgba           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>blue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>alpha</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the source pattern within the <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a> to a translucent color. 
<p>
This color will then be used for any subsequent drawing operation until a new source pattern is set.<p>
The color and alpha components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>red</em>&#160;</td><td>red component of color </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>green</em>&#160;</td><td>green component of color </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>blue</em>&#160;</td><td>blue component of color </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>alpha</em>&#160;</td><td>alpha component of color</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#ff3f3fc62bdf862646bb8cc568c30b2a" title="Sets the source pattern within the Context to an opaque color.">set_source_rgb()</a> <p>
<a class="el" href="classCairo_1_1Context.html#534d571d5aa4b500782036202a3e2aea" title="Sets the source pattern within the Context to source.">set_source()</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="01481a915f4086051f1c200f0f7a33d1"></a><!-- doxytag: member="Cairo::Context::set_tolerance" ref="01481a915f4086051f1c200f0f7a33d1" args="(double tolerance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::set_tolerance           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>tolerance</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the tolerance used when converting paths into trapezoids. 
<p>
Curved segments of the path will be subdivided until the maximum deviation between the original path and the polygonal approximation is less than tolerance. The default value is 0.1. A larger value will give better performance, a smaller value, better appearance. (Reducing the value from the default value of 0.1 is unlikely to improve appearance significantly.)<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tolerance</em>&#160;</td><td>the tolerance, in device units (typically pixels) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f51f2c2ff72e8af66abeea3d15d25553"></a><!-- doxytag: member="Cairo::Context::show_glyphs" ref="f51f2c2ff72e8af66abeea3d15d25553" args="(const std::vector&lt; Glyph &gt; &amp;glyphs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::show_glyphs           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>glyphs</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="525cac95b4d4c2abea12b82c433adba9"></a><!-- doxytag: member="Cairo::Context::show_page" ref="525cac95b4d4c2abea12b82c433adba9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::show_page           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="584596d6f12dbea30519b908cacce038"></a><!-- doxytag: member="Cairo::Context::show_text" ref="584596d6f12dbea30519b908cacce038" args="(const std::string &amp;utf8)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::show_text           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"> <em>utf8</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="45723fd605cc2343ab46cf603d330002"></a><!-- doxytag: member="Cairo::Context::show_text_glyphs" ref="45723fd605cc2343ab46cf603d330002" args="(const std::string &amp;utf8, const std::vector&lt; Glyph &gt; &amp;glyphs, const std::vector&lt; TextCluster &gt; &amp;clusters, TextClusterFlags cluster_flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::show_text_glyphs           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"> <em>utf8</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#2483f165322e844c095c7be95849fdc2">Glyph</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>glyphs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00599.html">std::vector</a>&lt; <a class="el" href="namespaceCairo.html#3c23510889078c8a75d66add004ab288">TextCluster</a> &gt;&amp;&#160;</td>
          <td class="paramname"> <em>clusters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCairo.html#61b770cf36c555a4098b5428e030542a">TextClusterFlags</a>&#160;</td>
          <td class="paramname"> <em>cluster_flags</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="8e4acbb44f4b3fac00ee93f6251d6d17"></a><!-- doxytag: member="Cairo::Context::stroke" ref="8e4acbb44f4b3fac00ee93f6251d6d17" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::stroke           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that strokes the current <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> according to the current line width, line join, line cap, and dash settings. 
<p>
After <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a>, the current <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> will be cleared from the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#9ad2649d95e81a65aa0c581c4345375e" title="Sets the current line width within the cairo Context.">set_line_width()</a> <p>
<a class="el" href="classCairo_1_1Context.html#23b5ba9363f568cacc1abf5e79a0200d" title="Sets the current line join style within the cairo Context.">set_line_join()</a> <p>
<a class="el" href="classCairo_1_1Context.html#07fd8fc2c75558484e960c5ff63a61cc" title="Sets the current line cap style within the cairo Context.">set_line_cap()</a> <p>
<a class="el" href="classCairo_1_1Context.html#aa0b483d3f36facb1c9f2aa7f0a0ac13" title="Alternate version of set_dash().">set_dash()</a> <p>
<a class="el" href="classCairo_1_1Context.html#b10d89295e122b04ff1bbda425ae069c" title="A drawing operator that strokes the current Path according to the current line width...">stroke_preserve()</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b10d89295e122b04ff1bbda425ae069c"></a><!-- doxytag: member="Cairo::Context::stroke_preserve" ref="b10d89295e122b04ff1bbda425ae069c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::stroke_preserve           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A drawing operator that strokes the current <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> according to the current line width, line join, line cap, and dash settings. 
<p>
Unlike <a class="el" href="classCairo_1_1Context.html#8e4acbb44f4b3fac00ee93f6251d6d17" title="A drawing operator that strokes the current Path according to the current line width...">stroke()</a>, <a class="el" href="classCairo_1_1Context.html#b10d89295e122b04ff1bbda425ae069c" title="A drawing operator that strokes the current Path according to the current line width...">stroke_preserve()</a> preserves the <a class="el" href="classCairo_1_1Path.html" title="A data structure for holding a path.">Path</a> within the cairo <a class="el" href="classCairo_1_1Context.html" title="Context is the main class used to draw in cairomm.">Context</a>.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCairo_1_1Context.html#9ad2649d95e81a65aa0c581c4345375e" title="Sets the current line width within the cairo Context.">set_line_width()</a> <p>
<a class="el" href="classCairo_1_1Context.html#23b5ba9363f568cacc1abf5e79a0200d" title="Sets the current line join style within the cairo Context.">set_line_join()</a> <p>
<a class="el" href="classCairo_1_1Context.html#07fd8fc2c75558484e960c5ff63a61cc" title="Sets the current line cap style within the cairo Context.">set_line_cap()</a> <p>
<a class="el" href="classCairo_1_1Context.html#aa0b483d3f36facb1c9f2aa7f0a0ac13" title="Alternate version of set_dash().">set_dash()</a> <p>
<a class="el" href="classCairo_1_1Context.html#b10d89295e122b04ff1bbda425ae069c" title="A drawing operator that strokes the current Path according to the current line width...">stroke_preserve()</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="5613b4202f82f6a53f1aeac6c58e5521"></a><!-- doxytag: member="Cairo::Context::text_path" ref="5613b4202f82f6a53f1aeac6c58e5521" args="(const std::string &amp;utf8)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::text_path           </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00218.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"> <em>utf8</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="1bb46fed0df67873bef36e8d7c515c5a"></a><!-- doxytag: member="Cairo::Context::transform" ref="1bb46fed0df67873bef36e8d7c515c5a" args="(const cairo_matrix_t &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::transform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcairo__matrix__t.html">cairo_matrix_t</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c520512061fa271fff3b1f922f94c9cb"></a><!-- doxytag: member="Cairo::Context::transform" ref="c520512061fa271fff3b1f922f94c9cb" args="(const Matrix &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::transform           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>&amp;&#160;</td>
          <td class="paramname"> <em>matrix</em>          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modifies the current transformation matrix (CTM) by applying matrix as an additional transformation. 
<p>
The new transformation of user space takes place after any existing transformation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&#160;</td><td>a transformation to be applied to the user-space axes </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="3058f50f915d9c43d165dfcd1a940cdc"></a><!-- doxytag: member="Cairo::Context::translate" ref="3058f50f915d9c43d165dfcd1a940cdc" args="(double tx, double ty)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::translate           </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>tx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"> <em>ty</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modifies the current transformation matrix (CTM) by translating the user-space origin by (tx, ty). 
<p>
This offset is interpreted as a user-space coordinate according to the CTM in place before the new call to cairo_translate. In other words, the translation of the user-space origin takes place after any existing transformation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tx</em>&#160;</td><td>amount to translate in the X direction </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ty</em>&#160;</td><td>amount to translate in the Y direction </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b20ad42403add42a9388b281074b77d2"></a><!-- doxytag: member="Cairo::Context::unset_dash" ref="b20ad42403add42a9388b281074b77d2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::unset_dash           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&#160;)&#160;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function disables a dash pattern that was set with <a class="el" href="classCairo_1_1Context.html#aa0b483d3f36facb1c9f2aa7f0a0ac13" title="Alternate version of set_dash().">set_dash()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="a9cc3eeb14b515b184be6a401c0993a4"></a><!-- doxytag: member="Cairo::Context::user_to_device" ref="a9cc3eeb14b515b184be6a401c0993a4" args="(double &amp;x, double &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::user_to_device           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>y</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform a coordinate from user space to device space by multiplying the given point by the current transformation matrix (CTM). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&#160;</td><td>X value of coordinate (in/out parameter) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&#160;</td><td>Y value of coordinate (in/out parameter) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b0daccfeaa8b173b26473e79271f7e88"></a><!-- doxytag: member="Cairo::Context::user_to_device_distance" ref="b0daccfeaa8b173b26473e79271f7e88" args="(double &amp;dx, double &amp;dy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cairo::Context::user_to_device_distance           </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>dx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"> <em>dy</em></td><td>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transform a distance vector from user space to device space. 
<p>
This function is similar to <a class="el" href="classCairo_1_1Context.html#a9cc3eeb14b515b184be6a401c0993a4" title="Transform a coordinate from user space to device space by multiplying the given point...">user_to_device()</a> except that the translation components of the CTM will be ignored when transforming (dx,dy).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dx</em>&#160;</td><td>X component of a distance vector (in/out parameter) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dy</em>&#160;</td><td>Y component of a distance vector (in/out parameter) </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="620db06ff96d42e8e1db12ada0435fcc"></a><!-- doxytag: member="Cairo::Context::m_cobject" ref="620db06ff96d42e8e1db12ada0435fcc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCairo_1_1Context.html#14e54b45199452f9916ebcafcd4a629e">cobject</a>* <a class="el" href="classCairo_1_1Context.html#620db06ff96d42e8e1db12ada0435fcc">Cairo::Context::m_cobject</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>cairomm/context.h</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Aug 13 11:40:14 2009 for cairomm by&#160;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>