DIRECTORY PartitionDefs; NStripeDefs: CEDAR DEFINITIONS = BEGIN InitStripe: PROCEDURE [x: CARDINAL, y: CARDINAL]; WriteRectangle: PROCEDURE [ Layer: PartitionDefs.layerNumber, Width, Height, X1, Y1: REAL]; WriteTrapezoid: PROCEDURE [ Layer: PartitionDefs.layerNumber, Width, Height, X1, Y1, dX1, dX2: REAL]; Code: TYPE = [0..100B); rectangleCode: Code = 16; parallelogramCode: Code = 17; trapezoid1Code: Code = 18; trapezoid2Code: Code = 19; trapezoid3Code: Code = 20; Rectangle: TYPE = MACHINE DEPENDENT RECORD [ H (0: 0..9): (0..2000B], code (0: 10..15): Code _ rectangleCode, W (1): [0..100000B], -- 0 is not permitted X1 (2): [0..100000B), reserved1 (3: 0..7): [0..400B) _ 0, Y1 (3: 8..15): [0..400B)]; BasicQuadrilateral: TYPE = MACHINE DEPENDENT RECORD [ H (0: 0..9): (0..2000B], code (0: 10..15): Code, W (1): [0..177777B], X1 (2): [0..177777B], reserved1 (3: 0..7): [0..400B) _ 0, Y1 (3: 8..15): [0..400B), DX (4): [0..177777B], DXHigh (5: 0..5): [0..100B), X1High (5: 6..10): [0..40B), -- x1 = 200000B*X1High+X1 WHigh (5: 11..15): [0..40B)]; -- w = 200000B*WHigh+W Trapezoid3: TYPE = MACHINE DEPENDENT RECORD [ H (0: 0..9): (0..2000B], code (0: 10..15): Code _ trapezoid3Code, W (1): [0..177777B], -- 0 is not permitted X1 (2): [0..177777B], DX2High (3: 0..5): [0..100B), Y1 (3: 6..15): [0..2000B), DX1 (4): [0..177777B], DX2 (5): [0..177777B], DX1High (6: 0..5): [0..100B), X1High (6: 6..10): [0..40B), -- x1 = 200000B*X1High+X1 WHigh (6: 11..15): [0..40B)]; -- w = 200000B*WHigh+W OutOfBoundsNumber: ERROR; END. ¦NStripeDefs.mesa Updated: November 19, 1979 9:22 PM Last Edited by: McCreight, February 1, 1985 4:56:03 pm PST Output block formats .. biased representation: if you store a 1, a 0 appears in the binary form of the record. .. biased representation: if you store a 1, a 0 appears in the binary form of the record. if DXHigh<40B, dx = 200000B*DXHigh+DX if DXHigh>=40B, dx = 200000B*(DXHigh-100B)+DX .. biased representation: if you store a 1, a 0 appears in the binary form of the record. if DX2High<40B, dx2 = 200000B*DX2High+DX2 if DX2High>=40B, dx2 = 200000B*(DX2High-100B)+DX2 if DX1High<40B, dx1 = 200000B*DX1High+DX1 if DX1High>=40B, dx1 = 200000B*(DX1High-100B)+DX1 Êx˜J˜Jšœ™Jšœ#™#Jšœ:™:J˜šÏk ˜ Jšœ˜J˜—šœ œ˜ Jš˜J˜JšÏn œ œœœ˜1J˜šžœ œ˜Jšœ9œ˜?J˜—šžœ œ˜JšœCœ˜IJ˜—Jšœ™J˜Jšœœ ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜J˜š œ œœ œœ˜,šœ˜JšœY™Y—Jšœ'˜'JšœÏc˜*Jšœ˜Jšœ#˜#Jšœ˜J˜—š œœœ œœ˜5šœ˜JšœY™Y—Jšœ˜Jšœ˜Jšœ˜Jšœ#˜#Jšœ˜Jšœ˜šœ˜Jšœ%™%Jšœ-™-—JšœŸ˜6JšœŸ˜4J˜—š œ œœ œœ˜-šœ˜JšœY™Y—Jšœ(˜(JšœŸ˜*Jšœ˜šœ˜Jšœ)™)Jšœ1™1—Jšœ˜Jšœ˜Jšœ˜šœ˜Jšœ)™)Jšœ1™1—JšœŸ˜6JšœŸ˜4J˜—Jšœœ˜J˜Jšœ˜J˜J˜——…— "