File: //usr/local/ssl/share/gtk-doc/html/libgnomecanvas/libgnomecanvas-gnome-canvas-util.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gnome-canvas-util</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="GNOME Canvas Library Reference Manual">
<link rel="up" href="ch02.html" title="GNOME Canvas Library (libgnomecanvas)">
<link rel="prev" href="libgnomecanvas-gnome-canvas-path-def.html" title="gnome-canvas-path-def">
<meta name="generator" content="GTK-Doc V1.4 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="ch01.html" title="Object Hierarchy">
<link rel="chapter" href="ch02.html" title="GNOME Canvas Library (libgnomecanvas)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libgnomecanvas-gnome-canvas-path-def.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNOME Canvas Library Reference Manual</th>
</tr></table>
<div class="refentry" lang="en">
<a name="libgnomecanvas-gnome-canvas-util"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle">gnome-canvas-util</span></h2>
<p>gnome-canvas-util — Canvas utility functions</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
#include <libgnomecanvas/libgnomecanvas.h>
<a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a>;
<a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a>* <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-new">gnome_canvas_points_new</a> (int num_points);
<a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a>* <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-ref">gnome_canvas_points_ref</a> (<a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a> *points);
#define <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-unref">gnome_canvas_points_unref</a>
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-free">gnome_canvas_points_free</a> (<a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a> *points);
int <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-get-miter-points">gnome_canvas_get_miter_points</a> (double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double width,
double *mx1,
double *my1,
double *mx2,
double *my2);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-get-butt-points">gnome_canvas_get_butt_points</a> (double x1,
double y1,
double x2,
double y2,
double width,
int project,
double *bx1,
double *by1,
double *bx2,
double *by2);
double <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-polygon-to-point">gnome_canvas_polygon_to_point</a> (double *poly,
int num_points,
double x,
double y);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-render-svp">gnome_canvas_render_svp</a> (<a href="GnomeCanvas.html#GnomeCanvasBuf">GnomeCanvasBuf</a> *buf,
ArtSVP *svp,
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
>guint32</a> rgba);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-update-svp">gnome_canvas_update_svp</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
ArtSVP **p_svp,
ArtSVP *new_svp);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-update-svp-clip">gnome_canvas_update_svp_clip</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
ArtSVP **p_svp,
ArtSVP *new_svp,
ArtSVP *clip_svp);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-item-reset-bounds">gnome_canvas_item_reset_bounds</a> (<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-item-update-svp">gnome_canvas_item_update_svp</a> (<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
ArtSVP **p_svp,
ArtSVP *new_svp);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-item-update-svp-clip">gnome_canvas_item_update_svp_clip</a>
(<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
ArtSVP **p_svp,
ArtSVP *new_svp,
ArtSVP *clip_svp);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-item-request-redraw-svp">gnome_canvas_item_request_redraw_svp</a>
(<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
const ArtSVP *svp);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-update-bbox">gnome_canvas_update_bbox</a> (<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
int x1,
int y1,
int x2,
int y2);
void <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-buf-ensure-buf">gnome_canvas_buf_ensure_buf</a> (<a href="GnomeCanvas.html#GnomeCanvasBuf">GnomeCanvasBuf</a> *buf);
ArtPathStrokeJoinType <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-join-gdk-to-art">gnome_canvas_join_gdk_to_art</a>
(<a
href="/usr/share/gtk-doc/html/gdk/gdk-Graphics-Contexts.html#GdkJoinStyle"
>GdkJoinStyle</a> gdk_join);
ArtPathStrokeCapType <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-cap-gdk-to-art">gnome_canvas_cap_gdk_to_art</a>
(<a
href="/usr/share/gtk-doc/html/gdk/gdk-Graphics-Contexts.html#GdkCapStyle"
>GdkCapStyle</a> gdk_cap);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2701397"></a><h2>Description</h2>
<p>
Some useful canvas utility functions.
</p>
<p>
The <a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints"><span class="type">GnomeCanvasPoints</span></a> structure manages an array of points (X and Y
coordinates) and is used by <a href="GnomeCanvasLine.html" title="GnomeCanvasLine"><span class="type">GnomeCanvasLine</span></a> and <a href="GnomeCanvasPolygon.html" title="GnomeCanvasPolygon"><span class="type">GnomeCanvasPolygon</span></a> canvas
items.
</p>
<p>
To create a <a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints"><span class="type">GnomeCanvasPoints</span></a> structure call <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-new"><code class="function">gnome_canvas_points_new()</code></a> and
when finished using it call <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-free"><code class="function">gnome_canvas_points_free()</code></a>.
</p>
<p>
Of note is that the <a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints"><span class="type">GnomeCanvasPoints</span></a> structure is actually managed
by a reference count, so it won't be freed until this count reaches
0. To increment its reference count call <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-ref"><code class="function">gnome_canvas_points_ref()</code></a> and
to decrement it call <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-unref"><code class="function">gnome_canvas_points_unref()</code></a>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2701509"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2701514"></a><h3>
<a name="GnomeCanvasPoints"></a>GnomeCanvasPoints</h3>
<a class="indexterm" name="id2701525"></a><pre class="programlisting">typedef struct {
double *coords;
int num_points;
int ref_count;
} GnomeCanvasPoints;
</pre>
<p>
A structure to manage an array of points (X and Y coordinates). The memory
management of this structure is handled with functions below, but the point
coordinates are meant to be written directly into the array pointed to by
the <em class="structfield"><code>coords</code></em> field.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term">double *<em class="structfield"><code>coords</code></em>;</span></td>
<td>Array of coordinates (num_points * 2 in size), X coordinates are
stored in the even-numbered indices, and Y coordinates are stored in the
odd-numbered indices.
</td>
</tr>
<tr>
<td>
<span class="term">int <em class="structfield"><code>num_points</code></em>;</span></td>
<td>Read-only - Number of points in this array.
</td>
</tr>
<tr>
<td>
<span class="term">int <em class="structfield"><code>ref_count</code></em>;</span></td>
<td>Read-only - Count of references to this array of points
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2701617"></a><h3>
<a name="gnome-canvas-points-new"></a>gnome_canvas_points_new ()</h3>
<a class="indexterm" name="id2701628"></a><pre class="programlisting"><a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a>* gnome_canvas_points_new (int num_points);</pre>
<p>
Creates a structure that should be used to pass an array of points to
items.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>num_points</code></em> :</span></td>
<td> The number of points to allocate space for in the array.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A newly-created array of points. It should be filled in
by the user.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2701691"></a><h3>
<a name="gnome-canvas-points-ref"></a>gnome_canvas_points_ref ()</h3>
<a class="indexterm" name="id2701702"></a><pre class="programlisting"><a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a>* gnome_canvas_points_ref (<a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a> *points);</pre>
<p>
Increases the reference count of the specified points structure.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>points</code></em> :</span></td>
<td> A canvas points structure.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> The canvas points structure itself.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2701765"></a><h3>
<a name="gnome-canvas-points-unref"></a>gnome_canvas_points_unref</h3>
<a class="indexterm" name="id2701775"></a><pre class="programlisting">#define gnome_canvas_points_unref</pre>
<p>
A synonym for <a href="libgnomecanvas-gnome-canvas-util.html#gnome-canvas-points-free"><code class="function">gnome_canvas_points_free()</code></a>. It decrements a <a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints"><span class="type">GnomeCanvasPoints</span></a>
reference by 1 and frees it when there are no more references.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2701812"></a><h3>
<a name="gnome-canvas-points-free"></a>gnome_canvas_points_free ()</h3>
<a class="indexterm" name="id2701823"></a><pre class="programlisting">void gnome_canvas_points_free (<a href="libgnomecanvas-gnome-canvas-util.html#GnomeCanvasPoints">GnomeCanvasPoints</a> *points);</pre>
<p>
Decreases the reference count of the specified points structure. If it
reaches zero, then the structure is freed.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>points</code></em> :</span></td>
<td> A canvas points structure.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2701875"></a><h3>
<a name="gnome-canvas-get-miter-points"></a>gnome_canvas_get_miter_points ()</h3>
<a class="indexterm" name="id2701886"></a><pre class="programlisting">int gnome_canvas_get_miter_points (double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double width,
double *mx1,
double *my1,
double *mx2,
double *my2);</pre>
<p>
Given three points forming an angle, computes the coordinates of the inside
and outside points of the mitered corner formed by a line of a given width at
that angle.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>x1</code></em> :</span></td>
<td> X coordinate of the first point
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y1</code></em> :</span></td>
<td> Y coordinate of the first point
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x2</code></em> :</span></td>
<td> X coordinate of the second (angle) point
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y2</code></em> :</span></td>
<td> Y coordinate of the second (angle) point
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x3</code></em> :</span></td>
<td> X coordinate of the third point
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y3</code></em> :</span></td>
<td> Y coordinate of the third point
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>width</code></em> :</span></td>
<td> Width of the line
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>mx1</code></em> :</span></td>
<td> The X coordinate of the first miter point is returned here.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>my1</code></em> :</span></td>
<td> The Y coordinate of the first miter point is returned here.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>mx2</code></em> :</span></td>
<td> The X coordinate of the second miter point is returned here.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>my2</code></em> :</span></td>
<td> The Y coordinate of the second miter point is returned here.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> FALSE if the angle is less than 11 degrees (this is the same
threshold as X uses. If this occurs, the return points are not modified.
Otherwise, returns TRUE.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2702170"></a><h3>
<a name="gnome-canvas-get-butt-points"></a>gnome_canvas_get_butt_points ()</h3>
<a class="indexterm" name="id2702181"></a><pre class="programlisting">void gnome_canvas_get_butt_points (double x1,
double y1,
double x2,
double y2,
double width,
int project,
double *bx1,
double *by1,
double *bx2,
double *by2);</pre>
<p>
Computes the butt points of a line segment.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>x1</code></em> :</span></td>
<td> X coordinate of first point in the line
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y1</code></em> :</span></td>
<td> Y cooordinate of first point in the line
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x2</code></em> :</span></td>
<td> X coordinate of second point (endpoint) of the line
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y2</code></em> :</span></td>
<td> Y coordinate of second point (endpoint) of the line
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>width</code></em> :</span></td>
<td> Width of the line
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>project</code></em> :</span></td>
<td> Whether the butt points should project out by width/2 distance
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>bx1</code></em> :</span></td>
<td> X coordinate of first butt point is returned here
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>by1</code></em> :</span></td>
<td> Y coordinate of first butt point is returned here
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>bx2</code></em> :</span></td>
<td> X coordinate of second butt point is returned here
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>by2</code></em> :</span></td>
<td> Y coordinate of second butt point is returned here
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2702430"></a><h3>
<a name="gnome-canvas-polygon-to-point"></a>gnome_canvas_polygon_to_point ()</h3>
<a class="indexterm" name="id2702441"></a><pre class="programlisting">double gnome_canvas_polygon_to_point (double *poly,
int num_points,
double x,
double y);</pre>
<p>
Computes the distance between a point and a polygon.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>poly</code></em> :</span></td>
<td> Vertices of the polygon. X coordinates are in the even indices, and Y
coordinates are in the odd indices
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>num_points</code></em> :</span></td>
<td> Number of points in the polygon
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em> :</span></td>
<td> X coordinate of the point
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em> :</span></td>
<td> Y coordinate of the point
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> The distance from the point to the polygon, or zero if the
point is inside the polygon.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2702569"></a><h3>
<a name="gnome-canvas-render-svp"></a>gnome_canvas_render_svp ()</h3>
<a class="indexterm" name="id2702580"></a><pre class="programlisting">void gnome_canvas_render_svp (<a href="GnomeCanvas.html#GnomeCanvasBuf">GnomeCanvasBuf</a> *buf,
ArtSVP *svp,
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
>guint32</a> rgba);</pre>
<p>
Render the svp over the buf.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>buf</code></em> :</span></td>
<td> the canvas buffer to render over
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>svp</code></em> :</span></td>
<td> the vector path to render
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>rgba</code></em> :</span></td>
<td> the rgba color to render
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2702674"></a><h3>
<a name="gnome-canvas-update-svp"></a>gnome_canvas_update_svp ()</h3>
<a class="indexterm" name="id2702685"></a><pre class="programlisting">void gnome_canvas_update_svp (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
ArtSVP **p_svp,
ArtSVP *new_svp);</pre>
<p>
Sets the svp to the new value, requesting repaint on what's changed. This
function takes responsibility for freeing new_svp.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>canvas</code></em> :</span></td>
<td> the canvas containing the svp that needs updating.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_svp</code></em> :</span></td>
<td> a pointer to the existing svp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>new_svp</code></em> :</span></td>
<td> the new svp
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2702781"></a><h3>
<a name="gnome-canvas-update-svp-clip"></a>gnome_canvas_update_svp_clip ()</h3>
<a class="indexterm" name="id2702793"></a><pre class="programlisting">void gnome_canvas_update_svp_clip (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
ArtSVP **p_svp,
ArtSVP *new_svp,
ArtSVP *clip_svp);</pre>
<p>
Sets the svp to the new value, clipping if necessary, and requesting repaint
on what's changed. This function takes responsibility for freeing new_svp.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>canvas</code></em> :</span></td>
<td> the canvas containing the svp that needs updating.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_svp</code></em> :</span></td>
<td> a pointer to the existing svp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>new_svp</code></em> :</span></td>
<td> the new svp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>clip_svp</code></em> :</span></td>
<td> a clip path, if non-null
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2702911"></a><h3>
<a name="gnome-canvas-item-reset-bounds"></a>gnome_canvas_item_reset_bounds ()</h3>
<a class="indexterm" name="id2702922"></a><pre class="programlisting">void gnome_canvas_item_reset_bounds (<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item);</pre>
<p>
Resets the bounding box of a canvas item to an empty rectangle.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>item</code></em> :</span></td>
<td> A canvas item
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2702974"></a><h3>
<a name="gnome-canvas-item-update-svp"></a>gnome_canvas_item_update_svp ()</h3>
<a class="indexterm" name="id2702985"></a><pre class="programlisting">void gnome_canvas_item_update_svp (<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
ArtSVP **p_svp,
ArtSVP *new_svp);</pre>
<p>
Sets the svp to the new value, requesting repaint on what's changed. This
function takes responsibility for freeing new_svp. This routine also adds the
svp's bbox to the item's.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>item</code></em> :</span></td>
<td> the canvas item containing the svp that needs updating.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_svp</code></em> :</span></td>
<td> a pointer to the existing svp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>new_svp</code></em> :</span></td>
<td> the new svp
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2703083"></a><h3>
<a name="gnome-canvas-item-update-svp-clip"></a>gnome_canvas_item_update_svp_clip ()</h3>
<a class="indexterm" name="id2703095"></a><pre class="programlisting">void gnome_canvas_item_update_svp_clip
(<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
ArtSVP **p_svp,
ArtSVP *new_svp,
ArtSVP *clip_svp);</pre>
<p>
Sets the svp to the new value, clipping if necessary, and requesting repaint
on what's changed. This function takes responsibility for freeing new_svp.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>item</code></em> :</span></td>
<td> the canvas item containing the svp that needs updating.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>p_svp</code></em> :</span></td>
<td> a pointer to the existing svp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>new_svp</code></em> :</span></td>
<td> the new svp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>clip_svp</code></em> :</span></td>
<td> a clip path, if non-null
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2703214"></a><h3>
<a name="gnome-canvas-item-request-redraw-svp"></a>gnome_canvas_item_request_redraw_svp ()</h3>
<a class="indexterm" name="id2703225"></a><pre class="programlisting">void gnome_canvas_item_request_redraw_svp
(<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
const ArtSVP *svp);</pre>
<p>
Request redraw of the svp if in aa mode, or the entire item in in xlib mode.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>item</code></em> :</span></td>
<td> the item containing the svp
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>svp</code></em> :</span></td>
<td> the svp that needs to be redrawn
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2703300"></a><h3>
<a name="gnome-canvas-update-bbox"></a>gnome_canvas_update_bbox ()</h3>
<a class="indexterm" name="id2703311"></a><pre class="programlisting">void gnome_canvas_update_bbox (<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a> *item,
int x1,
int y1,
int x2,
int y2);</pre>
<p>
Sets the bbox to the new value, requesting full repaint.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>item</code></em> :</span></td>
<td> the canvas item needing update
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x1</code></em> :</span></td>
<td> Left coordinate of the new bounding box
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y1</code></em> :</span></td>
<td> Top coordinate of the new bounding box
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x2</code></em> :</span></td>
<td> Right coordinate of the new bounding box
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y2</code></em> :</span></td>
<td> Bottom coordinate of the new bounding box
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2703446"></a><h3>
<a name="gnome-canvas-buf-ensure-buf"></a>gnome_canvas_buf_ensure_buf ()</h3>
<a class="indexterm" name="id2703458"></a><pre class="programlisting">void gnome_canvas_buf_ensure_buf (<a href="GnomeCanvas.html#GnomeCanvasBuf">GnomeCanvasBuf</a> *buf);</pre>
<p>
Ensure that the buffer is in RGB format, suitable for compositing.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>buf</code></em> :</span></td>
<td> the buf that needs to be represened in RGB format
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2703509"></a><h3>
<a name="gnome-canvas-join-gdk-to-art"></a>gnome_canvas_join_gdk_to_art ()</h3>
<a class="indexterm" name="id2703520"></a><pre class="programlisting">ArtPathStrokeJoinType gnome_canvas_join_gdk_to_art
(<a
href="/usr/share/gtk-doc/html/gdk/gdk-Graphics-Contexts.html#GdkJoinStyle"
>GdkJoinStyle</a> gdk_join);</pre>
<p>
Convert from GDK line join specifier to libart.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>gdk_join</code></em> :</span></td>
<td> a join type, represented in GDK format
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> The line join specifier in libart format.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2703584"></a><h3>
<a name="gnome-canvas-cap-gdk-to-art"></a>gnome_canvas_cap_gdk_to_art ()</h3>
<a class="indexterm" name="id2703596"></a><pre class="programlisting">ArtPathStrokeCapType gnome_canvas_cap_gdk_to_art
(<a
href="/usr/share/gtk-doc/html/gdk/gdk-Graphics-Contexts.html#GdkCapStyle"
>GdkCapStyle</a> gdk_cap);</pre>
<p>
Convert from GDK line cap specifier to libart.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>gdk_cap</code></em> :</span></td>
<td> a cap type, represented in GDK format
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> The line cap specifier in libart format.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle">
<td align="left"><a accesskey="p" href="libgnomecanvas-gnome-canvas-path-def.html"><b><< gnome-canvas-path-def</b></a></td>
<td align="right"></td>
</tr></table>
</body>
</html>