1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# GTR.COM -- Polyline clipping common for the workstation transformation.
# The length of this common in integer units from startcom to endcom inclusive
# is a defined parameter in giotr.h. Values within the save area are saved
# in the TR descriptor for a device and loaded into the common (which serves
# as a cache) when GIOTR or RCURSOR is called for a device. LENGTH=28
pointer trdes[MAX_PSEUDOFILES] # pointers to giotr descriptors
int tr_stream # graphics stream currently in the cache
int startcom # dummy entry marking start of common
int pl_op # index of next cell in polyline array
bool last_point_inbounds # last point was inbounds
int pl_type # type of instruction (polyline, polymarker,...)
int wstranset # workstation transformation has been set
real xscale, yscale # scale factor, world to GKI, for transform
real xorigin, yorigin # origins in GKI coords, for transform
long cx, cy # current pen position, GKI coords
long mx1, mx2, my1, my2 # clipping viewport, GKI coords
real vx1, vx2, vy1, vy2 # NDC viewport, may extend beyond boundary
long xs[4], ys[4] # last point plotted (for clipping code)
int endcom # dummy entry marking end of saved area
short pl[LEN_PLBUF+5] # output polyline buffer (plus GKI header)
common /gtrcom/ trdes, tr_stream, startcom, pl_op, last_point_inbounds,
pl_type, wstranset, xscale, yscale, xorigin, yorigin, cx, cy,
mx1, mx2, my1, my2, vx1, vx2, vy1, vy2, xs, ys, endcom, pl
|