1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>GnomeCanvas</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="GNOME Canvas Library Reference Manual"><link rel="up" href="ch02.html" title="GNOME Canvas Library (libgnomecanvas)"><link rel="previous" href="ch02.html" title="GNOME Canvas Library (libgnomecanvas)"><link rel="next" href="GnomeCanvasBpath.html" title="GnomeCanvasBpath"><link rel="chapter" href="ch01.html" title="Object Hierarchy"><link rel="chapter" href="ch02.html" title="GNOME Canvas Library (libgnomecanvas)"><link rel="refentry" href="GnomeCanvas.html" title="GnomeCanvas"><link rel="refentry" href="GnomeCanvasBpath.html" title="GnomeCanvasBpath"><link rel="refentry" href="GnomeCanvasClipgroup.html" title="GnomeCanvasClipgroup"><link rel="refentry" href="GnomeCanvasEllipse.html" title="GnomeCanvasEllipse"><link rel="refentry" href="GnomeCanvasGroup.html" title="GnomeCanvasGroup"><link rel="refentry" href="GnomeCanvasItem.html" title="GnomeCanvasItem"><link rel="refentry" href="GnomeCanvasLine.html" title="GnomeCanvasLine"><link rel="refentry" href="GnomeCanvasPixbuf.html" title="GnomeCanvasPixbuf"><link rel="refentry" href="GnomeCanvasPolygon.html" title="GnomeCanvasPolygon"><link rel="refentry" href="GnomeCanvasRE.html" title="GnomeCanvasRE"><link rel="refentry" href="GnomeCanvasRect.html" title="GnomeCanvasRect"><link rel="refentry" href="GnomeCanvasRichText.html" title="GnomeCanvasRichText"><link rel="refentry" href="GnomeCanvasShape.html" title="GnomeCanvasShape"><link rel="refentry" href="GnomeCanvasText.html" title="GnomeCanvasText"><link rel="refentry" href="GnomeCanvasWidget.html" title="GnomeCanvasWidget"><link rel="refentry" href="libgnomecanvas-gnome-canvas-path-def.html" title="gnome-canvas-path-def"><link rel="refentry" href="libgnomecanvas-gnome-canvas-util.html" title="gnome-canvas-util"><link rel="section" href="GnomeCanvas.html#id2971479" title="Object Hierarchy"><link rel="section" href="GnomeCanvas.html#id2971528" title="Implemented Interfaces"><link rel="section" href="GnomeCanvas.html#id2971547" title="Properties"><link rel="section" href="GnomeCanvas.html#id2971576" title="Signal Prototypes"><link rel="section" href="GnomeCanvas.html#id2971700" title="Description"><link rel="section" href="GnomeCanvas.html#id2972047" title="Details"><link rel="section" href="GnomeCanvas.html#id2975089" title="Properties"><link rel="section" href="GnomeCanvas.html#id2975161" title="Signals"><meta name="generator" content="GTK-Doc V1.2 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"></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="ch02.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><td><a accesskey="n" href="GnomeCanvasBpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="GnomeCanvas"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2><span class="refentrytitle">GnomeCanvas</span></h2><p>GnomeCanvas — Main canvas widget</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
3
#include <libgnomecanvas/libgnomecanvas.h>
6
struct <a href="GnomeCanvas.html#GnomeCanvas-struct">GnomeCanvas</a>;
7
#define <a href="GnomeCanvas.html#GNOME-CANVAS-EPSILON-CAPS">GNOME_CANVAS_EPSILON</a>
8
#define <a href="GnomeCanvas.html#GNOME-CANVAS-COLOR-CAPS">GNOME_CANVAS_COLOR</a> (r, g, b)
9
#define <a href="GnomeCanvas.html#GNOME-CANVAS-COLOR-A-CAPS">GNOME_CANVAS_COLOR_A</a> (r, g, b, a)
10
struct <a href="GnomeCanvas.html#GnomeCanvasBuf">GnomeCanvasBuf</a>;
11
GtkWidget* <a href="GnomeCanvas.html#gnome-canvas-new">gnome_canvas_new</a> (void);
12
GtkWidget* <a href="GnomeCanvas.html#gnome-canvas-new-aa">gnome_canvas_new_aa</a> (void);
13
<a href="GnomeCanvasGroup.html" title="GnomeCanvasGroup">GnomeCanvasGroup</a>* <a href="GnomeCanvas.html#gnome-canvas-root">gnome_canvas_root</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);
14
void <a href="GnomeCanvas.html#gnome-canvas-set-scroll-region">gnome_canvas_set_scroll_region</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
19
void <a href="GnomeCanvas.html#gnome-canvas-get-scroll-region">gnome_canvas_get_scroll_region</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
24
void <a href="GnomeCanvas.html#gnome-canvas-set-center-scroll-region">gnome_canvas_set_center_scroll_region</a>
25
(<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
26
gboolean center_scroll_region);
27
gboolean <a href="GnomeCanvas.html#gnome-canvas-get-center-scroll-region">gnome_canvas_get_center_scroll_region</a>
28
(<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);
29
void <a href="GnomeCanvas.html#gnome-canvas-set-pixels-per-unit">gnome_canvas_set_pixels_per_unit</a>
30
(<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
32
void <a href="GnomeCanvas.html#gnome-canvas-scroll-to">gnome_canvas_scroll_to</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
35
void <a href="GnomeCanvas.html#gnome-canvas-get-scroll-offsets">gnome_canvas_get_scroll_offsets</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
38
void <a href="GnomeCanvas.html#gnome-canvas-update-now">gnome_canvas_update_now</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);
39
<a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a>* <a href="GnomeCanvas.html#gnome-canvas-get-item-at">gnome_canvas_get_item_at</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
42
void <a href="GnomeCanvas.html#gnome-canvas-request-redraw-uta">gnome_canvas_request_redraw_uta</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
44
void <a href="GnomeCanvas.html#gnome-canvas-request-redraw">gnome_canvas_request_redraw</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
49
void <a href="GnomeCanvas.html#gnome-canvas-w2c-affine">gnome_canvas_w2c_affine</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
51
void <a href="GnomeCanvas.html#gnome-canvas-w2c">gnome_canvas_w2c</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
56
void <a href="GnomeCanvas.html#gnome-canvas-w2c-d">gnome_canvas_w2c_d</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
61
void <a href="GnomeCanvas.html#gnome-canvas-c2w">gnome_canvas_c2w</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
66
void <a href="GnomeCanvas.html#gnome-canvas-window-to-world">gnome_canvas_window_to_world</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
71
void <a href="GnomeCanvas.html#gnome-canvas-world-to-window">gnome_canvas_world_to_window</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
76
int <a href="GnomeCanvas.html#gnome-canvas-get-color">gnome_canvas_get_color</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
79
gulong <a href="GnomeCanvas.html#gnome-canvas-get-color-pixel">gnome_canvas_get_color_pixel</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
81
void <a href="GnomeCanvas.html#gnome-canvas-set-stipple-origin">gnome_canvas_set_stipple_origin</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
83
void <a href="GnomeCanvas.html#gnome-canvas-set-dither">gnome_canvas_set_dither</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
85
GdkRgbDither <a href="GnomeCanvas.html#gnome-canvas-get-dither">gnome_canvas_get_dither</a> (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);
87
</pre></div><div class="refsect1" lang="en"><a name="id2971479"></a><h2>Object Hierarchy</h2><pre class="synopsis">
95
</pre></div><div class="refsect1" lang="en"><a name="id2971528"></a><h2>Implemented Interfaces</h2><p>
96
GnomeCanvas implements
97
AtkImplementorIface.</p></div><div class="refsect1" lang="en"><a name="id2971547"></a><h2>Properties</h2><pre class="synopsis">
99
"<a href="GnomeCanvas.html#GnomeCanvas--aa">aa</a>" gboolean : Read / Write / Construct Only
100
</pre></div><div class="refsect1" lang="en"><a name="id2971576"></a><h2>Signal Prototypes</h2><pre class="synopsis">
102
"<a href="GnomeCanvas.html#GnomeCanvas-draw-background">draw-background</a>"
103
void user_function (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
110
"<a href="GnomeCanvas.html#GnomeCanvas-render-background">render-background</a>"
111
void user_function (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
114
</pre></div><div class="refsect1" lang="en"><a name="id2971700"></a><h2>Description</h2><p>
115
The <a href="GnomeCanvas.html" title="GnomeCanvas"><span class="type">GnomeCanvas</span></a> is an engine for structured graphics that offers a
116
rich imaging model, high performance rendering, and a powerful,
117
high level API. It offers a choice of two rendering back-ends,
118
one based on Xlib for extremely fast display, and another based on
119
Libart, a sophisticated, antialiased, alpha-compositing engine.
120
This widget can be used for flexible display of graphics and for
121
creating interactive user interface elements.
123
To create a new <a href="GnomeCanvas.html" title="GnomeCanvas"><span class="type">GnomeCanvas</span></a> widget call <a href="GnomeCanvas.html#gnome-canvas-new"><tt class="function">gnome_canvas_new()</tt></a> or
124
<a href="GnomeCanvas.html#gnome-canvas-new-aa"><tt class="function">gnome_canvas_new_aa()</tt></a> for an anti-aliased mode canvas.
126
A <a href="GnomeCanvas.html" title="GnomeCanvas"><span class="type">GnomeCanvas</span></a> widget contains one or more <a href="GnomeCanvasItem.html" title="GnomeCanvasItem"><span class="type">GnomeCanvasItem</span></a>
127
objects. Items consist of graphing elements like lines, ellipses,
128
polygons, images, text, and curves. These items are organized using
129
<a href="GnomeCanvasGroup.html" title="GnomeCanvasGroup"><span class="type">GnomeCanvasGroup</span></a> objects, which are themselves derived from
130
<a href="GnomeCanvasItem.html" title="GnomeCanvasItem"><span class="type">GnomeCanvasItem</span></a>. Since a group is an item it can be contained within
131
other groups, forming a tree of canvas items. Certain operations, like
132
translating and scaling, can be performed on all items in a group.
134
There is a special root group created by a <a href="GnomeCanvas.html" title="GnomeCanvas"><span class="type">GnomeCanvas</span></a>. This is the top
135
level group under which all items in a canvas are contained. To get the root
136
group from a canvas call <a href="GnomeCanvas.html#gnome-canvas-root"><tt class="function">gnome_canvas_root()</tt></a>.
138
There are several different coordinate systems used by <a href="GnomeCanvas.html" title="GnomeCanvas"><span class="type">GnomeCanvas</span></a>
139
widgets. The primary system is a logical, abstract coordinate space
140
called world coordinates. World coordinates are expressed as unbounded
141
double floating point numbers. When it comes to rendering to a screen
142
the canvas pixel coordinate system (also referred to as just canvas
143
coordinates) is used. This system uses integers to specify screen
144
pixel positions. A user defined scaling factor and offset are used to
145
convert between world coordinates and canvas coordinates. Each item in
146
a canvas has its own coordinate system called item coordinates. This
147
system is specified in world coordinates but they are relative to an
148
item (0.0, 0.0 would be the top left corner of the item). The final
149
coordinate system of interest is window coordinates. These are like
150
canvas coordinates but are offsets from within a window a canvas is
151
displayed in. This last system is rarely used, but is useful when
152
manually handling GDK events (such as drag and drop) which are
153
specified in window coordinates (the events processed by the canvas
154
are already converted for you).
156
Along with different coordinate systems comes functions to convert
157
between them. <a href="GnomeCanvas.html#gnome-canvas-w2c"><tt class="function">gnome_canvas_w2c()</tt></a> converts world to canvas pixel
158
coordinates and <a href="GnomeCanvas.html#gnome-canvas-c2w"><tt class="function">gnome_canvas_c2w()</tt></a> converts from canvas to
159
world. <a href="GnomeCanvas.html#gnome-canvas-w2c-d"><tt class="function">gnome_canvas_w2c_d()</tt></a> is like <a href="GnomeCanvas.html#gnome-canvas-w2c"><tt class="function">gnome_canvas_w2c()</tt></a> but returns the
160
pixel coordinates as doubles which is useful to avoid precision loss
161
from integer rounding. To get the affine transform matrix for converting
162
from world coordinates to canvas coordinates call <a href="GnomeCanvas.html#gnome-canvas-w2c-affine"><tt class="function">gnome_canvas_w2c_affine()</tt></a>.
163
<a href="GnomeCanvas.html#gnome-canvas-window-to-world"><tt class="function">gnome_canvas_window_to_world()</tt></a> converts from window to world
164
coordinates and <a href="GnomeCanvas.html#gnome-canvas-world-to-window"><tt class="function">gnome_canvas_world_to_window()</tt></a> converts in the other
165
direction. There are no functions for converting between canvas and
166
window coordinates, since this is just a matter of subtracting the
167
canvas scrolling offset. To convert to/from item coordinates use the
168
functions defined for <a href="GnomeCanvasItem.html" title="GnomeCanvasItem"><span class="type">GnomeCanvasItem</span></a> objects.
170
To set the canvas zoom factor (canvas pixels per world unit, the
171
scaling factor) call <a href="GnomeCanvas.html#gnome-canvas-set-pixels-per-unit"><tt class="function">gnome_canvas_set_pixels_per_unit()</tt></a>, setting this
172
to 1.0 will cause the two coordinate systems to correspond (e.g., [5, 6]
173
in pixel units would be [5.0, 6.0] in world units).
175
Defining the scrollable area of a canvas widget is done by calling
176
<a href="GnomeCanvas.html#gnome-canvas-set-scroll-region"><tt class="function">gnome_canvas_set_scroll_region()</tt></a> and to get the current region
177
<a href="GnomeCanvas.html#gnome-canvas-get-scroll-region"><tt class="function">gnome_canvas_get_scroll_region()</tt></a> can be used. If the window is
178
larger than the canvas scrolling region it can optionally be centered
179
in the window. Use <a href="GnomeCanvas.html#gnome-canvas-set-center-scroll-region"><tt class="function">gnome_canvas_set_center_scroll_region()</tt></a> to enable or
180
disable this behavior. To scroll to a particular canvas pixel coordinate
181
use <a href="GnomeCanvas.html#gnome-canvas-scroll-to"><tt class="function">gnome_canvas_scroll_to()</tt></a> (typically not used since scrollbars are
182
usually set up to handle the scrolling), and to get the current canvas pixel
183
scroll offset call <a href="GnomeCanvas.html#gnome-canvas-get-scroll-offsets"><tt class="function">gnome_canvas_get_scroll_offsets()</tt></a>.
184
</p></div><div class="refsect1" lang="en"><a name="id2972047"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2972052"></a><h3><a name="GnomeCanvas-struct"></a>struct GnomeCanvas</h3><a class="indexterm" name="id2972063"></a><pre class="programlisting">struct GnomeCanvas;</pre><p>
185
This should not be accessed directly. Use the accessor functions as described
187
</p></div><hr><div class="refsect2" lang="en"><a name="id2972079"></a><h3><a name="GNOME-CANVAS-EPSILON-CAPS"></a>GNOME_CANVAS_EPSILON</h3><a class="indexterm" name="id2972090"></a><pre class="programlisting">#define GNOME_CANVAS_EPSILON 1e-10
189
A tiny value used by internal canvas operations.
190
</p></div><hr><div class="refsect2" lang="en"><a name="id2972107"></a><h3><a name="GNOME-CANVAS-COLOR-CAPS"></a>GNOME_CANVAS_COLOR()</h3><a class="indexterm" name="id2972118"></a><pre class="programlisting">#define GNOME_CANVAS_COLOR(r, g, b)</pre><p>
191
Macro for creating a canvas 32 bit RGBA color from red, green and blue
193
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>r</tt></i>�:</span></td><td>Red value (0-255)
194
</td></tr><tr><td><span class="term"><i class="parameter"><tt>g</tt></i>�:</span></td><td>Green value (0-255)
195
</td></tr><tr><td><span class="term"><i class="parameter"><tt>b</tt></i>�:</span></td><td>Blue value (0-255)
196
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>A 32 bit integer of the format 0xRRGGBBAA with the alpha "AA"
197
component set to 0xFF (fully visible, no transparency) and the other bytes
198
set to the input parameters.
201
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972199"></a><h3><a name="GNOME-CANVAS-COLOR-A-CAPS"></a>GNOME_CANVAS_COLOR_A()</h3><a class="indexterm" name="id2972210"></a><pre class="programlisting">#define GNOME_CANVAS_COLOR_A(r, g, b, a)</pre><p>
202
Macro for creating a canvas 32 bit RGBA color from red, green, blue and
204
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>r</tt></i>�:</span></td><td>Red value (0-255)
205
</td></tr><tr><td><span class="term"><i class="parameter"><tt>g</tt></i>�:</span></td><td>Green value (0-255)
206
</td></tr><tr><td><span class="term"><i class="parameter"><tt>b</tt></i>�:</span></td><td>Blue value (0-255)
207
</td></tr><tr><td><span class="term"><i class="parameter"><tt>a</tt></i>�:</span></td><td>Alpha value (0-255, 0=completely transparent, 255=opaque)
208
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>A 32 bit integer of the format 0xRRGGBBAA created from the input
212
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972296"></a><h3><a name="GnomeCanvasBuf"></a>struct GnomeCanvasBuf</h3><a class="indexterm" name="id2972308"></a><pre class="programlisting">struct GnomeCanvasBuf {
214
/* 24-bit RGB buffer for rendering */
217
/* Rectangle describing the rendering area */
220
/* Rowstride for the buffer */
223
/* Background color, given as 0xrrggbb */
226
/* Invariant: at least one of the following flags is true. */
228
/* Set when the render rectangle area is the solid color bg_color */
229
unsigned int is_bg : 1;
231
/* Set when the render rectangle area is represented by the buf */
232
unsigned int is_buf : 1;
235
A buffer used for rendering for antialiased mode canvas widgets.
236
</p></div><hr><div class="refsect2" lang="en"><a name="id2972331"></a><h3><a name="gnome-canvas-new"></a>gnome_canvas_new ()</h3><a class="indexterm" name="id2972340"></a><pre class="programlisting">GtkWidget* gnome_canvas_new (void);</pre><p>
237
Creates a new empty canvas in non-antialiased mode.</p><p>
239
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> A newly-created canvas.
240
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972381"></a><h3><a name="gnome-canvas-new-aa"></a>gnome_canvas_new_aa ()</h3><a class="indexterm" name="id2972392"></a><pre class="programlisting">GtkWidget* gnome_canvas_new_aa (void);</pre><p>
241
Creates a new empty canvas in antialiased mode.</p><p>
243
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> A newly-created antialiased canvas.
244
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972432"></a><h3><a name="gnome-canvas-root"></a>gnome_canvas_root ()</h3><a class="indexterm" name="id2972443"></a><pre class="programlisting"><a href="GnomeCanvasGroup.html" title="GnomeCanvasGroup">GnomeCanvasGroup</a>* gnome_canvas_root (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);</pre><p>
245
Queries the root group of a canvas.</p><p>
247
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
248
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The root group of the specified canvas.
249
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972503"></a><h3><a name="gnome-canvas-set-scroll-region"></a>gnome_canvas_set_scroll_region ()</h3><a class="indexterm" name="id2972515"></a><pre class="programlisting">void gnome_canvas_set_scroll_region (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
254
Sets the scrolling region of a canvas to the specified rectangle. The canvas
255
will then be able to scroll only within this region. The view of the canvas
256
is adjusted as appropriate to display as much of the new region as possible.</p><p>
258
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
259
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x1</tt></i>�:</span></td><td> Leftmost limit of the scrolling region.
260
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y1</tt></i>�:</span></td><td> Upper limit of the scrolling region.
261
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x2</tt></i>�:</span></td><td> Rightmost limit of the scrolling region.
262
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y2</tt></i>�:</span></td><td> Lower limit of the scrolling region.
263
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972656"></a><h3><a name="gnome-canvas-get-scroll-region"></a>gnome_canvas_get_scroll_region ()</h3><a class="indexterm" name="id2972668"></a><pre class="programlisting">void gnome_canvas_get_scroll_region (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
267
double *y2);</pre><p>
268
Queries the scrolling region of a canvas.</p><p>
270
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
271
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x1</tt></i>�:</span></td><td> Leftmost limit of the scrolling region (return value).
272
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y1</tt></i>�:</span></td><td> Upper limit of the scrolling region (return value).
273
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x2</tt></i>�:</span></td><td> Rightmost limit of the scrolling region (return value).
274
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y2</tt></i>�:</span></td><td> Lower limit of the scrolling region (return value).
275
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972806"></a><h3><a name="gnome-canvas-set-center-scroll-region"></a>gnome_canvas_set_center_scroll_region ()</h3><a class="indexterm" name="id2972818"></a><pre class="programlisting">void gnome_canvas_set_center_scroll_region
276
(<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
277
gboolean center_scroll_region);</pre><p>
278
When the scrolling region of the canvas is smaller than the canvas window,
279
e.g. the allocation of the canvas, it can be either centered on the window
280
or simply made to be on the upper-left corner on the window. This function
281
lets you configure this property.</p><p>
283
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
284
</td></tr><tr><td><span class="term"><i class="parameter"><tt>center_scroll_region</tt></i>�:</span></td><td> Whether to center the scrolling region in the canvas
285
window when it is smaller than the canvas' allocation.
286
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972897"></a><h3><a name="gnome-canvas-get-center-scroll-region"></a>gnome_canvas_get_center_scroll_region ()</h3><a class="indexterm" name="id2972909"></a><pre class="programlisting">gboolean gnome_canvas_get_center_scroll_region
287
(<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);</pre><p>
288
Returns whether the canvas is set to center the scrolling region in the window
289
if the former is smaller than the canvas' allocation.</p><p>
291
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
292
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> Whether the scroll region is being centered in the canvas window.
293
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2972973"></a><h3><a name="gnome-canvas-set-pixels-per-unit"></a>gnome_canvas_set_pixels_per_unit ()</h3><a class="indexterm" name="id2972984"></a><pre class="programlisting">void gnome_canvas_set_pixels_per_unit
294
(<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
296
Sets the zooming factor of a canvas by specifying the number of pixels that
297
correspond to one canvas unit.
299
The anchor point for zooming, i.e. the point that stays fixed and all others
300
zoom inwards or outwards from it, depends on whether the canvas is set to
301
center the scrolling region or not. You can control this using the
302
<a href="GnomeCanvas.html#gnome-canvas-set-center-scroll-region"><tt class="function">gnome_canvas_set_center_scroll_region()</tt></a> function. If the canvas is set to
303
center the scroll region, then the center of the canvas window is used as the
304
anchor point for zooming. Otherwise, the upper-left corner of the canvas
305
window is used as the anchor point.</p><p>
307
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
308
</td></tr><tr><td><span class="term"><i class="parameter"><tt>n</tt></i>�:</span></td><td> The number of pixels that correspond to one canvas unit.
309
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973081"></a><h3><a name="gnome-canvas-scroll-to"></a>gnome_canvas_scroll_to ()</h3><a class="indexterm" name="id2973092"></a><pre class="programlisting">void gnome_canvas_scroll_to (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
312
Makes a canvas scroll to the specified offsets, given in canvas pixel units.
313
The canvas will adjust the view so that it is not outside the scrolling
314
region. This function is typically not used, as it is better to hook
315
scrollbars to the canvas layout's scrolling adjusments.</p><p>
317
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
318
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cx</tt></i>�:</span></td><td> Horizontal scrolling offset in canvas pixel units.
319
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cy</tt></i>�:</span></td><td> Vertical scrolling offset in canvas pixel units.
320
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973189"></a><h3><a name="gnome-canvas-get-scroll-offsets"></a>gnome_canvas_get_scroll_offsets ()</h3><a class="indexterm" name="id2973201"></a><pre class="programlisting">void gnome_canvas_get_scroll_offsets (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
323
Queries the scrolling offsets of a canvas. The values are returned in canvas
326
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
327
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cx</tt></i>�:</span></td><td> Horizontal scrolling offset (return value).
328
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cy</tt></i>�:</span></td><td> Vertical scrolling offset (return value).
329
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973294"></a><h3><a name="gnome-canvas-update-now"></a>gnome_canvas_update_now ()</h3><a class="indexterm" name="id2973306"></a><pre class="programlisting">void gnome_canvas_update_now (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);</pre><p>
330
Forces an immediate update and redraw of a canvas. If the canvas does not
331
have any pending update or redraw requests, then no action is taken. This is
332
typically only used by applications that need explicit control of when the
333
display is updated, like games. It is not needed by normal applications.</p><p>
335
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
336
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973361"></a><h3><a name="gnome-canvas-get-item-at"></a>gnome_canvas_get_item_at ()</h3><a class="indexterm" name="id2973372"></a><pre class="programlisting"><a href="GnomeCanvasItem.html" title="GnomeCanvasItem">GnomeCanvasItem</a>* gnome_canvas_get_item_at (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
339
Looks for the item that is under the specified position, which must be
340
specified in world coordinates.</p><p>
342
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
343
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x</tt></i>�:</span></td><td> X position in world coordinates.
344
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y</tt></i>�:</span></td><td> Y position in world coordinates.
345
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The sought item, or NULL if no item is at the specified
347
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973478"></a><h3><a name="gnome-canvas-request-redraw-uta"></a>gnome_canvas_request_redraw_uta ()</h3><a class="indexterm" name="id2973489"></a><pre class="programlisting">void gnome_canvas_request_redraw_uta (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
348
ArtUta *uta);</pre><p>
349
Informs a canvas that the specified area, given as a microtile array, needs
350
to be repainted. To be used only by item implementations.</p><p>
352
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
353
</td></tr><tr><td><span class="term"><i class="parameter"><tt>uta</tt></i>�:</span></td><td> Microtile array that specifies the area to be redrawn. It will
354
be freed by this function, so the argument you pass will be invalid
355
after you call this function.
356
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973565"></a><h3><a name="gnome-canvas-request-redraw"></a>gnome_canvas_request_redraw ()</h3><a class="indexterm" name="id2973577"></a><pre class="programlisting">void gnome_canvas_request_redraw (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
361
Convenience function that informs a canvas that the specified rectangle needs
362
to be repainted. This function converts the rectangle to a microtile array
363
and feeds it to <a href="GnomeCanvas.html#gnome-canvas-request-redraw-uta"><tt class="function">gnome_canvas_request_redraw_uta()</tt></a>. The rectangle includes
364
<i class="parameter"><tt>x1</tt></i> and <i class="parameter"><tt>y1</tt></i>, but not <i class="parameter"><tt>x2</tt></i> and <i class="parameter"><tt>y2</tt></i>. To be used only by item implementations.</p><p>
366
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
367
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x1</tt></i>�:</span></td><td> Leftmost coordinate of the rectangle to be redrawn.
368
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y1</tt></i>�:</span></td><td> Upper coordinate of the rectangle to be redrawn.
369
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x2</tt></i>�:</span></td><td> Rightmost coordinate of the rectangle to be redrawn, plus 1.
370
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y2</tt></i>�:</span></td><td> Lower coordinate of the rectangle to be redrawn, plus 1.
371
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973750"></a><h3><a name="gnome-canvas-w2c-affine"></a>gnome_canvas_w2c_affine ()</h3><a class="indexterm" name="id2973761"></a><pre class="programlisting">void gnome_canvas_w2c_affine (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
372
double affine[6]);</pre><p>
373
Gets the affine transform that converts from world coordinates to canvas
374
pixel coordinates.</p><p>
376
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
377
</td></tr><tr><td><span class="term"><i class="parameter"><tt>affine</tt></i>�:</span></td><td> An affine transformation matrix (return value).
378
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973834"></a><h3><a name="gnome-canvas-w2c"></a>gnome_canvas_w2c ()</h3><a class="indexterm" name="id2973845"></a><pre class="programlisting">void gnome_canvas_w2c (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
383
Converts world coordinates into canvas pixel coordinates.</p><p>
385
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
386
</td></tr><tr><td><span class="term"><i class="parameter"><tt>wx</tt></i>�:</span></td><td> World X coordinate.
387
</td></tr><tr><td><span class="term"><i class="parameter"><tt>wy</tt></i>�:</span></td><td> World Y coordinate.
388
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cx</tt></i>�:</span></td><td> X pixel coordinate (return value).
389
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cy</tt></i>�:</span></td><td> Y pixel coordinate (return value).
390
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2973981"></a><h3><a name="gnome-canvas-w2c-d"></a>gnome_canvas_w2c_d ()</h3><a class="indexterm" name="id2973992"></a><pre class="programlisting">void gnome_canvas_w2c_d (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
394
double *cy);</pre><p>
395
Converts world coordinates into canvas pixel coordinates. This
396
version returns coordinates in floating point coordinates, for
397
greater precision.</p><p>
399
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
400
</td></tr><tr><td><span class="term"><i class="parameter"><tt>wx</tt></i>�:</span></td><td> World X coordinate.
401
</td></tr><tr><td><span class="term"><i class="parameter"><tt>wy</tt></i>�:</span></td><td> World Y coordinate.
402
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cx</tt></i>�:</span></td><td> X pixel coordinate (return value).
403
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cy</tt></i>�:</span></td><td> Y pixel coordinate (return value).
404
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2974130"></a><h3><a name="gnome-canvas-c2w"></a>gnome_canvas_c2w ()</h3><a class="indexterm" name="id2974140"></a><pre class="programlisting">void gnome_canvas_c2w (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
408
double *wy);</pre><p>
409
Converts canvas pixel coordinates to world coordinates.</p><p>
411
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
412
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cx</tt></i>�:</span></td><td> Canvas pixel X coordinate.
413
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cy</tt></i>�:</span></td><td> Canvas pixel Y coordinate.
414
</td></tr><tr><td><span class="term"><i class="parameter"><tt>wx</tt></i>�:</span></td><td> X world coordinate (return value).
415
</td></tr><tr><td><span class="term"><i class="parameter"><tt>wy</tt></i>�:</span></td><td> Y world coordinate (return value).
416
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2974276"></a><h3><a name="gnome-canvas-window-to-world"></a>gnome_canvas_window_to_world ()</h3><a class="indexterm" name="id2974288"></a><pre class="programlisting">void gnome_canvas_window_to_world (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
420
double *worldy);</pre><p>
421
Converts window-relative coordinates into world coordinates. You can use
422
this when you need to convert mouse coordinates into world coordinates, for
425
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
426
</td></tr><tr><td><span class="term"><i class="parameter"><tt>winx</tt></i>�:</span></td><td> Window-relative X coordinate.
427
</td></tr><tr><td><span class="term"><i class="parameter"><tt>winy</tt></i>�:</span></td><td> Window-relative Y coordinate.
428
</td></tr><tr><td><span class="term"><i class="parameter"><tt>worldx</tt></i>�:</span></td><td> X world coordinate (return value).
429
</td></tr><tr><td><span class="term"><i class="parameter"><tt>worldy</tt></i>�:</span></td><td> Y world coordinate (return value).
430
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2974428"></a><h3><a name="gnome-canvas-world-to-window"></a>gnome_canvas_world_to_window ()</h3><a class="indexterm" name="id2974439"></a><pre class="programlisting">void gnome_canvas_world_to_window (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
434
double *winy);</pre><p>
435
Converts world coordinates into window-relative coordinates.</p><p>
437
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
438
</td></tr><tr><td><span class="term"><i class="parameter"><tt>worldx</tt></i>�:</span></td><td> World X coordinate.
439
</td></tr><tr><td><span class="term"><i class="parameter"><tt>worldy</tt></i>�:</span></td><td> World Y coordinate.
440
</td></tr><tr><td><span class="term"><i class="parameter"><tt>winx</tt></i>�:</span></td><td> X window-relative coordinate.
441
</td></tr><tr><td><span class="term"><i class="parameter"><tt>winy</tt></i>�:</span></td><td> Y window-relative coordinate.
442
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2974577"></a><h3><a name="gnome-canvas-get-color"></a>gnome_canvas_get_color ()</h3><a class="indexterm" name="id2974588"></a><pre class="programlisting">int gnome_canvas_get_color (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
444
GdkColor *color);</pre><p>
445
Allocates a color based on the specified X color specification. As a
446
convenience to item implementations, it returns TRUE if the color was
447
allocated, or FALSE if the specification was NULL. A NULL color
448
specification is considered as "transparent" by the canvas.</p><p>
450
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
451
</td></tr><tr><td><span class="term"><i class="parameter"><tt>spec</tt></i>�:</span></td><td> X color specification, or NULL for "transparent".
452
</td></tr><tr><td><span class="term"><i class="parameter"><tt>color</tt></i>�:</span></td><td> Returns the allocated color.
453
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> TRUE if <i class="parameter"><tt>spec</tt></i> is non-NULL and the color is allocated. If <i class="parameter"><tt>spec</tt></i>
454
is NULL, then returns FALSE.
455
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2974709"></a><h3><a name="gnome-canvas-get-color-pixel"></a>gnome_canvas_get_color_pixel ()</h3><a class="indexterm" name="id2974721"></a><pre class="programlisting">gulong gnome_canvas_get_color_pixel (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
456
guint rgba);</pre><p>
457
Allocates a color from the RGBA value passed into this function. The alpha
458
opacity value is discarded, since normal X colors do not support it.</p><p>
460
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
461
</td></tr><tr><td><span class="term"><i class="parameter"><tt>rgba</tt></i>�:</span></td><td> RGBA color specification.
462
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> Allocated pixel value corresponding to the specified color.
463
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2974806"></a><h3><a name="gnome-canvas-set-stipple-origin"></a>gnome_canvas_set_stipple_origin ()</h3><a class="indexterm" name="id2974817"></a><pre class="programlisting">void gnome_canvas_set_stipple_origin (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
465
Sets the stipple origin of the specified GC as is appropriate for the canvas,
466
so that it will be aligned with other stipple patterns used by canvas items.
467
This is typically only needed by item implementations.</p><p>
469
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
470
</td></tr><tr><td><span class="term"><i class="parameter"><tt>gc</tt></i>�:</span></td><td> GC on which to set the stipple origin.
471
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2974892"></a><h3><a name="gnome-canvas-set-dither"></a>gnome_canvas_set_dither ()</h3><a class="indexterm" name="id2974903"></a><pre class="programlisting">void gnome_canvas_set_dither (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
472
GdkRgbDither dither);</pre><p>
473
Controls dithered rendering for antialiased canvases. The value of
474
dither should be <span class="type">GDK_RGB_DITHER_NONE</span>, <span class="type">GDK_RGB_DITHER_NORMAL</span>, or
475
<span class="type">GDK_RGB_DITHER_MAX</span>. The default canvas setting is
476
<span class="type">GDK_RGB_DITHER_NORMAL</span>.</p><p>
478
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
479
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dither</tt></i>�:</span></td><td> Type of dithering used to render an antialiased canvas.
480
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2975015"></a><h3><a name="gnome-canvas-get-dither"></a>gnome_canvas_get_dither ()</h3><a class="indexterm" name="id2975026"></a><pre class="programlisting">GdkRgbDither gnome_canvas_get_dither (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas);</pre><p>
481
Returns the type of dithering used to render an antialiased canvas.</p><p>
483
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td> A canvas.
484
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The dither setting.
485
</td></tr></tbody></table></div></div></div><div class="refsect1" lang="en"><a name="id2975089"></a><h2>Properties</h2><div class="refsect2" lang="en"><a name="id2975094"></a><h3><a name="GnomeCanvas--aa"></a>The "<tt class="literal">aa</tt>" property</h3><pre class="programlisting"> "aa" gboolean : Read / Write / Construct Only</pre><p>
486
Enable anti-aliasing mode?
488
Note that this parameter can only be set at the time of object
489
construction. The same effect can be achieved by calling
490
<a href="GnomeCanvas.html#gnome-canvas-new"><tt class="function">gnome_canvas_new()</tt></a> to create new non-aa canvas or
491
<a href="GnomeCanvas.html#gnome-canvas-new-aa"><tt class="function">gnome_canvas_new_aa()</tt></a> for an anti-aliased canvas.
492
</p><p>Default value: FALSE</p></div></div><div class="refsect1" lang="en"><a name="id2975161"></a><h2>Signals</h2><div class="refsect2" lang="en"><a name="id2975166"></a><h3><a name="GnomeCanvas-draw-background"></a>The "draw-background" signal</h3><pre class="programlisting">void user_function (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
498
gpointer user_data);</pre><p>
499
This signal is emitted to draw the background for non-antialiased mode
500
canvas widgets. The default method uses the canvas widget's style to
502
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td>the object which received the signal.
503
</td></tr><tr><td><span class="term"><i class="parameter"><tt>arg1</tt></i>�:</span></td><td>GdkDrawable to draw to
504
</td></tr><tr><td><span class="term"><i class="parameter"><tt>arg2</tt></i>�:</span></td><td>Leftmost X coordinate of area to draw to
505
</td></tr><tr><td><span class="term"><i class="parameter"><tt>arg3</tt></i>�:</span></td><td>Top Y coordinate of area to draw to
506
</td></tr><tr><td><span class="term"><i class="parameter"><tt>arg4</tt></i>�:</span></td><td>Width of area
507
</td></tr><tr><td><span class="term"><i class="parameter"><tt>arg5</tt></i>�:</span></td><td>Height of area
509
</td></tr><tr><td><span class="term"><i class="parameter"><tt>user_data</tt></i>�:</span></td><td>user data set when the signal handler was connected.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2975350"></a><h3><a name="GnomeCanvas-render-background"></a>The "render-background" signal</h3><pre class="programlisting">void user_function (<a href="GnomeCanvas.html" title="GnomeCanvas">GnomeCanvas</a> *canvas,
511
gpointer user_data);</pre><p>
512
This signal is emitted for antialiased mode canvas widgets to render
513
the background. The buf data structure contains both a pointer to a
514
packed 24-bit RGB array and the coordinates.
515
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>canvas</tt></i>�:</span></td><td>the object which received the signal.
516
</td></tr><tr><td><span class="term"><i class="parameter"><tt>arg1</tt></i>�:</span></td><td><a href="GnomeCanvas.html#GnomeCanvasBuf"><span class="type">GnomeCanvasBuf</span></a> to render to
518
</td></tr><tr><td><span class="term"><i class="parameter"><tt>user_data</tt></i>�:</span></td><td>user data set when the signal handler was connected.</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="ch02.html"><b><<�GNOME Canvas Library (libgnomecanvas)</b></a></td><td align="right"><a accesskey="n" href="GnomeCanvasBpath.html"><b>GnomeCanvasBpath�>></b></a></td></tr></table></body></html>