PLplot  5.13.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
plplot.h
Go to the documentation of this file.
1 // Macros and prototypes for the PLplot package. This header file must
2 // be included by all user codes.
3 //
4 // Note: some systems allow the Fortran & C namespaces to clobber each
5 // other. So for PLplot to work from Fortran, we do some rather nasty
6 // things to the externally callable C function names. This shouldn't
7 // affect any user programs in C as long as this file is included.
8 //
9 // Copyright (C) 1992 Maurice J. LeBrun, Geoff Furnish, Tony Richardson.
10 // Copyright (C) 2004-2017 Alan W. Irwin
11 // Copyright (C) 2004 Rafael Laboissiere
12 // Copyright (C) 2004 Andrew Ross
13 //
14 // This file is part of PLplot.
15 //
16 // PLplot is free software; you can redistribute it and/or modify
17 // it under the terms of the GNU Library General Public License as published
18 // by the Free Software Foundation; either version 2 of the License, or
19 // (at your option) any later version.
20 //
21 // PLplot is distributed in the hope that it will be useful,
22 // but WITHOUT ANY WARRANTY; without even the implied warranty of
23 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 // GNU Library General Public License for more details.
25 //
26 // You should have received a copy of the GNU Library General Public License
27 // along with PLplot; if not, write to the Free Software
28 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
29 //
30 
31 #ifndef __PLPLOT_H__
32 #define __PLPLOT_H__
33 
34 #include "plConfig.h"
35 
36 //--------------------------------------------------------------------------
37 // USING PLplot
38 //
39 // To use PLplot from C or C++, it is only necessary to
40 //
41 // #include "plplot.h"
42 //
43 // This file does all the necessary setup to make PLplot accessible to
44 // your program as documented in the manual. Additionally, this file
45 // allows you to request certain behavior by defining certain symbols
46 // before inclusion. At the moment the only one is:
47 //
48 // #define DOUBLE or..
49 // #define PL_DOUBLE
50 //
51 // This causes PLplot to use doubles instead of floats. Use the type
52 // PLFLT everywhere in your code, and it will always be the right thing.
53 //
54 // Note: most of the functions visible here begin with "pl", while all
55 // of the data types and switches begin with "PL". Eventually everything
56 // will conform to this rule in order to keep namespace pollution of the
57 // user code to a minimum. All the PLplot source files actually include
58 // "plplotP.h", which includes this file as well as all the internally-
59 // visible declarations, etc.
60 //--------------------------------------------------------------------------
61 
62 // The majority of PLplot source files require these, so..
63 // Under ANSI C, they can be included any number of times.
64 
65 #include <stdio.h>
66 #include <stdlib.h>
67 
68 //--------------------------------------------------------------------------
69 // SYSTEM IDENTIFICATION
70 //
71 // Several systems are supported directly by PLplot. In order to avoid
72 // confusion, one id macro per system is used. Since different compilers
73 // may predefine different system id macros, we need to check all the
74 // possibilities, and then set the one we will be referencing. These are:
75 //
76 // __cplusplus Any C++ compiler
77 // __unix Any Unix-like system
78 // __hpux Any HP/UX system
79 // __aix Any AIX system
80 // __linux Linux for i386
81 // (others...)
82 //
83 //--------------------------------------------------------------------------
84 
85 #ifdef unix // the old way
86 #ifndef __unix
87 #define __unix
88 #endif
89 #endif
90 
91 #if 0
92 #if defined ( __GNUC__ ) && __GNUC__ > 3
93 // If gcc 4.x, then turn off all visibility of symbols unless
94 // specified as visible using PLDLLIMPEXP.
95 //#pragma GCC visibility push(hidden)
96 // temporary until issues with above hidden can be sorted out
97  #pragma GCC visibility push(default)
98 #endif
99 #endif
100 // Make sure Unix systems define "__unix"
101 
102 #if defined ( SX ) || /* NEC Super-UX */ \
103  ( defined ( _IBMR2 ) && defined ( _AIX ) ) || /* AIX */ \
104  defined ( __hpux ) || /* HP/UX */ \
105  defined ( sun ) || /* SUN */ \
106  defined ( CRAY ) || /* Cray */ \
107  defined ( __convexc__ ) || /* CONVEX */ \
108  ( defined ( __alpha ) && defined ( __osf__ ) ) || /* DEC Alpha AXP/OSF */ \
109  defined ( __APPLE__ ) // Max OS-X
110 #ifndef __unix
111 #define __unix
112 #endif
113 #endif
114 
115 //--------------------------------------------------------------------------
116 // dll functions
117 //--------------------------------------------------------------------------
118 #include "pldll.h"
119 
120 // Macro to mark function parameters as unused.
121 // For gcc this uses the unused attribute to remove compiler warnings.
122 // For all compilers the parameter name is also mangled to prevent
123 // accidental use.
124 #ifdef PL_UNUSED
125 #elif defined ( __GNUC__ )
126 # define PL_UNUSED( x ) UNUSED_ ## x __attribute__( ( unused ) )
127 #else
128 # define PL_UNUSED( x ) UNUSED_ ## x
129 #endif
130 
131 //--------------------------------------------------------------------------
132 // Base types for PLplot
133 //
134 // Only those that are necessary for function prototypes are defined here.
135 // Notes:
136 //
137 // PLINT is typedef'd to a long by default. This is a change from some
138 // previous versions, where a int was used. However, so long as you have
139 // used type PLINT for integer array arguments as specified by the API,
140 // this change will be transparent for you.
141 //
142 // short is currently used for device page coordinates, so they are
143 // bounded by (-32767, 32767). This gives a max resolution of about 3000
144 // dpi, and improves performance in some areas over using a PLINT.
145 //
146 // PLUNICODE should be a 32-bit unsigned integer on all platforms.
147 // For now, we are using unsigned int for our Linux ix86 unicode experiments,
148 // but that doesn't guarantee 32 bits exactly on all platforms so this will
149 // be subject to change.
150 //--------------------------------------------------------------------------
151 
152 #if defined ( PL_DOUBLE ) || defined ( DOUBLE )
153 typedef double PLFLT;
154 #define PLFLT_MAX DBL_MAX
155 #define PLFLT_MIN DBL_MIN
156 #else
157 typedef float PLFLT;
158 #define PLFLT_MAX FLT_MAX
159 #define PLFLT_MIN FLT_MIN
160 #endif
161 
162 #if ( defined ( PL_HAVE_STDINT_H ) && !defined ( __cplusplus ) ) || \
163  ( defined ( __cplusplus ) && defined ( PL_HAVE_CXX_STDINT_H ) )
164 #include <stdint.h>
165 // This is apparently portable if stdint.h exists.
166 typedef uint32_t PLUINT;
167 typedef int32_t PLINT;
168 typedef int64_t PLINT64;
169 #define PLINT_MIN INT32_MIN
170 #define PLINT_MAX INT32_MAX
171 #else
172 // A reasonable back-up in case stdint.h does not exist on the platform.
173 typedef unsigned int PLUINT;
174 typedef int PLINT;
175 typedef __int64 PLINT64;
176 // for Visual C++ 2003 and later INT_MIN must be used, otherwise
177 // PLINT_MIN is unsigned and 2147483648 NOT -2147483648, see
178 // http://msdn.microsoft.com/en-us/library/4kh09110(VS.71).aspx for
179 // details
180 #if defined ( _MSC_VER ) && _MSC_VER >= 1310
181  #include <Limits.h>
182  #define PLINT_MIN INT_MIN
183 #else
184  #define PLINT_MIN -2147483648
185 #endif
186 //
187 // typedef unsigned int PLUINT;
188 // typedef int PLINT;
189 // typedef long long PLINT64;
190 //
191 #endif
192 
193 // For identifying unicode characters
195 
196 // For identifying logical (boolean) arguments
197 typedef PLINT PLBOOL;
198 
199 // typedefs for generic pointers.
200 
201 // generic pointer to mutable object:
202 typedef void * PLPointer;
203 
204 // Deprecated and only provided for backwards compatibility with
205 // the release of 5.12.0 when these were (mistakenly) introduced.
206 // The plan then was to apply the const attribute to PL_GENERIC_POINTER
207 // for the next release after 5.12.0, but that plan has been aborted
208 // so the lack of the "NC" (for indicating the const attribute has
209 // not been used) in the name is now a misnomer.
212 
213 // PLFLT first element pointers which are used to point to the first
214 // element of a contigous block of memory containing a PLFLT array with
215 // an arbitrary number of dimensions.
216 
217 // mutable version
219 // immutable version
220 typedef const PLFLT * PLFLT_FE_POINTER;
221 
222 // typedefs that are typically used for passing scalar, vector, and
223 // matrix arguments to functions. The NC attribute concerns pointers
224 // to mutable objects, where the objects are used for passing values
225 // that are either output only or both input and output. Pointers whose
226 // name does not contain the NC attribute point to immutable objects
227 // which are strictly input and guaranteed to be unchanged by the function.
228 //
229 
230 // Pointers to mutable scalars:
234 typedef char * PLCHAR_NC_SCALAR;
236 
237 // Pointers to mutable vectors:
238 typedef int * PLINT_NC_VECTOR;
239 typedef char * PLCHAR_NC_VECTOR;
241 
242 // Pointers to immutable vectors:
243 typedef const PLINT * PLINT_VECTOR;
244 typedef const PLBOOL * PLBOOL_VECTOR;
245 typedef const char * PLCHAR_VECTOR;
246 typedef const PLFLT * PLFLT_VECTOR;
247 
248 // Pointers to mutable 2-dimensional matrices:
249 typedef char ** PLCHAR_NC_MATRIX;
251 
252 // Pointers to immutable 2-dimensional matrices,
253 // (i.e., pointers to const pointers to const values):
254 typedef const char * const * PLCHAR_MATRIX;
255 typedef const PLFLT * const * PLFLT_MATRIX;
256 
257 // Callback-related typedefs
260 typedef void ( *PLLABEL_FUNC_callback )( PLINT axis, PLFLT value, PLCHAR_NC_VECTOR label, PLINT length, PLPointer data );
261 typedef PLFLT ( *PLF2EVAL_callback )( PLINT ix, PLINT iy, PLPointer data );
262 typedef void ( *PLFILL_callback )( PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y );
263 typedef PLINT ( *PLDEFINED_callback )( PLFLT x, PLFLT y );
264 
265 //--------------------------------------------------------------------------
266 // Complex data types and other good stuff
267 //--------------------------------------------------------------------------
268 
269 // Switches for escape function call.
270 // Some of these are obsolete but are retained in order to process
271 // old metafiles
272 
273 #define PLESC_SET_RGB 1 // obsolete
274 #define PLESC_ALLOC_NCOL 2 // obsolete
275 #define PLESC_SET_LPB 3 // obsolete
276 #define PLESC_EXPOSE 4 // handle window expose
277 #define PLESC_RESIZE 5 // handle window resize
278 #define PLESC_REDRAW 6 // handle window redraw
279 #define PLESC_TEXT 7 // switch to text screen
280 #define PLESC_GRAPH 8 // switch to graphics screen
281 #define PLESC_FILL 9 // fill polygon
282 #define PLESC_DI 10 // handle DI command
283 #define PLESC_FLUSH 11 // flush output
284 #define PLESC_EH 12 // handle Window events
285 #define PLESC_GETC 13 // get cursor position
286 #define PLESC_SWIN 14 // set window parameters
287 #define PLESC_DOUBLEBUFFERING 15 // configure double buffering
288 #define PLESC_XORMOD 16 // set xor mode
289 #define PLESC_SET_COMPRESSION 17 // AFR: set compression
290 #define PLESC_CLEAR 18 // RL: clear graphics region
291 #define PLESC_DASH 19 // RL: draw dashed line
292 #define PLESC_HAS_TEXT 20 // driver draws text
293 #define PLESC_IMAGE 21 // handle image
294 #define PLESC_IMAGEOPS 22 // plimage related operations
295 #define PLESC_PL2DEVCOL 23 // convert PLColor to device color
296 #define PLESC_DEV2PLCOL 24 // convert device color to PLColor
297 #define PLESC_SETBGFG 25 // set BG, FG colors
298 #define PLESC_DEVINIT 26 // alternate device initialization
299 #define PLESC_GETBACKEND 27 // get used backend of (wxWidgets) driver - no longer used
300 #define PLESC_BEGIN_TEXT 28 // get ready to draw a line of text
301 #define PLESC_TEXT_CHAR 29 // render a character of text
302 #define PLESC_CONTROL_CHAR 30 // handle a text control character (super/subscript, etc.)
303 #define PLESC_END_TEXT 31 // finish a drawing a line of text
304 #define PLESC_START_RASTERIZE 32 // start rasterized rendering
305 #define PLESC_END_RASTERIZE 33 // end rasterized rendering
306 #define PLESC_ARC 34 // render an arc
307 #define PLESC_GRADIENT 35 // render a gradient
308 #define PLESC_MODESET 36 // set drawing mode
309 #define PLESC_MODEGET 37 // get drawing mode
310 #define PLESC_FIXASPECT 38 // set or unset fixing the aspect ratio of the plot
311 #define PLESC_IMPORT_BUFFER 39 // set the contents of the buffer to a specified byte string
312 #define PLESC_APPEND_BUFFER 40 // append the given byte string to the buffer
313 #define PLESC_FLUSH_REMAINING_BUFFER 41 // flush the remaining buffer e.g. after new data was appended
314 
315 // Alternative unicode text handling control characters
316 #define PLTEXT_FONTCHANGE 0 // font change in the text stream
317 #define PLTEXT_SUPERSCRIPT 1 // superscript in the text stream
318 #define PLTEXT_SUBSCRIPT 2 // subscript in the text stream
319 #define PLTEXT_BACKCHAR 3 // back-char in the text stream
320 #define PLTEXT_OVERLINE 4 // toggle overline in the text stream
321 #define PLTEXT_UNDERLINE 5 // toggle underline in the text stream
322 
323 // image operations
324 #define ZEROW2B 1
325 #define ZEROW2D 2
326 #define ONEW2B 3
327 #define ONEW2D 4
328 
329 // Window parameter tags
330 
331 #define PLSWIN_DEVICE 1 // device coordinates
332 #define PLSWIN_WORLD 2 // world coordinates
333 
334 // Axis label tags
335 #define PL_X_AXIS 1 // The x-axis
336 #define PL_Y_AXIS 2 // The y-axis
337 #define PL_Z_AXIS 3 // The z-axis
338 
339 // PLplot Option table & support constants
340 
341 // Option-specific settings
342 
343 #define PL_OPT_ENABLED 0x0001 // Obsolete
344 #define PL_OPT_ARG 0x0002 // Option has an argument
345 #define PL_OPT_NODELETE 0x0004 // Don't delete after processing
346 #define PL_OPT_INVISIBLE 0x0008 // Make invisible
347 #define PL_OPT_DISABLED 0x0010 // Processing is disabled
348 
349 // Option-processing settings -- mutually exclusive
350 
351 #define PL_OPT_FUNC 0x0100 // Call handler function
352 #define PL_OPT_BOOL 0x0200 // Set *var = 1
353 #define PL_OPT_INT 0x0400 // Set *var = atoi(optarg)
354 #define PL_OPT_FLOAT 0x0800 // Set *var = atof(optarg)
355 #define PL_OPT_STRING 0x1000 // Set var = optarg
356 
357 // Global mode settings
358 // These override per-option settings
359 
360 #define PL_PARSE_PARTIAL 0x0000 // For backward compatibility
361 #define PL_PARSE_FULL 0x0001 // Process fully & exit if error
362 #define PL_PARSE_QUIET 0x0002 // Don't issue messages
363 #define PL_PARSE_NODELETE 0x0004 // Don't delete options after
364  // processing
365 #define PL_PARSE_SHOWALL 0x0008 // Show invisible options
366 #define PL_PARSE_OVERRIDE 0x0010 // Obsolete
367 #define PL_PARSE_NOPROGRAM 0x0020 // Program name NOT in *argv[0]..
368 #define PL_PARSE_NODASH 0x0040 // Set if leading dash NOT required
369 #define PL_PARSE_SKIP 0x0080 // Skip over unrecognized args
370 
371 // FCI (font characterization integer) related constants.
372 #define PL_FCI_MARK 0x80000000
373 #define PL_FCI_IMPOSSIBLE 0x00000000
374 #define PL_FCI_HEXDIGIT_MASK 0xf
375 #define PL_FCI_HEXPOWER_MASK 0x7
376 #define PL_FCI_HEXPOWER_IMPOSSIBLE 0xf
377 // These define hexpower values corresponding to each font attribute.
378 #define PL_FCI_FAMILY 0x0
379 #define PL_FCI_STYLE 0x1
380 #define PL_FCI_WEIGHT 0x2
381 // These are legal values for font family attribute
382 #define PL_FCI_SANS 0x0
383 #define PL_FCI_SERIF 0x1
384 #define PL_FCI_MONO 0x2
385 #define PL_FCI_SCRIPT 0x3
386 #define PL_FCI_SYMBOL 0x4
387 // These are legal values for font style attribute
388 #define PL_FCI_UPRIGHT 0x0
389 #define PL_FCI_ITALIC 0x1
390 #define PL_FCI_OBLIQUE 0x2
391 // These are legal values for font weight attribute
392 #define PL_FCI_MEDIUM 0x0
393 #define PL_FCI_BOLD 0x1
394 
395 #ifdef PL_DEPRECATED
396 
397 // Obsolete names
398 
399 #define plParseInternalOpts( a, b, c ) c_plparseopts( a, b, c )
400 #define plSetInternalOpt( a, b ) c_plsetopt( a, b )
401 
402 #endif // PL_DEPRECATED
403 
404 
405 // Option table definition
406 
407 typedef struct
408 {
410  int ( *handler )( PLCHAR_VECTOR, PLCHAR_VECTOR, PLPointer );
413  long mode;
414  PLCHAR_VECTOR syntax;
415  PLCHAR_VECTOR desc;
416 } PLOptionTable;
417 
418 // PLplot Graphics Input structure
419 
420 #define PL_MAXKEY 16
421 
422 //Masks for use with PLGraphicsIn::state
423 //These exactly coincide with the X11 masks
424 //from X11/X.h, however the values 1<<3 to
425 //1<<7 aparently may vary depending upon
426 //X implementation and keyboard
427 // Numerical #defines are parsed further to help determine
428 // additional files such as ../bindings/swig-support/plplotcapi.i
429 // so must #define numerical #defines with numbers rather than C operators
430 // such as <<.
431 #define PL_MASK_SHIFT 0x1 // ( 1 << 0 )
432 #define PL_MASK_CAPS 0x2 // ( 1 << 1 )
433 #define PL_MASK_CONTROL 0x4 // ( 1 << 2 )
434 #define PL_MASK_ALT 0x8 // ( 1 << 3 )
435 #define PL_MASK_NUM 0x10 // ( 1 << 4 )
436 #define PL_MASK_ALTGR 0x20 // ( 1 << 5 )
437 #define PL_MASK_WIN 0x40 // ( 1 << 6 )
438 #define PL_MASK_SCROLL 0x80 // ( 1 << 7 )
439 #define PL_MASK_BUTTON1 0x100 // ( 1 << 8 )
440 #define PL_MASK_BUTTON2 0x200 // ( 1 << 9 )
441 #define PL_MASK_BUTTON3 0x400 // ( 1 << 10 )
442 #define PL_MASK_BUTTON4 0x800 // ( 1 << 11 )
443 #define PL_MASK_BUTTON5 0x1000 // ( 1 << 12 )
444 
445 typedef struct
446 {
447  int type; // of event (CURRENTLY UNUSED)
448  unsigned int state; // key or button mask
449  unsigned int keysym; // key selected
450  unsigned int button; // mouse button selected
451  PLINT subwindow; // subwindow (alias subpage, alias subplot) number
452  char string[PL_MAXKEY]; // translated string
453  int pX, pY; // absolute device coordinates of pointer
454  PLFLT dX, dY; // relative device coordinates of pointer
455  PLFLT wX, wY; // world coordinates of pointer
456 } PLGraphicsIn;
457 
458 // Structure for describing the plot window
459 
460 #define PL_MAXWINDOWS 64 // Max number of windows/page tracked
461 
462 typedef struct
463 {
464  PLFLT dxmi, dxma, dymi, dyma; // min, max window rel dev coords
465  PLFLT wxmi, wxma, wymi, wyma; // min, max window world coords
466 } PLWindow;
467 
468 // Structure for doing display-oriented operations via escape commands
469 // May add other attributes in time
470 
471 typedef struct
472 {
473  unsigned int x, y; // upper left hand corner
474  unsigned int width, height; // window dimensions
475 } PLDisplay;
476 
477 // Macro used (in some cases) to ignore value of argument
478 // I don't plan on changing the value so you can hard-code it
479 
480 #define PL_NOTSET ( -42 )
481 
482 // See plcont.c for examples of the following
483 
484 //
485 // PLfGrid is for passing (as a pointer to the first element) an arbitrarily
486 // dimensioned array. The grid dimensions MUST be stored, with a maximum of 3
487 // dimensions assumed for now.
488 //
489 
490 typedef struct
491 {
493  PLINT nx, ny, nz;
494 } PLfGrid;
495 
496 //
497 // PLfGrid2 is for passing (as an array of pointers) a 2d function array. The
498 // grid dimensions are passed for possible bounds checking.
499 //
500 
501 typedef struct
502 {
504  PLINT nx, ny;
505 } PLfGrid2;
506 
507 //
508 // NOTE: a PLfGrid3 is a good idea here but there is no way to exploit it yet
509 // so I'll leave it out for now.
510 //
511 
512 //
513 // PLcGrid is for passing (as a pointer to the first element) arbitrarily
514 // dimensioned coordinate transformation arrays. The grid dimensions MUST be
515 // stored, with a maximum of 3 dimensions assumed for now.
516 //
517 
518 typedef struct
519 {
521  PLINT nx, ny, nz;
522 } PLcGrid;
523 
524 //
525 // PLcGrid2 is for passing (as arrays of pointers) 2d coordinate
526 // transformation arrays. The grid dimensions are passed for possible bounds
527 // checking.
528 //
529 
530 typedef struct
531 {
533  PLINT nx, ny;
534 } PLcGrid2;
535 
536 //
537 // NOTE: a PLcGrid3 is a good idea here but there is no way to exploit it yet
538 // so I'll leave it out for now.
539 //
540 
541 // PLColor is the usual way to pass an rgb color value.
542 
543 typedef struct
544 {
545  unsigned char r; // red
546  unsigned char g; // green
547  unsigned char b; // blue
548  PLFLT a; // alpha (or transparency)
550 } PLColor;
551 
552 // PLControlPt is how cmap1 control points are represented.
553 
554 typedef struct
555 {
556  PLFLT h; // hue
557  PLFLT l; // lightness
558  PLFLT s; // saturation
559  PLFLT p; // position
560  PLFLT a; // alpha (or transparency)
561  int alt_hue_path; // if set, interpolate through h=0
562 } PLControlPt;
563 
564 // A PLBufferingCB is a control block for interacting with devices
565 // that support double buffering.
566 
567 typedef struct
568 {
571 } PLBufferingCB;
572 
573 #define PLESC_DOUBLEBUFFERING_ENABLE 1
574 #define PLESC_DOUBLEBUFFERING_DISABLE 2
575 #define PLESC_DOUBLEBUFFERING_QUERY 3
576 
577 typedef struct
578 {
583 
584 //
585 // typedefs for access methods for arbitrary (i.e. user defined) data storage
586 //
587 
588 //
589 // This type of struct holds pointers to functions that are used to
590 // get, set, modify, and test individual 2-D data points referenced by
591 // a PLPointer or PLPointer. How these
592 // generic pointers are used depends entirely on the functions
593 // that implement the various operations. Certain common data
594 // representations have predefined instances of this structure
595 // prepopulated with pointers to predefined functions.
596 //
597 
598 typedef struct
599 {
600  PLFLT ( *get )( PLPointer p, PLINT ix, PLINT iy );
601  PLFLT ( *set )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
602  PLFLT ( *add )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
603  PLFLT ( *sub )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
604  PLFLT ( *mul )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
605  PLFLT ( *div )( PLPointer p, PLINT ix, PLINT iy, PLFLT z );
606  PLINT ( *is_nan )( PLPointer p, PLINT ix, PLINT iy );
607  void ( *minmax )( PLPointer p, PLINT nx, PLINT ny, PLFLT_NC_SCALAR zmin, PLFLT_NC_SCALAR zmax );
608  //
609  // f2eval is backwards compatible signature for "f2eval" functions that
610  // existed before plf2ops "operator function families" were used.
611  //
612  PLFLT ( *f2eval )( PLINT ix, PLINT iy, PLPointer p );
613 } plf2ops_t;
614 
615 //
616 // A typedef to facilitate declaration of a pointer to a plfops_t structure.
617 //
618 
619 typedef plf2ops_t * PLF2OPS;
620 
621 //
622 // A struct to pass a buffer around
623 //
624 typedef struct
625 {
626  size_t size;
628 } plbuffer;
629 
630 //--------------------------------------------------------------------------
631 // BRAINDEAD-ness
632 //
633 // Some systems allow the Fortran & C namespaces to clobber each other.
634 // For PLplot to work from Fortran on these systems, we must name the the
635 // externally callable C functions something other than their Fortran entry
636 // names. In order to make this as easy as possible for the casual user,
637 // yet reversible to those who abhor my solution, I have done the
638 // following:
639 //
640 // The C-language bindings are actually different from those
641 // described in the manual. Macros are used to convert the
642 // documented names to the names used in this package. The
643 // user MUST include plplot.h in order to get the name
644 // redefinition correct.
645 //
646 // Sorry to have to resort to such an ugly kludge, but it is really the
647 // best way to handle the situation at present. If all available
648 // compilers offer a way to correct this stupidity, then perhaps we can
649 // eventually reverse it.
650 //
651 // If you feel like screaming at someone (I sure do), please
652 // direct it at your nearest system vendor who has a braindead shared
653 // C/Fortran namespace. Some vendors do offer compiler switches that
654 // change the object names, but then everybody who wants to use the
655 // package must throw these same switches, leading to no end of trouble.
656 //
657 // Note that this definition should not cause any noticable effects except
658 // when debugging PLplot calls, in which case you will need to remember
659 // the real function names (same as before but with a 'c_' prepended).
660 //
661 // Also, to avoid macro conflicts, the BRAINDEAD part must not be expanded
662 // in the stub routines.
663 //
664 // Aside: the reason why a shared Fortran/C namespace is deserving of the
665 // BRAINDEAD characterization is that it completely precludes the the kind
666 // of universal API that is attempted (more or less) with PLplot, without
667 // Herculean efforts (e.g. remapping all of the C bindings by macros as
668 // done here). The vendors of such a scheme, in order to allow a SINGLE
669 // type of argument to be passed transparently between C and Fortran,
670 // namely, a pointer to a conformable data type, have slammed the door on
671 // insertion of stub routines to handle the conversions needed for other
672 // data types. Intelligent linkers could solve this problem, but these are
673 // not anywhere close to becoming universal. So meanwhile, one must live
674 // with either stub routines for the inevitable data conversions, or a
675 // different API. The former is what is used here, but is made far more
676 // difficult in a braindead shared Fortran/C namespace.
677 //--------------------------------------------------------------------------
678 
679 #ifndef BRAINDEAD
680 #define BRAINDEAD
681 #endif
682 
683 #ifdef BRAINDEAD
684 
685 #ifndef __PLSTUBS_H__ // i.e. do not expand this in the stubs
686 
687 #define pl_setcontlabelformat c_pl_setcontlabelformat
688 #define pl_setcontlabelparam c_pl_setcontlabelparam
689 #define pladv c_pladv
690 #define plarc c_plarc
691 #define plaxes c_plaxes
692 #define plbin c_plbin
693 #define plbop c_plbop
694 #define plbox c_plbox
695 #define plbox3 c_plbox3
696 #define plbtime c_plbtime
697 #define plcalc_world c_plcalc_world
698 #define plclear c_plclear
699 #define plcol0 c_plcol0
700 #define plcol1 c_plcol1
701 #define plcolorbar c_plcolorbar
702 #define plconfigtime c_plconfigtime
703 #define plcont c_plcont
704 #define plcpstrm c_plcpstrm
705 #define plctime c_plctime
706 #define plend c_plend
707 #define plend1 c_plend1
708 #define plenv c_plenv
709 #define plenv0 c_plenv0
710 #define pleop c_pleop
711 #define plerrx c_plerrx
712 #define plerry c_plerry
713 #define plfamadv c_plfamadv
714 #define plfill c_plfill
715 #define plfill3 c_plfill3
716 #define plflush c_plflush
717 #define plfont c_plfont
718 #define plfontld c_plfontld
719 #define plgchr c_plgchr
720 #define plgcol0 c_plgcol0
721 #define plgcol0a c_plgcol0a
722 #define plgcolbg c_plgcolbg
723 #define plgcolbga c_plgcolbga
724 #define plgcompression c_plgcompression
725 #define plgdev c_plgdev
726 #define plgdidev c_plgdidev
727 #define plgdiori c_plgdiori
728 #define plgdiplt c_plgdiplt
729 #define plgdrawmode c_plgdrawmode
730 #define plgfam c_plgfam
731 #define plgfci c_plgfci
732 #define plgfnam c_plgfnam
733 #define plgfont c_plgfont
734 #define plglevel c_plglevel
735 #define plgpage c_plgpage
736 #define plgra c_plgra
737 #define plgradient c_plgradient
738 #define plgriddata c_plgriddata
739 #define plgspa c_plgspa
740 #define plgstrm c_plgstrm
741 #define plgver c_plgver
742 #define plgvpd c_plgvpd
743 #define plgvpw c_plgvpw
744 #define plgxax c_plgxax
745 #define plgyax c_plgyax
746 #define plgzax c_plgzax
747 #define plhist c_plhist
748 #ifdef PL_DEPRECATED
749 #define plhls c_plhls
750 #endif
751 #define plhlsrgb c_plhlsrgb
752 #define plimage c_plimage
753 #define plimagefr c_plimagefr
754 #define plinit c_plinit
755 #define pljoin c_pljoin
756 #define pllab c_pllab
757 #define pllegend c_pllegend
758 #define pllightsource c_pllightsource
759 #define plline c_plline
760 #define plpath c_plpath
761 #define plline3 c_plline3
762 #define pllsty c_pllsty
763 #define plmap c_plmap
764 #define plmapline c_plmapline
765 #define plmapstring c_plmapstring
766 #define plmaptex c_plmaptex
767 #define plmapfill c_plmapfill
768 #define plmeridians c_plmeridians
769 #define plmesh c_plmesh
770 #define plmeshc c_plmeshc
771 #define plmkstrm c_plmkstrm
772 #define plmtex c_plmtex
773 #define plmtex3 c_plmtex3
774 #define plot3d c_plot3d
775 #define plot3dc c_plot3dc
776 #define plot3dcl c_plot3dcl
777 #define plparseopts c_plparseopts
778 #define plpat c_plpat
779 #define plpoin c_plpoin
780 #define plpoin3 c_plpoin3
781 #define plpoly3 c_plpoly3
782 #define plprec c_plprec
783 #define plpsty c_plpsty
784 #define plptex c_plptex
785 #define plptex3 c_plptex3
786 #define plrandd c_plrandd
787 #define plreplot c_plreplot
788 #ifdef PL_DEPRECATED
789 #define plrgb c_plrgb
790 #define plrgb1 c_plrgb1
791 #endif
792 #define plrgbhls c_plrgbhls
793 #define plschr c_plschr
794 #define plscmap0 c_plscmap0
795 #define plscmap0a c_plscmap0a
796 #define plscmap0n c_plscmap0n
797 #define plscmap1 c_plscmap1
798 #define plscmap1a c_plscmap1a
799 #define plscmap1l c_plscmap1l
800 #define plscmap1la c_plscmap1la
801 #define plscmap1n c_plscmap1n
802 #define plscmap1_range c_plscmap1_range
803 #define plgcmap1_range c_plgcmap1_range
804 #define plscol0 c_plscol0
805 #define plscol0a c_plscol0a
806 #define plscolbg c_plscolbg
807 #define plscolbga c_plscolbga
808 #define plscolor c_plscolor
809 #define plscompression c_plscompression
810 #define plsdev c_plsdev
811 #define plsdidev c_plsdidev
812 #define plsdimap c_plsdimap
813 #define plsdiori c_plsdiori
814 #define plsdiplt c_plsdiplt
815 #define plsdiplz c_plsdiplz
816 #define plseed c_plseed
817 #define plsesc c_plsesc
818 #define plsetopt c_plsetopt
819 #define plsfam c_plsfam
820 #define plsfci c_plsfci
821 #define plsfnam c_plsfnam
822 #define plsfont c_plsfont
823 #define plshade c_plshade
824 #define plshade1 c_plshade1
825 #define plshades c_plshades
826 #define plslabelfunc c_plslabelfunc
827 #define plsmaj c_plsmaj
828 #define plsmem c_plsmem
829 #define plsmema c_plsmema
830 #define plsmin c_plsmin
831 #define plsdrawmode c_plsdrawmode
832 #define plsori c_plsori
833 #define plspage c_plspage
834 #define plspal0 c_plspal0
835 #define plspal1 c_plspal1
836 #define plspause c_plspause
837 #define plsstrm c_plsstrm
838 #define plssub c_plssub
839 #define plssym c_plssym
840 #define plstar c_plstar
841 #define plstart c_plstart
842 #define plstransform c_plstransform
843 #define plstring c_plstring
844 #define plstring3 c_plstring3
845 #define plstripa c_plstripa
846 #define plstripc c_plstripc
847 #define plstripd c_plstripd
848 #define plstyl c_plstyl
849 #define plsurf3d c_plsurf3d
850 #define plsurf3dl c_plsurf3dl
851 #define plsvect c_plsvect
852 #define plsvpa c_plsvpa
853 #define plsxax c_plsxax
854 #define plsyax c_plsyax
855 #define plsym c_plsym
856 #define plszax c_plszax
857 #define pltext c_pltext
858 #define pltimefmt c_pltimefmt
859 #define plvasp c_plvasp
860 #define plvect c_plvect
861 #define plvpas c_plvpas
862 #define plvpor c_plvpor
863 #define plvsta c_plvsta
864 #define plw3d c_plw3d
865 #ifdef PL_DEPRECATED
866 #define plwid c_plwid
867 #endif
868 #define plwidth c_plwidth
869 #define plwind c_plwind
870 #define plxormod c_plxormod
871 
872 #endif // __PLSTUBS_H__
873 
874 #endif // BRAINDEAD
875 
876 // Redefine some old function names for backward compatibility
877 
878 #ifndef __PLSTUBS_H__ // i.e. do not expand this in the stubs
879 
880 #ifdef PL_DEPRECATED
881 
882 #define plclr pleop
883 #define plpage plbop
884 #define plcol plcol0
885 #define plcontf plfcont
886 // Comment out these as they can upset the C++ bindings since the C++
887 // bindings use the function names without the pl prefix.
888 //#define Alloc2dGrid plAlloc2dGrid
889 //#define Free2dGrid plFree2dGrid
890 //#define MinMax2dGrid plMinMax2dGrid
891 #define plP_gvpd plgvpd
892 #define plP_gvpw plgvpw
893 #define plotsh3d( x, y, z, nx, ny, opt ) plsurf3d( x, y, z, nx, ny, opt, NULL, 0 )
894 
895 #endif // PL_DEPRECATED
896 
897 #endif // __PLSTUBS_H__
898 
899 //--------------------------------------------------------------------------
900 // Function Prototypes
901 //--------------------------------------------------------------------------
902 
903 #ifdef __cplusplus
904 extern "C" {
905 #endif
906 
907 // All void types
908 
909 // C routines callable from stub routines come first
910 
911 // set the format of the contour labels
912 
913 PLDLLIMPEXP void
914 c_pl_setcontlabelformat( PLINT lexp, PLINT sigdig );
915 
916 // set offset and spacing of contour labels
917 
918 PLDLLIMPEXP void
919 c_pl_setcontlabelparam( PLFLT offset, PLFLT size, PLFLT spacing, PLINT active );
920 
921 // Advance to subpage "page", or to the next one if "page" = 0.
922 
923 PLDLLIMPEXP void
924 c_pladv( PLINT page );
925 
926 // Plot an arc
927 
928 PLDLLIMPEXP void
929 c_plarc( PLFLT x, PLFLT y, PLFLT a, PLFLT b, PLFLT angle1, PLFLT angle2,
930  PLFLT rotate, PLBOOL fill );
931 
932 // This functions similarly to plbox() except that the origin of the axes
933 // is placed at the user-specified point (x0, y0).
934 
935 PLDLLIMPEXP void
936 c_plaxes( PLFLT x0, PLFLT y0, PLCHAR_VECTOR xopt, PLFLT xtick, PLINT nxsub,
937  PLCHAR_VECTOR yopt, PLFLT ytick, PLINT nysub );
938 
939 // Plot a histogram using x to store data values and y to store frequencies
940 
941 // Flags for plbin() - opt argument
942 #define PL_BIN_DEFAULT 0x0
943 #define PL_BIN_CENTRED 0x1
944 #define PL_BIN_NOEXPAND 0x2
945 #define PL_BIN_NOEMPTY 0x4
946 
947 PLDLLIMPEXP void
948 c_plbin( PLINT nbin, PLFLT_VECTOR x, PLFLT_VECTOR y, PLINT opt );
949 
950 // Calculate broken-down time from continuous time for current stream.
951 PLDLLIMPEXP void
953 
954 // Start new page. Should only be used with pleop().
955 
956 PLDLLIMPEXP void
957 c_plbop( void );
958 
959 // This draws a box around the current viewport.
960 
961 PLDLLIMPEXP void
962 c_plbox( PLCHAR_VECTOR xopt, PLFLT xtick, PLINT nxsub,
963  PLCHAR_VECTOR yopt, PLFLT ytick, PLINT nysub );
964 
965 // This is the 3-d analogue of plbox().
966 
967 PLDLLIMPEXP void
968 c_plbox3( PLCHAR_VECTOR xopt, PLCHAR_VECTOR xlabel, PLFLT xtick, PLINT nxsub,
969  PLCHAR_VECTOR yopt, PLCHAR_VECTOR ylabel, PLFLT ytick, PLINT nysub,
970  PLCHAR_VECTOR zopt, PLCHAR_VECTOR zlabel, PLFLT ztick, PLINT nzsub );
971 
972 // Calculate world coordinates and subpage from relative device coordinates.
973 
974 PLDLLIMPEXP void
976 
977 // Clear current subpage.
978 
979 PLDLLIMPEXP void
980 c_plclear( void );
981 
982 // Set color, map 0. Argument is integer between 0 and 15.
983 
984 PLDLLIMPEXP void
985 c_plcol0( PLINT icol0 );
986 
987 // Set color, map 1. Argument is a float between 0. and 1.
988 
989 PLDLLIMPEXP void
990 c_plcol1( PLFLT col1 );
991 
992 // Configure transformation between continuous and broken-down time (and
993 // vice versa) for current stream.
994 PLDLLIMPEXP void
995 c_plconfigtime( PLFLT scale, PLFLT offset1, PLFLT offset2, PLINT ccontrol, PLBOOL ifbtime_offset, PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec );
996 
997 // Draws a contour plot from data in f(nx,ny). Is just a front-end to
998 // plfcont, with a particular choice for f2eval and f2eval_data.
999 //
1000 
1001 PLDLLIMPEXP void
1002 c_plcont( PLFLT_MATRIX f, PLINT nx, PLINT ny, PLINT kx, PLINT lx,
1003  PLINT ky, PLINT ly, PLFLT_VECTOR clevel, PLINT nlevel,
1004  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1005 
1006 // Draws a contour plot using the function evaluator f2eval and data stored
1007 // by way of the f2eval_data pointer. This allows arbitrary organizations
1008 // of 2d array data to be used.
1009 //
1010 
1011 PLDLLIMPEXP void
1012 plfcont( PLF2EVAL_callback f2eval, PLPointer f2eval_data,
1013  PLINT nx, PLINT ny, PLINT kx, PLINT lx,
1014  PLINT ky, PLINT ly, PLFLT_VECTOR clevel, PLINT nlevel,
1015  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1016 
1017 // Copies state parameters from the reference stream to the current stream.
1018 
1019 PLDLLIMPEXP void
1020 c_plcpstrm( PLINT iplsr, PLBOOL flags );
1021 
1022 // Calculate continuous time from broken-down time for current stream.
1023 PLDLLIMPEXP void
1024 c_plctime( PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec, PLFLT_NC_SCALAR ctime );
1025 
1026 // Converts input values from relative device coordinates to relative plot
1027 // coordinates.
1028 
1029 PLDLLIMPEXP void
1031 
1032 // Converts input values from relative plot coordinates to relative
1033 // device coordinates.
1034 
1035 PLDLLIMPEXP void
1037 
1038 // End a plotting session for all open streams.
1039 
1040 PLDLLIMPEXP void
1041 c_plend( void );
1042 
1043 // End a plotting session for the current stream only.
1044 
1045 PLDLLIMPEXP void
1046 c_plend1( void );
1047 
1048 // Simple interface for defining viewport and window.
1049 
1050 PLDLLIMPEXP void
1051 c_plenv( PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax,
1052  PLINT just, PLINT axis );
1053 
1054 
1055 // similar to plenv() above, but in multiplot mode does not advance the subpage,
1056 // instead the current subpage is cleared
1057 
1058 PLDLLIMPEXP void
1059 c_plenv0( PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax,
1060  PLINT just, PLINT axis );
1061 
1062 // End current page. Should only be used with plbop().
1063 
1064 PLDLLIMPEXP void
1065 c_pleop( void );
1066 
1067 // Plot horizontal error bars (xmin(i),y(i)) to (xmax(i),y(i))
1068 
1069 PLDLLIMPEXP void
1071 
1072 // Plot vertical error bars (x,ymin(i)) to (x(i),ymax(i))
1073 
1074 PLDLLIMPEXP void
1076 
1077 // Advance to the next family file on the next new page
1078 
1079 PLDLLIMPEXP void
1080 c_plfamadv( void );
1081 
1082 // Pattern fills the polygon bounded by the input points.
1083 
1084 PLDLLIMPEXP void
1086 
1087 // Pattern fills the 3d polygon bounded by the input points.
1088 
1089 PLDLLIMPEXP void
1091 
1092 // Flushes the output stream. Use sparingly, if at all.
1093 
1094 PLDLLIMPEXP void
1095 c_plflush( void );
1096 
1097 // Sets the global font flag to 'ifont'.
1098 
1099 PLDLLIMPEXP void
1100 c_plfont( PLINT ifont );
1101 
1102 // Load specified font set.
1103 
1104 PLDLLIMPEXP void
1105 c_plfontld( PLINT fnt );
1106 
1107 // Get character default height and current (scaled) height
1108 
1109 PLDLLIMPEXP void
1111 
1112 // Returns 8 bit RGB values for given color from color map 0
1113 
1114 PLDLLIMPEXP void
1116 
1117 // Returns 8 bit RGB values for given color from color map 0 and alpha value
1118 
1119 PLDLLIMPEXP void
1121 
1122 // Returns the background color by 8 bit RGB value
1123 
1124 PLDLLIMPEXP void
1126 
1127 // Returns the background color by 8 bit RGB value and alpha value
1128 
1129 PLDLLIMPEXP void
1131 
1132 // Returns the current compression setting
1133 
1134 PLDLLIMPEXP void
1135 c_plgcompression( PLINT_NC_SCALAR compression );
1136 
1137 // Get the current device (keyword) name
1138 
1139 PLDLLIMPEXP void
1140 c_plgdev( PLCHAR_NC_VECTOR p_dev );
1141 
1142 // Retrieve current window into device space
1143 
1144 PLDLLIMPEXP void
1146 
1147 // Get plot orientation
1148 
1149 PLDLLIMPEXP void
1150 c_plgdiori( PLFLT_NC_SCALAR p_rot );
1151 
1152 // Retrieve current window into plot space
1153 
1154 PLDLLIMPEXP void
1156 
1157 // Get the drawing mode
1158 
1160 c_plgdrawmode( void );
1161 
1162 // Get FCI (font characterization integer)
1163 
1164 PLDLLIMPEXP void
1165 c_plgfci( PLUNICODE_NC_SCALAR p_fci );
1166 
1167 // Get family file parameters
1168 
1169 PLDLLIMPEXP void
1171 
1172 // Get the (current) output file name. Must be preallocated to >80 bytes
1173 
1174 PLDLLIMPEXP void
1175 c_plgfnam( PLCHAR_NC_VECTOR fnam );
1176 
1177 // Get the current font family, style and weight
1178 
1179 PLDLLIMPEXP void
1180 c_plgfont( PLINT_NC_SCALAR p_family, PLINT_NC_SCALAR p_style, PLINT_NC_SCALAR p_weight );
1181 
1182 // Get the (current) run level.
1183 
1184 PLDLLIMPEXP void
1185 c_plglevel( PLINT_NC_SCALAR p_level );
1186 
1187 // Get output device parameters.
1188 
1189 PLDLLIMPEXP void
1191  PLINT_NC_SCALAR p_xleng, PLINT_NC_SCALAR p_yleng, PLINT_NC_SCALAR p_xoff, PLINT_NC_SCALAR p_yoff );
1192 
1193 // Switches to graphics screen.
1194 
1195 PLDLLIMPEXP void
1196 c_plgra( void );
1197 
1198 // Draw gradient in polygon.
1199 
1200 PLDLLIMPEXP void
1202 
1203 // grid irregularly sampled data
1204 
1205 PLDLLIMPEXP void
1207  PLFLT_VECTOR xg, PLINT nptsx, PLFLT_VECTOR yg, PLINT nptsy,
1208  PLFLT_NC_MATRIX zg, PLINT type, PLFLT data );
1209 
1210 PLDLLIMPEXP void
1212  PLFLT_VECTOR xg, PLINT nptsx, PLFLT_VECTOR yg, PLINT nptsy,
1213  PLF2OPS zops, PLPointer zgp, PLINT type, PLFLT data );
1214 
1215 // type of gridding algorithm for plgriddata()
1216 
1217 #define GRID_CSA 1 // Bivariate Cubic Spline approximation
1218 #define GRID_DTLI 2 // Delaunay Triangulation Linear Interpolation
1219 #define GRID_NNI 3 // Natural Neighbors Interpolation
1220 #define GRID_NNIDW 4 // Nearest Neighbors Inverse Distance Weighted
1221 #define GRID_NNLI 5 // Nearest Neighbors Linear Interpolation
1222 #define GRID_NNAIDW 6 // Nearest Neighbors Around Inverse Distance Weighted
1223 
1224 // Get subpage boundaries in absolute coordinates
1225 
1226 PLDLLIMPEXP void
1228 
1229 // Get current stream number.
1230 
1231 PLDLLIMPEXP void
1232 c_plgstrm( PLINT_NC_SCALAR p_strm );
1233 
1234 // Get the current library version number
1235 
1236 PLDLLIMPEXP void
1237 c_plgver( PLCHAR_NC_VECTOR p_ver );
1238 
1239 // Get viewport boundaries in normalized device coordinates
1240 
1241 PLDLLIMPEXP void
1242 c_plgvpd( PLFLT_NC_SCALAR p_xmin, PLFLT_NC_SCALAR p_xmax, PLFLT_NC_SCALAR p_ymin, PLFLT_NC_SCALAR p_ymax );
1243 
1244 // Get viewport boundaries in world coordinates
1245 
1246 PLDLLIMPEXP void
1247 c_plgvpw( PLFLT_NC_SCALAR p_xmin, PLFLT_NC_SCALAR p_xmax, PLFLT_NC_SCALAR p_ymin, PLFLT_NC_SCALAR p_ymax );
1248 
1249 // Get x axis labeling parameters
1250 
1251 PLDLLIMPEXP void
1252 c_plgxax( PLINT_NC_SCALAR p_digmax, PLINT_NC_SCALAR p_digits );
1253 
1254 // Get y axis labeling parameters
1255 
1256 PLDLLIMPEXP void
1257 c_plgyax( PLINT_NC_SCALAR p_digmax, PLINT_NC_SCALAR p_digits );
1258 
1259 // Get z axis labeling parameters
1260 
1261 PLDLLIMPEXP void
1262 c_plgzax( PLINT_NC_SCALAR p_digmax, PLINT_NC_SCALAR p_digits );
1263 
1264 // Draws a histogram of n values of a variable in array data[0..n-1]
1265 
1266 // Flags for plhist() - opt argument; note: some flags are passed to
1267 // plbin() for the actual plotting
1268 #define PL_HIST_DEFAULT 0x00
1269 #define PL_HIST_NOSCALING 0x01
1270 #define PL_HIST_IGNORE_OUTLIERS 0x02
1271 #define PL_HIST_NOEXPAND 0x08
1272 #define PL_HIST_NOEMPTY 0x10
1273 
1274 PLDLLIMPEXP void
1275 c_plhist( PLINT n, PLFLT_VECTOR data, PLFLT datmin, PLFLT datmax,
1276  PLINT nbin, PLINT opt );
1277 
1278 // Functions for converting between HLS and RGB color space
1279 
1280 PLDLLIMPEXP void
1282 
1283 // Initializes PLplot, using preset or default options
1284 
1285 PLDLLIMPEXP void
1286 c_plinit( void );
1287 
1288 // Draws a line segment from (x1, y1) to (x2, y2).
1289 
1290 PLDLLIMPEXP void
1291 c_pljoin( PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2 );
1292 
1293 // Simple routine for labelling graphs.
1294 
1295 PLDLLIMPEXP void
1296 c_pllab( PLCHAR_VECTOR xlabel, PLCHAR_VECTOR ylabel, PLCHAR_VECTOR tlabel );
1297 
1298 //flags used for position argument of both pllegend and plcolorbar
1299 #define PL_POSITION_LEFT 0x1
1300 #define PL_POSITION_RIGHT 0x2
1301 #define PL_POSITION_TOP 0x4
1302 #define PL_POSITION_BOTTOM 0x8
1303 #define PL_POSITION_INSIDE 0x10
1304 #define PL_POSITION_OUTSIDE 0x20
1305 #define PL_POSITION_VIEWPORT 0x40
1306 #define PL_POSITION_SUBPAGE 0x80
1307 
1308 // Flags for pllegend.
1309 #define PL_LEGEND_NONE 0x1
1310 #define PL_LEGEND_COLOR_BOX 0x2
1311 #define PL_LEGEND_LINE 0x4
1312 #define PL_LEGEND_SYMBOL 0x8
1313 #define PL_LEGEND_TEXT_LEFT 0x10
1314 #define PL_LEGEND_BACKGROUND 0x20
1315 #define PL_LEGEND_BOUNDING_BOX 0x40
1316 #define PL_LEGEND_ROW_MAJOR 0x80
1317 
1318 // Flags for plcolorbar
1319 #define PL_COLORBAR_LABEL_LEFT 0x1
1320 #define PL_COLORBAR_LABEL_RIGHT 0x2
1321 #define PL_COLORBAR_LABEL_TOP 0x4
1322 #define PL_COLORBAR_LABEL_BOTTOM 0x8
1323 #define PL_COLORBAR_IMAGE 0x10
1324 #define PL_COLORBAR_SHADE 0x20
1325 #define PL_COLORBAR_GRADIENT 0x40
1326 #define PL_COLORBAR_CAP_NONE 0x80
1327 #define PL_COLORBAR_CAP_LOW 0x100
1328 #define PL_COLORBAR_CAP_HIGH 0x200
1329 #define PL_COLORBAR_SHADE_LABEL 0x400
1330 #define PL_COLORBAR_ORIENT_RIGHT 0x800
1331 #define PL_COLORBAR_ORIENT_TOP 0x1000
1332 #define PL_COLORBAR_ORIENT_LEFT 0x2000
1333 #define PL_COLORBAR_ORIENT_BOTTOM 0x4000
1334 #define PL_COLORBAR_BACKGROUND 0x8000
1335 #define PL_COLORBAR_BOUNDING_BOX 0x10000
1336 
1337 // Flags for drawing mode
1338 #define PL_DRAWMODE_UNKNOWN 0x0
1339 #define PL_DRAWMODE_DEFAULT 0x1
1340 #define PL_DRAWMODE_REPLACE 0x2
1341 #define PL_DRAWMODE_XOR 0x4
1342 
1343 // Routine for drawing discrete line, symbol, or cmap0 legends
1344 PLDLLIMPEXP void
1345 c_pllegend( PLFLT_NC_SCALAR p_legend_width, PLFLT_NC_SCALAR p_legend_height,
1346  PLINT opt, PLINT position, PLFLT x, PLFLT y, PLFLT plot_width,
1347  PLINT bg_color, PLINT bb_color, PLINT bb_style,
1348  PLINT nrow, PLINT ncolumn,
1349  PLINT nlegend, PLINT_VECTOR opt_array,
1350  PLFLT text_offset, PLFLT text_scale, PLFLT text_spacing,
1351  PLFLT text_justification,
1352  PLINT_VECTOR text_colors, PLCHAR_MATRIX text,
1353  PLINT_VECTOR box_colors, PLINT_VECTOR box_patterns,
1354  PLFLT_VECTOR box_scales, PLFLT_VECTOR box_line_widths,
1355  PLINT_VECTOR line_colors, PLINT_VECTOR line_styles,
1356  PLFLT_VECTOR line_widths,
1357  PLINT_VECTOR symbol_colors, PLFLT_VECTOR symbol_scales,
1358  PLINT_VECTOR symbol_numbers, PLCHAR_MATRIX symbols );
1359 
1360 // Routine for drawing continuous colour legends
1361 PLDLLIMPEXP void
1362 c_plcolorbar( PLFLT_NC_SCALAR p_colorbar_width, PLFLT_NC_SCALAR p_colorbar_height,
1363  PLINT opt, PLINT position, PLFLT x, PLFLT y,
1364  PLFLT x_length, PLFLT y_length,
1365  PLINT bg_color, PLINT bb_color, PLINT bb_style,
1366  PLFLT low_cap_color, PLFLT high_cap_color,
1367  PLINT cont_color, PLFLT cont_width,
1368  PLINT n_labels, PLINT_VECTOR label_opts, PLCHAR_MATRIX labels,
1369  PLINT n_axes, PLCHAR_MATRIX axis_opts,
1370  PLFLT_VECTOR ticks, PLINT_VECTOR sub_ticks,
1371  PLINT_VECTOR n_values, PLFLT_MATRIX values );
1372 
1373 // Sets position of the light source
1374 PLDLLIMPEXP void
1375 c_pllightsource( PLFLT x, PLFLT y, PLFLT z );
1376 
1377 // Draws line segments connecting a series of points.
1378 
1379 PLDLLIMPEXP void
1381 
1382 // Draws a line in 3 space.
1383 
1384 PLDLLIMPEXP void
1386 
1387 // Set line style.
1388 
1389 PLDLLIMPEXP void
1390 c_pllsty( PLINT lin );
1391 
1392 // Plot continental outline in world coordinates
1393 
1394 PLDLLIMPEXP void
1396  PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy );
1397 
1398 // Plot map outlines
1399 
1400 PLDLLIMPEXP void
1402  PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy,
1403  PLINT_VECTOR plotentries, PLINT nplotentries );
1404 
1405 // Plot map points
1406 
1407 PLDLLIMPEXP void
1410  PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy,
1411  PLINT_VECTOR plotentries, PLINT nplotentries );
1412 
1413 // Plot map text
1414 
1415 PLDLLIMPEXP void
1417  PLCHAR_VECTOR name, PLFLT dx, PLFLT dy, PLFLT just, PLCHAR_VECTOR text,
1418  PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy,
1419  PLINT plotentry );
1420 
1421 // Plot map fills
1422 
1423 PLDLLIMPEXP void
1425  PLCHAR_VECTOR name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy,
1426  PLINT_VECTOR plotentries, PLINT nplotentries );
1427 
1428 // Plot the latitudes and longitudes on the background.
1429 
1430 PLDLLIMPEXP void
1432  PLFLT dlong, PLFLT dlat,
1433  PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat );
1434 
1435 // Plots a mesh representation of the function z[x][y].
1436 
1437 PLDLLIMPEXP void
1439 
1440 // Like plmesh, but uses an evaluator function to access z data from zp
1441 
1442 PLDLLIMPEXP void
1444  PLINT nx, PLINT ny, PLINT opt );
1445 
1446 // Plots a mesh representation of the function z[x][y] with contour
1447 
1448 PLDLLIMPEXP void
1450  PLFLT_VECTOR clevel, PLINT nlevel );
1451 
1452 // Like plmeshc, but uses an evaluator function to access z data from zp
1453 
1454 PLDLLIMPEXP void
1456  PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel );
1457 
1458 // Creates a new stream and makes it the default.
1459 
1460 PLDLLIMPEXP void
1461 c_plmkstrm( PLINT_NC_SCALAR p_strm );
1462 
1463 // Prints out "text" at specified position relative to viewport
1464 
1465 PLDLLIMPEXP void
1466 c_plmtex( PLCHAR_VECTOR side, PLFLT disp, PLFLT pos, PLFLT just,
1467  PLCHAR_VECTOR text );
1468 
1469 // Prints out "text" at specified position relative to viewport (3D)
1470 
1471 PLDLLIMPEXP void
1472 c_plmtex3( PLCHAR_VECTOR side, PLFLT disp, PLFLT pos, PLFLT just,
1473  PLCHAR_VECTOR text );
1474 
1475 // Plots a 3-d representation of the function z[x][y].
1476 
1477 PLDLLIMPEXP void
1479  PLINT nx, PLINT ny, PLINT opt, PLBOOL side );
1480 
1481 // Like plot3d, but uses an evaluator function to access z data from zp
1482 
1483 PLDLLIMPEXP void
1485  PLINT nx, PLINT ny, PLINT opt, PLBOOL side );
1486 
1487 // Plots a 3-d representation of the function z[x][y] with contour.
1488 
1489 PLDLLIMPEXP void
1491  PLINT nx, PLINT ny, PLINT opt,
1492  PLFLT_VECTOR clevel, PLINT nlevel );
1493 
1494 // Like plot3dc, but uses an evaluator function to access z data from zp
1495 
1496 PLDLLIMPEXP void
1498  PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel );
1499 
1500 // Plots a 3-d representation of the function z[x][y] with contour and
1501 // y index limits.
1502 
1503 PLDLLIMPEXP void
1505  PLINT nx, PLINT ny, PLINT opt,
1506  PLFLT_VECTOR clevel, PLINT nlevel,
1507  PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax );
1508 
1509 // Like plot3dcl, but uses an evaluator function to access z data from zp
1510 
1511 PLDLLIMPEXP void
1513  PLINT nx, PLINT ny, PLINT opt,
1514  PLFLT_VECTOR clevel, PLINT nlevel,
1515  PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax );
1516 
1517 //
1518 // definitions for the opt argument in plot3dc() and plsurf3d()
1519 //
1520 // DRAW_LINEX *must* be 1 and DRAW_LINEY *must* be 2, because of legacy code!
1521 //
1522 
1523 #define DRAW_LINEX 0x001 // draw lines parallel to the X axis
1524 #define DRAW_LINEY 0x002 // draw lines parallel to the Y axis
1525 #define DRAW_LINEXY 0x003 // draw lines parallel to both the X and Y axis
1526 #define MAG_COLOR 0x004 // draw the mesh with a color dependent of the magnitude
1527 #define BASE_CONT 0x008 // draw contour plot at bottom xy plane
1528 #define TOP_CONT 0x010 // draw contour plot at top xy plane
1529 #define SURF_CONT 0x020 // draw contour plot at surface
1530 #define DRAW_SIDES 0x040 // draw sides
1531 #define FACETED 0x080 // draw outline for each square that makes up the surface
1532 #define MESH 0x100 // draw mesh
1533 
1534 //
1535 // valid options for plot3dc():
1536 //
1537 // DRAW_SIDES, BASE_CONT, TOP_CONT (not yet),
1538 // MAG_COLOR, DRAW_LINEX, DRAW_LINEY, DRAW_LINEXY.
1539 //
1540 // valid options for plsurf3d():
1541 //
1542 // MAG_COLOR, BASE_CONT, SURF_CONT, FACETED, DRAW_SIDES.
1543 //
1544 
1545 // Set fill pattern directly.
1546 
1547 PLDLLIMPEXP void
1548 c_plpat( PLINT nlin, PLINT_VECTOR inc, PLINT_VECTOR del );
1549 
1550 // Draw a line connecting two points, accounting for coordinate transforms
1551 
1552 PLDLLIMPEXP void
1553 c_plpath( PLINT n, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2 );
1554 
1555 // Plots array y against x for n points using ASCII code "code".
1556 
1557 PLDLLIMPEXP void
1558 c_plpoin( PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLINT code );
1559 
1560 // Draws a series of points in 3 space.
1561 
1562 PLDLLIMPEXP void
1564 
1565 // Draws a polygon in 3 space.
1566 
1567 PLDLLIMPEXP void
1569 
1570 // Set the floating point precision (in number of places) in numeric labels.
1571 
1572 PLDLLIMPEXP void
1573 c_plprec( PLINT setp, PLINT prec );
1574 
1575 // Set fill pattern, using one of the predefined patterns.
1576 
1577 PLDLLIMPEXP void
1578 c_plpsty( PLINT patt );
1579 
1580 // Prints out "text" at world cooordinate (x,y).
1581 
1582 PLDLLIMPEXP void
1583 c_plptex( PLFLT x, PLFLT y, PLFLT dx, PLFLT dy, PLFLT just, PLCHAR_VECTOR text );
1584 
1585 // Prints out "text" at world cooordinate (x,y,z).
1586 
1587 PLDLLIMPEXP void
1588 c_plptex3( PLFLT wx, PLFLT wy, PLFLT wz, PLFLT dx, PLFLT dy, PLFLT dz,
1589  PLFLT sx, PLFLT sy, PLFLT sz, PLFLT just, PLCHAR_VECTOR text );
1590 
1591 // Random number generator based on Mersenne Twister.
1592 // Obtain real random number in range [0,1].
1593 
1595 c_plrandd( void );
1596 
1597 // Replays contents of plot buffer to current device/file.
1598 
1599 PLDLLIMPEXP void
1600 c_plreplot( void );
1601 
1602 // Functions for converting between HLS and RGB color space
1603 
1604 PLDLLIMPEXP void
1606 
1607 // Set character height.
1608 
1609 PLDLLIMPEXP void
1610 c_plschr( PLFLT def, PLFLT scale );
1611 
1612 // Set color map 0 colors by 8 bit RGB values
1613 
1614 PLDLLIMPEXP void
1616 
1617 // Set color map 0 colors by 8 bit RGB values and alpha values
1618 
1619 PLDLLIMPEXP void
1621 
1622 // Set number of colors in cmap 0
1623 
1624 PLDLLIMPEXP void
1625 c_plscmap0n( PLINT ncol0 );
1626 
1627 // Set color map 1 colors by 8 bit RGB values
1628 
1629 PLDLLIMPEXP void
1631 
1632 // Set color map 1 colors by 8 bit RGB and alpha values
1633 
1634 PLDLLIMPEXP void
1636 
1637 // Set color map 1 colors using a piece-wise linear relationship between
1638 // intensity [0,1] (cmap 1 index) and position in HLS or RGB color space.
1639 
1640 PLDLLIMPEXP void
1641 c_plscmap1l( PLBOOL itype, PLINT npts, PLFLT_VECTOR intensity,
1642  PLFLT_VECTOR coord1, PLFLT_VECTOR coord2, PLFLT_VECTOR coord3, PLBOOL_VECTOR alt_hue_path );
1643 
1644 // Set color map 1 colors using a piece-wise linear relationship between
1645 // intensity [0,1] (cmap 1 index) and position in HLS or RGB color space.
1646 // Will also linear interpolate alpha values.
1647 
1648 PLDLLIMPEXP void
1649 c_plscmap1la( PLBOOL itype, PLINT npts, PLFLT_VECTOR intensity,
1650  PLFLT_VECTOR coord1, PLFLT_VECTOR coord2, PLFLT_VECTOR coord3, PLFLT_VECTOR alpha, PLBOOL_VECTOR alt_hue_path );
1651 
1652 // Set number of colors in cmap 1
1653 
1654 PLDLLIMPEXP void
1655 c_plscmap1n( PLINT ncol1 );
1656 
1657 // Set the color map 1 range used in continuous plots
1658 
1659 PLDLLIMPEXP void
1660 c_plscmap1_range( PLFLT min_color, PLFLT max_color );
1661 
1662 // Get the color map 1 range used in continuous plots
1663 
1664 PLDLLIMPEXP void
1665 c_plgcmap1_range( PLFLT_NC_SCALAR min_color, PLFLT_NC_SCALAR max_color );
1666 
1667 // Set a given color from color map 0 by 8 bit RGB value
1668 
1669 PLDLLIMPEXP void
1670 c_plscol0( PLINT icol0, PLINT r, PLINT g, PLINT b );
1671 
1672 // Set a given color from color map 0 by 8 bit RGB value
1673 
1674 PLDLLIMPEXP void
1675 c_plscol0a( PLINT icol0, PLINT r, PLINT g, PLINT b, PLFLT alpha );
1676 
1677 // Set the background color by 8 bit RGB value
1678 
1679 PLDLLIMPEXP void
1680 c_plscolbg( PLINT r, PLINT g, PLINT b );
1681 
1682 // Set the background color by 8 bit RGB value and alpha value
1683 
1684 PLDLLIMPEXP void
1685 c_plscolbga( PLINT r, PLINT g, PLINT b, PLFLT alpha );
1686 
1687 // Used to globally turn color output on/off
1688 
1689 PLDLLIMPEXP void
1690 c_plscolor( PLINT color );
1691 
1692 // Set the compression level
1693 
1694 PLDLLIMPEXP void
1695 c_plscompression( PLINT compression );
1696 
1697 // Set the device (keyword) name
1698 
1699 PLDLLIMPEXP void
1700 c_plsdev( PLCHAR_VECTOR devname );
1701 
1702 // Set window into device space using margin, aspect ratio, and
1703 // justification
1704 
1705 PLDLLIMPEXP void
1706 c_plsdidev( PLFLT mar, PLFLT aspect, PLFLT jx, PLFLT jy );
1707 
1708 // Set up transformation from metafile coordinates.
1709 
1710 PLDLLIMPEXP void
1711 c_plsdimap( PLINT dimxmin, PLINT dimxmax, PLINT dimymin, PLINT dimymax,
1712  PLFLT dimxpmm, PLFLT dimypmm );
1713 
1714 // Set plot orientation, specifying rotation in units of pi/2.
1715 
1716 PLDLLIMPEXP void
1717 c_plsdiori( PLFLT rot );
1718 
1719 // Set window into plot space
1720 
1721 PLDLLIMPEXP void
1722 c_plsdiplt( PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax );
1723 
1724 // Set window into plot space incrementally (zoom)
1725 
1726 PLDLLIMPEXP void
1727 c_plsdiplz( PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax );
1728 
1729 // Set seed for internal random number generator
1730 
1731 PLDLLIMPEXP void
1732 c_plseed( unsigned int seed );
1733 
1734 // Set the escape character for text strings.
1735 
1736 PLDLLIMPEXP void
1737 c_plsesc( char esc );
1738 
1739 // Set family file parameters
1740 
1741 PLDLLIMPEXP void
1742 c_plsfam( PLINT fam, PLINT num, PLINT bmax );
1743 
1744 // Set FCI (font characterization integer)
1745 
1746 PLDLLIMPEXP void
1747 c_plsfci( PLUNICODE fci );
1748 
1749 // Set the output file name.
1750 
1751 PLDLLIMPEXP void
1752 c_plsfnam( PLCHAR_VECTOR fnam );
1753 
1754 // Set the current font family, style and weight
1755 
1756 PLDLLIMPEXP void
1757 c_plsfont( PLINT family, PLINT style, PLINT weight );
1758 
1759 // Shade region.
1760 
1761 PLDLLIMPEXP void
1763  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax,
1764  PLFLT shade_min, PLFLT shade_max,
1765  PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width,
1766  PLINT min_color, PLFLT min_width,
1767  PLINT max_color, PLFLT max_width,
1768  PLFILL_callback fill, PLBOOL rectangular,
1769  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1770 
1771 PLDLLIMPEXP void
1773  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax,
1774  PLFLT shade_min, PLFLT shade_max,
1775  PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width,
1776  PLINT min_color, PLFLT min_width,
1777  PLINT max_color, PLFLT max_width,
1778  PLFILL_callback fill, PLBOOL rectangular,
1779  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1780 
1781 PLDLLIMPEXP void
1783  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax,
1784  PLFLT_VECTOR clevel, PLINT nlevel, PLFLT fill_width,
1785  PLINT cont_color, PLFLT cont_width,
1786  PLFILL_callback fill, PLBOOL rectangular,
1787  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1788 
1789 PLDLLIMPEXP void
1790 plfshades( PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny,
1791  PLDEFINED_callback defined,
1792  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax,
1793  PLFLT_VECTOR clevel, PLINT nlevel, PLFLT fill_width,
1794  PLINT cont_color, PLFLT cont_width,
1795  PLFILL_callback fill, PLINT rectangular,
1796  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1797 
1798 PLDLLIMPEXP void
1799 plfshade( PLF2EVAL_callback f2eval, PLPointer f2eval_data,
1800  PLF2EVAL_callback c2eval, PLPointer c2eval_data,
1801  PLINT nx, PLINT ny,
1802  PLFLT left, PLFLT right, PLFLT bottom, PLFLT top,
1803  PLFLT shade_min, PLFLT shade_max,
1804  PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width,
1805  PLINT min_color, PLFLT min_width,
1806  PLINT max_color, PLFLT max_width,
1807  PLFILL_callback fill, PLBOOL rectangular,
1808  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1809 
1810 PLDLLIMPEXP void
1811 plfshade1( PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny,
1812  PLDEFINED_callback defined,
1813  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax,
1814  PLFLT shade_min, PLFLT shade_max,
1815  PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width,
1816  PLINT min_color, PLFLT min_width,
1817  PLINT max_color, PLFLT max_width,
1818  PLFILL_callback fill, PLINT rectangular,
1819  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1820 
1821 // Setup a user-provided custom labeling function
1822 
1823 PLDLLIMPEXP void
1825 
1826 // Set up lengths of major tick marks.
1827 
1828 PLDLLIMPEXP void
1829 c_plsmaj( PLFLT def, PLFLT scale );
1830 
1831 // Set the RGB memory area to be plotted (with the 'mem' or 'memcairo' drivers)
1832 
1833 PLDLLIMPEXP void
1834 c_plsmem( PLINT maxx, PLINT maxy, PLPointer plotmem );
1835 
1836 // Set the RGBA memory area to be plotted (with the 'memcairo' driver)
1837 
1838 PLDLLIMPEXP void
1839 c_plsmema( PLINT maxx, PLINT maxy, PLPointer plotmem );
1840 
1841 // Set up lengths of minor tick marks.
1842 
1843 PLDLLIMPEXP void
1844 c_plsmin( PLFLT def, PLFLT scale );
1845 
1846 // Set the drawing mode
1847 PLDLLIMPEXP void
1848 c_plsdrawmode( PLINT mode );
1849 
1850 // Set orientation. Must be done before calling plinit.
1851 
1852 PLDLLIMPEXP void
1853 c_plsori( PLINT ori );
1854 
1855 // Set output device parameters. Usually ignored by the driver.
1856 
1857 PLDLLIMPEXP void
1858 c_plspage( PLFLT xp, PLFLT yp, PLINT xleng, PLINT yleng,
1859  PLINT xoff, PLINT yoff );
1860 
1861 // Set the colors for color table 0 from a cmap0 file
1862 
1863 PLDLLIMPEXP void
1864 c_plspal0( PLCHAR_VECTOR filename );
1865 
1866 // Set the colors for color table 1 from a cmap1 file
1867 
1868 PLDLLIMPEXP void
1869 c_plspal1( PLCHAR_VECTOR filename, PLBOOL interpolate );
1870 
1871 // Set the pause (on end-of-page) status
1872 
1873 PLDLLIMPEXP void
1874 c_plspause( PLBOOL pause );
1875 
1876 // Set stream number.
1877 
1878 PLDLLIMPEXP void
1879 c_plsstrm( PLINT strm );
1880 
1881 // Set the number of subwindows in x and y
1882 
1883 PLDLLIMPEXP void
1884 c_plssub( PLINT nx, PLINT ny );
1885 
1886 // Set symbol height.
1887 
1888 PLDLLIMPEXP void
1889 c_plssym( PLFLT def, PLFLT scale );
1890 
1891 // Initialize PLplot, passing in the windows/page settings.
1892 
1893 PLDLLIMPEXP void
1894 c_plstar( PLINT nx, PLINT ny );
1895 
1896 // Initialize PLplot, passing the device name and windows/page settings.
1897 
1898 PLDLLIMPEXP void
1899 c_plstart( PLCHAR_VECTOR devname, PLINT nx, PLINT ny );
1900 
1901 // Set the coordinate transform
1902 
1903 PLDLLIMPEXP void
1904 c_plstransform( PLTRANSFORM_callback coordinate_transform, PLPointer coordinate_transform_data );
1905 
1906 // Prints out the same string repeatedly at the n points in world
1907 // coordinates given by the x and y arrays. Supersedes plpoin and
1908 // plsymbol for the case where text refers to a unicode glyph either
1909 // directly as UTF-8 or indirectly via the standard text escape
1910 // sequences allowed for PLplot input strings.
1911 
1912 PLDLLIMPEXP void
1914 
1915 // Prints out the same string repeatedly at the n points in world
1916 // coordinates given by the x, y, and z arrays. Supersedes plpoin3
1917 // for the case where text refers to a unicode glyph either directly
1918 // as UTF-8 or indirectly via the standard text escape sequences
1919 // allowed for PLplot input strings.
1920 
1921 PLDLLIMPEXP void
1923 
1924 // Add a point to a stripchart.
1925 
1926 PLDLLIMPEXP void
1927 c_plstripa( PLINT id, PLINT pen, PLFLT x, PLFLT y );
1928 
1929 // Create 1d stripchart
1930 
1931 PLDLLIMPEXP void
1933  PLFLT xmin, PLFLT xmax, PLFLT xjump, PLFLT ymin, PLFLT ymax,
1934  PLFLT xlpos, PLFLT ylpos,
1935  PLBOOL y_ascl, PLBOOL acc,
1936  PLINT colbox, PLINT collab,
1937  PLINT_VECTOR colline, PLINT_VECTOR styline, PLCHAR_MATRIX legline,
1938  PLCHAR_VECTOR labx, PLCHAR_VECTOR laby, PLCHAR_VECTOR labtop );
1939 
1940 // Deletes and releases memory used by a stripchart.
1941 
1942 PLDLLIMPEXP void
1943 c_plstripd( PLINT id );
1944 
1945 // plots a 2d image (or a matrix too large for plshade() )
1946 
1947 PLDLLIMPEXP void
1948 c_plimagefr( PLFLT_MATRIX idata, PLINT nx, PLINT ny,
1949  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax,
1950  PLFLT valuemin, PLFLT valuemax,
1951  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1952 
1953 //
1954 // Like plimagefr, but uses an evaluator function to access image data from
1955 // idatap. getminmax is only used if zmin == zmax.
1956 //
1957 
1958 PLDLLIMPEXP void
1959 plfimagefr( PLF2OPS idataops, PLPointer idatap, PLINT nx, PLINT ny,
1960  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax,
1961  PLFLT valuemin, PLFLT valuemax,
1962  PLTRANSFORM_callback pltr, PLPointer pltr_data );
1963 
1964 // plots a 2d image (or a matrix too large for plshade() ) - colors
1965 // automatically scaled
1966 
1967 PLDLLIMPEXP void
1968 c_plimage( PLFLT_MATRIX idata, PLINT nx, PLINT ny,
1969  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax,
1970  PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax );
1971 
1972 //
1973 // Like plimage, but uses an operator functions to access image data from
1974 // idatap.
1975 //
1976 
1977 PLDLLIMPEXP void
1978 plfimage( PLF2OPS idataops, PLPointer idatap, PLINT nx, PLINT ny,
1979  PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax,
1980  PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax );
1981 
1982 // Set up a new line style
1983 
1984 PLDLLIMPEXP void
1985 c_plstyl( PLINT nms, PLINT_VECTOR mark, PLINT_VECTOR space );
1986 
1987 // Plots the 3d surface representation of the function z[x][y].
1988 
1989 PLDLLIMPEXP void
1991  PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel );
1992 
1993 // Like plsurf3d, but uses an evaluator function to access z data from zp
1994 
1995 PLDLLIMPEXP void
1997  PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel );
1998 
1999 // Plots the 3d surface representation of the function z[x][y] with y
2000 // index limits.
2001 
2002 PLDLLIMPEXP void
2004  PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel,
2005  PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax );
2006 
2007 // Like plsurf3dl, but uses an evaluator function to access z data from zp
2008 
2009 PLDLLIMPEXP void
2011  PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel,
2012  PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax );
2013 
2014 // Set arrow style for vector plots.
2015 PLDLLIMPEXP void
2016 c_plsvect( PLFLT_VECTOR arrowx, PLFLT_VECTOR arrowy, PLINT npts, PLBOOL fill );
2017 
2018 // Sets the edges of the viewport to the specified absolute coordinates
2019 
2020 PLDLLIMPEXP void
2021 c_plsvpa( PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax );
2022 
2023 // Set x axis labeling parameters
2024 
2025 PLDLLIMPEXP void
2026 c_plsxax( PLINT digmax, PLINT digits );
2027 
2028 // Set inferior X window
2029 
2030 PLDLLIMPEXP void
2031 plsxwin( PLINT window_id );
2032 
2033 // Set y axis labeling parameters
2034 
2035 PLDLLIMPEXP void
2036 c_plsyax( PLINT digmax, PLINT digits );
2037 
2038 // Plots array y against x for n points using Hershey symbol "code"
2039 
2040 PLDLLIMPEXP void
2041 c_plsym( PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLINT code );
2042 
2043 // Set z axis labeling parameters
2044 
2045 PLDLLIMPEXP void
2046 c_plszax( PLINT digmax, PLINT digits );
2047 
2048 // Switches to text screen.
2049 
2050 PLDLLIMPEXP void
2051 c_pltext( void );
2052 
2053 // Set the format for date / time labels for current stream.
2054 
2055 PLDLLIMPEXP void
2056 c_pltimefmt( PLCHAR_VECTOR fmt );
2057 
2058 // Sets the edges of the viewport with the given aspect ratio, leaving
2059 // room for labels.
2060 
2061 PLDLLIMPEXP void
2062 c_plvasp( PLFLT aspect );
2063 
2064 // Creates the largest viewport of the specified aspect ratio that fits
2065 // within the specified normalized subpage coordinates.
2066 
2067 // simple arrow plotter.
2068 
2069 PLDLLIMPEXP void
2070 c_plvect( PLFLT_MATRIX u, PLFLT_MATRIX v, PLINT nx, PLINT ny, PLFLT scale,
2071  PLTRANSFORM_callback pltr, PLPointer pltr_data );
2072 
2073 //
2074 // Routine to plot a vector array with arbitrary coordinate
2075 // and vector transformations
2076 //
2077 PLDLLIMPEXP void
2079  PLINT nx, PLINT ny, PLFLT scale,
2080  PLTRANSFORM_callback pltr, PLPointer pltr_data );
2081 
2082 PLDLLIMPEXP void
2083 c_plvpas( PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT aspect );
2084 
2085 // Creates a viewport with the specified normalized subpage coordinates.
2086 
2087 PLDLLIMPEXP void
2088 c_plvpor( PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax );
2089 
2090 // Defines a "standard" viewport with seven character heights for
2091 // the left margin and four character heights everywhere else.
2092 
2093 PLDLLIMPEXP void
2094 c_plvsta( void );
2095 
2096 // Set up a window for three-dimensional plotting.
2097 
2098 PLDLLIMPEXP void
2099 c_plw3d( PLFLT basex, PLFLT basey, PLFLT height, PLFLT xmin,
2100  PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin,
2101  PLFLT zmax, PLFLT alt, PLFLT az );
2102 
2103 #ifdef PL_DEPRECATED
2104 // Set pen width with deprecated integer width
2105 
2106 PLDLLIMPEXP void
2107 c_plwid( PLINT width );
2108 #endif
2109 
2110 // Set pen width.
2111 
2112 PLDLLIMPEXP void
2113 c_plwidth( PLFLT width );
2114 
2115 // Set up world coordinates of the viewport boundaries (2d plots).
2116 
2117 PLDLLIMPEXP void
2118 c_plwind( PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax );
2119 
2120 // Set xor mode; mode = 1-enter, 0-leave, status = 0 if not interactive device
2121 
2122 PLDLLIMPEXP void
2123 c_plxormod( PLBOOL mode, PLBOOL_NC_SCALAR status );
2124 
2125 
2126 //--------------------------------------------------------------------------
2127 // Functions for use from C or C++ only
2128 //--------------------------------------------------------------------------
2129 
2130 // Returns a list of file-oriented device names and their menu strings
2131 
2132 PLDLLIMPEXP void
2133 plgFileDevs( PLCHAR_VECTOR **p_menustr, PLCHAR_VECTOR **p_devname, int *p_ndev );
2134 
2135 // Returns a list of all device names and their menu strings
2136 
2137 PLDLLIMPEXP void
2138 plgDevs( PLCHAR_VECTOR **p_menustr, PLCHAR_VECTOR **p_devname, int *p_ndev );
2139 
2140 // Set the function pointer for the keyboard event handler
2141 
2142 PLDLLIMPEXP void
2143 plsKeyEH( void ( *KeyEH )( PLGraphicsIn *, PLPointer, int * ), PLPointer KeyEH_data );
2144 
2145 // Set the function pointer for the (mouse) button event handler
2146 
2147 PLDLLIMPEXP void
2148 plsButtonEH( void ( *ButtonEH )( PLGraphicsIn *, PLPointer, int * ),
2149  PLPointer ButtonEH_data );
2150 
2151 // Sets an optional user bop handler
2152 
2153 PLDLLIMPEXP void
2154 plsbopH( void ( *handler )( PLPointer, int * ), PLPointer handler_data );
2155 
2156 // Sets an optional user eop handler
2157 
2158 PLDLLIMPEXP void
2159 plseopH( void ( *handler )( PLPointer, int * ), PLPointer handler_data );
2160 
2161 // Set the variables to be used for storing error info
2162 
2163 PLDLLIMPEXP void
2165 
2166 // Sets an optional user exit handler.
2167 
2168 PLDLLIMPEXP void
2169 plsexit( int ( *handler )( PLCHAR_VECTOR ) );
2170 
2171 // Sets an optional user abort handler.
2172 
2173 PLDLLIMPEXP void
2174 plsabort( void ( *handler )( PLCHAR_VECTOR ) );
2175 
2176 // Transformation routines
2177 
2178 // Identity transformation.
2179 
2180 PLDLLIMPEXP void
2181 pltr0( PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data );
2182 
2183 // Does linear interpolation from singly dimensioned coord arrays.
2184 
2185 PLDLLIMPEXP void
2186 pltr1( PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data );
2187 
2188 // Does linear interpolation from doubly dimensioned coord arrays
2189 // (column dominant, as per normal C 2d arrays).
2190 
2191 PLDLLIMPEXP void
2192 pltr2( PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data );
2193 
2194 // Just like pltr2() but uses pointer arithmetic to get coordinates from
2195 // 2d grid tables.
2196 
2197 PLDLLIMPEXP void
2198 pltr2p( PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data );
2199 
2200 // Does linear interpolation from doubly dimensioned coord arrays
2201 // (row dominant, i.e. Fortran ordering).
2202 
2203 PLDLLIMPEXP void
2204 pltr2f( PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data );
2205 
2206 //
2207 // Returns a pointer to a plf2ops_t stucture with pointers to functions for
2208 // accessing 2-D data referenced as (PLFLT **), such as the C variable z
2209 // declared as...
2210 //
2211 // PLFLT z[nx][ny];
2212 //
2213 
2215 plf2ops_c( void );
2216 
2217 //
2218 // Returns a pointer to a plf2ops_t stucture with pointers to functions for accessing 2-D data
2219 // referenced as (PLfGrid2 *), where the PLfGrid2's "f" is treated as type
2220 // (PLFLT **).
2221 //
2222 
2224 plf2ops_grid_c( void );
2225 
2226 //
2227 // Returns a pointer to a plf2ops_t stucture with pointers to functions for
2228 // accessing 2-D data stored in (PLfGrid2 *), with the PLfGrid2's "f" field
2229 // treated as type (PLFLT *) pointing to 2-D data stored in row-major order.
2230 // In the context of plotting, it might be easier to think of it as "X-major"
2231 // order. In this ordering, values for a single X index are stored in
2232 // consecutive memory locations.
2233 //
2234 
2236 plf2ops_grid_row_major( void );
2237 
2238 //
2239 // Returns a pointer to a plf2ops_t stucture with pointers to functions for
2240 // accessing 2-D data stored in (PLfGrid2 *), with the PLfGrid2's "f" field
2241 // treated as type (PLFLT *) pointing to 2-D data stored in column-major order.
2242 // In the context of plotting, it might be easier to think of it as "Y-major"
2243 // order. In this ordering, values for a single Y index are stored in
2244 // consecutive memory locations.
2245 //
2246 
2248 plf2ops_grid_col_major( void );
2249 
2250 
2251 // Function evaluators (Should these be deprecated in favor of plf2ops?)
2252 
2253 //
2254 // Does a lookup from a 2d function array. plf2eval_data is treated as type
2255 // (PLFLT **) and data for (ix,iy) is returned from...
2256 //
2257 // plf2eval_data[ix][iy];
2258 //
2259 
2261 plf2eval1( PLINT ix, PLINT iy, PLPointer plf2eval_data );
2262 
2263 //
2264 // Does a lookup from a 2d function array. plf2eval_data is treated as type
2265 // (PLfGrid2 *) and data for (ix,iy) is returned from...
2266 //
2267 // plf2eval_data->f[ix][iy];
2268 //
2269 
2271 plf2eval2( PLINT ix, PLINT iy, PLPointer plf2eval_data );
2272 
2273 //
2274 // Does a lookup from a 2d function array. plf2eval_data is treated as type
2275 // (PLfGrid *) and data for (ix,iy) is returned from...
2276 //
2277 // plf2eval_data->f[ix * plf2eval_data->ny + iy];
2278 //
2279 // This is commonly called "row-major order", but in the context of plotting,
2280 // it might be easier to think of it as "X-major order". In this ordering,
2281 // values for a single X index are stored in consecutive memory locations.
2282 // This is also known as C ordering.
2283 //
2284 
2286 plf2eval( PLINT ix, PLINT iy, PLPointer plf2eval_data );
2287 
2288 //
2289 // Does a lookup from a 2d function array. plf2eval_data is treated as type
2290 // (PLfGrid *) and data for (ix,iy) is returned from...
2291 //
2292 // plf2eval_data->f[ix + iy * plf2eval_data->nx];
2293 //
2294 // This is commonly called "column-major order", but in the context of
2295 // plotting, it might be easier to think of it as "Y-major order". In this
2296 // ordering, values for a single Y index are stored in consecutive memory
2297 // locations. This is also known as FORTRAN ordering.
2298 //
2299 
2301 plf2evalr( PLINT ix, PLINT iy, PLPointer plf2eval_data );
2302 
2303 // Command line parsing utilities
2304 
2305 // Clear internal option table info structure.
2306 
2307 PLDLLIMPEXP void
2308 plClearOpts( void );
2309 
2310 // Reset internal option table info structure.
2311 
2312 PLDLLIMPEXP void
2313 plResetOpts( void );
2314 
2315 // Merge user option table into internal info structure.
2316 
2319 
2320 // Set the strings used in usage and syntax messages.
2321 
2322 PLDLLIMPEXP void
2323 plSetUsage( PLCHAR_VECTOR program_string, PLCHAR_VECTOR usage_string );
2324 
2325 // Process input strings, treating them as an option and argument pair.
2326 // The first is for the external API, the second the work routine declared
2327 // here for backward compatibilty.
2328 
2330 c_plsetopt( PLCHAR_VECTOR opt, PLCHAR_VECTOR optarg );
2331 
2332 #ifdef PL_DEPRECATED
2333 
2334 PLDLLIMPEXP int
2335 plSetOpt( PLCHAR_VECTOR opt, PLCHAR_VECTOR optarg );
2336 
2337 #endif // PL_DEPRECATED
2338 
2339 // Process options list using current options info.
2340 
2342 c_plparseopts( int *p_argc, PLCHAR_NC_MATRIX argv, PLINT mode );
2343 
2344 // Print usage & syntax message.
2345 
2346 PLDLLIMPEXP void
2347 plOptUsage( void );
2348 
2349 // Miscellaneous
2350 
2351 // Set the output file pointer
2352 
2353 PLDLLIMPEXP void
2354 plgfile( FILE **p_file );
2355 
2356 // Get the output file pointer
2357 
2358 PLDLLIMPEXP void
2359 plsfile( FILE *file );
2360 
2361 // Get the escape character for text strings.
2362 
2363 PLDLLIMPEXP void
2364 plgesc( PLCHAR_NC_SCALAR p_esc );
2365 
2366 // Front-end to driver escape function.
2367 
2368 PLDLLIMPEXP void
2369 pl_cmd( PLINT op, PLPointer ptr );
2370 
2371 // Return full pathname for given file if executable
2372 
2375 
2376 // Looks for the specified executable file according to usual search path.
2377 
2380 
2381 // Gets search name for file by concatenating the dir, subdir, and file
2382 // name, allocating memory as needed.
2383 
2384 PLDLLIMPEXP void
2385 plGetName( PLCHAR_VECTOR dir, PLCHAR_VECTOR subdir, PLCHAR_VECTOR filename, PLCHAR_NC_VECTOR *filespec );
2386 
2387 // Prompts human to input an integer in response to given message.
2388 
2390 plGetInt( PLCHAR_VECTOR s );
2391 
2392 // Prompts human to input a float in response to given message.
2393 
2395 plGetFlt( PLCHAR_VECTOR s );
2396 
2397 // Nice way to allocate space for a vectored 2d grid
2398 
2399 // Allocates a block of memory for use as a 2-d grid of PLFLT's.
2400 
2401 PLDLLIMPEXP void
2403 
2404 // Frees a block of memory allocated with plAlloc2dGrid().
2405 
2406 PLDLLIMPEXP void
2408 
2409 // Find the maximum and minimum of a 2d matrix allocated with plAllc2dGrid().
2410 
2411 PLDLLIMPEXP void
2413 
2414 // Wait for graphics input event and translate to world coordinates
2415 
2417 plGetCursor( PLGraphicsIn *gin );
2418 
2419 // Translates relative device coordinates to world coordinates.
2420 
2423 
2424 // Set the pointer to the data used in driver initialisation
2425 
2426 // N.B. Currently used only by the wxwidgets device driver and
2427 // associated binding. This function might be used for other device drivers
2428 // later on whether written in c++ or c. But this function is not part of the
2429 // common API and should not be propagated to any binding other than
2430 // c++.
2431 
2432 PLDLLIMPEXP void
2433 plsdevdata( PLPointer data );
2434 
2435 #ifdef PL_DEPRECATED
2436 
2437 // These functions are deprecated and only retained for backwards
2438 // compatibility - do not use in new code.
2439 
2440 // Set current color (map 0) by hue, lightness, and saturation.
2441 
2442 PLDLLIMPEXP void
2443 c_plhls( PLFLT h, PLFLT l, PLFLT s );
2444 
2445 // Set line color by red, green, blue from 0. to 1.
2446 
2447 PLDLLIMPEXP void
2448 c_plrgb( PLFLT r, PLFLT g, PLFLT b );
2449 
2450 // Set line color by 8 bit RGB values.
2451 
2452 PLDLLIMPEXP void
2453 c_plrgb1( PLINT r, PLINT g, PLINT b );
2454 
2455 #endif // PL_DEPRECATED
2456 
2457 
2458 #ifdef __cplusplus
2459 }
2460 #endif
2461 #if 0
2462 #if defined ( __GNUC__ ) && __GNUC__ > 3
2463  #pragma GCC visibility pop
2464 #endif
2465 #endif
2466 
2467 #endif // __PLPLOT_H__
PLDLLIMPEXP void c_plstripc(PLINT_NC_SCALAR id, PLCHAR_VECTOR xspec, PLCHAR_VECTOR yspec, PLFLT xmin, PLFLT xmax, PLFLT xjump, PLFLT ymin, PLFLT ymax, PLFLT xlpos, PLFLT ylpos, PLBOOL y_ascl, PLBOOL acc, PLINT colbox, PLINT collab, PLINT_VECTOR colline, PLINT_VECTOR styline, PLCHAR_MATRIX legline, PLCHAR_VECTOR labx, PLCHAR_VECTOR laby, PLCHAR_VECTOR labtop)
char ** PLCHAR_NC_MATRIX
Definition: plplot.h:249
PLDLLIMPEXP void c_plscmap1a(PLINT_VECTOR r, PLINT_VECTOR g, PLINT_VECTOR b, PLFLT_VECTOR alpha, PLINT ncol1)
Definition: plctrl.c:559
PLDLLIMPEXP void c_plspal1(PLCHAR_VECTOR filename, PLBOOL interpolate)
Definition: plctrl.c:1604
int alt_hue_path
Definition: plplot.h:561
PLDLLIMPEXP void c_plsstrm(PLINT strm)
Definition: plcore.c:2600
PLDLLIMPEXP void c_plsfont(PLINT family, PLINT style, PLINT weight)
Definition: plsym.c:2076
void(* label_func)(PLINT, PLFLT, char *, PLINT, PLPointer)
PLDLLIMPEXP void pltr0(PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data)
PLDLLIMPEXP void c_plerrx(PLINT n, PLFLT_VECTOR xmin, PLFLT_VECTOR xmax, PLFLT_VECTOR y)
Definition: pltick.c:179
static const char * name
Definition: tkMain.c:135
PLDLLIMPEXP void c_plmtex(PLCHAR_VECTOR side, PLFLT disp, PLFLT pos, PLFLT just, PLCHAR_VECTOR text)
Definition: plsym.c:576
static char ** argv
Definition: qt.cpp:40
PLDLLIMPEXP void c_plsesc(char esc)
Definition: plcore.c:3869
PLFLT dymi
Definition: plplot.h:464
PLFLT * PLFLT_NC_SCALAR
Definition: plplot.h:235
PLDLLIMPEXP void c_plsvpa(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
Definition: plvpor.c:508
PLDLLIMPEXP void c_plgcompression(PLINT_NC_SCALAR compression)
PLFLT a
Definition: plplot.h:560
PLDLLIMPEXP void c_plrgbhls(PLFLT r, PLFLT g, PLFLT b, PLFLT_NC_SCALAR p_h, PLFLT_NC_SCALAR p_l, PLFLT_NC_SCALAR p_s)
PLFLT h
Definition: plplot.h:556
PLDLLIMPEXP void c_plvect(PLFLT_MATRIX u, PLFLT_MATRIX v, PLINT nx, PLINT ny, PLFLT scale, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plvect.c:261
PLDLLIMPEXP void c_plsfci(PLUNICODE fci)
Definition: plcore.c:3905
PLDLLIMPEXP PLINT plTranslateCursor(PLGraphicsIn *gin)
Definition: plpage.c:259
PLDLLIMPEXP void pltr2(PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data)
PLDLLIMPEXP void plResetOpts(void)
Definition: plargs.c:855
void(* PLMAPFORM_callback)(PLINT n, PLFLT_NC_VECTOR x, PLFLT_NC_VECTOR y)
Definition: plplot.h:258
PLDLLIMPEXP void c_plconfigtime(PLFLT scale, PLFLT offset1, PLFLT offset2, PLINT ccontrol, PLBOOL ifbtime_offset, PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec)
Definition: pltime.c:36
PLDLLIMPEXP void c_plshade1(PLFLT_FE_POINTER a, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, PLFILL_callback fill, PLBOOL rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plshade.c:379
const PLBOOL * PLBOOL_VECTOR
Definition: plplot.h:244
PLDLLIMPEXP void c_plspage(PLFLT xp, PLFLT yp, PLINT xleng, PLINT yleng, PLINT xoff, PLINT yoff)
Definition: plcore.c:3572
unsigned char b
Definition: plplot.h:547
PLDLLIMPEXP void plfshade1(PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, PLFILL_callback fill, PLINT rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plshade.c:443
char * PLCHAR_NC_SCALAR
Definition: plplot.h:234
PLDLLIMPEXP void c_plsdrawmode(PLINT mode)
Definition: plctrl.c:2038
PLDLLIMPEXP void c_plmap(PLMAPFORM_callback mapform, PLCHAR_VECTOR name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy)
PLDLLIMPEXP void c_plsori(PLINT ori)
Definition: plcore.c:3744
PLDLLIMPEXP void plgDevs(PLCHAR_VECTOR **p_menustr, PLCHAR_VECTOR **p_devname, int *p_ndev)
Definition: plcore.c:3521
PLDLLIMPEXP void c_plgra(void)
Definition: plctrl.c:1993
int min(int a, int b)
PLDLLIMPEXP void c_plgriddata(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_VECTOR z, PLINT npts, PLFLT_VECTOR xg, PLINT nptsx, PLFLT_VECTOR yg, PLINT nptsy, PLFLT_NC_MATRIX zg, PLINT type, PLFLT data)
PLDLLIMPEXP void c_plvpor(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
Definition: plvpor.c:342
PLDLLIMPEXP void c_plreplot(void)
Definition: plcore.c:3485
PLDLLIMPEXP void c_plxormod(PLBOOL mode, PLBOOL_NC_SCALAR status)
PLDLLIMPEXP void c_plvasp(PLFLT aspect)
Definition: plvpor.c:456
PLDLLIMPEXP void c_plsmaj(PLFLT def, PLFLT scale)
Definition: plsdef.c:235
void mapform(PLINT n, PLFLT *x, PLFLT *y)
Definition: tclAPI.c:3693
PLDLLIMPEXP void plsxwin(PLINT window_id)
Definition: plcore.c:3957
PLDLLIMPEXP void c_plscolbga(PLINT r, PLINT g, PLINT b, PLFLT alpha)
Definition: plctrl.c:234
PLUINT PLUNICODE
Definition: plplot.h:194
PLDLLIMPEXP void c_plscmap1n(PLINT ncol1)
Definition: plctrl.c:1057
char * PLCHAR_NC_VECTOR
Definition: plplot.h:239
PLDLLIMPEXP PLFLT c_plrandd(void)
Definition: plctrl.c:3071
PLINT nz
Definition: plplot.h:521
PLDLLIMPEXP void c_plgfci(PLUNICODE_NC_SCALAR p_fci)
PLDLLIMPEXP void c_plstripa(PLINT id, PLINT pen, PLFLT x, PLFLT y)
Definition: plstripc.c:221
const PLFLT *const * PLFLT_MATRIX
Definition: plplot.h:255
PLDLLIMPEXP void c_plsyax(PLINT digmax, PLINT digits)
Definition: plcore.c:4040
PLINT * PLINT_NC_SCALAR
Definition: plplot.h:231
int * PLINT_NC_VECTOR
Definition: plplot.h:238
PLDLLIMPEXP void c_plgzax(PLINT_NC_SCALAR p_digmax, PLINT_NC_SCALAR p_digits)
PLDLLIMPEXP PLCHAR_NC_VECTOR plFindCommand(PLCHAR_VECTOR fn)
Definition: plctrl.c:2136
PLCHAR_VECTOR opt
Definition: plplot.h:409
PLDLLIMPEXP void plsexit(int(*handler)(PLCHAR_VECTOR))
Definition: plctrl.c:1977
PLDLLIMPEXP void plfsurf3d(PLFLT_VECTOR x, PLFLT_VECTOR y, PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel)
Definition: plot3d.c:334
PLDLLIMPEXP void c_plmeridians(PLMAPFORM_callback mapform, PLFLT dlong, PLFLT dlat, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat)
PLDLLIMPEXP void c_plbin(PLINT nbin, PLFLT_VECTOR x, PLFLT_VECTOR y, PLINT opt)
Definition: plhist.c:125
const char * PLCHAR_VECTOR
Definition: plplot.h:245
PLDLLIMPEXP void plfcont(PLF2EVAL_callback f2eval, PLPointer f2eval_data, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT_VECTOR clevel, PLINT nlevel, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plcont.c:535
PLDLLIMPEXP void c_plcalc_world(PLFLT rx, PLFLT ry, PLFLT_NC_SCALAR wx, PLFLT_NC_SCALAR wy, PLINT_NC_SCALAR window)
PLDLLIMPEXP void c_plmaptex(PLMAPFORM_callback mapform, PLCHAR_VECTOR name, PLFLT dx, PLFLT dy, PLFLT just, PLCHAR_VECTOR text, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, PLINT plotentry)
#define PL_MAXKEY
Definition: plplot.h:420
PLDLLIMPEXP void c_plszax(PLINT digmax, PLINT digits)
Definition: plcore.c:4058
PLDLLIMPEXP void c_plsfnam(PLCHAR_VECTOR fnam)
Definition: plcore.c:3809
PLDLLIMPEXP void c_plgfnam(PLCHAR_NC_VECTOR fnam)
Definition: plcore.c:3790
PLDLLIMPEXP void plgFileDevs(PLCHAR_VECTOR **p_menustr, PLCHAR_VECTOR **p_devname, int *p_ndev)
Definition: plcore.c:3509
PLDLLIMPEXP void plfplot3dcl(PLFLT_VECTOR x, PLFLT_VECTOR y, PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel, PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax)
PLDLLIMPEXP void c_pllegend(PLFLT_NC_SCALAR p_legend_width, PLFLT_NC_SCALAR p_legend_height, PLINT opt, PLINT position, PLFLT x, PLFLT y, PLFLT plot_width, PLINT bg_color, PLINT bb_color, PLINT bb_style, PLINT nrow, PLINT ncolumn, PLINT nlegend, PLINT_VECTOR opt_array, PLFLT text_offset, PLFLT text_scale, PLFLT text_spacing, PLFLT text_justification, PLINT_VECTOR text_colors, PLCHAR_MATRIX text, PLINT_VECTOR box_colors, PLINT_VECTOR box_patterns, PLFLT_VECTOR box_scales, PLFLT_VECTOR box_line_widths, PLINT_VECTOR line_colors, PLINT_VECTOR line_styles, PLFLT_VECTOR line_widths, PLINT_VECTOR symbol_colors, PLFLT_VECTOR symbol_scales, PLINT_VECTOR symbol_numbers, PLCHAR_MATRIX symbols)
void c_plrgb1(PLINT r, PLINT g, PLINT b)
PLDLLIMPEXP void c_plimagefr(PLFLT_MATRIX idata, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT valuemin, PLFLT valuemax, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plimage.c:238
PLDLLIMPEXP void c_plprec(PLINT setp, PLINT prec)
Definition: plcore.c:3839
PLDLLIMPEXP void plfshades(PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT_VECTOR clevel, PLINT nlevel, PLFLT fill_width, PLINT cont_color, PLFLT cont_width, PLFILL_callback fill, PLINT rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plshade.c:245
PLDLLIMPEXP void pldid2pc(PLFLT_NC_SCALAR xmin, PLFLT_NC_SCALAR ymin, PLFLT_NC_SCALAR xmax, PLFLT_NC_SCALAR ymax)
PLFLT a
Definition: plplot.h:548
PLDLLIMPEXP void plMinMax2dGrid(PLFLT_MATRIX f, PLINT nx, PLINT ny, PLFLT_NC_SCALAR fmax, PLFLT_NC_SCALAR fmin)
PLDLLIMPEXP void plsButtonEH(void(*ButtonEH)(PLGraphicsIn *, PLPointer, int *), PLPointer ButtonEH_data)
Definition: plcore.c:3704
PLDLLIMPEXP void c_pllab(PLCHAR_VECTOR xlabel, PLCHAR_VECTOR ylabel, PLCHAR_VECTOR tlabel)
Definition: plsym.c:531
const char *const * PLCHAR_MATRIX
Definition: plplot.h:254
PLFLT l
Definition: plplot.h:557
PLDLLIMPEXP void pl_cmd(PLINT op, PLPointer ptr)
Definition: plctrl.c:2108
PLDLLIMPEXP void c_plctime(PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec, PLFLT_NC_SCALAR ctime)
PLDLLIMPEXP void plsabort(void(*handler)(PLCHAR_VECTOR))
Definition: plctrl.c:1928
PLDLLIMPEXP void c_plsurf3dl(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_MATRIX z, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel, PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax)
Definition: plot3d.c:389
PLDLLIMPEXP void c_plwidth(PLFLT width)
Definition: plcore.c:3756
PLDLLIMPEXP PLF2OPS plf2ops_grid_row_major(void)
Definition: plf2ops.c:348
PLDLLIMPEXP PLF2OPS plf2ops_grid_col_major(void)
Definition: plf2ops.c:430
void * PLPointer
Definition: plplot.h:202
PLDLLIMPEXP void c_plgstrm(PLINT_NC_SCALAR p_strm)
PLFLT exp_label_disp
Definition: plplot.h:579
PLINT(* PLDEFINED_callback)(PLFLT x, PLFLT y)
Definition: plplot.h:263
PLDLLIMPEXP void c_plgradient(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT angle)
Definition: plgradient.c:52
PLDLLIMPEXP void plGetName(PLCHAR_VECTOR dir, PLCHAR_VECTOR subdir, PLCHAR_VECTOR filename, PLCHAR_NC_VECTOR *filespec)
Definition: plctrl.c:2443
PLDLLIMPEXP void plsfile(FILE *file)
Definition: plcore.c:3781
PLDLLIMPEXP void c_plgspa(PLFLT_NC_SCALAR xmin, PLFLT_NC_SCALAR xmax, PLFLT_NC_SCALAR ymin, PLFLT_NC_SCALAR ymax)
PLDLLIMPEXP void c_plfont(PLINT ifont)
Definition: plsym.c:1323
PLDLLIMPEXP void plsdevdata(PLPointer data)
Definition: plcore.c:3823
PLDLLIMPEXP void c_pladv(PLINT page)
Definition: plpage.c:34
PLDLLIMPEXP void plgesc(PLCHAR_NC_SCALAR p_esc)
Definition: plcore.c:3893
PLDLLIMPEXP void c_plfill3(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_VECTOR z)
Definition: plfill.c:202
PLFLT(* PLF2EVAL_callback)(PLINT ix, PLINT iy, PLPointer data)
Definition: plplot.h:261
PLDLLIMPEXP void plfshade(PLF2EVAL_callback f2eval, PLPointer f2eval_data, PLF2EVAL_callback c2eval, 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, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, PLFILL_callback fill, PLBOOL rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plshade.c:412
PLINT ny
Definition: plplot.h:533
PLDLLIMPEXP void c_plot3d(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_MATRIX z, PLINT nx, PLINT ny, PLINT opt, PLBOOL side)
Definition: plot3d.c:860
PLDLLIMPEXP void plOptUsage(void)
Definition: plargs.c:1304
PLDLLIMPEXP void plfplot3dc(PLFLT_VECTOR x, PLFLT_VECTOR y, PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel)
Definition: plot3d.c:891
void(* PLFILL_callback)(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y)
Definition: plplot.h:262
PLDLLIMPEXP void c_plsdiori(PLFLT rot)
Definition: plcore.c:1998
int PLINT
Definition: plplot.h:174
PLFLT_NC_MATRIX f
Definition: plplot.h:503
PLINT PLBOOL
Definition: plplot.h:197
PLDLLIMPEXP void pltr1(PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data)
PLDLLIMPEXP void c_plgdiori(PLFLT_NC_SCALAR p_rot)
plf2ops_t * PLF2OPS
Definition: plplot.h:619
PLDLLIMPEXP void c_pl_setcontlabelparam(PLFLT offset, PLFLT size, PLFLT spacing, PLINT active)
Definition: plcont.c:247
PLINT result
Definition: plplot.h:570
PLDLLIMPEXP void c_plgcol0(PLINT icol0, PLINT_NC_SCALAR r, PLINT_NC_SCALAR g, PLINT_NC_SCALAR b)
PLDLLIMPEXP void c_plscol0(PLINT icol0, PLINT r, PLINT g, PLINT b)
Definition: plctrl.c:282
PLDLLIMPEXP void c_plot3dc(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_MATRIX z, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel)
Definition: plot3d.c:883
PLFLT p
Definition: plplot.h:559
PLDLLIMPEXP void c_plpsty(PLINT patt)
Definition: plsdef.c:327
PLFLT * PLFLT_NC_FE_POINTER
Definition: plplot.h:218
PLDLLIMPEXP void c_plschr(PLFLT def, PLFLT scale)
Definition: plsdef.c:202
PLFLT exp_label_pos
Definition: plplot.h:580
PLDLLIMPEXP void c_plshade(PLFLT_MATRIX a, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, PLFILL_callback fill, PLBOOL rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plshade.c:352
PLDLLIMPEXP void c_plgcolbga(PLINT_NC_SCALAR r, PLINT_NC_SCALAR g, PLINT_NC_SCALAR b, PLFLT_NC_SCALAR alpha)
PLFLT exp_label_just
Definition: plplot.h:581
unsigned char g
Definition: plplot.h:546
PLFLT wymi
Definition: plplot.h:465
PLDLLIMPEXP PLFLT plf2evalr(PLINT ix, PLINT iy, PLPointer plf2eval_data)
Definition: plcont.c:466
PLDLLIMPEXP void c_plgxax(PLINT_NC_SCALAR p_digmax, PLINT_NC_SCALAR p_digits)
PLDLLIMPEXP void plFree2dGrid(PLFLT_NC_MATRIX f, PLINT nx, PLINT ny)
PLDLLIMPEXP void c_plmtex3(PLCHAR_VECTOR side, PLFLT disp, PLFLT pos, PLFLT just, PLCHAR_VECTOR text)
Definition: plsym.c:1592
PLDLLIMPEXP void plsError(PLINT_NC_SCALAR errcode, PLCHAR_NC_VECTOR errmsg)
PLDLLIMPEXP void c_pltext(void)
Switches to text screen.
Definition: plctrl.c:2090
PLDLLIMPEXP void plfsurf3dl(PLFLT_VECTOR x, PLFLT_VECTOR y, PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel, PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax)
Definition: plot3d.c:398
PLDLLIMPEXP void c_plenv0(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis)
Definition: plvpor.c:103
PLDLLIMPEXP void c_plbox3(PLCHAR_VECTOR xopt, PLCHAR_VECTOR xlabel, PLFLT xtick, PLINT nxsub, PLCHAR_VECTOR yopt, PLCHAR_VECTOR ylabel, PLFLT ytick, PLINT nysub, PLCHAR_VECTOR zopt, PLCHAR_VECTOR zlabel, PLFLT ztick, PLINT nzsub)
Definition: plbox.c:593
PLDLLIMPEXP void c_plgdiplt(PLFLT_NC_SCALAR p_xmin, PLFLT_NC_SCALAR p_ymin, PLFLT_NC_SCALAR p_xmax, PLFLT_NC_SCALAR p_ymax)
int type
Definition: plplot.h:447
PLINT ny
Definition: plplot.h:504
PLDLLIMPEXP void c_plptex3(PLFLT wx, PLFLT wy, PLFLT wz, PLFLT dx, PLFLT dy, PLFLT dz, PLFLT sx, PLFLT sy, PLFLT sz, PLFLT just, PLCHAR_VECTOR text)
Definition: plsym.c:1964
PLDLLIMPEXP void pltr2f(PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data)
PLDLLIMPEXP void c_plaxes(PLFLT x0, PLFLT y0, PLCHAR_VECTOR xopt, PLFLT xtick, PLINT nxsub, PLCHAR_VECTOR yopt, PLFLT ytick, PLINT nysub)
Definition: plbox.c:135
PLPointer PL_NC_GENERIC_POINTER
Definition: plplot.h:210
PLDLLIMPEXP void c_plpath(PLINT n, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2)
Definition: plline.c:94
PLDLLIMPEXP void c_plfill(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y)
Definition: plfill.c:132
PLDLLIMPEXP void c_plfamadv(void)
Definition: plcore.c:4000
PLDLLIMPEXP void c_plmapstring(PLMAPFORM_callback mapform, PLCHAR_VECTOR name, PLCHAR_VECTOR string, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, PLINT_VECTOR plotentries, PLINT nplotentries)
PLDLLIMPEXP void plfplot3d(PLFLT_VECTOR x, PLFLT_VECTOR y, PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLINT opt, PLBOOL side)
Definition: plot3d.c:867
PLDLLIMPEXP void c_plscmap1(PLINT_VECTOR r, PLINT_VECTOR g, PLINT_VECTOR b, PLINT ncol1)
Definition: plctrl.c:518
PLDLLIMPEXP void c_plend(void)
Definition: plcore.c:2463
PLDLLIMPEXP void c_plstyl(PLINT nms, PLINT_VECTOR mark, PLINT_VECTOR space)
Definition: plline.c:404
PLCHAR_VECTOR syntax
Definition: plplot.h:414
PLDLLIMPEXP void c_plseed(unsigned int seed)
Definition: plctrl.c:3058
PLDLLIMPEXP void c_plscolor(PLINT color)
Definition: plctrl.c:1192
PLFLT_NC_FE_POINTER zg
Definition: plplot.h:520
PLDLLIMPEXP void c_plscol0a(PLINT icol0, PLINT r, PLINT g, PLINT b, PLFLT alpha)
Definition: plctrl.c:318
PLUNICODE * PLUNICODE_NC_SCALAR
Definition: plplot.h:233
PLDLLIMPEXP void c_plfontld(PLINT fnt)
Definition: plcore.c:3467
PLDLLIMPEXP void c_plssym(PLFLT def, PLFLT scale)
Definition: plsdef.c:250
PLDLLIMPEXP void c_plsmema(PLINT maxx, PLINT maxy, PLPointer plotmem)
Definition: plcore.c:3662
PLDLLIMPEXP PLINT c_plsetopt(PLCHAR_VECTOR opt, PLCHAR_VECTOR optarg)
Definition: plargs.c:761
PLDLLIMPEXP PLINT c_plgdrawmode(void)
Definition: plctrl.c:2061
PLDLLIMPEXP void c_plmkstrm(PLINT_NC_SCALAR p_strm)
PLDLLIMPEXP void c_plcol0(PLINT icol0)
Definition: plctrl.c:141
PLDLLIMPEXP void plfgriddata(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_VECTOR z, PLINT npts, PLFLT_VECTOR xg, PLINT nptsx, PLFLT_VECTOR yg, PLINT nptsy, PLF2OPS zops, PLPointer zgp, PLINT type, PLFLT data)
Definition: plgridd.c:124
PLDLLIMPEXP void c_plwind(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
Definition: plwind.c:33
PLDLLIMPEXP void c_plenv(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis)
Definition: plvpor.c:89
size_t size
Definition: plplot.h:626
PLDLLIMPEXP void c_plsdev(PLCHAR_VECTOR devname)
Definition: plcore.c:3619
const PLINT * PLINT_VECTOR
Definition: plplot.h:243
PLCHAR_VECTOR name
Definition: plplot.h:549
PLDLLIMPEXP void c_plw3d(PLFLT basex, PLFLT basey, PLFLT height, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT alt, PLFLT az)
Definition: plwind.c:137
PLDLLIMPEXP void c_plsdiplt(PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax)
Definition: plcore.c:1758
unsigned int keysym
Definition: plplot.h:449
void(* PLTRANSFORM_callback)(PLFLT x, PLFLT y, PLFLT_NC_SCALAR xp, PLFLT_NC_SCALAR yp, PLPointer data)
Definition: plplot.h:259
PLDLLIMPEXP void c_plvpas(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT aspect)
Definition: plvpor.c:386
PLCHAR_VECTOR desc
Definition: plplot.h:415
PLDLLIMPEXP void c_plpoin(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLINT code)
Definition: plsym.c:162
PLDLLIMPEXP void c_plclear(void)
Definition: plpage.c:71
PLPointer var
Definition: plplot.h:412
PLDLLIMPEXP void c_plline3(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_VECTOR z)
Definition: plline.c:131
PLDLLIMPEXP void c_plcpstrm(PLINT iplsr, PLBOOL flags)
Definition: plcore.c:2740
PLDLLIMPEXP PLINT plFindName(PLCHAR_NC_VECTOR p)
Definition: plctrl.c:2422
PLDLLIMPEXP void c_plssub(PLINT nx, PLINT ny)
Definition: plcore.c:3596
void c_plrgb(PLFLT r, PLFLT g, PLFLT b)
PLDLLIMPEXP PLF2OPS plf2ops_grid_c(void)
Definition: plf2ops.c:233
PLDLLIMPEXP void plsbopH(void(*handler)(PLPointer, int *), PLPointer handler_data)
Definition: plcore.c:3714
PLDLLIMPEXP void c_plmapfill(PLMAPFORM_callback mapform, PLCHAR_VECTOR name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, PLINT_VECTOR plotentries, PLINT nplotentries)
PLDLLIMPEXP void c_pleop(void)
Definition: plpage.c:101
PLDLLIMPEXP void c_plgcmap1_range(PLFLT_NC_SCALAR min_color, PLFLT_NC_SCALAR max_color)
PLINT nz
Definition: plplot.h:493
PLDLLIMPEXP void c_plstring(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLCHAR_VECTOR string)
Definition: plsym.c:98
PLDLLIMPEXP void c_plmeshc(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_MATRIX z, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel)
Definition: plot3d.c:150
PLDLLIMPEXP void plfmeshc(PLFLT_VECTOR x, PLFLT_VECTOR y, PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel)
Definition: plot3d.c:157
PLDLLIMPEXP void c_plinit(void)
Definition: plcore.c:2301
const PLFLT * PLFLT_FE_POINTER
Definition: plplot.h:220
PLDLLIMPEXP void c_plgver(PLCHAR_NC_VECTOR p_ver)
Definition: plcore.c:3949
PLDLLIMPEXP void c_plptex(PLFLT x, PLFLT y, PLFLT dx, PLFLT dy, PLFLT just, PLCHAR_VECTOR text)
Definition: plsym.c:716
PLDLLIMPEXP void plClearOpts(void)
Definition: plargs.c:842
static PLFLT value(double n1, double n2, double hue)
Definition: plctrl.c:1209
static PLOptionTable options[]
Definition: tclMain.c:108
PLDLLIMPEXP void c_plgcolbg(PLINT_NC_SCALAR r, PLINT_NC_SCALAR g, PLINT_NC_SCALAR b)
PLDLLIMPEXP PLINT plGetInt(PLCHAR_VECTOR s)
Definition: plctrl.c:2900
PLINT subwindow
Definition: plplot.h:451
PLDLLIMPEXP void c_plcont(PLFLT_MATRIX f, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT_VECTOR clevel, PLINT nlevel, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plcont.c:508
PLDLLIMPEXP void c_plgyax(PLINT_NC_SCALAR p_digmax, PLINT_NC_SCALAR p_digits)
PLDLLIMPEXP void c_plstripd(PLINT id)
Definition: plstripc.c:327
PLDLLIMPEXP void c_plsmin(PLFLT def, PLFLT scale)
Definition: plsdef.c:220
PLDLLIMPEXP void c_plpoin3(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_VECTOR z, PLINT code)
Definition: plsym.c:225
PLDLLIMPEXP void c_plsdidev(PLFLT mar, PLFLT aspect, PLFLT jx, PLFLT jy)
Definition: plcore.c:1868
PLDLLIMPEXP void pldip2dc(PLFLT_NC_SCALAR xmin, PLFLT_NC_SCALAR ymin, PLFLT_NC_SCALAR xmax, PLFLT_NC_SCALAR ymax)
PLPointer PL_GENERIC_POINTER
Definition: plplot.h:211
PLDLLIMPEXP void plfimage(PLF2OPS idataops, PLPointer idatap, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax)
Definition: plimage.c:385
PLDLLIMPEXP void c_plsym(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLINT code)
Definition: plsym.c:118
void c_plhls(PLFLT h, PLFLT l, PLFLT s)
PLBOOL * PLBOOL_NC_SCALAR
Definition: plplot.h:232
PLDLLIMPEXP void plfvect(PLF2EVAL_callback getuv, PLPointer up, PLPointer vp, PLINT nx, PLINT ny, PLFLT scale, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plvect.c:147
PLDLLIMPEXP void c_plstring3(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_VECTOR z, PLCHAR_VECTOR string)
Definition: plsym.c:301
float PLFLT
Definition: plplot.h:157
PLDLLIMPEXP PLF2OPS plf2ops_c(void)
Definition: plf2ops.c:126
PLDLLIMPEXP void c_plerry(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR ymin, PLFLT_VECTOR ymax)
Definition: pltick.c:200
PLDLLIMPEXP void c_plscompression(PLINT compression)
Definition: plcore.c:4249
PLDLLIMPEXP void c_plsxax(PLINT digmax, PLINT digits)
Definition: plcore.c:4022
PLFLT_NC_MATRIX zg
Definition: plplot.h:532
PLDLLIMPEXP void c_plstransform(PLTRANSFORM_callback coordinate_transform, PLPointer coordinate_transform_data)
Definition: plcore.c:4452
PLDLLIMPEXP void c_plhlsrgb(PLFLT h, PLFLT l, PLFLT s, PLFLT_NC_SCALAR p_r, PLFLT_NC_SCALAR p_g, PLFLT_NC_SCALAR p_b)
PLDLLIMPEXP void c_plgdev(PLCHAR_NC_VECTOR p_dev)
Definition: plcore.c:3637
PLDLLIMPEXP void c_plsdimap(PLINT dimxmin, PLINT dimxmax, PLINT dimymin, PLINT dimymax, PLFLT dimxpmm, PLFLT dimypmm)
Definition: plcore.c:2136
PLDLLIMPEXP void c_plsurf3d(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_MATRIX z, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel)
Definition: plot3d.c:326
PLDLLIMPEXP void plAlloc2dGrid(PLFLT_NC_MATRIX *f, PLINT nx, PLINT ny)
PLDLLIMPEXP PLFLT plGetFlt(PLCHAR_VECTOR s)
Definition: plctrl.c:2935
PLDLLIMPEXP PLFLT plf2eval(PLINT ix, PLINT iy, PLPointer plf2eval_data)
Definition: plcont.c:447
PLDLLIMPEXP void c_plslabelfunc(PLLABEL_FUNC_callback label_func, PLPointer label_data)
Definition: plbox.c:2645
PLDLLIMPEXP void c_plscmap0a(PLINT_VECTOR r, PLINT_VECTOR g, PLINT_VECTOR b, PLFLT_VECTOR alpha, PLINT ncol0)
Definition: plctrl.c:476
PLDLLIMPEXP void plfimagefr(PLF2OPS idataops, PLPointer idatap, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT valuemin, PLFLT valuemax, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plimage.c:249
PLDLLIMPEXP void plsKeyEH(void(*KeyEH)(PLGraphicsIn *, PLPointer, int *), PLPointer KeyEH_data)
Definition: plcore.c:3694
PLDLLIMPEXP void c_plspal0(PLCHAR_VECTOR filename)
Definition: plctrl.c:1548
PLDLLIMPEXP void c_pltimefmt(PLCHAR_VECTOR fmt)
Definition: pltime.c:66
PLDLLIMPEXP void c_plglevel(PLINT_NC_SCALAR p_level)
PLDLLIMPEXP void c_pllightsource(PLFLT x, PLFLT y, PLFLT z)
Definition: plot3d.c:101
void(* PLLABEL_FUNC_callback)(PLINT axis, PLFLT value, PLCHAR_NC_VECTOR label, PLINT length, PLPointer data)
Definition: plplot.h:260
PLDLLIMPEXP void c_plpat(PLINT nlin, PLINT_VECTOR inc, PLINT_VECTOR del)
Definition: plsdef.c:293
unsigned int state
Definition: plplot.h:448
PLFLT ** PLFLT_NC_MATRIX
Definition: plplot.h:250
PLDLLIMPEXP void c_plarc(PLFLT x, PLFLT y, PLFLT a, PLFLT b, PLFLT angle1, PLFLT angle2, PLFLT rotate, PLBOOL fill)
Definition: plarc.c:141
PLDLLIMPEXP void c_plshades(PLFLT_MATRIX a, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT_VECTOR clevel, PLINT nlevel, PLFLT fill_width, PLINT cont_color, PLFLT cont_width, PLFILL_callback fill, PLBOOL rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
Definition: plshade.c:216
PLDLLIMPEXP PLINT c_plparseopts(int *p_argc, PLCHAR_NC_MATRIX argv, PLINT mode)
Definition: plargs.c:877
unsigned char r
Definition: plplot.h:545
PLDLLIMPEXP void c_plscolbg(PLINT r, PLINT g, PLINT b)
Definition: plctrl.c:215
PLDLLIMPEXP void pltr2p(PLFLT x, PLFLT y, PLFLT_NC_SCALAR tx, PLFLT_NC_SCALAR ty, PLPointer pltr_data)
PLPointer client_data
Definition: plplot.h:411
PLDLLIMPEXP void c_plpoly3(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_VECTOR z, PLBOOL_VECTOR draw, PLBOOL ifcc)
Definition: plline.c:266
PLDLLIMPEXP void c_plgchr(PLFLT_NC_SCALAR p_def, PLFLT_NC_SCALAR p_ht)
PLDLLIMPEXP void c_plgfam(PLINT_NC_SCALAR p_fam, PLINT_NC_SCALAR p_num, PLINT_NC_SCALAR p_bmax)
PLDLLIMPEXP void c_plvsta(void)
Definition: plvpor.c:307
PLDLLIMPEXP void c_plscmap0(PLINT_VECTOR r, PLINT_VECTOR g, PLINT_VECTOR b, PLINT ncol0)
Definition: plctrl.c:434
PLDLLIMPEXP PLFLT plf2eval1(PLINT ix, PLINT iy, PLPointer plf2eval_data)
Definition: plcont.c:410
PLDLLIMPEXP void c_plflush(void)
Definition: plcore.c:2206
PLDLLIMPEXP void c_plscmap1l(PLBOOL itype, PLINT npts, PLFLT_VECTOR intensity, PLFLT_VECTOR coord1, PLFLT_VECTOR coord2, PLFLT_VECTOR coord3, PLBOOL_VECTOR alt_hue_path)
PLINT cmd
Definition: plplot.h:569
PLDLLIMPEXP PLINT plMergeOpts(PLOptionTable *options, PLCHAR_VECTOR name, PLCHAR_VECTOR *notes)
Definition: plargs.c:795
unsigned int button
Definition: plplot.h:450
unsigned int PLUINT
Definition: plplot.h:173
PLDLLIMPEXP void c_plmesh(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_MATRIX z, PLINT nx, PLINT ny, PLINT opt)
Definition: plot3d.c:118
static char errmsg[160]
Definition: tclAPI.c:158
PLDLLIMPEXP PLFLT plf2eval2(PLINT ix, PLINT iy, PLPointer plf2eval_data)
Definition: plcont.c:428
PLDLLIMPEXP void c_plscmap1la(PLBOOL itype, PLINT npts, PLFLT_VECTOR intensity, PLFLT_VECTOR coord1, PLFLT_VECTOR coord2, PLFLT_VECTOR coord3, PLFLT_VECTOR alpha, PLBOOL_VECTOR alt_hue_path)
PLDLLIMPEXP void c_plstar(PLINT nx, PLINT ny)
Definition: plcore.c:2262
PLDLLIMPEXP void c_plstart(PLCHAR_VECTOR devname, PLINT nx, PLINT ny)
Definition: plcore.c:2281
#define PLDLLIMPEXP
Definition: pldll.h:49
PLDLLIMPEXP void c_plmapline(PLMAPFORM_callback mapform, PLCHAR_VECTOR name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, PLINT_VECTOR plotentries, PLINT nplotentries)
PLDLLIMPEXP void c_plline(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y)
Definition: plline.c:75
PLFLT dY
Definition: plplot.h:454
PLDLLIMPEXP void c_plcol1(PLFLT col1)
Definition: plctrl.c:175
PLDLLIMPEXP void c_pllsty(PLINT lin)
Definition: plsdef.c:268
PLDLLIMPEXP void c_plsdiplz(PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax)
Definition: plcore.c:1782
PLFLT s
Definition: plplot.h:558
PLDLLIMPEXP void c_pljoin(PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2)
Definition: plline.c:62
PLPointer buffer
Definition: plplot.h:627
PLDLLIMPEXP void c_plgvpd(PLFLT_NC_SCALAR p_xmin, PLFLT_NC_SCALAR p_xmax, PLFLT_NC_SCALAR p_ymin, PLFLT_NC_SCALAR p_ymax)
PLDLLIMPEXP void c_plgdidev(PLFLT_NC_SCALAR p_mar, PLFLT_NC_SCALAR p_aspect, PLFLT_NC_SCALAR p_jx, PLFLT_NC_SCALAR p_jy)
PLDLLIMPEXP void c_pl_setcontlabelformat(PLINT lexp, PLINT sigdig)
Definition: plcont.c:256
PLDLLIMPEXP void plgfile(FILE **p_file)
Definition: plcore.c:3773
PLDLLIMPEXP void c_plscmap0n(PLINT ncol0)
Definition: plctrl.c:932
PLDLLIMPEXP void c_plsvect(PLFLT_VECTOR arrowx, PLFLT_VECTOR arrowy, PLINT npts, PLBOOL fill)
Definition: plvect.c:49
__int64 PLINT64
Definition: plplot.h:175
PLDLLIMPEXP void c_plgpage(PLFLT_NC_SCALAR p_xp, PLFLT_NC_SCALAR p_yp, PLINT_NC_SCALAR p_xleng, PLINT_NC_SCALAR p_yleng, PLINT_NC_SCALAR p_xoff, PLINT_NC_SCALAR p_yoff)
PLDLLIMPEXP void c_plot3dcl(PLFLT_VECTOR x, PLFLT_VECTOR y, PLFLT_MATRIX z, PLINT nx, PLINT ny, PLINT opt, PLFLT_VECTOR clevel, PLINT nlevel, PLINT indexxmin, PLINT indexxmax, PLINT_VECTOR indexymin, PLINT_VECTOR indexymax)
Definition: plot3d.c:921
const PLFLT * PLFLT_VECTOR
Definition: plplot.h:246
PLDLLIMPEXP void c_plbox(PLCHAR_VECTOR xopt, PLFLT xtick, PLINT nxsub, PLCHAR_VECTOR yopt, PLFLT ytick, PLINT nysub)
Definition: plbox.c:89
PLDLLIMPEXP void c_plbop(void)
Definition: plpage.c:118
PLDLLIMPEXP void c_plend1(void)
Definition: plcore.c:2521
PLDLLIMPEXP void plSetUsage(PLCHAR_VECTOR program_string, PLCHAR_VECTOR usage_string)
Definition: plargs.c:1287
PLDLLIMPEXP PLINT plGetCursor(PLGraphicsIn *gin)
Definition: plpage.c:244
unsigned int width
Definition: plplot.h:474
PLDLLIMPEXP void plseopH(void(*handler)(PLPointer, int *), PLPointer handler_data)
Definition: plcore.c:3723
long mode
Definition: plplot.h:413
PLDLLIMPEXP void c_plspause(PLBOOL pause)
Definition: plcore.c:3831
PLFLT * PLFLT_NC_VECTOR
Definition: plplot.h:240
unsigned int y
Definition: plplot.h:473
PLDLLIMPEXP void c_plscmap1_range(PLFLT min_color, PLFLT max_color)
Definition: plctrl.c:885
PLFLT wY
Definition: plplot.h:455
PLFLT_FE_POINTER f
Definition: plplot.h:492
PLDLLIMPEXP void c_plcolorbar(PLFLT_NC_SCALAR p_colorbar_width, PLFLT_NC_SCALAR p_colorbar_height, PLINT opt, PLINT position, PLFLT x, PLFLT y, PLFLT x_length, PLFLT y_length, PLINT bg_color, PLINT bb_color, PLINT bb_style, PLFLT low_cap_color, PLFLT high_cap_color, PLINT cont_color, PLFLT cont_width, PLINT n_labels, PLINT_VECTOR label_opts, PLCHAR_MATRIX labels, PLINT n_axes, PLCHAR_MATRIX axis_opts, PLFLT_VECTOR ticks, PLINT_VECTOR sub_ticks, PLINT_VECTOR n_values, PLFLT_MATRIX values)
PLDLLIMPEXP void c_plgvpw(PLFLT_NC_SCALAR p_xmin, PLFLT_NC_SCALAR p_xmax, PLFLT_NC_SCALAR p_ymin, PLFLT_NC_SCALAR p_ymax)
PLDLLIMPEXP void c_plsfam(PLINT fam, PLINT num, PLINT bmax)
Definition: plcore.c:3984
PLDLLIMPEXP_CXX void fill(PLINT n, const PLFLT *x, const PLFLT *y)
Definition: plstream.cc:240
PLDLLIMPEXP void plfmesh(PLFLT_VECTOR x, PLFLT_VECTOR y, PLF2OPS zops, PLPointer zp, PLINT nx, PLINT ny, PLINT opt)
Definition: plot3d.c:124
PLDLLIMPEXP void c_plbtime(PLINT_NC_SCALAR year, PLINT_NC_SCALAR month, PLINT_NC_SCALAR day, PLINT_NC_SCALAR hour, PLINT_NC_SCALAR min, PLFLT_NC_SCALAR sec, PLFLT ctime)
PLDLLIMPEXP void c_plhist(PLINT n, PLFLT_VECTOR data, PLFLT datmin, PLFLT datmax, PLINT nbin, PLINT opt)
Definition: plhist.c:41
PLDLLIMPEXP void c_plsmem(PLINT maxx, PLINT maxy, PLPointer plotmem)
Definition: plcore.c:3652
PLDLLIMPEXP void c_plimage(PLFLT_MATRIX idata, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax)
Definition: plimage.c:375
PLDLLIMPEXP void c_plgcol0a(PLINT icol0, PLINT_NC_SCALAR r, PLINT_NC_SCALAR g, PLINT_NC_SCALAR b, PLFLT_NC_SCALAR alpha)
PLDLLIMPEXP void c_plgfont(PLINT_NC_SCALAR p_family, PLINT_NC_SCALAR p_style, PLINT_NC_SCALAR p_weight)