PLplot  5.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
plplotcanvas.h
Go to the documentation of this file.
1 // PlplotCanvas - a GnomeCanvas widget for use with plplot's gcw driver
2 //
3 // Copyright (C) 2004, 2005 Thomas J. Duck
4 // All rights reserved.
5 //
6 // Thomas J. Duck <tom.duck@dal.ca>
7 // Department of Physics and Atmospheric Science,
8 // Dalhousie University, Halifax, Nova Scotia, Canada, B3H 3J5
9 //
10 //
11 // NOTICE
12 //
13 // This library is free software; you can redistribute it and/or
14 // modify it under the terms of the GNU Lesser General Public
15 // License as published by the Free Software Foundation; either
16 // version 2.1 of the License, or (at your option) any later version.
17 //
18 // This library is distributed in the hope that it will be useful,
19 // but WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 // Lesser General Public License for more details.
22 //
23 // You should have received a copy of the GNU Lesser General Public
24 // License along with this library; if not, write to the Free Software
25 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
26 // USA
27 //
28 
29 #ifndef __PLPLOTCANVAS_H__
30 #define __PLPLOTCANVAS_H__
31 
32 #include "plplot.h"
33 #include "gcw.h"
34 
35 #include <glib-object.h>
36 #include <libgnomecanvas/libgnomecanvas.h>
37 
38 
39 G_BEGIN_DECLS
40 
41 #define PLPLOT_TYPE_CANVAS plplot_canvas_get_type()
42 
43 #define PLPLOT_CANVAS( obj ) ( G_TYPE_CHECK_INSTANCE_CAST( ( obj ), PLPLOT_TYPE_CANVAS, PlplotCanvas ) )
44 
45 #define PLPLOT_CANVAS_CLASS( klass ) ( G_TYPE_CHECK_CLASS_CAST( ( klass ), PLPLOT_TYPE_CANVAS, PlplotCanvasClass ) )
46 
47 #define PLPLOT_IS_CANVAS( obj ) ( G_TYPE_CHECK_INSTANCE_TYPE( ( obj ), PLPLOT_TYPE_CANVAS ) )
48 
49 #define PLPLOT_IS_CANVAS_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE( ( klass ), PLPLOT_TYPE_CANVAS ) )
50 
51 #define PLPLOT_CANVAS_GET_CLASS( o ) ( G_TYPE_INSTANCE_GET_CLASS( ( o ), PLPLOT_TYPE_CANVAS, PlplotCanvasClass ) )
52 
53 typedef struct _PlplotCanvas PlplotCanvas;
55 
56 
58 {
59  GnomeCanvas parent;
60 
61  gint Nstream; // The stream number
62 };
63 
65 {
66  GnomeCanvasClass parent;
67 };
68 
70 
74 
76 PLDLLIMPEXP_GNOME2 void plplot_canvas_set_size( PlplotCanvas* self, gint width, gint height );
77 PLDLLIMPEXP_GNOME2 void plplot_canvas_set_zoom( PlplotCanvas* self, gdouble magnification );
78 PLDLLIMPEXP_GNOME2 void plplot_canvas_use_text( PlplotCanvas* self, gboolean use_text );
79 PLDLLIMPEXP_GNOME2 void plplot_canvas_use_pixmap( PlplotCanvas* self, gboolean use_pixmap );
80 PLDLLIMPEXP_GNOME2 void plplot_canvas_use_persistence( PlplotCanvas* self, gboolean use_persistence );
81 
82 
83 //--------------------------------------------------------------------------
84 // Plplot wrappers - last updated 29 January 2005
85 //
86 // This should be kept up-to-date with plplot.h
87 //
88 //
89 //--------------------------------------------------------------------------
90 
91 
92 // set the format of the contour labels
93 
95 
96 // set offset and spacing of contour labels
97 
98 PLDLLIMPEXP_GNOME2 void plplot_canvas_setcontlabelparam( PlplotCanvas* self, PLFLT offset, PLFLT size, PLFLT spacing, PLINT active );
99 
100 // Advance to subpage "page", or to the next one if "page" = 0.
101 
103 
104 // simple arrow plotter.
105 
107 
108 PLDLLIMPEXP_GNOME2 void plplot_canvas_vect( PlplotCanvas* self, PLFLT **u, PLFLT **v, PLINT nx, PLINT ny, PLFLT scale, void ( *pltr )( PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer ), PLPointer pltr_data );
109 
110 PLDLLIMPEXP_GNOME2 void plplot_canvas_svect( PlplotCanvas* self, PLFLT *arrowx, PLFLT *arrowy, PLINT npts, PLINT fill );
111 
112 // This functions similarly to plbox() except that the origin of the axes
113 // is placed at the user-specified point (x0, y0).
114 
115 PLDLLIMPEXP_GNOME2 void plplot_canvas_axes( PlplotCanvas* self, PLFLT x0, PLFLT y0, const char *xopt, PLFLT xtick, PLINT nxsub, const char *yopt, PLFLT ytick, PLINT nysub );
116 
117 // Plot a histogram using x to store data values and y to store frequencies
118 
119 PLDLLIMPEXP_GNOME2 void plplot_canvas_bin( PlplotCanvas* self, PLINT nbin, PLFLT *x, PLFLT *y, PLINT center );
120 
121 // Start new page. Should only be used with pleop().
122 
124 
125 // This draws a box around the current viewport.
126 
127 PLDLLIMPEXP_GNOME2 void plplot_canvas_box( PlplotCanvas* self, const char *xopt, PLFLT xtick, PLINT nxsub, const char *yopt, PLFLT ytick, PLINT nysub );
128 
129 // This is the 3-d analogue of plbox().
130 
131 PLDLLIMPEXP_GNOME2 void plplot_canvas_box3( PlplotCanvas* self, const char *xopt, const char *xlabel, PLFLT xtick, PLINT nsubx, const char *yopt, const char *ylabel, PLFLT ytick, PLINT nsuby, const char *zopt, const char *zlabel, PLFLT ztick, PLINT nsubz );
132 
133 // Calculate world coordinates and subpage from relative device coordinates.
134 
136 
137 // Clear current subpage.
138 
140 
141 // Set color, map 0. Argument is integer between 0 and 15.
142 
144 
145 // Set color, map 1. Argument is a float between 0. and 1.
146 
148 
149 // Draws a contour plot from data in f(nx,ny). Is just a front-end to
150 // plfcont, with a particular choice for f2eval and f2eval_data.
151 //
152 
153 PLDLLIMPEXP_GNOME2 void plplot_canvas_cont( PlplotCanvas* self, PLFLT **f, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT *clevel, PLINT nlevel, void ( *pltr )( PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer ), PLPointer pltr_data );
154 
155 // Draws a contour plot using the function evaluator f2eval and data stored
156 // by way of the f2eval_data pointer. This allows arbitrary organizations
157 // of 2d array data to be used.
158 //
159 
160 PLDLLIMPEXP_GNOME2 void plplot_canvas_fcont( PlplotCanvas* self, PLFLT ( *f2eval )( PLINT, PLINT, PLPointer ), PLPointer f2eval_data, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT *clevel, PLINT nlevel, void ( *pltr )( PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer ), PLPointer pltr_data );
161 
162 // Copies state parameters from the reference stream to the current stream.
163 
164 // PLDLLIMPEXP_GNOME2 void plplot_canvas_cpstrm(PlplotCanvas* self, PLINT iplsr, PLINT flags);
165 
166 // Converts input values from relative device coordinates to relative plot
167 // coordinates.
168 
170 
171 // Converts input values from relative plot coordinates to relative
172 // device coordinates.
173 
175 
176 // End a plotting session for all open streams.
177 
178 // PLDLLIMPEXP_GNOME2 void plplot_canvas_plend(PlplotCanvas* self);
179 
180 // End a plotting session for the current stream only.
181 
182 // PLDLLIMPEXP_GNOME2 void plplot_canvas_plend1(PlplotCanvas* self);
183 
184 // Simple interface for defining viewport and window.
185 
186 // PLDLLIMPEXP_GNOME2 void plplot_canvas_plenv(PlplotCanvas* self, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis);
187 
188 // similar to plenv() above, but in multiplot mode does not advance the subpage,
189 // instead the current subpage is cleared
190 
191 // PLDLLIMPEXP_GNOME2 void plplot_canvas_plenv0(PlplotCanvas* self, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis);
192 
193 // End current page. Should only be used with plbop().
194 
196 
197 // Plot horizontal error bars (xmin(i),y(i)) to (xmax(i),y(i))
198 
200 
201 // Plot vertical error bars (x,ymin(i)) to (x(i),ymax(i))
202 
204 
205 // Advance to the next family file on the next new page
206 
207 // PLDLLIMPEXP_GNOME2 void plplot_canvas_famadv(PlplotCanvas* self);
208 
209 // Pattern fills the polygon bounded by the input points.
210 
212 
213 // Pattern fills the 3d polygon bounded by the input points.
214 
216 
217 // Flushes the output stream. Use sparingly, if at all.
218 
219 // PLDLLIMPEXP_GNOME2 void plplot_canvas_flush(PlplotCanvas* self);
220 
221 // Sets the global font flag to 'ifont'.
222 
224 
225 // Load specified font set.
226 
228 
229 // Get character default height and current (scaled) height
230 
231 PLDLLIMPEXP_GNOME2 void plplot_canvas_gchr( PlplotCanvas* self, PLFLT *p_def, PLFLT *p_ht );
232 
233 // Returns 8 bit RGB values for given color from color map 0
234 
235 PLDLLIMPEXP_GNOME2 void plplot_canvas_gcol0( PlplotCanvas* self, PLINT icol0, PLINT *r, PLINT *g, PLINT *b );
236 
237 // Returns the background color by 8 bit RGB value
238 
240 
241 // Returns the current compression setting
242 
244 
245 // Get the current device (keyword) name
246 
247 PLDLLIMPEXP_GNOME2 void plplot_canvas_gdev( PlplotCanvas* self, char *p_dev );
248 
249 // Retrieve current window into device space
250 
251 PLDLLIMPEXP_GNOME2 void plplot_canvas_gdidev( PlplotCanvas* self, PLFLT *p_mar, PLFLT *p_aspect, PLFLT *p_jx, PLFLT *p_jy );
252 
253 // Get plot orientation
254 
256 
257 // Retrieve current window into plot space
258 
259 PLDLLIMPEXP_GNOME2 void plplot_canvas_gdiplt( PlplotCanvas* self, PLFLT *p_xmin, PLFLT *p_ymin, PLFLT *p_xmax, PLFLT *p_ymax );
260 
261 // Get FCI (font characterization integer)
262 
264 
265 // Get family file parameters
266 
267 // PLDLLIMPEXP_GNOME2 void plplot_canvas_gfam(PlplotCanvas* self, PLINT *p_fam, PLINT *p_num, PLINT *p_bmax);
268 
269 // Get the (current) output file name. Must be preallocated to >80 bytes
270 
271 PLDLLIMPEXP_GNOME2 void plplot_canvas_gfnam( PlplotCanvas* self, char *fnam );
272 
273 // Get the (current) run level.
274 
276 
277 // Get output device parameters.
278 
279 PLDLLIMPEXP_GNOME2 void plplot_canvas_gpage( PlplotCanvas* self, PLFLT *p_xp, PLFLT *p_yp, PLINT *p_xleng, PLINT *p_yleng, PLINT *p_xoff, PLINT *p_yoff );
280 
281 // Switches to graphics screen.
282 
283 // PLDLLIMPEXP_GNOME2 void plplot_canvas_gra(PlplotCanvas* self);
284 
285 // grid irregularly sampled data
286 
287 PLDLLIMPEXP_GNOME2 void plplot_canvas_griddata( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT *z, PLINT npts, PLFLT *xg, PLINT nptsx, PLFLT *yg, PLINT nptsy, PLFLT **zg, PLINT type, PLFLT data );
288 
289 // Get subpage boundaries in absolute coordinates
290 
292 
293 // Get current stream number.
294 
295 // PLDLLIMPEXP_GNOME2 void plplot_canvas_gstrm(PlplotCanvas* self, PLINT *p_strm);
296 
297 // Get the current library version number
298 
299 PLDLLIMPEXP_GNOME2 void plplot_canvas_gver( PlplotCanvas* self, char *p_ver );
300 
301 // Get viewport boundaries in normalized device coordinates
302 
303 PLDLLIMPEXP_GNOME2 void plplot_canvas_gvpd( PlplotCanvas* self, PLFLT *p_xmin, PLFLT *p_xmax, PLFLT *p_ymin, PLFLT *p_ymax );
304 
305 // Get viewport boundaries in world coordinates
306 
307 PLDLLIMPEXP_GNOME2 void plplot_canvas_gvpw( PlplotCanvas* self, PLFLT *p_xmin, PLFLT *p_xmax, PLFLT *p_ymin, PLFLT *p_ymax );
308 
309 // Get x axis labeling parameters
310 
311 PLDLLIMPEXP_GNOME2 void plplot_canvas_gxax( PlplotCanvas* self, PLINT *p_digmax, PLINT *p_digits );
312 
313 // Get y axis labeling parameters
314 
315 PLDLLIMPEXP_GNOME2 void plplot_canvas_gyax( PlplotCanvas* self, PLINT *p_digmax, PLINT *p_digits );
316 
317 // Get z axis labeling parameters
318 
319 PLDLLIMPEXP_GNOME2 void plplot_canvas_gzax( PlplotCanvas* self, PLINT *p_digmax, PLINT *p_digits );
320 
321 // Draws a histogram of n values of a variable in array data[0..n-1]
322 
323 PLDLLIMPEXP_GNOME2 void plplot_canvas_hist( PlplotCanvas* self, PLINT n, PLFLT *data, PLFLT datmin, PLFLT datmax, PLINT nbin, PLINT oldwin );
324 
325 // Set current color (map 0) by hue, lightness, and saturation.
326 
328 
329 // Initializes PLplot, using preset or default options
330 
331 // PLDLLIMPEXP_GNOME2 void plplot_canvas_plinit(PlplotCanvas* self);
332 
333 // Draws a line segment from (x1, y1) to (x2, y2).
334 
336 
337 // Simple routine for labelling graphs.
338 
339 PLDLLIMPEXP_GNOME2 void plplot_canvas_lab( PlplotCanvas* self, const char *xlabel, const char *ylabel, const char *tlabel );
340 
341 // Sets position of the light source
342 
344 
345 // Draws line segments connecting a series of points.
346 
348 
349 // Draws a line in 3 space.
350 
352 
353 // Set line style.
354 
356 
357 // plot continental outline in world coordinates
358 
359 PLDLLIMPEXP_GNOME2 void plplot_canvas_map( PlplotCanvas* self, void ( *mapform )( PLINT, PLFLT *, PLFLT * ), char *type, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat );
360 
361 // Plot the latitudes and longitudes on the background.
362 
363 PLDLLIMPEXP_GNOME2 void plplot_canvas_meridians( PlplotCanvas* self, void ( *mapform )( PLINT, PLFLT *, PLFLT * ), PLFLT dlong, PLFLT dlat, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat );
364 
365 // Plots a mesh representation of the function z[x][y].
366 
367 PLDLLIMPEXP_GNOME2 void plplot_canvas_mesh( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt );
368 
369 // Plots a mesh representation of the function z[x][y] with contour
370 
371 PLDLLIMPEXP_GNOME2 void plplot_canvas_meshc( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel );
372 
373 // Creates a new stream and makes it the default.
374 
375 // PLDLLIMPEXP_GNOME2 void plplot_canvas_mkstrm(PlplotCanvas* self, PLINT *p_strm);
376 
377 // Prints out "text" at specified position relative to viewport
378 
379 PLDLLIMPEXP_GNOME2 void plplot_canvas_mtex( PlplotCanvas* self, const char *side, PLFLT disp, PLFLT pos, PLFLT just, const char *text );
380 
381 // Plots a 3-d representation of the function z[x][y].
382 
383 PLDLLIMPEXP_GNOME2 void plplot_canvas_plot3d( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLINT side );
384 
385 // Plots a 3-d representation of the function z[x][y] with contour.
386 
387 PLDLLIMPEXP_GNOME2 void plplot_canvas_plot3dc( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel );
388 
389 // Plots a 3-d representation of the function z[x][y] with contour and
390 // y index limits.
391 
392 PLDLLIMPEXP_GNOME2 void plplot_canvas_plot3dcl( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel, PLINT ixstart, PLINT ixn, PLINT *indexymin, PLINT*indexymax );
393 
394 // Set fill pattern directly.
395 
396 PLDLLIMPEXP_GNOME2 void plplot_canvas_pat( PlplotCanvas* self, PLINT nlin, PLINT *inc, PLINT *del );
397 
398 // Plots array y against x for n points using ASCII code "code".
399 
401 
402 // Draws a series of points in 3 space.
403 
405 
406 // Draws a polygon in 3 space.
407 
408 PLDLLIMPEXP_GNOME2 void plplot_canvas_poly3( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y, PLFLT *z, PLINT *draw, PLINT ifcc );
409 
410 // Set the floating point precision (in number of places) in numeric labels.
411 
413 
414 // Set fill pattern, using one of the predefined patterns.
415 
417 
418 // Prints out "text" at world cooordinate (x,y).
419 
420 PLDLLIMPEXP_GNOME2 void plplot_canvas_ptex( PlplotCanvas* self, PLFLT x, PLFLT y, PLFLT dx, PLFLT dy, PLFLT just, const char *text );
421 
422 // Replays contents of plot buffer to current device/file.
423 
425 
426 // Set line color by red, green, blue from 0. to 1.
427 
429 
430 // Set line color by 8 bit RGB values.
431 
433 
434 // Set character height.
435 
437 
438 // Set color map 0 colors by 8 bit RGB values
439 
441 
442 // Set number of colors in cmap 0
443 
445 
446 // Set color map 1 colors by 8 bit RGB values
447 
449 
450 // Set color map 1 colors using a piece-wise linear relationship between
451 // intensity [0,1] (cmap 1 index) and position in HLS or RGB color space.
452 
453 PLDLLIMPEXP_GNOME2 void plplot_canvas_scmap1l( PlplotCanvas* self, PLINT itype, PLINT npts, PLFLT *intensity, PLFLT *coord1, PLFLT *coord2, PLFLT *coord3, PLINT *alt_hue_path );
454 
455 // Set number of colors in cmap 1
456 
458 
459 // Set a given color from color map 0 by 8 bit RGB value
460 
462 
463 // Set the background color by 8 bit RGB value
464 
466 
467 // Used to globally turn color output on/off
468 
470 
471 // Set the compression level
472 
474 
475 // Set the device (keyword) name
476 
477 // PLDLLIMPEXP_GNOME2 void plplot_canvas_sdev(PlplotCanvas* self, const char *devname);
478 
479 // Set window into device space using margin, aspect ratio, and
480 // justification
481 
482 PLDLLIMPEXP_GNOME2 void plplot_canvas_sdidev( PlplotCanvas* self, PLFLT mar, PLFLT aspect, PLFLT jx, PLFLT jy );
483 
484 // Set up transformation from metafile coordinates.
485 
486 PLDLLIMPEXP_GNOME2 void plplot_canvas_sdimap( PlplotCanvas* self, PLINT dimxmin, PLINT dimxmax, PLINT dimymin, PLINT dimymax, PLFLT dimxpmm, PLFLT dimypmm );
487 
488 // Set plot orientation, specifying rotation in units of pi/2.
489 
491 
492 // Set window into plot space
493 
495 
496 // Set window into plot space incrementally (zoom)
497 
499 
500 // Set the escape character for text strings.
501 
502 PLDLLIMPEXP_GNOME2 void plplot_canvas_sesc( PlplotCanvas* self, char esc );
503 
504 // Set family file parameters
505 
506 // PLDLLIMPEXP_GNOME2 void plplot_canvas_sfam(PlplotCanvas* self, PLINT fam, PLINT num, PLINT bmax);
507 
508 // Set FCI (font characterization integer)
509 
511 
512 // Set the output file name.
513 
514 PLDLLIMPEXP_GNOME2 void plplot_canvas_sfnam( PlplotCanvas* self, const char *fnam );
515 
516 // Shade region.
517 
518 PLDLLIMPEXP_GNOME2 void plplot_canvas_shade( PlplotCanvas* self, PLFLT **a, PLINT nx, PLINT ny, PLINT ( *defined )( PLFLT, PLFLT ), PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLINT sh_width, PLINT min_color, PLINT min_width, PLINT max_color, PLINT max_width, void ( *fill )( PLINT, PLFLT *, PLFLT * ), PLINT rectangular, void ( *pltr )( PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer ), PLPointer pltr_data );
519 
520 PLDLLIMPEXP_GNOME2 void plplot_canvas_shade1( PlplotCanvas* self, PLFLT *a, PLINT nx, PLINT ny, PLINT ( *defined )( PLFLT, PLFLT ), PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLINT sh_width, PLINT min_color, PLINT min_width, PLINT max_color, PLINT max_width, void ( *fill )( PLINT, PLFLT *, PLFLT * ), PLINT rectangular, void ( *pltr )( PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer ), PLPointer pltr_data );
521 
522 PLDLLIMPEXP_GNOME2 void plplot_canvas_shades( PlplotCanvas* self, PLFLT **a, PLINT nx, PLINT ny, PLINT ( *defined )( PLFLT, PLFLT ), PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT *clevel, PLINT nlevel, PLINT fill_width, PLINT cont_color, PLINT cont_width, void ( *fill )( PLINT, PLFLT *, PLFLT * ), PLINT rectangular, void ( *pltr )( PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer ), PLPointer pltr_data );
523 
524 PLDLLIMPEXP_GNOME2 void plplot_canvas_fshade( PlplotCanvas* self, PLFLT ( *f2eval )( PLINT, PLINT, PLPointer ), PLPointer f2eval_data, PLFLT ( *c2eval )( PLINT, PLINT, PLPointer ), PLPointer c2eval_data, PLINT nx, PLINT ny, PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLINT sh_width, PLINT min_color, PLINT min_width, PLINT max_color, PLINT max_width, void ( *fill )( PLINT, PLFLT *, PLFLT * ), PLINT rectangular, void ( *pltr )( PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer ), PLPointer pltr_data );
525 
526 // Set up lengths of major tick marks.
527 
529 
530 // Set the memory area to be plotted (with the 'mem' driver)
531 
532 // PLDLLIMPEXP_GNOME2 void plplot_canvas_smem(PlplotCanvas* self, PLINT maxx, PLINT maxy, void *plotmem);
533 
534 // Set up lengths of minor tick marks.
535 
537 
538 // Set orientation. Must be done before calling plinit.
539 
540 // PLDLLIMPEXP_GNOME2 void plplot_canvas_sori(PlplotCanvas* self, PLINT ori);
541 
542 // Set output device parameters. Usually ignored by the driver.
543 
544 PLDLLIMPEXP_GNOME2 void plplot_canvas_spage( PlplotCanvas* self, PLFLT xp, PLFLT yp, PLINT xleng, PLINT yleng, PLINT xoff, PLINT yoff );
545 
546 // Set the pause (on end-of-page) status
547 
548 // PLDLLIMPEXP_GNOME2 void plplot_canvas_spause(PlplotCanvas* self, PLINT pause);
549 
550 // Set stream number.
551 
552 // PLDLLIMPEXP_GNOME2 void plplot_canvas_sstrm(PlplotCanvas* self, PLINT strm);
553 
554 // Set the number of subwindows in x and y
555 
557 
558 // Set symbol height.
559 
561 
562 // Initialize PLplot, passing in the windows/page settings.
563 
564 // PLDLLIMPEXP_GNOME2 void plplot_canvas_star(PlplotCanvas* self, PLINT nx, PLINT ny);
565 
566 // Initialize PLplot, passing the device name and windows/page settings.
567 
568 // PLDLLIMPEXP_GNOME2 void plplot_canvas_start(PlplotCanvas* self, const char *devname, PLINT nx, PLINT ny);
569 
570 // Add a point to a stripchart.
571 
572 // PLDLLIMPEXP_GNOME2 void plplot_canvas_stripa(PlplotCanvas* self, PLINT id, PLINT pen, PLFLT x, PLFLT y);
573 
574 // Create 1d stripchart
575 
576 // PLDLLIMPEXP_GNOME2 void plplot_canvas_stripc(PlplotCanvas* self, PLINT *id, char *xspec, char *yspec, PLFLT xmin, PLFLT xmax, PLFLT xjump, PLFLT ymin, PLFLT ymax, PLFLT xlpos, PLFLT ylpos, PLINT y_ascl, PLINT acc, PLINT colbox, PLINT collab, PLINT colline[], PLINT styline[], char *legline[], char *labx, char *laby, char *labtop);
577 
578 // Deletes and releases memory used by a stripchart.
579 
580 // PLDLLIMPEXP_GNOME2 void plplot_canvas_stripd(PlplotCanvas* self, PLINT id);
581 
582 // plots a 2d image (or a matrix too large for plshade() )
583 
584 PLDLLIMPEXP_GNOME2 void plplot_canvas_image( PlplotCanvas* self, PLFLT **data, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax );
585 
586 // Set up a new line style
587 
588 PLDLLIMPEXP_GNOME2 void plplot_canvas_styl( PlplotCanvas* self, PLINT nms, PLINT *mark, PLINT *space );
589 
590 // Plots the 3d surface representation of the function z[x][y].
591 
592 PLDLLIMPEXP_GNOME2 void plplot_canvas_surf3d( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel );
593 
594 // Plots the 3d surface representation of the function z[x][y] with y
595 // index limits.
596 
597 PLDLLIMPEXP_GNOME2 void plplot_canvas_surf3dl( PlplotCanvas* self, PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel, PLINT ixstart, PLINT ixn, PLINT *indexymin, PLINT*indexymax );
598 
599 // Sets the edges of the viewport to the specified absolute coordinates
600 
601 PLDLLIMPEXP_GNOME2 void plplot_canvas_svpa( PlplotCanvas* self, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax );
602 
603 // Set x axis labeling parameters
604 
605 PLDLLIMPEXP_GNOME2 void plplot_canvas_sxax( PlplotCanvas* self, PLINT digmax, PLINT digits );
606 
607 // Set inferior X window
608 
610 
611 // Set y axis labeling parameters
612 
613 PLDLLIMPEXP_GNOME2 void plplot_canvas_syax( PlplotCanvas* self, PLINT digmax, PLINT digits );
614 
615 // Plots array y against x for n points using Hershey symbol "code"
616 
618 
619 // Set z axis labeling parameters
620 
621 PLDLLIMPEXP_GNOME2 void plplot_canvas_szax( PlplotCanvas* self, PLINT digmax, PLINT digits );
622 
623 // Switches to text screen.
624 
626 
627 // Sets the edges of the viewport with the given aspect ratio, leaving
628 // room for labels.
629 
631 
632 // Creates the largest viewport of the specified aspect ratio that fits
633 // within the specified normalized subpage coordinates.
634 
635 PLDLLIMPEXP_GNOME2 void plplot_canvas_vpas( PlplotCanvas* self, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT aspect );
636 
637 // Creates a viewport with the specified normalized subpage coordinates.
638 
639 PLDLLIMPEXP_GNOME2 void plplot_canvas_vpor( PlplotCanvas* self, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax );
640 
641 // Defines a "standard" viewport with seven character heights for
642 // the left margin and four character heights everywhere else.
643 
645 
646 // Set up a window for three-dimensional plotting.
647 
648 PLDLLIMPEXP_GNOME2 void plplot_canvas_w3d( PlplotCanvas* self, PLFLT basex, PLFLT basey, PLFLT height, PLFLT xmin0, PLFLT xmax0, PLFLT ymin0, PLFLT ymax0, PLFLT zmin0, PLFLT zmax0, PLFLT alt, PLFLT az );
649 
650 // Set pen width.
651 
653 
654 // Set up world coordinates of the viewport boundaries (2d plots).
655 
656 PLDLLIMPEXP_GNOME2 void plplot_canvas_wind( PlplotCanvas* self, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax );
657 
658 // set xor mode; mode = 1-enter, 0-leave, status = 0 if not interactive device
659 
660 PLDLLIMPEXP_GNOME2 void plplot_canvas_xormod( PlplotCanvas* self, PLINT mode, PLINT *status );
661 
662 
663 G_END_DECLS
664 
665 #endif // __PLPLOTCANVAS_H__