(FILECREATED "20-Nov-84 13:43:25" {AZTEC}<TRILLIUM>BIRTHDAY84>RERELEASE>TRI-ITEMTYPES.;2 13235 changes to: (VARS TRI-ITEMTYPESCOMS) previous date: "17-Aug-84 23:10:41" {AZTEC}<TRILLIUM>BIRTHDAY84>RERELEASE>TRI-ITEMTYPES.;1) (PRETTYCOMPRINT TRI-ITEMTYPESCOMS) (RPAQQ TRI-ITEMTYPESCOMS ((FNS BITMAP/DIAGONAL POSITION/PLUS VECTOR/TIMES) (ITEMTYPES * TRILLIUM.ITEM.TYPES) (P (MARK.OBJECT.FILE (QUOTE TRI-ITEMTYPES) NIL) (COMPILE.INTERNAL.FNS.IF.NECESSARY)))) (DEFINEQ (BITMAP/DIAGONAL [LAMBDA (BITMAP) (* DAHJr "10-MAR-83 14:20") (CONS (fetch (BITMAP BITMAPWIDTH) of BITMAP) (fetch (BITMAP BITMAPHEIGHT) of BITMAP]) (POSITION/PLUS [LAMBDA (POSITION VECTOR) (* DAHJr "10-MAR-83 14:23") (CONS (IPLUS (CAR POSITION) (CAR VECTOR)) (IPLUS (CDR POSITION) (CDR VECTOR]) (VECTOR/TIMES [LAMBDA (VECTOR SCALAR) (* DAHJr "10-MAR-83 14:24") (CONS (FIX (TIMES (CAR VECTOR) SCALAR)) (FIX (TIMES (CDR VECTOR) SCALAR]) ) (RPAQQ TRILLIUM.ITEM.TYPES (BITMAP COLOR GRID.DEFINITION GROUP)) (READ.ITEMTYPE BITMAP 5) (\TYPE ITEM.TYPE NAME BITMAP COMMENT "A bitmap for use in other frames" KIND ARTWORK PARAMETERS (( \TYPE PARAMETER NAME PLACEMENT TYPE (POSITION) DEFAULT (100 . 100) COMMENT "The lower left corner of the bitmap") (\TYPE PARAMETER NAME NAME TYPE (CONSTANT) DEFAULT EXAMPLE.BITMAP COMMENT "The bits") (\TYPE PARAMETER NAME BITMAP TYPE (BITMAP) DEFAULT {( READBITMAP)(100 100 "OOOOOOOOOOOOOOOOOOOOOOOOO@@@" "OOOOOOOOOOOOOOOOOOOOOOOOO@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "OOOOOOOOOOOOOOOOOOOOOOOOO@@@" "OOOOOOOOOOOOOOOOOOOOOOOOO@@@")} COMMENT "The bits")) OTHER (FNS ((BOUNDING.BOX BOUNDING.BOX.BITMAP) (SHOW SHOW.BITMAP)) BITMAPS ((EXAMPLE.BITMAP {(READBITMAP)(100 100 "OOOOOOOOOOOOOOOOOOOOOOOOO@@@" "OOOOOOOOOOOOOOOOOOOOOOOOO@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AOOOOOOH@@@OOOOOOON@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@GN@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AOOOOOOH@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@@@@@@@C@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@COOOONC@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AO@@@@@@@@@OL@@@@CO@@C@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@AOOOOOOHOL@OOOOOOOOAOK@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "L@@@@@@@@@@@@@@@@@@@@@@@C@@@" "OOOOOOOOOOOOOOOOOOOOOOOOO@@@" "OOOOOOOOOOOOOOOOOOOOOOOOO@@@")}))) CLASSES (ARTWORK SERVICE)) (DEFINEQ (BOUNDING.BOX.BITMAP [LAMBDA (ITEM) (* HaKo "27-Jul-84 16:27") (PROG ((POS (GET.PARAMQ ITEM PLACEMENT BITMAP)) (BITMAP (GET.PARAMQ ITEM BITMAP BITMAP))) (RETURN (LIST (fetch (POSITION XCOORD) of POS) (fetch (POSITION YCOORD) of POS) (fetch (BITMAP BITMAPWIDTH) of BITMAP) (fetch (BITMAP BITMAPHEIGHT) of BITMAP]) (SHOW.BITMAP [LAMBDA (ITEM) (* HaKo "27-Jul-84 16:27") (* edited: "24-MAR-82 17:11") (DECLARE (GLOBALVARS CURRENT.DSP)) (PROG ((BITMAP (GET.PARAMQ ITEM BITMAP BITMAP)) (POSITION (GET.PARAMQ ITEM PLACEMENT BITMAP))) (BITBLT BITMAP 0 0 CURRENT.DSP (fetch (POSITION XCOORD) of POSITION) (fetch (POSITION YCOORD) of POSITION) (fetch (BITMAP BITMAPWIDTH) of BITMAP) (fetch (BITMAP BITMAPHEIGHT) of BITMAP) (QUOTE INPUT) (QUOTE REPLACE]) ) (READ.ITEMTYPE COLOR 5) (\TYPE ITEM.TYPE NAME COLOR COMMENT "A color definition" KIND ARTWORK PARAMETERS ((\TYPE PARAMETER NAME PLACEMENT TYPE (POSITION) DEFAULT (170 . 170) COMMENT "The location of this item" GRID.TYPE ( LOCATION)) (\TYPE PARAMETER NAME NAME TYPE (CONSTANT) DEFAULT GRAY COMMENT "The name of this color" ) (\TYPE PARAMETER NAME COLOR TYPE (COLOR.NUMBER) DEFAULT 0 COMMENT "The color") (\TYPE PARAMETER NAME REPRESENTATIVE.GRAY TYPE (SHADE) DEFAULT 42405 COMMENT "The shade of gray to be used to represent this color on a B&W display")) OTHER (FNS ((BOUNDING.BOX BOUNDING.BOX.COLOR) (SHOW SHOW.COLOR))) CLASSES (ARTWORK SERVICE)) (DEFINEQ (BOUNDING.BOX.COLOR [LAMBDA (ITEM) (* HaKo "27-Jul-84 16:27") (PROG ((POSITION (GET.PARAMQ ITEM PLACEMENT COLOR))) (RETURN (create REGION LEFT ←(fetch (POSITION XCOORD) of POSITION) BOTTOM ←(fetch (POSITION YCOORD) of POSITION) WIDTH ← 50 HEIGHT ← 50]) (SHOW.COLOR [LAMBDA (ITEM) (* HaKo "27-Jul-84 16:32") (DECLARE (GLOBALVARS CURRENT.DSP IN.LIVING.COLOR WHOLECOLORDISPLAY)) (PROG ((BOUNDING.BOX (GET.FIELDQ ITEM BOUNDING.BOX)) (REPRESENTATIVE.GRAY (GET.PARAMQ ITEM REPRESENTATIVE.GRAY))) (BITBLT NIL 0 0 CURRENT.DSP (fetch (REGION LEFT) of BOUNDING.BOX) (fetch (REGION BOTTOM) of BOUNDING.BOX) (fetch (REGION WIDTH) of BOUNDING.BOX) (fetch (REGION HEIGHT) of BOUNDING.BOX) (QUOTE TEXTURE) (QUOTE REPLACE) REPRESENTATIVE.GRAY) (COND (IN.LIVING.COLOR (COLORFILL (INTERSECTREGIONS BOUNDING.BOX WHOLECOLORDISPLAY) (GET.PARAMQ ITEM COLOR) (COLORSCREENBITMAP) (QUOTE REPLACE]) ) (READ.ITEMTYPE GRID.DEFINITION 5) (\TYPE ITEM.TYPE NAME GRID.DEFINITION COMMENT "A region which defines a grid" KIND ARTWORK PARAMETERS ((\TYPE PARAMETER NAME REGION TYPE (REGION) DEFAULT (100 100 10 10) COMMENT "A region defining one section of a grid") (\TYPE PARAMETER NAME NAME TYPE (CONSTANT) DEFAULT "Un-named grid" COMMENT "A name for the grid") (\TYPE PARAMETER NAME HORIZONTAL.DIVISIONS TYPE ( INTEGER) DEFAULT 1 COMMENT "Horizontal divisions") (\TYPE PARAMETER NAME VERTICAL.DIVISIONS TYPE ( INTEGER) DEFAULT 1 COMMENT "Vertical divisions")) OTHER (FNS ((BOUNDING.BOX BOUNDING.BOX.GRID.DEFINITION) (SHOW SHOW.GRID.DEFINITION))) CLASSES (ARTWORK)) (DEFINEQ (BOUNDING.BOX.GRID.DEFINITION [LAMBDA (ITEM) (* HaKo "27-Jul-84 16:33") (GET.PARAMQ ITEM REGION GRID.DEFINITION]) (SHOW.GRID.DEFINITION [LAMBDA (ITEM) (* DAHJr "17-APR-83 15:59") (* SHOW NOTHING: THIS IS A SUPPORT ITEM) NIL]) ) (READ.ITEMTYPE GROUP 5) (\TYPE ITEM.TYPE NAME GROUP COMMENT "A translatable group of items" KIND COMPOSITE PARAMETERS (( \TYPE PARAMETER NAME PLACEMENT TYPE (POSITION) DEFAULT (170 . 170) COMMENT "The location of the group: relative origin for items" GRID.TYPE (LOCATION)) (\TYPE PARAMETER NAME MEMBERS TYPE (LIST (ITEM)) DEFAULT NIL COMMENT "Members of the group")) SUBITEM.SPECS ((EVAL ( ANALYZE.GROUP))) OTHER (FNS ((ANALYZE ANALYZE.GROUP))) CLASSES (COMPOSITE)) (DEFINEQ (ANALYZE.GROUP [LAMBDA (ITEM) (* HaKo "27-Jul-84 11:24") (* DAHJr " 5-DEC-83 20:22") (DECLARE (SPECVARS MEMBERS PLACEMENT)) (PROG (DXCOORD DYCOORD NEW.ITEM) (SETQ DXCOORD (fetch (POSITION XCOORD) of PLACEMENT)) (SETQ DYCOORD (fetch (POSITION YCOORD) of PLACEMENT)) (RETURN (for MEMBERITEM in MEMBERS collect (SETQ NEW.ITEM (COPY.ITEM MEMBERITEM)) (TRANSLATE.PLACEMENT NEW.ITEM DXCOORD DYCOORD) NEW.ITEM]) ) (MARK.OBJECT.FILE (QUOTE TRI-ITEMTYPES) NIL) (COMPILE.INTERNAL.FNS.IF.NECESSARY) (DECLARE: DONTCOPY (FILEMAP (NIL (513 1160 (BITMAP/DIAGONAL 523 . 745) (POSITION/PLUS 747 . 949) (VECTOR/TIMES 951 . 1158 )) (8019 9086 (BOUNDING.BOX.BITMAP 8029 . 8454) (SHOW.BITMAP 8456 . 9084)) (9757 10916 ( BOUNDING.BOX.COLOR 9767 . 10127) (SHOW.COLOR 10129 . 10914)) (11597 12016 ( BOUNDING.BOX.GRID.DEFINITION 11607 . 11778) (SHOW.GRID.DEFINITION 11780 . 12014)) (12500 13128 ( ANALYZE.GROUP 12510 . 13126))))) STOP