IPBasic.mesa
Copyright © 1984 Xerox Corporation. All rights reserved.
Doug Wyatt, November 6, 1984 9:11:58 am PST
Basic Interpress types.
IPBasic: CEDAR DEFINITIONS
~ BEGIN
Op: TYPE ~ {nil,
Base language primitives
get, makeveclu, makevec, shape, openvec, getprop, getp, mergeprop, -- 2.4.3
frame, fget, fset, poolop, pool, pget, pset, env, -- 2.4.4
makepool, nopool, makeco, makesimpleco, do, dosave, dosaveall, -- 2.4.5
dobody, dosavebody, dosaveallbody, dosavesimplebody, makecompiledimage,
pop, copy, dup, roll, exch, mark, unmark, unmark0, count, nop, error, -- 2.4.6
if, ifelse, ifcopy, loop, -- 2.4.7
eq, eqname, gt, ge, and, or, not, type, -- 2.4.8
add, sub, neg, abs, floor, ceiling, trunc, round, mul, div, mod, rem, -- 2.4.9
max, min, sqrt, exp, log, sin, cos, atan,
Imaging primitives
iget, iset, -- 4.2
dround, -- 4.3.5
maket, opent, translate, rotate, scale, scale2, concat, invert, -- 4.4.3
transform, transformvec, roundxy, roundxyvec, -- 4.4.4
concatt, move, trans, -- 4.4.5
show, showandxrel, -- 4.4.6
setxy, setxyrel, setxrel, setyrel, getcp, getcprounded, -- 4.5
makepixelarray, extractpixelarray, joinpixelarrays, -- 4.6
finddecompressor, -- 4.6.1
makegray, findcolor, findcoloroperator, findcolormodeloperator, -- 4.7.1
makesampledcolor, makesampledblack, -- 4.7.2
setgray, -- 4.7.3
moveto, lineto, linetox, linetoy, curveto, conicto, arcto, makeoutline, -- 4.8.1
maskfill, maskfillparity, maskstroke, maskstrokeclosed, maskvector, maskrectangle, -- 4.8.2
startunderline, maskunderline, masktrapezoidx, masktrapezoidy,
maskpixel, -- 4.8.3
clipoutline, cliprectangle, -- 4.8.4
findfont, findfontvec, -- 4.9.1
modifyfont, setfont, -- 4.9.2
correctmask, correctspace, correct, -- 4.10
setcorrectmeasure, setcorrecttolerance, space, -- 4.10.2
Symbols
beginBody, endBody, beginBlock, endBlock,
pageInstructions, noPages, metricMaster, environmentMaster
};
Primitive: TYPE ~ Op[nil..space];
TypeCode: TYPE ~ MACHINE DEPENDENT {null(0),
number(1), identifier(2), vector(3), operator(4), -- Base types
transformation(5), pixelArray(6), color(7), trajectory(8), outline(9), -- Image types
other(10)
};
ImagerVariable: TYPE ~ MACHINE DEPENDENT {
DCScpx(0), DCScpy(1),
correctMX(2), correctMY(3),
T(4),
priorityImportant(5),
mediumXSize(6), mediumYSize(7),
fieldXMin(8), fieldYMin(9),
fieldXMax(10), fieldYMax(11),
showVec(12),
color(13),
noImage(14),
strokeWidth(15),
strokeStyle(16),
underlineStart(17),
amplifySpace(18),
correctPass(19),
correctShrink(20),
correctTX(21), correctTY(22)
};
StrokeStyle: TYPE ~ MACHINE DEPENDENT {
square(0), butt(1), round(2), -- standard, all with mitered joints
three(3), four(4), five(5) -- for expansion (round joints, probably)
};
Rational: TYPE ~ RECORD[num, den: INT]; -- an encoded rational number
Version: TYPE ~ RECORD[major, minor: CARDINAL];
currentVersion: Version ~ [major: 2, minor: 1]; -- current version is 2.1
END.