PLplot
5.15.0
Toggle main menu visibility
Loading...
Searching...
No Matches
plstrm.h
Go to the documentation of this file.
1
// Contains declarations for PLStream and PLDev structs.
2
// Also prototypes for stream & device utility functions.
3
//
4
// Copyright (C) 2004 Andrew Ross
5
// Copyright (C) 2004 Andrew Roach
6
//
7
// This file is part of PLplot.
8
//
9
// PLplot is free software; you can redistribute it and/or modify
10
// it under the terms of the GNU Library General Public License as published
11
// by the Free Software Foundation; either version 2 of the License, or
12
// (at your option) any later version.
13
//
14
// PLplot is distributed in the hope that it will be useful,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
// GNU Library General Public License for more details.
18
//
19
// You should have received a copy of the GNU Library General Public License
20
// along with PLplot; if not, write to the Free Software
21
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
//
23
24
#include "
pdf.h
"
25
26
#ifndef __PLSTRM_H__
27
#define __PLSTRM_H__
28
29
#include "
disptab.h
"
30
#include "
pldll.h
"
31
#include "
qsastime.h
"
32
33
//--------------------------------------------------------------------------
34
// Define the PLDev data structure.
35
//
36
// These are all quantities that must be saved on a per-device basis.
37
// Some drivers (xwin, tk) allocate structures defined internally.
38
//--------------------------------------------------------------------------
39
40
typedef
struct
41
{
42
PLFLT
pxlx
,
pxly
;
43
PLINT
xold
,
yold
;
44
45
PLINT
xmin
,
xmax
,
xlen
;
46
PLINT
ymin
,
ymax
,
ylen
;
47
48
PLINT
xmin_dev
,
xmax_dev
,
xlen_dev
;
49
PLINT
ymin_dev
,
ymax_dev
,
ylen_dev
;
50
51
PLFLT
xscale_dev
,
yscale_dev
;
52
}
PLDev
;
53
54
//--------------------------------------------------------------------------
55
// Define the PLStream data structure.
56
//
57
// This contains a copy of every variable that is stream dependent, which
58
// tends to be those which are settable by the user and persist for longer
59
// than one plot.
60
//
61
// Only those quantities listed in the PLStream struct will be preserved
62
// for an individual stream. Note that the lack of every plplot constant
63
// means that one should only switch streams at a fairly high level, i.e.
64
// on the scale of an entire plot. Otherwise intermediate quantities
65
// will be confused between the streams, possibly resulting in garbage plots.
66
// This structure may be expanded in time to improve intra-stream independence,
67
// but it is doubtful streams will ever be fully independent (perhaps
68
// neither necessary nor desirable? -- time will tell).
69
//
70
// There are undoubtably some inconsistencies in the declaration & use of
71
// the variables below. This is a result of the continuing evolution of
72
// plplot and the numerous authors involved. Hopefully in time the function
73
// of all variables can be fully documented and made more consistent.
74
//
75
// The quantities in each stream are as follows:
76
//
77
//--------------------------------------------------------------------------
78
//
79
// Misc control variables
80
//
81
// ipls PLINT Stream number
82
// level PLINT Initialization level
83
// program char* Program name
84
// verbose PLINT Be more verbose than usual
85
// debug PLINT Generate debugging output
86
// initialized PLINT Set if the stream has been initialized
87
// dev_initialized PLINT Set if the device driver has been loaded
88
// stream_closed PLBOOL Set if the stream was closed or if there
89
// was some sort of error
90
//
91
//--------------------------------------------------------------------------
92
//
93
// Palettes (two of them)
94
//
95
// Color map 0 is intended for static objects, such as boxes, lines, points,
96
// labels, etc. These should be allocated before calling plinit (else you
97
// get 16 by default, which can be undesirable on some platforms). These
98
// are then explicitly selected by number (in order of allocation). The
99
// lowest number is 0, but this is used for the background color, so all
100
// color drivers start with 1 as the default color.
101
//
102
// Color map 1 is for continuous-tone plots, where color is used to
103
// represent function value or intensity. These are set in a relative way
104
// only, for increased portability and flexibility. The actual number of
105
// colors used to represent intensity levels is determined by the driver.
106
// Note that it is only necessary to specify intensity (on a scale from 0
107
// to 1) to get an appropriate color. Drivers incapable of fine shading
108
// will do the best job they can.
109
//
110
// A palette selection tool for both palettes is available for the Tk
111
// driver. Direct writing of RGB values (i.e. banging on the hardware) is
112
// supported but highly discouraged (colors so written will be affected
113
// unpredictably by the palette tools).
114
//
115
// icol0 PLINT Color map 0 entry, current color (0 <= icol0 <= ncol0)
116
// ncol0 PLINT Number of colors allocated in color map 0.
117
// icol1 PLINT Color map 1 entry, current color (0 <= icol1 <= ncol1)
118
// ncol1 PLINT Number of colors allocated in color map 1.
119
// ncol1cp PLINT Number of control points in cmap1 allocation (max PL_MAX_CMAP1CP)
120
// lcol1cp PLFLT Locations of control points in cmap1 [0,1]
121
// curcmap PLINT Current color map
122
// curcolor RGB[] Current color
123
// tmpcolor RGB[] Temporary color storage
124
// cmap0 RGB[] Color map 0: maximum of ncol0 RGB 8-bit values
125
// cmap1 RGB[] Color map 1: maximum of ncol1 RGB 8-bit values
126
// cmap1_min PLFLT Minimum color map 1 color to use in continuous tone plots
127
// cmap1_max PLFLT Maximum color map 1 color to use in continuous tone plots
128
//
129
//--------------------------------------------------------------------------
130
//
131
// Variables governing pen width
132
//
133
// width Current pen width
134
// widthset Set if pen width was specified
135
// widthlock Set if pen width is locked
136
//
137
//--------------------------------------------------------------------------
138
//
139
// Variables governing arrow type
140
//
141
// arrow_x x coordinates of points in arrow
142
// arrow_y y coordinates of points in arrow
143
// arrow_npts number of points in arrow_x, arrow_y
144
// arrow_fill whether the arrow should be filled or not
145
//
146
//--------------------------------------------------------------------------
147
//
148
// Variables used to pass information between the core and the driver
149
//
150
// It would be nice to use the "dev_" prefix uniformly but changing
151
// all that old code would be quite a lot of work..
152
//
153
// device PLINT Graphics device id number
154
// dev_minor PLINT Minor device id (for variations on one type)
155
// color PLINT Set if color is available
156
// colorset PLINT Set if "color" was set prior to calling plinit
157
// plbuf_read PLINT Set during a plot buffer redraw
158
// plbuf_write PLINT Set if driver needs to use the plot buffer
159
// dev_fill0 PLINT Set if driver can do solid area fills
160
// dev_gradient PLINT Set if driver can do (linear) gradients
161
// dev_text PLINT Set if driver want to do it's only text drawing
162
// dev_unicode PLINT Set if driver wants unicode
163
// dev_hrshsym PLINT Set for Hershey symbols to be used
164
// dev_fill1 PLINT Set if driver can do pattern area fills
165
// dev_dash PLINT Set if driver can do dashed lines
166
// dev_di PLINT Set if driver wants to handle DI commands
167
// dev_flush PLINT Set if driver wants to handle flushes itself
168
// dev_swin PLINT Set if driver wants to handle 'set window' commands
169
// dev_fastimg PLINT Set if driver has fast image drawing capabilities
170
// dev_xor PLINT Set if driver supports xor mode.
171
// dev_clear PLINT Set if driver support clear.
172
// termin PLINT Set for interactive devices
173
// graphx PLINT Set if currently in graphics mode
174
// nopause PLINT Set if we are skipping the pause between frames
175
// family PLINT Set if familying is enabled
176
// member PLINT Number of current family member file open
177
// finc PLINT Number to increment between member files
178
// fflen PLINT Minimum field length to use in member file number
179
// bytemax PLINT Number of bytes maximum per member file
180
// famadv PLINT Set to advance to the next family member
181
// DevName char* Device name
182
// OutFile FILE Output file pointer
183
// BaseName char* Output base name (i.e. family)
184
// FileName char* Output file name
185
// output_type int 0 for file, 1 for stream
186
// bytecnt PLINT Byte count for output stream
187
// page PLINT Page count for output stream
188
// linepos PLINT Line count for output stream
189
// pdfs PDFstrm* PDF stream pointer
190
// dev_mem_alpha PLINT The user supplied memory buffer supports alpha values
191
// has_string_length PLINT The driver can calculate the lengths of strings
192
// string_length PLFLT Set to the length of the current string (in mm) by the driver
193
// get_string_length PLINT Tells the driver to calculate the length of the string
194
// but not to render it.
195
//
196
// These are used by the escape function (for area fill, etc).
197
//
198
// dev_npts PLINT Number of points we are plotting
199
// dev_x short* Pointer to array of x values
200
// dev_y short* Pointer to array of x values
201
// For the case where the boundary of the filled region is
202
// self-intersecting, use the even-odd fill rule rather than the
203
// default nonzero fill rule.
204
// dev_eofill PLINT
205
//
206
// For images
207
// dev_nptsX PLINT Number of points we are plotting in X
208
// dev_nptsY PLINT Number of points we are plotting in Y
209
// dev_z ushort* Pointer to array of z values for the color
210
// dev_zmin,
211
// dev_zmax ushort Min and max values of z to plot
212
//
213
// The following pointer is for drivers that require device-specific
214
// data. At initialization the driver should malloc the necessary
215
// space and set pls->dev to point to this area. This way there can
216
// be multiple streams using the same driver without conflict.
217
//
218
// dev void* pointer to device-specific data (malloc'ed)
219
//
220
// User-supplied event handlers for use by interactive drivers (e.g. X).
221
// Can be used to take various actions depending on input. Currently
222
// only a keyboard event handler is supported.
223
//
224
// KeyEH void* Keyboard event handler
225
// KeyEH_data void* Pointer to client data to pass
226
//
227
// ButtonEH void* (Mouse) Button event handler
228
// ButtonEH_data void* Pointer to client data to pass
229
//
230
// bop_handler void* bop handler
231
// bop_data void* Pointer to client data to pass
232
//
233
// eop_handler void* eop handler
234
// eop_data void* Pointer to client data to pass
235
//
236
// Variables used for direct specification of device characteristics
237
// Not supported by all drivers (or even very many)
238
//
239
// xdpi.. PLFLT Device DPI settings in x and y
240
// xlength.. PLINT Device output lengths in x and y
241
// xoffset.. PLINT Device offsets from upper left hand corner
242
// hack PLINT Enables driver-specific hack(s) if set
243
//
244
//--------------------------------------------------------------------------
245
//
246
// User customization tidy routine. This is called before closing a stream
247
// to do any program specific cleanup.
248
//
249
// tidy void* pointer to cleanup routine
250
// tidy_data void* pointer to client data to pass
251
//
252
//--------------------------------------------------------------------------
253
//
254
// User error control variables. Pass in a pointer for either to be set
255
// in exceptional conditions. The caller is responsible for clearing the
256
// error code.
257
//
258
// errcode PLINT* pointer to variable to assign error code
259
// errmsg char* pointer to error message buffer (must be >= 160 bytes)
260
//
261
//--------------------------------------------------------------------------
262
//
263
// Stuff used by Xlib driver
264
//
265
// geometry char* Window geometry (malloc'ed)
266
// window_id long X-window window ID
267
// nopixmap int Set if you want to forbid allocation of pixmaps
268
// db int Set if you want to double buffer output
269
// (only pixmap is drawn to directly; it is blitted
270
// to output window on EOP or an Expose)
271
// ext_resize_draw int Set if you want to control the redraw caused by a
272
// window resize by an external agent.
273
//--------------------------------------------------------------------------
274
//
275
// These are for support of the TK driver.
276
//
277
// server_name char* Main window name of server
278
// server_host char* Name of host to run server on
279
// server_port char* Port to talk to server on
280
// user char* Your user name on remote host (for remsh command)
281
// plserver char* Name of server
282
// plwindow char* Name of reference server window (malloc'ed)
283
// tk_file char* File for plserver use with its -file option
284
// auto_path char* Additional directories to autoload
285
// bufmax int Number of bytes sent before output buffer is flushed
286
// dp int Use Tcl-DP for communication, if set
287
// server_nokill int Don't kill plserver on a ^C if set
288
//
289
//--------------------------------------------------------------------------
290
//
291
// Variables for use by the plot buffer
292
//
293
// For Memory Buffer (default)
294
// plbuf_buffer_grow size_t Memory buffer growth step
295
// plbuf_buffer_size size_t Current size of memory buffer
296
// plbuf_buffer void * Pointer to memory buffer
297
// plbuf_top size_t Offset to the top of used area/start of free area
298
// plbuf_readpos size_t Offset to current position being read
299
//
300
// plbufOwner int Typically set; only zero if current stream is cloned.
301
//
302
//--------------------------------------------------------------------------
303
//
304
// Driver interface (DI)
305
//
306
// difilt PLINT Driver interface filter flag
307
//
308
// dipxmin PLFLT
309
// dipymin PLFLT Min, max relative plot coordinates
310
// dipxmax PLFLT
311
// dipymax PLFLT
312
// dipxax PLFLT Plot window transformation:
313
// dipxb PLFLT x' = dipxax * x + dipxb
314
// dipyay PLFLT
315
// dipyb PLFLT y' = dipyay * y + dipyb
316
//
317
// aspdev PLFLT Original device aspect ratio
318
// aspect PLFLT Page aspect ratio
319
// aspori PLFLT Rotation-induced aspect ratio
320
// caspfactor PLFLT Factor applied to preserve character aspect ratio
321
// freeaspect PLINT Allow aspect ratio to adjust to orientation swaps
322
// when overall aspect ratio is changed.
323
// portrait PLINT Portrait mode (orientation and aspect ratio)
324
// mar PLFLT Page margin (minimum)
325
// jx PLFLT Page justification in x
326
// jy PLFLT Page justification in y
327
//
328
// didxax PLFLT Device window transformation:
329
// didxb PLFLT x' = didxax * x + didxb
330
// didyay PLFLT
331
// didyb PLFLT y' = didyay * y + didyb
332
//
333
// diclpxmi PLINT
334
// diclpxma PLINT Device clip limits
335
// diclpymi PLINT
336
// diclpyma PLINT
337
//
338
// diorot PLFLT Rotation angle (in units of pi/2)
339
// dioxax PLFLT Orientation transformation:
340
// dioxay PLFLT x' = dioxax * x + dioxay * y + dioxb
341
// dioxb PLFLT
342
// dioyax PLFLT y' = dioyax * x + dioyay * y + dioyb
343
// dioyay PLFLT
344
// dioyb PLFLT
345
//
346
// dimxmin PLFLT
347
// dimymin PLFLT Target coordinate system parameters.
348
// dimxmax PLFLT
349
// dimymax PLFLT
350
// dimxpmm PLFLT
351
// dimypmm PLFLT
352
// dimxax PLFLT Map meta to physical coordinates:
353
// dimxb PLFLT x' = dimxax * x + dimxb
354
// dimyay PLFLT
355
// dimyb PLFLT y' = dimyay * y + dimyb
356
//
357
// page_status PLINT Flag to indicate current action
358
//
359
//--------------------------------------------------------------------------
360
//
361
// Fill pattern state information.
362
// patt < 0: Hardware fill, if available (not implemented yet)
363
// patt ==0: Hardware fill, if available, solid
364
// patt > 0: Software fill
365
//
366
// patt Fill pattern number
367
// inclin Array of inclinations in tenths of degree for fill lines
368
// delta Array of spacings in micrometers between fill lines
369
// nps Number of distinct line styles for fills
370
//
371
//--------------------------------------------------------------------------
372
//
373
// Variables used in line drawing
374
//
375
// currx Physical x-coordinate of current point
376
// curry Physical y-coordinate of current point
377
// line_style index of last call to pllsty
378
// mark Array of mark lengths in micrometers for broken lines
379
// space Array of space lengths in micrometers for broken lines
380
// nms Number of elements for current broken line style
381
// timecnt Timer for broken lines
382
// alarm Alarm indicating change of broken line status
383
// pendn Flag indicating if pen is up or down
384
// curel Current element within broken line
385
//
386
//--------------------------------------------------------------------------
387
//
388
// Variables governing character strings
389
//
390
// esc Text string escape character
391
//
392
//--------------------------------------------------------------------------
393
//
394
// Scale factors for characters, symbols, and tick marks.
395
//
396
// scale Scaling factor for chr, sym, maj, min.
397
// chr... Character default height and current (scaled) height
398
// sym... Symbol default height and current (scaled) height
399
// maj... Major tick default height and current (scaled) height
400
// min... Minor tick default height and current (scaled) height
401
//
402
//--------------------------------------------------------------------------
403
//
404
// Variables governing numeric axis label appearance
405
//
406
// setpre Non-zero to set precision using "prec"
407
// precis User-specified precision
408
// xdigmax.. Allowed #digits in axes labels
409
// xdigits.. Actual field widths (returned)
410
// timefmt Format string (for strftime)
411
//
412
//--------------------------------------------------------------------------
413
//
414
// Variables governing physical coordinate system
415
//
416
// vpp.. Viewport boundaries in physical coordinates
417
// spp.. Subpage boundaries in physical coordinates
418
// clp.. Clip boundaries in physical coordinates
419
// phy... Physical device limits in physical coordinates
420
// um. Number of micrometers in a pixel
421
// pmm Number of pixels to a millimeter
422
//
423
//--------------------------------------------------------------------------
424
//
425
// State variables for 3d plots
426
//
427
// base3. World coordinate size of base for 3-d plot
428
// basec. Position of centre of base for 3-d plot
429
// dom... Minimum and maximum values for domain
430
// zzscl Vertical (z) scale for 3-d plot
431
// ran.. Minimum and maximum z values for 3-d plot
432
// c.. Coordinate transformation from 3-d to 2-d
433
//
434
//--------------------------------------------------------------------------
435
//
436
// Variables for keeping track of world coordinate windows on a page.
437
//
438
// nCWindows Number of coordinate windows on current page
439
// windows Array of plCWindow's for current page
440
//
441
//--------------------------------------------------------------------------
442
//
443
// Variables governing subpages and viewports.
444
//
445
// nsub... Number of subpages on physical device
446
// cursub Current subpage
447
// spd... Subpage boundaries in normalized device coordinates
448
// vpd... Viewport boundaries in normalized device coordinates
449
// vpw... Viewport boundaries in world coordinates
450
//
451
//--------------------------------------------------------------------------
452
//
453
// Transformation variables
454
//
455
// wp.... Transformation variables for world to physical conversion
456
// wm.... Transformation variables for world coordinates to mm
457
//
458
//--------------------------------------------------------------------------
459
//
460
// Other variables
461
//
462
// dev_compression Compression level for supporting devices
463
//
464
//--------------------------------------------------------------------------
465
//
466
// Font related variables
467
//
468
// cfont Current font number, replaces global 'font' in plsym.c
469
// This can be latter extended for font shape, series, family and size
470
// fci FCI (font characterization integer)
471
// An FCI is sometimes inserted in the middle of a stream of
472
// unicode glyph indices. Thus to distinguish it from those, the FCI is marked
473
// by 0x8 in the most significant 4 bits. The remaining 7 hex digits
474
// stored in the 32-bit integer characterize 7 different font attributes.
475
// The font attributes are interpreted as follows:
476
// hexdigit => 0 1 2 3 4 5
477
// hexpower Font attribute Possible attribute values
478
// 0 font-family sans-serif serif monospace script symbol |fantasy
479
// 1 font-style upright italic oblique |
480
// 2 font-weight medium bold | bolder light lighter
481
// 3 font-variant normal | small caps
482
//
483
// Everything to the right of the vertical bars is not implemented and is
484
// subject to change. The four font attributes (font-family, font-style,
485
// font-weight, and font-variant are stored in the FCI in the order of
486
// hexpower, the left shift that is applied to the hex digit to place the
487
// hexdigit in the FCI. The hexpower = 3 position is essentially undefined
488
// since there is currently only one hexdigit (0) defined, and similarly
489
// for hexpower = 4-6 so there is room for expansion of this scheme into more
490
// font attributes if required. (hexpower = 7 is reserved for the 0x8 marker
491
// of the FCI.)
492
//
493
//--------------------------------------------------------------------------
494
//
495
// Time related variable
496
//
497
// qsasconfig is a pointer to a struct that keeps track of the details
498
// of the transformation between broken-down and continuous time used
499
// in the qsastime library.
500
//
501
//--------------------------------------------------------------------------
502
//
503
// Variables used in plgradient software fallback to communicate the polygon
504
// to the gradient_define callback used by plshades.
505
//
506
// n_polygon Number of vertex points in the polygon defining the
507
// boundary of the gradient.
508
// x_polygon Pointer to array of x vertex points in the polygon
509
// defining the boundary of the gradient.
510
// y_polygon Pointer to array of y vertex points in the polygon
511
// defining the boundary of the gradient.
512
//--------------------------------------------------------------------------
513
//
514
// Variables used to store gradient information for device drivers.
515
//
516
// xgradient Pointer to array of x coordinates of gradient vector.
517
// ygradient Pointer to array of y coordinates of gradient vector.
518
// ngradient Number of points (two) in gradient vector.
519
//--------------------------------------------------------------------------
520
521
#define PL_MAX_CMAP1CP 256
522
523
typedef
struct
524
{
525
// Misc control information
526
527
PLINT
ipls
,
level
,
verbose
,
debug
,
initialized
,
dev_initialized
;
528
//CONSTANT SOVERSION FIX
529
// PLBOOL stream_closed;
530
char
*
program
;
531
532
// Plot-wide coordinate transform
533
534
PLTRANSFORM_callback
coordinate_transform
;
535
PLPointer
coordinate_transform_data
;
536
537
// Colormaps
538
539
PLINT
icol0
,
ncol0
,
icol1
,
ncol1
,
ncp1
,
curcmap
;
540
541
PLFLT
cmap1_min
,
cmap1_max
;
542
543
PLColor
curcolor
,
tmpcolor
;
544
PLColor
*
cmap0
;
545
PLColor
*
cmap1
;
546
547
PLControlPt
cmap1cp
[
PL_MAX_CMAP1CP
];
548
PLBOOL
cmap1cp_is_rgb
;
549
550
// Variables governing pen width
551
552
PLFLT
width
;
553
PLINT
widthset
,
widthlock
;
554
555
// Variables governing arrow
556
PLFLT
*
arrow_x
;
557
PLFLT
*
arrow_y
;
558
PLINT
arrow_npts
;
559
PLINT
arrow_fill
;
560
561
// Driver dispatch table, obsoletes "device" member below.
562
563
PLDispatchTable
*
dispatch_table
;
564
565
// Variables used for interacting with or by device driver
566
567
PLINT
plbuf_read
,
plbuf_write
;
568
PLINT
device
,
dev_minor
,
termin
,
graphx
,
nopause
;
569
PLINT
color
,
colorset
;
570
PLINT
family
,
member
,
finc
,
fflen
,
bytemax
,
famadv
;
571
PLINT
dev_fill0
,
dev_fill1
,
dev_dash
,
dev_di
,
dev_flush
,
dev_swin
;
572
PLINT
dev_text
,
dev_xor
,
dev_clear
,
dev_fastimg
,
dev_arc
;
573
574
char
DevName
[80];
575
FILE *
OutFile
;
576
char
*
BaseName
, *
FileName
;
577
int
output_type
;
578
PLINT
bytecnt
,
page
,
linepos
;
579
PDFstrm
*
pdfs
;
580
581
PLINT
dev_npts
;
582
short
*
dev_x
, *
dev_y
;
583
584
// variables for plimage()
585
586
PLINT
dev_nptsX
,
dev_nptsY
;
587
short
*
dev_ix
, *
dev_iy
;
588
unsigned
short
*
dev_z
;
589
unsigned
short
dev_zmin
,
dev_zmax
;
590
PLINT
imclxmin
,
imclxmax
,
imclymin
,
imclymax
;
591
592
// end of variables for plimage()
593
594
void
*
dev
;
595
596
void
*
dev_data
;
597
598
void ( *
KeyEH
)(
PLGraphicsIn
*gin,
void
*
KeyEH_data
,
599
int
*exit_eventloop );
600
void
*
KeyEH_data
;
601
602
void ( *
ButtonEH
)(
PLGraphicsIn
*gin,
void
*
ButtonEH_data
,
603
int
*exit_eventloop );
604
void
*
ButtonEH_data
;
605
606
void ( *
LocateEH
)(
PLGraphicsIn
*gin,
void
*
LocateEH_data
,
607
int
*locate_mode );
608
void
*
LocateEH_data
;
609
610
void ( *
bop_handler
)(
void
*
bop_data
,
int
*skip_driver_bop );
611
void
*
bop_data
;
612
613
void ( *
eop_handler
)(
void
*
eop_data
,
int
*skip_driver_eop );
614
void
*
eop_data
;
615
616
PLFLT
xdpi
,
ydpi
;
617
PLINT
xlength
,
ylength
;
618
PLINT
xoffset
,
yoffset
;
619
PLINT
hack
;
620
621
// Per stream tidy function.
622
623
void ( *
tidy
)(
void
* );
624
void
*
tidy_data
;
625
626
// Error info
627
628
PLINT
*
errcode
;
629
char
*
errmsg
;
630
631
// Stuff used by Xlib driver
632
633
char
*
geometry
;
634
long
window_id
;
635
int
nopixmap
,
db
,
ext_resize_draw
;
636
637
// Stuff used by TK, DP drivers
638
639
char
*
server_name
, *
server_host
, *
server_port
, *
user
;
640
char
*
plserver
, *
plwindow
;
641
char
*
auto_path
;
642
char
*
tk_file
;
// plserver -file option
643
int
bufmax
,
dp
,
server_nokill
;
644
645
// Plot buffer settings
646
647
size_t
plbuf_buffer_grow
;
648
size_t
plbuf_buffer_size
;
649
void
*
plbuf_buffer
;
650
size_t
plbuf_top
;
651
size_t
plbuf_readpos
;
652
int
plbufOwner
;
653
654
// Driver interface (DI)
655
656
PLINT
difilt
,
diclpxmi
,
diclpxma
,
diclpymi
,
diclpyma
;
657
PLFLT
dipxmin
,
dipymin
,
dipxmax
,
dipymax
;
658
PLFLT
dipxax
,
dipxb
,
dipyay
,
dipyb
;
659
PLFLT
aspdev
,
aspect
,
aspori
,
caspfactor
,
mar
,
jx
,
jy
;
660
PLFLT
didxax
,
didxb
,
didyay
,
didyb
;
661
PLFLT
diorot
;
662
PLFLT
dioxax
,
dioxay
,
dioxb
,
dioyax
,
dioyay
,
dioyb
;
663
PLFLT
dimxax
,
dimxb
,
dimyay
,
dimyb
;
664
PLFLT
dimxmin
,
dimymin
,
dimxmax
,
dimymax
,
dimxpmm
,
dimypmm
;
665
PLINT
page_status
,
freeaspect
,
portrait
;
666
667
// Fill pattern info
668
669
PLINT
patt
,
inclin
[2],
delta
[2],
nps
;
670
671
// Variables used in line drawing
672
673
PLINT
currx
,
curry
;
674
//CONSTANT SOVERSION FIX
675
//PLINT line_style;
676
PLINT
mark
[10],
space
[10],
nms
;
677
PLINT
timecnt
,
alarm
,
pendn
,
curel
;
678
679
// Variables governing character strings
680
681
char
esc
;
682
683
// Scale factors for characters, symbols, and tick marks.
684
685
PLFLT
scale
;
686
PLFLT
chrdef
,
chrht
;
687
PLFLT
symdef
,
symht
;
688
PLFLT
majdef
,
majht
;
689
PLFLT
mindef
,
minht
;
690
691
// Variables governing numeric axis label appearance
692
693
PLINT
setpre
,
precis
;
694
PLINT
xdigmax
,
ydigmax
,
zdigmax
;
695
PLINT
xdigits
,
ydigits
,
zdigits
;
696
char
*
timefmt
;
697
PLLABEL_FUNC_callback
label_func
;
698
PLPointer
label_data
;
699
700
// Variables governing physical coordinate system
701
702
PLINT
vppxmi
,
vppxma
,
vppymi
,
vppyma
;
703
PLINT
sppxmi
,
sppxma
,
sppymi
,
sppyma
;
704
PLINT
clpxmi
,
clpxma
,
clpymi
,
clpyma
;
705
PLINT
phyxmi
,
phyxma
,
phyxlen
,
phyymi
,
phyyma
,
phyylen
;
706
PLINT
umx
,
umy
;
707
PLFLT
xpmm
,
ypmm
;
708
709
// State variables for 3d plots
710
711
PLFLT
base3x
,
base3y
,
basecx
,
basecy
;
712
PLFLT
domxmi
,
domxma
,
domymi
,
domyma
;
713
PLFLT
zzscl
,
ranmi
,
ranma
;
714
PLFLT
cxx
,
cxy
,
cyx
,
cyy
,
cyz
,
czx
,
czy
,
czz
;
715
716
// Variables for keeping track of windows on a page.
717
718
int
nplwin
;
719
PLWindow
plwin
[
PL_MAXWINDOWS
];
720
721
// Variables governing subpages and viewports.
722
723
PLINT
nsubx
,
nsuby
,
cursub
;
724
PLFLT
spdxmi
,
spdxma
,
spdymi
,
spdyma
;
725
PLFLT
vpdxmi
,
vpdxma
,
vpdymi
,
vpdyma
;
726
PLFLT
vpwxmi
,
vpwxma
,
vpwymi
,
vpwyma
;
727
728
// Transformation variables
729
730
PLFLT
wpxscl
,
wpxoff
,
wpyscl
,
wpyoff
;
731
PLFLT
wmxscl
,
wmxoff
,
wmyscl
,
wmyoff
;
732
PLFLT
wdxscl
,
wdxoff
,
wdyscl
,
wdyoff
;
733
734
// Other variables
735
736
PLINT
dev_compression
;
737
PLINT
cfont
;
738
739
void
*
FT
;
740
741
// Stuff used by the Tkwin driver for Plframe
742
struct
PlPlotter
*
plPlotterPtr
;
743
744
745
// Unicode section
746
747
PLINT
dev_unicode
;
748
749
PLINT
alt_unicode
;
// The alternative interface for unicode text rendering.
750
751
PLUNICODE
fci
;
752
753
PLINT
dev_hrshsym
;
754
755
// Used to keep a hold of a temporary copy of the original character height
756
// which I overload as a quick hack to fix up a bug in freetype an plsym()
757
//
758
759
PLFLT
original_chrdef
,
original_chrht
;
760
761
//
762
// Pointer to postscript document class used by psttf
763
//
764
void
*
psdoc
;
765
766
// pointer to a struct that keeps track of the details of the
767
// transformation between broken-down and continuous time used in
768
// the qsastime library.
769
770
QSASConfig
*
qsasconfig
;
771
772
// Gradient section.
773
PLINT
dev_gradient
;
774
PLINT
ngradient
;
775
PLINT
*
xgradient
, *
ygradient
;
776
// The next three variables define the polygon boundary used
777
// in the software fallback for the gradient.
778
PLINT
n_polygon
;
779
const
PLFLT
*
x_polygon
, *
y_polygon
;
780
781
//CONSTANT SOVERSION FIX
782
PLBOOL
stream_closed
;
783
PLINT
line_style
;
784
PLINT
dev_mem_alpha
;
785
PLINT
has_string_length
;
786
PLFLT
string_length
;
787
PLINT
get_string_length
;
788
PLINT
dev_eofill
;
789
790
// Drawing mode section
791
PLINT
dev_modeset
;
792
793
// Calculate bounding-box limits rather than plot box?
794
PLBOOL
if_boxbb
;
795
// Bounding box limits in mm for box including decorations
796
// (inverted tick marks and numerical tick labels if either is
797
// present).
798
PLFLT
boxbb_xmin
,
boxbb_xmax
,
boxbb_ymin
,
boxbb_ymax
;
799
800
// Plot metafile variables
801
//
802
char
*
mf_infile
;
803
char
*
mf_outfile
;
804
}
PLStream
;
805
806
//--------------------------------------------------------------------------
807
// Prototypes for stream & device utility functions.
808
//--------------------------------------------------------------------------
809
810
#ifdef __cplusplus
811
extern
"C"
{
812
#endif
813
814
// Get the current stream pointer
815
816
void
PLDLLIMPEXP
817
plgpls
(
PLStream
**p_pls );
818
819
// Initializes device cmap 1 entry by interpolation from pls->cmap1 entries
820
821
PLDLLIMPEXP
void
822
plcol_interp
(
PLStream
*
pls
,
PLColor
*newcolor,
int
i,
int
ncol );
823
824
// Opens file for output, prompting if not set.
825
826
PLDLLIMPEXP
void
827
plOpenFile
(
PLStream
*
pls
);
828
829
// Close output file
830
831
PLDLLIMPEXP
void
832
plCloseFile
(
PLStream
*
pls
);
833
834
// Sets up next file member name (in pls->FileName), but does not open it.
835
836
void
837
plP_getmember
(
PLStream
*
pls
);
838
839
// Sets up file name & family stem name.
840
841
void
842
plP_sfnam
(
PLStream
*
pls
,
const
char
*fnam );
843
844
// Initializes family file parameters.
845
846
PLDLLIMPEXP
void
847
plFamInit
(
PLStream
*
pls
);
848
849
// Starts new member file of family file set if necessary.
850
851
PLDLLIMPEXP
void
852
plGetFam
(
PLStream
*
pls
);
853
854
// Rotates physical coordinates if necessary for given orientation.
855
856
PLDLLIMPEXP
void
857
plRotPhy
(
PLINT
orient,
PLINT
xmin,
PLINT
ymin,
PLINT
xmax,
PLINT
ymax,
858
PLINT
*px,
PLINT
*py );
859
860
// Allocates a standard PLDev structure for device-specific data
861
862
PLDLLIMPEXP
PLDev
*
863
plAllocDev
(
PLStream
*
pls
);
864
865
// Just fills in the PLGraphicsIn with appropriate initial values.
866
867
PLDLLIMPEXP
void
868
plGinInit
(
PLGraphicsIn
*gin );
869
870
#ifdef __cplusplus
871
}
872
#endif
873
874
#endif
// __PLSTRM_H__
disptab.h
pdf.h
pls
static PLStream * pls[PL_NSTREAMS]
Definition
plcore.h:88
pldll.h
PLDLLIMPEXP
#define PLDLLIMPEXP
Definition
pldll.h:49
PLUNICODE
PLUINT PLUNICODE
Definition
plplot.h:201
PLFLT
float PLFLT
Definition
plplot.h:163
PLTRANSFORM_callback
void(* PLTRANSFORM_callback)(PLFLT x, PLFLT y, PLFLT_NC_SCALAR xp, PLFLT_NC_SCALAR yp, PLPointer data)
Definition
plplot.h:257
PL_MAXWINDOWS
#define PL_MAXWINDOWS
Definition
plplot.h:448
PLINT
int PLINT
Definition
plplot.h:181
PLPointer
void * PLPointer
Definition
plplot.h:209
PLBOOL
PLINT PLBOOL
Definition
plplot.h:204
PLLABEL_FUNC_callback
void(* PLLABEL_FUNC_callback)(PLINT axis, PLFLT value, PLCHAR_NC_VECTOR label, PLINT length, PLPointer data)
Definition
plplot.h:258
PL_MAX_CMAP1CP
#define PL_MAX_CMAP1CP
Definition
plstrm.h:521
plRotPhy
PLDLLIMPEXP void plRotPhy(PLINT orient, PLINT xmin, PLINT ymin, PLINT xmax, PLINT ymax, PLINT *px, PLINT *py)
Definition
plctrl.c:2824
plFamInit
PLDLLIMPEXP void plFamInit(PLStream *pls)
Definition
plctrl.c:2751
plP_getmember
void plP_getmember(PLStream *pls)
Definition
plctrl.c:2657
plgpls
void PLDLLIMPEXP plgpls(PLStream **p_pls)
Definition
plcore.c:3693
plP_sfnam
void plP_sfnam(PLStream *pls, const char *fnam)
Definition
plctrl.c:2700
plOpenFile
PLDLLIMPEXP void plOpenFile(PLStream *pls)
Definition
plctrl.c:2571
plGinInit
PLDLLIMPEXP void plGinInit(PLGraphicsIn *gin)
Definition
plctrl.c:2887
plCloseFile
PLDLLIMPEXP void plCloseFile(PLStream *pls)
Definition
plctrl.c:2635
plAllocDev
PLDLLIMPEXP PLDev * plAllocDev(PLStream *pls)
Definition
plctrl.c:2866
plGetFam
PLDLLIMPEXP void plGetFam(PLStream *pls)
Definition
plctrl.c:2780
plcol_interp
PLDLLIMPEXP void plcol_interp(PLStream *pls, PLColor *newcolor, int i, int ncol)
Definition
plctrl.c:2530
qsastime.h
QSASConfig
struct QSASConfigStruct QSASConfig
Definition
qsastime.h:50
PDFstrm
Definition
pdf.h:50
PLColor
Definition
plplot.h:547
PLControlPt
Definition
plplot.h:558
PLDev
Definition
plstrm.h:41
PLDev::xscale_dev
PLFLT xscale_dev
Definition
plstrm.h:51
PLDev::pxlx
PLFLT pxlx
Definition
plstrm.h:42
PLDev::xlen_dev
PLINT xlen_dev
Definition
plstrm.h:48
PLDev::pxly
PLFLT pxly
Definition
plstrm.h:42
PLDev::ymin_dev
PLINT ymin_dev
Definition
plstrm.h:49
PLDev::xmin_dev
PLINT xmin_dev
Definition
plstrm.h:48
PLDev::ylen
PLINT ylen
Definition
plstrm.h:46
PLDev::xmax_dev
PLINT xmax_dev
Definition
plstrm.h:48
PLDev::xmax
PLINT xmax
Definition
plstrm.h:45
PLDev::ymax
PLINT ymax
Definition
plstrm.h:46
PLDev::ymax_dev
PLINT ymax_dev
Definition
plstrm.h:49
PLDev::ymin
PLINT ymin
Definition
plstrm.h:46
PLDev::xold
PLINT xold
Definition
plstrm.h:43
PLDev::xlen
PLINT xlen
Definition
plstrm.h:45
PLDev::ylen_dev
PLINT ylen_dev
Definition
plstrm.h:49
PLDev::yold
PLINT yold
Definition
plstrm.h:43
PLDev::yscale_dev
PLFLT yscale_dev
Definition
plstrm.h:51
PLDev::xmin
PLINT xmin
Definition
plstrm.h:45
PLDispatchTable
Definition
disptab.h:78
PLGraphicsIn
Definition
plplot.h:434
PLStream
Definition
plstrm.h:524
PLStream::dioxax
PLFLT dioxax
Definition
plstrm.h:662
PLStream::arrow_x
PLFLT * arrow_x
Definition
plstrm.h:556
PLStream::dipymax
PLFLT dipymax
Definition
plstrm.h:657
PLStream::finc
PLINT finc
Definition
plstrm.h:570
PLStream::phyylen
PLINT phyylen
Definition
plstrm.h:705
PLStream::dev_compression
PLINT dev_compression
Definition
plstrm.h:736
PLStream::vpwxma
PLFLT vpwxma
Definition
plstrm.h:726
PLStream::KeyEH
void(* KeyEH)(PLGraphicsIn *gin, void *KeyEH_data, int *exit_eventloop)
Definition
plstrm.h:598
PLStream::symht
PLFLT symht
Definition
plstrm.h:687
PLStream::diclpymi
PLINT diclpymi
Definition
plstrm.h:656
PLStream::ButtonEH_data
void * ButtonEH_data
Definition
plstrm.h:604
PLStream::n_polygon
PLINT n_polygon
Definition
plstrm.h:778
PLStream::ncol1
PLINT ncol1
Definition
plstrm.h:539
PLStream::dipxb
PLFLT dipxb
Definition
plstrm.h:658
PLStream::ngradient
PLINT ngradient
Definition
plstrm.h:774
PLStream::clpymi
PLINT clpymi
Definition
plstrm.h:704
PLStream::famadv
PLINT famadv
Definition
plstrm.h:570
PLStream::dioxay
PLFLT dioxay
Definition
plstrm.h:662
PLStream::sppyma
PLINT sppyma
Definition
plstrm.h:703
PLStream::nplwin
int nplwin
Definition
plstrm.h:718
PLStream::domyma
PLFLT domyma
Definition
plstrm.h:712
PLStream::ncp1
PLINT ncp1
Definition
plstrm.h:539
PLStream::plserver
char * plserver
Definition
plstrm.h:640
PLStream::plbuf_buffer_grow
size_t plbuf_buffer_grow
Definition
plstrm.h:647
PLStream::original_chrdef
PLFLT original_chrdef
Definition
plstrm.h:759
PLStream::curcmap
PLINT curcmap
Definition
plstrm.h:539
PLStream::basecx
PLFLT basecx
Definition
plstrm.h:711
PLStream::wdyscl
PLFLT wdyscl
Definition
plstrm.h:732
PLStream::psdoc
void * psdoc
Definition
plstrm.h:764
PLStream::if_boxbb
PLBOOL if_boxbb
Definition
plstrm.h:794
PLStream::window_id
long window_id
Definition
plstrm.h:634
PLStream::vppyma
PLINT vppyma
Definition
plstrm.h:702
PLStream::dimxb
PLFLT dimxb
Definition
plstrm.h:663
PLStream::label_func
PLLABEL_FUNC_callback label_func
Definition
plstrm.h:697
PLStream::curry
PLINT curry
Definition
plstrm.h:673
PLStream::sppxmi
PLINT sppxmi
Definition
plstrm.h:703
PLStream::verbose
PLINT verbose
Definition
plstrm.h:527
PLStream::ylength
PLINT ylength
Definition
plstrm.h:617
PLStream::zdigmax
PLINT zdigmax
Definition
plstrm.h:694
PLStream::dev_arc
PLINT dev_arc
Definition
plstrm.h:572
PLStream::symdef
PLFLT symdef
Definition
plstrm.h:687
PLStream::wpxoff
PLFLT wpxoff
Definition
plstrm.h:730
PLStream::czx
PLFLT czx
Definition
plstrm.h:714
PLStream::ncol0
PLINT ncol0
Definition
plstrm.h:539
PLStream::bytecnt
PLINT bytecnt
Definition
plstrm.h:578
PLStream::vpwymi
PLFLT vpwymi
Definition
plstrm.h:726
PLStream::user
char * user
Definition
plstrm.h:639
PLStream::dipxax
PLFLT dipxax
Definition
plstrm.h:658
PLStream::cmap0
PLColor * cmap0
Definition
plstrm.h:544
PLStream::xdpi
PLFLT xdpi
Definition
plstrm.h:616
PLStream::didyay
PLFLT didyay
Definition
plstrm.h:660
PLStream::plbuf_top
size_t plbuf_top
Definition
plstrm.h:650
PLStream::plbuf_readpos
size_t plbuf_readpos
Definition
plstrm.h:651
PLStream::dev_fill0
PLINT dev_fill0
Definition
plstrm.h:571
PLStream::ipls
PLINT ipls
Definition
plstrm.h:527
PLStream::errmsg
char * errmsg
Definition
plstrm.h:629
PLStream::wdxscl
PLFLT wdxscl
Definition
plstrm.h:732
PLStream::wpyscl
PLFLT wpyscl
Definition
plstrm.h:730
PLStream::mindef
PLFLT mindef
Definition
plstrm.h:689
PLStream::cmap1_min
PLFLT cmap1_min
Definition
plstrm.h:541
PLStream::dimxmax
PLFLT dimxmax
Definition
plstrm.h:664
PLStream::ydigits
PLINT ydigits
Definition
plstrm.h:695
PLStream::aspori
PLFLT aspori
Definition
plstrm.h:659
PLStream::vppymi
PLINT vppymi
Definition
plstrm.h:702
PLStream::pendn
PLINT pendn
Definition
plstrm.h:677
PLStream::sppymi
PLINT sppymi
Definition
plstrm.h:703
PLStream::dev_hrshsym
PLINT dev_hrshsym
Definition
plstrm.h:753
PLStream::didyb
PLFLT didyb
Definition
plstrm.h:660
PLStream::dioyax
PLFLT dioyax
Definition
plstrm.h:662
PLStream::wpxscl
PLFLT wpxscl
Definition
plstrm.h:730
PLStream::y_polygon
const PLFLT * y_polygon
Definition
plstrm.h:779
PLStream::plbuf_buffer
void * plbuf_buffer
Definition
plstrm.h:649
PLStream::boxbb_ymin
PLFLT boxbb_ymin
Definition
plstrm.h:798
PLStream::page
PLINT page
Definition
plstrm.h:578
PLStream::cyz
PLFLT cyz
Definition
plstrm.h:714
PLStream::family
PLINT family
Definition
plstrm.h:570
PLStream::LocateEH_data
void * LocateEH_data
Definition
plstrm.h:608
PLStream::dipyb
PLFLT dipyb
Definition
plstrm.h:658
PLStream::dev_npts
PLINT dev_npts
Definition
plstrm.h:581
PLStream::member
PLINT member
Definition
plstrm.h:570
PLStream::ext_resize_draw
int ext_resize_draw
Definition
plstrm.h:635
PLStream::imclxmin
PLINT imclxmin
Definition
plstrm.h:590
PLStream::dipxmax
PLFLT dipxmax
Definition
plstrm.h:657
PLStream::wmyoff
PLFLT wmyoff
Definition
plstrm.h:731
PLStream::dev_modeset
PLINT dev_modeset
Definition
plstrm.h:791
PLStream::domxma
PLFLT domxma
Definition
plstrm.h:712
PLStream::spdymi
PLFLT spdymi
Definition
plstrm.h:724
PLStream::space
PLINT space[10]
Definition
plstrm.h:676
PLStream::page_status
PLINT page_status
Definition
plstrm.h:665
PLStream::debug
PLINT debug
Definition
plstrm.h:527
PLStream::errcode
PLINT * errcode
Definition
plstrm.h:628
PLStream::server_nokill
int server_nokill
Definition
plstrm.h:643
PLStream::jy
PLFLT jy
Definition
plstrm.h:659
PLStream::curel
PLINT curel
Definition
plstrm.h:677
PLStream::color
PLINT color
Definition
plstrm.h:569
PLStream::dev_dash
PLINT dev_dash
Definition
plstrm.h:571
PLStream::server_port
char * server_port
Definition
plstrm.h:639
PLStream::dev_y
short * dev_y
Definition
plstrm.h:582
PLStream::clpyma
PLINT clpyma
Definition
plstrm.h:704
PLStream::stream_closed
PLBOOL stream_closed
Definition
plstrm.h:782
PLStream::cmap1cp_is_rgb
PLBOOL cmap1cp_is_rgb
Definition
plstrm.h:548
PLStream::esc
char esc
Definition
plstrm.h:681
PLStream::nopixmap
int nopixmap
Definition
plstrm.h:635
PLStream::xoffset
PLINT xoffset
Definition
plstrm.h:618
PLStream::dioxb
PLFLT dioxb
Definition
plstrm.h:662
PLStream::wmyscl
PLFLT wmyscl
Definition
plstrm.h:731
PLStream::LocateEH
void(* LocateEH)(PLGraphicsIn *gin, void *LocateEH_data, int *locate_mode)
Definition
plstrm.h:606
PLStream::db
int db
Definition
plstrm.h:635
PLStream::plbuf_write
PLINT plbuf_write
Definition
plstrm.h:567
PLStream::domymi
PLFLT domymi
Definition
plstrm.h:712
PLStream::width
PLFLT width
Definition
plstrm.h:552
PLStream::dev_clear
PLINT dev_clear
Definition
plstrm.h:572
PLStream::OutFile
FILE * OutFile
Definition
plstrm.h:575
PLStream::timefmt
char * timefmt
Definition
plstrm.h:696
PLStream::initialized
PLINT initialized
Definition
plstrm.h:527
PLStream::x_polygon
const PLFLT * x_polygon
Definition
plstrm.h:779
PLStream::dev_data
void * dev_data
Definition
plstrm.h:596
PLStream::dimymin
PLFLT dimymin
Definition
plstrm.h:664
PLStream::yoffset
PLINT yoffset
Definition
plstrm.h:618
PLStream::dev_x
short * dev_x
Definition
plstrm.h:582
PLStream::jx
PLFLT jx
Definition
plstrm.h:659
PLStream::wdxoff
PLFLT wdxoff
Definition
plstrm.h:732
PLStream::dev_zmin
unsigned short dev_zmin
Definition
plstrm.h:589
PLStream::chrht
PLFLT chrht
Definition
plstrm.h:686
PLStream::vpdymi
PLFLT vpdymi
Definition
plstrm.h:725
PLStream::bop_handler
void(* bop_handler)(void *bop_data, int *skip_driver_bop)
Definition
plstrm.h:610
PLStream::plwindow
char * plwindow
Definition
plstrm.h:640
PLStream::dimxpmm
PLFLT dimxpmm
Definition
plstrm.h:664
PLStream::dev_fastimg
PLINT dev_fastimg
Definition
plstrm.h:572
PLStream::vpdxma
PLFLT vpdxma
Definition
plstrm.h:725
PLStream::wdyoff
PLFLT wdyoff
Definition
plstrm.h:732
PLStream::tidy
void(* tidy)(void *)
Definition
plstrm.h:623
PLStream::dimyb
PLFLT dimyb
Definition
plstrm.h:663
PLStream::dev_gradient
PLINT dev_gradient
Definition
plstrm.h:773
PLStream::base3x
PLFLT base3x
Definition
plstrm.h:711
PLStream::dev_nptsX
PLINT dev_nptsX
Definition
plstrm.h:586
PLStream::imclymax
PLINT imclymax
Definition
plstrm.h:590
PLStream::basecy
PLFLT basecy
Definition
plstrm.h:711
PLStream::cyy
PLFLT cyy
Definition
plstrm.h:714
PLStream::plwin
PLWindow plwin[PL_MAXWINDOWS]
Definition
plstrm.h:719
PLStream::geometry
char * geometry
Definition
plstrm.h:633
PLStream::aspect
PLFLT aspect
Definition
plstrm.h:659
PLStream::mark
PLINT mark[10]
Definition
plstrm.h:676
PLStream::boxbb_ymax
PLFLT boxbb_ymax
Definition
plstrm.h:798
PLStream::dev_unicode
PLINT dev_unicode
Definition
plstrm.h:747
PLStream::arrow_fill
PLINT arrow_fill
Definition
plstrm.h:559
PLStream::tmpcolor
PLColor tmpcolor
Definition
plstrm.h:543
PLStream::curcolor
PLColor curcolor
Definition
plstrm.h:543
PLStream::widthset
PLINT widthset
Definition
plstrm.h:553
PLStream::dimypmm
PLFLT dimypmm
Definition
plstrm.h:664
PLStream::cxx
PLFLT cxx
Definition
plstrm.h:714
PLStream::icol1
PLINT icol1
Definition
plstrm.h:539
PLStream::FileName
char * FileName
Definition
plstrm.h:576
PLStream::dev_minor
PLINT dev_minor
Definition
plstrm.h:568
PLStream::cfont
PLINT cfont
Definition
plstrm.h:737
PLStream::mf_infile
char * mf_infile
Definition
plstrm.h:802
PLStream::nsuby
PLINT nsuby
Definition
plstrm.h:723
PLStream::dev_xor
PLINT dev_xor
Definition
plstrm.h:572
PLStream::dispatch_table
PLDispatchTable * dispatch_table
Definition
plstrm.h:563
PLStream::czz
PLFLT czz
Definition
plstrm.h:714
PLStream::program
char * program
Definition
plstrm.h:530
PLStream::ydigmax
PLINT ydigmax
Definition
plstrm.h:694
PLStream::tk_file
char * tk_file
Definition
plstrm.h:642
PLStream::dev_initialized
PLINT dev_initialized
Definition
plstrm.h:527
PLStream::chrdef
PLFLT chrdef
Definition
plstrm.h:686
PLStream::vpdxmi
PLFLT vpdxmi
Definition
plstrm.h:725
PLStream::linepos
PLINT linepos
Definition
plstrm.h:578
PLStream::widthlock
PLINT widthlock
Definition
plstrm.h:553
PLStream::czy
PLFLT czy
Definition
plstrm.h:714
PLStream::eop_data
void * eop_data
Definition
plstrm.h:614
PLStream::dev_iy
short * dev_iy
Definition
plstrm.h:587
PLStream::xgradient
PLINT * xgradient
Definition
plstrm.h:775
PLStream::tidy_data
void * tidy_data
Definition
plstrm.h:624
PLStream::diclpyma
PLINT diclpyma
Definition
plstrm.h:656
PLStream::patt
PLINT patt
Definition
plstrm.h:669
PLStream::get_string_length
PLINT get_string_length
Definition
plstrm.h:787
PLStream::dev_ix
short * dev_ix
Definition
plstrm.h:587
PLStream::sppxma
PLINT sppxma
Definition
plstrm.h:703
PLStream::dipxmin
PLFLT dipxmin
Definition
plstrm.h:657
PLStream::freeaspect
PLINT freeaspect
Definition
plstrm.h:665
PLStream::dev_z
unsigned short * dev_z
Definition
plstrm.h:588
PLStream::phyymi
PLINT phyymi
Definition
plstrm.h:705
PLStream::plPlotterPtr
struct PlPlotter * plPlotterPtr
Definition
plstrm.h:742
PLStream::ranmi
PLFLT ranmi
Definition
plstrm.h:713
PLStream::precis
PLINT precis
Definition
plstrm.h:693
PLStream::dev_zmax
unsigned short dev_zmax
Definition
plstrm.h:589
PLStream::spdxmi
PLFLT spdxmi
Definition
plstrm.h:724
PLStream::majht
PLFLT majht
Definition
plstrm.h:688
PLStream::dev_text
PLINT dev_text
Definition
plstrm.h:572
PLStream::vpwxmi
PLFLT vpwxmi
Definition
plstrm.h:726
PLStream::BaseName
char * BaseName
Definition
plstrm.h:576
PLStream::phyyma
PLINT phyyma
Definition
plstrm.h:705
PLStream::vppxma
PLINT vppxma
Definition
plstrm.h:702
PLStream::aspdev
PLFLT aspdev
Definition
plstrm.h:659
PLStream::fflen
PLINT fflen
Definition
plstrm.h:570
PLStream::dipymin
PLFLT dipymin
Definition
plstrm.h:657
PLStream::termin
PLINT termin
Definition
plstrm.h:568
PLStream::delta
PLINT delta[2]
Definition
plstrm.h:669
PLStream::DevName
char DevName[80]
Definition
plstrm.h:574
PLStream::majdef
PLFLT majdef
Definition
plstrm.h:688
PLStream::nps
PLINT nps
Definition
plstrm.h:669
PLStream::dimyay
PLFLT dimyay
Definition
plstrm.h:663
PLStream::boxbb_xmin
PLFLT boxbb_xmin
Definition
plstrm.h:798
PLStream::didxax
PLFLT didxax
Definition
plstrm.h:660
PLStream::wmxscl
PLFLT wmxscl
Definition
plstrm.h:731
PLStream::dioyb
PLFLT dioyb
Definition
plstrm.h:662
PLStream::phyxlen
PLINT phyxlen
Definition
plstrm.h:705
PLStream::timecnt
PLINT timecnt
Definition
plstrm.h:677
PLStream::vpwyma
PLFLT vpwyma
Definition
plstrm.h:726
PLStream::output_type
int output_type
Definition
plstrm.h:577
PLStream::phyxmi
PLINT phyxmi
Definition
plstrm.h:705
PLStream::dev_swin
PLINT dev_swin
Definition
plstrm.h:571
PLStream::original_chrht
PLFLT original_chrht
Definition
plstrm.h:759
PLStream::mar
PLFLT mar
Definition
plstrm.h:659
PLStream::dev_mem_alpha
PLINT dev_mem_alpha
Definition
plstrm.h:784
PLStream::plbuf_buffer_size
size_t plbuf_buffer_size
Definition
plstrm.h:648
PLStream::device
PLINT device
Definition
plstrm.h:568
PLStream::setpre
PLINT setpre
Definition
plstrm.h:693
PLStream::plbuf_read
PLINT plbuf_read
Definition
plstrm.h:567
PLStream::has_string_length
PLINT has_string_length
Definition
plstrm.h:785
PLStream::dimxmin
PLFLT dimxmin
Definition
plstrm.h:664
PLStream::string_length
PLFLT string_length
Definition
plstrm.h:786
PLStream::umx
PLINT umx
Definition
plstrm.h:706
PLStream::xdigmax
PLINT xdigmax
Definition
plstrm.h:694
PLStream::eop_handler
void(* eop_handler)(void *eop_data, int *skip_driver_eop)
Definition
plstrm.h:613
PLStream::dev
void * dev
Definition
plstrm.h:594
PLStream::scale
PLFLT scale
Definition
plstrm.h:685
PLStream::cmap1
PLColor * cmap1
Definition
plstrm.h:545
PLStream::domxmi
PLFLT domxmi
Definition
plstrm.h:712
PLStream::clpxmi
PLINT clpxmi
Definition
plstrm.h:704
PLStream::difilt
PLINT difilt
Definition
plstrm.h:656
PLStream::cyx
PLFLT cyx
Definition
plstrm.h:714
PLStream::xlength
PLINT xlength
Definition
plstrm.h:617
PLStream::arrow_y
PLFLT * arrow_y
Definition
plstrm.h:557
PLStream::base3y
PLFLT base3y
Definition
plstrm.h:711
PLStream::clpxma
PLINT clpxma
Definition
plstrm.h:704
PLStream::nsubx
PLINT nsubx
Definition
plstrm.h:723
PLStream::server_name
char * server_name
Definition
plstrm.h:639
PLStream::portrait
PLINT portrait
Definition
plstrm.h:665
PLStream::nms
PLINT nms
Definition
plstrm.h:676
PLStream::label_data
PLPointer label_data
Definition
plstrm.h:698
PLStream::graphx
PLINT graphx
Definition
plstrm.h:568
PLStream::hack
PLINT hack
Definition
plstrm.h:619
PLStream::dev_fill1
PLINT dev_fill1
Definition
plstrm.h:571
PLStream::diclpxma
PLINT diclpxma
Definition
plstrm.h:656
PLStream::imclymin
PLINT imclymin
Definition
plstrm.h:590
PLStream::level
PLINT level
Definition
plstrm.h:527
PLStream::arrow_npts
PLINT arrow_npts
Definition
plstrm.h:558
PLStream::didxb
PLFLT didxb
Definition
plstrm.h:660
PLStream::vpdyma
PLFLT vpdyma
Definition
plstrm.h:725
PLStream::inclin
PLINT inclin[2]
Definition
plstrm.h:669
PLStream::cmap1_max
PLFLT cmap1_max
Definition
plstrm.h:541
PLStream::dioyay
PLFLT dioyay
Definition
plstrm.h:662
PLStream::nopause
PLINT nopause
Definition
plstrm.h:568
PLStream::auto_path
char * auto_path
Definition
plstrm.h:641
PLStream::cmap1cp
PLControlPt cmap1cp[PL_MAX_CMAP1CP]
Definition
plstrm.h:547
PLStream::qsasconfig
QSASConfig * qsasconfig
Definition
plstrm.h:770
PLStream::cxy
PLFLT cxy
Definition
plstrm.h:714
PLStream::ypmm
PLFLT ypmm
Definition
plstrm.h:707
PLStream::alt_unicode
PLINT alt_unicode
Definition
plstrm.h:749
PLStream::fci
PLUNICODE fci
Definition
plstrm.h:751
PLStream::ydpi
PLFLT ydpi
Definition
plstrm.h:616
PLStream::bop_data
void * bop_data
Definition
plstrm.h:611
PLStream::boxbb_xmax
PLFLT boxbb_xmax
Definition
plstrm.h:798
PLStream::dev_flush
PLINT dev_flush
Definition
plstrm.h:571
PLStream::ygradient
PLINT * ygradient
Definition
plstrm.h:775
PLStream::zdigits
PLINT zdigits
Definition
plstrm.h:695
PLStream::pdfs
PDFstrm * pdfs
Definition
plstrm.h:579
PLStream::colorset
PLINT colorset
Definition
plstrm.h:569
PLStream::dp
int dp
Definition
plstrm.h:643
PLStream::ButtonEH
void(* ButtonEH)(PLGraphicsIn *gin, void *ButtonEH_data, int *exit_eventloop)
Definition
plstrm.h:602
PLStream::alarm
PLINT alarm
Definition
plstrm.h:677
PLStream::dev_nptsY
PLINT dev_nptsY
Definition
plstrm.h:586
PLStream::vppxmi
PLINT vppxmi
Definition
plstrm.h:702
PLStream::FT
void * FT
Definition
plstrm.h:739
PLStream::dimymax
PLFLT dimymax
Definition
plstrm.h:664
PLStream::dev_eofill
PLINT dev_eofill
Definition
plstrm.h:788
PLStream::caspfactor
PLFLT caspfactor
Definition
plstrm.h:659
PLStream::xdigits
PLINT xdigits
Definition
plstrm.h:695
PLStream::minht
PLFLT minht
Definition
plstrm.h:689
PLStream::dev_di
PLINT dev_di
Definition
plstrm.h:571
PLStream::imclxmax
PLINT imclxmax
Definition
plstrm.h:590
PLStream::dimxax
PLFLT dimxax
Definition
plstrm.h:663
PLStream::wmxoff
PLFLT wmxoff
Definition
plstrm.h:731
PLStream::ranma
PLFLT ranma
Definition
plstrm.h:713
PLStream::bufmax
int bufmax
Definition
plstrm.h:643
PLStream::diclpxmi
PLINT diclpxmi
Definition
plstrm.h:656
PLStream::icol0
PLINT icol0
Definition
plstrm.h:539
PLStream::coordinate_transform
PLTRANSFORM_callback coordinate_transform
Definition
plstrm.h:534
PLStream::server_host
char * server_host
Definition
plstrm.h:639
PLStream::phyxma
PLINT phyxma
Definition
plstrm.h:705
PLStream::xpmm
PLFLT xpmm
Definition
plstrm.h:707
PLStream::KeyEH_data
void * KeyEH_data
Definition
plstrm.h:600
PLStream::spdyma
PLFLT spdyma
Definition
plstrm.h:724
PLStream::currx
PLINT currx
Definition
plstrm.h:673
PLStream::cursub
PLINT cursub
Definition
plstrm.h:723
PLStream::bytemax
PLINT bytemax
Definition
plstrm.h:570
PLStream::coordinate_transform_data
PLPointer coordinate_transform_data
Definition
plstrm.h:535
PLStream::wpyoff
PLFLT wpyoff
Definition
plstrm.h:730
PLStream::mf_outfile
char * mf_outfile
Definition
plstrm.h:803
PLStream::zzscl
PLFLT zzscl
Definition
plstrm.h:713
PLStream::umy
PLINT umy
Definition
plstrm.h:706
PLStream::dipyay
PLFLT dipyay
Definition
plstrm.h:658
PLStream::line_style
PLINT line_style
Definition
plstrm.h:783
PLStream::spdxma
PLFLT spdxma
Definition
plstrm.h:724
PLStream::plbufOwner
int plbufOwner
Definition
plstrm.h:652
PLStream::diorot
PLFLT diorot
Definition
plstrm.h:661
PLWindow
Definition
plplot.h:451
PlPlotter
Definition
plplotter.c:101
include
plstrm.h
Generated on
for PLplot by
1.17.0