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