PLplot: plplotcanvas.h Source File

PLplot 5.10.0

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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;
54 typedef struct _PlplotCanvasClass PlplotCanvasClass;
55
56
57 struct _PlplotCanvas
58 {
59 GnomeCanvas parent;
60
61 gint Nstream; // The stream number
62 };
63
64 struct _PlplotCanvasClass
65 {
66 GnomeCanvasClass parent;
67 };
68
69 PLDLLIMPEXP_GNOME2 GType plplot_canvas_get_type();
70
71 PLDLLIMPEXP_GNOME2 PlplotCanvas* plplot_canvas_new();
72 PLDLLIMPEXP_GNOME2 void plplot_canvas_devinit( PlplotCanvas* self );
73 PLDLLIMPEXP_GNOME2 void plplot_canvas_dispose( PlplotCanvas *self );
74
75 PLDLLIMPEXP_GNOME2 gint plplot_canvas_get_stream_number( PlplotCanvas* self );
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
94 PLDLLIMPEXP_GNOME2 void plplot_canvas_setcontlabelformat( PlplotCanvas* self, PLINT lexp, PLINT sigdig );
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
102 PLDLLIMPEXP_GNOME2 void plplot_canvas_adv( PlplotCanvas* self, PLINT page );
103
104 // simple arrow plotter.
105
106 PLDLLIMPEXP_GNOME2 void plplot_canvas_arrows( PlplotCanvas* self, PLFLT *u, PLFLT *v, PLFLT *x, PLFLT *y, PLINT n, PLFLT scale, PLFLT dx, PLFLT dy );
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
123 PLDLLIMPEXP_GNOME2 void plplot_canvas_bop( PlplotCanvas* self );
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
135 PLDLLIMPEXP_GNOME2 void plplot_canvas_calc_world( PlplotCanvas* self, PLFLT rx, PLFLT ry, PLFLT *wx, PLFLT *wy, PLINT *window );
136
137 // Clear current subpage.
138
139 PLDLLIMPEXP_GNOME2 void plplot_canvas_clear( PlplotCanvas* self );
140
141 // Set color, map 0. Argument is integer between 0 and 15.
142
143 PLDLLIMPEXP_GNOME2 void plplot_canvas_col0( PlplotCanvas* self, PLINT icol0 );
144
145 // Set color, map 1. Argument is a float between 0. and 1.
146
147 PLDLLIMPEXP_GNOME2 void plplot_canvas_col1( PlplotCanvas* self, PLFLT col1 );
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
169 PLDLLIMPEXP_GNOME2 void plplot_canvas_did2pc( PlplotCanvas* self, PLFLT *xmin, PLFLT *ymin, PLFLT *xmax, PLFLT *ymax );
170
171 // Converts input values from relative plot coordinates to relative
172 // device coordinates.
173
174 PLDLLIMPEXP_GNOME2 void plplot_canvas_dip2dc( PlplotCanvas* self, PLFLT *xmin, PLFLT *ymin, PLFLT *xmax, PLFLT *ymax );
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
195 PLDLLIMPEXP_GNOME2 void plplot_canvas_eop( PlplotCanvas* self );
196
197 // Plot horizontal error bars (xmin(i),y(i)) to (xmax(i),y(i))
198
199 PLDLLIMPEXP_GNOME2 void plplot_canvas_errx( PlplotCanvas* self, PLINT n, PLFLT *xmin, PLFLT *xmax, PLFLT *y );
200
201 // Plot vertical error bars (x,ymin(i)) to (x(i),ymax(i))
202
203 PLDLLIMPEXP_GNOME2 void plplot_canvas_erry( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *ymin, PLFLT *ymax );
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
211 PLDLLIMPEXP_GNOME2 void plplot_canvas_fill( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y );
212
213 // Pattern fills the 3d polygon bounded by the input points.
214
215 PLDLLIMPEXP_GNOME2 void plplot_canvas_fill3( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y, PLFLT *z );
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
223 PLDLLIMPEXP_GNOME2 void plplot_canvas_font( PlplotCanvas* self, PLINT ifont );
224
225 // Load specified font set.
226
227 PLDLLIMPEXP_GNOME2 void plplot_canvas_fontld( PlplotCanvas* self, PLINT fnt );
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
239 PLDLLIMPEXP_GNOME2 void plplot_canvas_gcolbg( PlplotCanvas* self, PLINT *r, PLINT *g, PLINT *b );
240
241 // Returns the current compression setting
242
243 PLDLLIMPEXP_GNOME2 void plplot_canvas_gcompression( PlplotCanvas* self, PLINT *compression );
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
255 PLDLLIMPEXP_GNOME2 void plplot_canvas_gdiori( PlplotCanvas* self, PLFLT *p_rot );
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
263 PLDLLIMPEXP_GNOME2 void plplot_canvas_gfci( PlplotCanvas* self, PLUNICODE *pfci );
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
275 PLDLLIMPEXP_GNOME2 void plplot_canvas_glevel( PlplotCanvas* self, PLINT *p_level );
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
291 PLDLLIMPEXP_GNOME2 void plplot_canvas_gspa( PlplotCanvas* self, PLFLT *xmin, PLFLT *xmax, PLFLT *ymin, PLFLT *ymax );
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
327 PLDLLIMPEXP_GNOME2 void plplot_canvas_hls( PlplotCanvas* self, PLFLT h, PLFLT l, PLFLT s );
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
335 PLDLLIMPEXP_GNOME2 void plplot_canvas_join( PlplotCanvas* self, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2 );
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
343 PLDLLIMPEXP_GNOME2 void plplot_canvas_lightsource( PlplotCanvas* self, PLFLT x, PLFLT y, PLFLT z );
344
345 // Draws line segments connecting a series of points.
346
347 PLDLLIMPEXP_GNOME2 void plplot_canvas_line( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y );
348
349 // Draws a line in 3 space.
350
351 PLDLLIMPEXP_GNOME2 void plplot_canvas_line3( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y, PLFLT *z );
352
353 // Set line style.
354
355 PLDLLIMPEXP_GNOME2 void plplot_canvas_lsty( PlplotCanvas* self, PLINT lin );
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
400 PLDLLIMPEXP_GNOME2 void plplot_canvas_poin( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y, PLINT code );
401
402 // Draws a series of points in 3 space.
403
404 PLDLLIMPEXP_GNOME2 void plplot_canvas_poin3( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y, PLFLT *z, PLINT code );
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
412 PLDLLIMPEXP_GNOME2 void plplot_canvas_prec( PlplotCanvas* self, PLINT setp, PLINT prec );
413
414 // Set fill pattern, using one of the predefined patterns.
415
416 PLDLLIMPEXP_GNOME2 void plplot_canvas_psty( PlplotCanvas* self, PLINT patt );
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
424 PLDLLIMPEXP_GNOME2 void plplot_canvas_replot( PlplotCanvas* self );
425
426 // Set line color by red, green, blue from 0. to 1.
427
428 PLDLLIMPEXP_GNOME2 void plplot_canvas_rgb( PlplotCanvas* self, PLFLT r, PLFLT g, PLFLT b );
429
430 // Set line color by 8 bit RGB values.
431
432 PLDLLIMPEXP_GNOME2 void plplot_canvas_rgb1( PlplotCanvas* self, PLINT r, PLINT g, PLINT b );
433
434 // Set character height.
435
436 PLDLLIMPEXP_GNOME2 void plplot_canvas_schr( PlplotCanvas* self, PLFLT def, PLFLT scale );
437
438 // Set color map 0 colors by 8 bit RGB values
439
440 PLDLLIMPEXP_GNOME2 void plplot_canvas_scmap0( PlplotCanvas* self, PLINT *r, PLINT *g, PLINT *b, PLINT ncol0 );
441
442 // Set number of colors in cmap 0
443
444 PLDLLIMPEXP_GNOME2 void plplot_canvas_scmap0n( PlplotCanvas* self, PLINT ncol0 );
445
446 // Set color map 1 colors by 8 bit RGB values
447
448 PLDLLIMPEXP_GNOME2 void plplot_canvas_scmap1( PlplotCanvas* self, PLINT *r, PLINT *g, PLINT *b, PLINT ncol1 );
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
457 PLDLLIMPEXP_GNOME2 void plplot_canvas_scmap1n( PlplotCanvas* self, PLINT ncol1 );
458
459 // Set a given color from color map 0 by 8 bit RGB value
460
461 PLDLLIMPEXP_GNOME2 void plplot_canvas_scol0( PlplotCanvas* self, PLINT icol0, PLINT r, PLINT g, PLINT b );
462
463 // Set the background color by 8 bit RGB value
464
465 PLDLLIMPEXP_GNOME2 void plplot_canvas_scolbg( PlplotCanvas* self, PLINT r, PLINT g, PLINT b );
466
467 // Used to globally turn color output on/off
468
469 PLDLLIMPEXP_GNOME2 void plplot_canvas_scolor( PlplotCanvas* self, PLINT color );
470
471 // Set the compression level
472
473 PLDLLIMPEXP_GNOME2 void plplot_canvas_scompression( PlplotCanvas* self, PLINT compression );
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
490 PLDLLIMPEXP_GNOME2 void plplot_canvas_sdiori( PlplotCanvas* self, PLFLT rot );
491
492 // Set window into plot space
493
494 PLDLLIMPEXP_GNOME2 void plplot_canvas_sdiplt( PlplotCanvas* self, PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax );
495
496 // Set window into plot space incrementally (zoom)
497
498 PLDLLIMPEXP_GNOME2 void plplot_canvas_sdiplz( PlplotCanvas* self, PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax );
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
510 PLDLLIMPEXP_GNOME2 void plplot_canvas_sfci( PlplotCanvas* self, PLUNICODE fci );
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
528 PLDLLIMPEXP_GNOME2 void plplot_canvas_smaj( PlplotCanvas* self, PLFLT def, PLFLT scale );
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
536 PLDLLIMPEXP_GNOME2 void plplot_canvas_smin( PlplotCanvas* self, PLFLT def, PLFLT scale );
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
556 PLDLLIMPEXP_GNOME2 void plplot_canvas_ssub( PlplotCanvas* self, PLINT nx, PLINT ny );
557
558 // Set symbol height.
559
560 PLDLLIMPEXP_GNOME2 void plplot_canvas_ssym( PlplotCanvas* self, PLFLT def, PLFLT scale );
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
609 PLDLLIMPEXP_GNOME2 void plplot_canvas_sxwin( PlplotCanvas* self, PLINT window_id );
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
617 PLDLLIMPEXP_GNOME2 void plplot_canvas_sym( PlplotCanvas* self, PLINT n, PLFLT *x, PLFLT *y, PLINT code );
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
625 PLDLLIMPEXP_GNOME2 void plplot_canvas_text( PlplotCanvas* self );
626
627 // Sets the edges of the viewport with the given aspect ratio, leaving
628 // room for labels.
629
630 PLDLLIMPEXP_GNOME2 void plplot_canvas_vasp( PlplotCanvas* self, PLFLT aspect );
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
644 PLDLLIMPEXP_GNOME2 void plplot_canvas_vsta( PlplotCanvas* self );
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
652 PLDLLIMPEXP_GNOME2 void plplot_canvas_wid( PlplotCanvas* self, PLINT width );
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__