(FILECREATED " 2-May-86 14:06:59" {SUMEX-AIM}PS:<LANE>DSPSCALE.LSP;35 23457 changes to: (FNS DSPUNSCALE.REGION STRINGREGION!) previous date: "24-Apr-86 08:36:44" {SUMEX-AIM}PS:<LANE>DSPSCALE.LSP;34) (PRETTYCOMPRINT DSPSCALECOMS) (RPAQQ DSPSCALECOMS ((LOCALVARS . T) (FNS CENTERPRINTINREGION! CHARWIDTH! CHARWIDTHY! CURSORPOSITION! DSPROTATE DSPTRANSLATE DSPUNITS BITBLT! BITMAPBIT! BLTSHADE! DSPBACKUP! DSPBOTTOMMARGIN! DSPCLIPPINGREGION! DRAWBETWEEN! DRAWCIRCLE! DRAWCURVE! DRAWELLIPSE! DRAWLINE! DRAWPOLYGON! DRAWTO! FILLCIRCLE! FILLPOLYGON! FONTPROP! DSPLEFTMARGIN! DSPLINEFEED! GETPOSITION! MOVETO! MOVETOUPPERLEFT! DSPRIGHTMARGIN! DSPSCALE! RELDRAWTO! RELMOVETO! SCALEDBITBLT! STRINGREGION! STRINGWIDTH! DSPSPACEFACTOR! DSPTOPMARGIN! DSPXOFFSET! DSPXPOSITION! DSPYOFFSET! DSPYPOSITION!) (FNS DSPSCALE.BRUSH DSPSCALE.DASHING DSPSCALE.POINTS DSPSCALE.REGION DSPSCALE.NUMBER DSPSCALE.POSITION DSPSCALE.XPOSITION DSPSCALE.YPOSITION DSPSCALE.WIDTH DSPUNSCALE.REGION DSPUNSCALE.POSITION DSPUNSCALE.NUMBER DSPUNSCALE.CHARACTER) [INITVARS (SCRATCHBRUSH '(ROUND 1 NIL)) (SCRATCHREGION (create REGION)) (SCRATCHPOSITION (create POSITION)) (SCRATCHPOINTS (to 30 collect (create POSITION] (GLOBALVARS SCRATCHBRUSH SCRATCHREGION SCRATCHPOSITION SCRATCHPOINTS) (RECORDS CONVERT) (MACROS DSPUNSCALE.XPOSITION DSPUNSCALE.YPOSITION) (* * Temporary Backward Compatibility Functions) (FNS \SCALE.BRUSH \SCALE.DASHING \SCALE.POINTS \SCALE.REGION \SCALE.NUMBER \SCALE.POSITION \SCALE.XPOSITION \SCALE.YPOSITION \SCALE.WIDTH \UNSCALE.REGION \UNSCALE.POSITION \UNSCALE.NUMBER \UNSCALE.CHARACTER) (MACROS \UNSCALE.XPOSITION \UNSCALE.YPOSITION))) (DECLARE: DOEVAL@COMPILE DONTCOPY (LOCALVARS . T) ) (DEFINEQ (CENTERPRINTINREGION! [LAMBDA (EXP REGION STREAM) (* cdl "29-Jul-85 12:09") (CENTERPRINTINREGION EXP (if REGION then (DSPSCALE.REGION REGION STREAM)) STREAM]) (CHARWIDTH! [LAMBDA (CHARCODE FONT STREAM) (* cdl "29-Jul-85 09:11") (DSPUNSCALE.CHARACTER (CHARWIDTH CHARCODE FONT) FONT STREAM]) (CHARWIDTHY! [LAMBDA (CHARCODE FONT STREAM) (* cdl "29-Jul-85 09:12") (DSPUNSCALE.CHARACTER (CHARWIDTHY CHARCODE FONT) FONT STREAM]) (CURSORPOSITION! [LAMBDA (NEWPOSITION STREAM OLDPOSITION) (* cdl "30-Oct-85 08:15") (DSPUNSCALE.POSITION (CURSORPOSITION (if NEWPOSITION then (DSPSCALE.POSITION NEWPOSITION STREAM OLDPOSITION)) STREAM OLDPOSITION) STREAM OLDPOSITION]) (DSPROTATE [LAMBDA (ANGLE STREAM) (* cdl "29-Oct-85 16:41") (if (NUMBERP ANGLE) then (STREAMPROP (if (type? STREAM STREAM) then STREAM else (GETSTREAM STREAM)) 'ROTATE ANGLE) else (ERROR ANGLE "Not an angle"]) (DSPTRANSLATE [LAMBDA (POSITION STREAM) (* cdl "29-Oct-85 16:09") (if (POSITIONP POSITION) then (STREAMPROP (if (type? STREAM STREAM) then STREAM else (GETSTREAM STREAM)) 'TRANSLATE POSITION) else (ERROR POSITION "Not a position"]) (DSPUNITS [LAMBDA (UNITS STREAM) (* cdl "23-Apr-86 09:40") (if (NOT (type? STREAM STREAM)) then (SETQ STREAM (GETSTREAM STREAM))) (PROG1 (STREAMPROP STREAM 'UNITS) (if UNITS then (STREAMPROP STREAM 'UNITS UNITS) (STREAMPROP STREAM 'SCALED T) (LET [(RATIO (STREAMPROP STREAM 'RATIO] [if (NULL RATIO) then (STREAMPROP STREAM 'RATIO (SETQ RATIO (create CONVERT DESTINATION ← 1] (with CONVERT RATIO (SETQ SOURCE UNITS]) (BITBLT! [LAMBDA (SOURCE SOURCELEFT SOURCEBOTTOM DESTINATION DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION) (* cdl "29-Jul-85 12:09") (BITBLT SOURCE SOURCELEFT SOURCEBOTTOM DESTINATION (DSPSCALE.XPOSITION DESTINATIONLEFT DESTINATION) (DSPSCALE.YPOSITION DESTINATIONBOTTOM DESTINATION) WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE (DSPSCALE.REGION CLIPPINGREGION DESTINATION] ) (BITMAPBIT! [LAMBDA (STREAM X Y NEWVALUE) (* cdl "29-Jul-85 12:01") (BITMAPBIT STREAM (DSPSCALE.XPOSITION X STREAM) (DSPSCALE.YPOSITION Y STREAM) NEWVALUE]) (BLTSHADE! [LAMBDA (TEXTURE DESTINATION DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT OPERATION CLIPPINGREGION) (* cdl "29-Jul-85 12:02") (BLTSHADE TEXTURE DESTINATION (DSPSCALE.XPOSITION DESTINATIONLEFT DESTINATION) (DSPSCALE.YPOSITION DESTINATIONBOTTOM DESTINATION) (DSPSCALE.NUMBER WIDTH DESTINATION) (DSPSCALE.NUMBER HEIGHT DESTINATION) OPERATION (DSPSCALE.REGION CLIPPINGREGION DESTINATION]) (DSPBACKUP! [LAMBDA (WIDTH DISPLAYSTREAM) (* cdl "29-Jul-85 12:02") (DSPBACKUP (if WIDTH then (DSPSCALE.XPOSITION WIDTH DISPLAYSTREAM)) DISPLAYSTREAM]) (DSPBOTTOMMARGIN! [LAMBDA (YPOSITION STREAM) (* cdl "29-Jul-85 12:02") (DSPUNSCALE.YPOSITION (DSPBOTTOMMARGIN (if YPOSITION then (DSPSCALE.YPOSITION YPOSITION STREAM)) STREAM) STREAM]) (DSPCLIPPINGREGION! [LAMBDA (REGION STREAM) (* cdl "29-Jul-85 08:41") (DSPUNSCALE.REGION (DSPCLIPPINGREGION (if REGION then (DSPSCALE.REGION REGION STREAM)) STREAM) STREAM]) (DRAWBETWEEN! [LAMBDA (PT1 PT2 WIDTH OPERATION STREAM COLOR DASHING) (* cdl "29-Oct-85 15:30") (DRAWBETWEEN (DSPSCALE.POSITION PT1 STREAM (CAR SCRATCHPOINTS)) (DSPSCALE.POSITION PT2 STREAM (CADR SCRATCHPOINTS)) (DSPSCALE.WIDTH WIDTH STREAM) OPERATION STREAM COLOR (DSPSCALE.DASHING DASHING STREAM]) (DRAWCIRCLE! [LAMBDA (CENTERX CENTERY RADIUS BRUSH DASHING STREAM) (* cdl "29-Jul-85 12:03") (DRAWCIRCLE (DSPSCALE.XPOSITION CENTERX STREAM) (DSPSCALE.YPOSITION CENTERY STREAM) (DSPSCALE.NUMBER RADIUS STREAM) (DSPSCALE.BRUSH BRUSH STREAM) (DSPSCALE.DASHING DASHING STREAM) STREAM]) (DRAWCURVE! [LAMBDA (KNOTS CLOSED BRUSH DASHING STREAM) (* cdl "29-Jul-85 10:04") (DRAWCURVE (DSPSCALE.POINTS KNOTS STREAM) CLOSED (DSPSCALE.BRUSH BRUSH STREAM) (DSPSCALE.DASHING DASHING STREAM) STREAM]) (DRAWELLIPSE! [LAMBDA (CENTERX CENTERY SEMIMINORRADIUS SEMIMAJORRADIUS ORIENTATION BRUSH DASHING STREAM) (* cdl "29-Jul-85 12:03") (DRAWELLIPSE (DSPSCALE.XPOSITION CENTERX STREAM) (DSPSCALE.YPOSITION CENTERY STREAM) (DSPSCALE.NUMBER SEMIMINORRADIUS STREAM) (DSPSCALE.NUMBER SEMIMAJORRADIUS STREAM) ORIENTATION (DSPSCALE.BRUSH BRUSH STREAM) (DSPSCALE.DASHING DASHING STREAM) STREAM]) (DRAWLINE! [LAMBDA (X1 Y1 X2 Y2 WIDTH OPERATION STREAM COLOR DASHING) (* cdl "29-Oct-85 15:28") (DRAWLINE (DSPSCALE.XPOSITION X1 STREAM) (DSPSCALE.YPOSITION Y1 STREAM) (DSPSCALE.XPOSITION X2 STREAM) (DSPSCALE.YPOSITION Y2 STREAM) (DSPSCALE.WIDTH WIDTH STREAM) OPERATION STREAM COLOR (DSPSCALE.DASHING DASHING STREAM]) (DRAWPOLYGON! [LAMBDA (POINTS CLOSED BRUSH DASHING STREAM) (* cdl "29-Jul-85 10:05") (DRAWPOLYGON (DSPSCALE.POINTS POINTS STREAM) CLOSED (DSPSCALE.BRUSH BRUSH STREAM) (DSPSCALE.DASHING DASHING STREAM) STREAM]) (DRAWTO! [LAMBDA (X Y WIDTH OPERATION STREAM COLOR DASHING) (* cdl "29-Oct-85 15:31") (DRAWTO (DSPSCALE.XPOSITION X STREAM) (DSPSCALE.YPOSITION Y STREAM) (DSPSCALE.WIDTH WIDTH STREAM) OPERATION STREAM COLOR (DSPSCALE.DASHING DASHING STREAM]) (FILLCIRCLE! [LAMBDA (CENTERX CENTERY RADIUS TEXTURE STREAM) (* cdl " 7-Feb-86 15:02") (FILLCIRCLE (DSPSCALE.XPOSITION CENTERX STREAM) (DSPSCALE.YPOSITION CENTERY STREAM) (DSPSCALE.NUMBER RADIUS STREAM) TEXTURE STREAM]) (FILLPOLYGON! [LAMBDA (KNOTS TEXTURE STREAM) (* cdl "30-Oct-85 07:44") (FILLPOLYGON (DSPSCALE.POINTS KNOTS STREAM) TEXTURE STREAM]) (FONTPROP! [LAMBDA (FONT PROP STREAM) (* cdl "23-Apr-86 08:48") (SELECTQ PROP ((ASCENT DESCENT HEIGHT) (DSPUNSCALE.CHARACTER (FONTPROP FONT PROP) FONT STREAM)) (FONTPROP FONT PROP]) (DSPLEFTMARGIN! [LAMBDA (XPOSITION STREAM) (* cdl "29-Jul-85 12:05") (DSPUNSCALE.XPOSITION (DSPLEFTMARGIN (if XPOSITION then (DSPSCALE.XPOSITION XPOSITION STREAM)) STREAM) STREAM]) (DSPLINEFEED! [LAMBDA (DELTAY STREAM) (* cdl "29-Jul-85 11:11") (DSPUNSCALE.NUMBER (DSPLINEFEED (if DELTAY then (DSPSCALE.NUMBER DELTAY STREAM)) STREAM) STREAM]) (GETPOSITION! [LAMBDA (STREAM CURSOR) (* cdl "30-Oct-85 08:03") (DSPUNSCALE.POSITION (GETPOSITION STREAM CURSOR) STREAM]) (MOVETO! [LAMBDA (X Y STREAM) (* cdl "29-Jul-85 12:06") (MOVETO (DSPSCALE.XPOSITION X STREAM) (DSPSCALE.YPOSITION Y STREAM) STREAM]) (MOVETOUPPERLEFT! [LAMBDA (WINDOW REGION) (* cdl "29-Jul-85 12:10") (MOVETOUPPERLEFT WINDOW (if REGION then (DSPSCALE.REGION REGION WINDOW]) (DSPRIGHTMARGIN! [LAMBDA (XPOSITION STREAM) (* cdl "16-Oct-85 16:11") (DSPUNSCALE.XPOSITION (DSPRIGHTMARGIN (if XPOSITION then (DSPSCALE.XPOSITION XPOSITION STREAM)) STREAM) STREAM]) (DSPSCALE! [LAMBDA (SCALE STREAM) (* cdl "23-Apr-86 09:40") (if (NOT (type? STREAM STREAM)) then (SETQ STREAM (GETSTREAM STREAM))) (PROG1 (OR (STREAMPROP STREAM 'SCALE) (DSPSCALE NIL STREAM)) (if SCALE then (STREAMPROP STREAM 'SCALE SCALE) (STREAMPROP STREAM 'SCALED T) (LET [(RATIO (STREAMPROP STREAM 'RATIO] [if (NULL RATIO) then (STREAMPROP STREAM 'RATIO (SETQ RATIO (create CONVERT SOURCE ← 1] (with CONVERT RATIO (SETQ DESTINATION (TIMES SCALE (DSPSCALE NIL STREAM]) (RELDRAWTO! [LAMBDA (DX DY WIDTH OPERATION STREAM COLOR DASHING) (* cdl "29-Oct-85 15:31") (RELDRAWTO (DSPSCALE.NUMBER DX STREAM) (DSPSCALE.NUMBER DY STREAM) (DSPSCALE.WIDTH WIDTH STREAM) OPERATION STREAM COLOR (DSPSCALE.DASHING DASHING STREAM]) (RELMOVETO! [LAMBDA (DX DY STREAM) (* cdl "30-Oct-85 07:43") (RELMOVETO (DSPSCALE.NUMBER DX STREAM) (DSPSCALE.NUMBER DY STREAM) STREAM]) (SCALEDBITBLT! [LAMBDA (SOURCE SOURCELEFT SOURCEBOTTOM DESTINATION DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE CLIPPINGREGION SCALE) (* cdl "29-Jul-85 12:13") (SCALEDBITBLT SOURCELEFT SOURCEBOTTOM DESTINATION (DSPSCALE.XPOSITION DESTINATIONLEFT DESTINATION) (DSPSCALE.YPOSITION DESTINATIONBOTTOM DESTINATION) WIDTH HEIGHT SOURCETYPE OPERATION TEXTURE (DSPSCALE.REGION CLIPPINGREGION DESTINATION) SCALE]) (STRINGREGION! [LAMBDA (STR STREAM PRIN2FLG RDTBL) (* cdl " 2-May-86 14:05") (LET ((REGION (STRINGREGION STR STREAM PRIN2FLG RDTBL))) (DSPUNSCALE.REGION REGION STREAM REGION]) (STRINGWIDTH! [LAMBDA (STR FONT FLG RDTBL STREAM) (* cdl "29-Jul-85 09:12") (DSPUNSCALE.CHARACTER (STRINGWIDTH STR FONT FLG RDTBL) FONT STREAM]) (DSPSPACEFACTOR! [LAMBDA (FACTOR STREAM) (* cdl "29-Jul-85 11:12") (DSPUNSCALE.NUMBER (DSPSPACEFACTOR (if FACTOR then (DSPSCALE.NUMBER FACTOR STREAM)) STREAM) STREAM]) (DSPTOPMARGIN! [LAMBDA (YPOSITION STREAM) (* cdl "29-Jul-85 12:00") (DSPUNSCALE.YPOSITION (DSPTOPMARGIN (if YPOSITION then (DSPSCALE.YPOSITION YPOSITION STREAM)) STREAM) STREAM]) (DSPXOFFSET! [LAMBDA (XOFFSET DISPLAYSTREAM) (* cdl "29-Jul-85 11:12") (DSPUNSCALE.NUMBER (DSPXOFFSET (if XOFFSET then (DSPSCALE.NUMBER XOFFSET DISPLAYSTREAM)) DISPLAYSTREAM) DISPLAYSTREAM]) (DSPXPOSITION! [LAMBDA (XPOSITION STREAM) (* cdl "29-Jul-85 12:00") (DSPUNSCALE.XPOSITION (DSPXPOSITION (if XPOSITION then (DSPSCALE.XPOSITION XPOSITION STREAM)) STREAM) STREAM]) (DSPYOFFSET! [LAMBDA (YOFFSET DISPLAYSTREAM) (* cdl "29-Jul-85 11:59") (DSPUNSCALE.NUMBER (DSPYOFFSET (if YOFFSET then (DSPSCALE.NUMBER YOFFSET DISPLAYSTREAM)) DISPLAYSTREAM) DISPLAYSTREAM]) (DSPYPOSITION! [LAMBDA (YPOSITION STREAM) (* cdl "29-Jul-85 11:59") (DSPUNSCALE.YPOSITION (DSPYPOSITION (if YPOSITION then (DSPSCALE.YPOSITION YPOSITION STREAM)) STREAM) STREAM]) ) (DEFINEQ (DSPSCALE.BRUSH [LAMBDA (BRUSH STREAM) (* cdl "29-Oct-85 15:29") (if (NULL BRUSH) then (create BRUSH BRUSHSHAPE ← 'ROUND BRUSHSIZE ←(DSPSCALE.WIDTH 1 STREAM) smashing SCRATCHBRUSH) elseif (LISTP BRUSH) then (with BRUSH BRUSH (create BRUSH BRUSHCOLOR ← BRUSHCOLOR BRUSHSHAPE ← BRUSHSHAPE BRUSHSIZE ←(DSPSCALE.WIDTH BRUSHSIZE STREAM) smashing SCRATCHBRUSH)) elseif (NUMBERP BRUSH) then (DSPSCALE.WIDTH BRUSH STREAM) else BRUSH]) (DSPSCALE.DASHING [LAMBDA (DASHING STREAM) (* cdl "29-Oct-85 15:41") (if (LISTP DASHING) then (for WIDTH in DASHING collect (DSPSCALE.WIDTH WIDTH STREAM)) elseif (NUMBERP DASHING) then (DSPSCALE.WIDTH DASHING STREAM) else DASHING]) (DSPSCALE.POINTS [LAMBDA (KNOTS STREAM) (* cdl "29-Oct-85 15:59") (bind (KNOTSLST ← SCRATCHPOINTS) for KNOT in KNOTS collect (DSPSCALE.POSITION KNOT STREAM (if KNOTSLST then (pop KNOTSLST) else (push SCRATCHPOINTS (create POSITION)) (CAR SCRATCHPOINTS]) (DSPSCALE.REGION [LAMBDA (REGION STREAM SMASH) (* cdl "28-Oct-85 09:00") (if (type? REGION REGION) then (with REGION REGION (create REGION LEFT ←(DSPSCALE.XPOSITION LEFT STREAM) BOTTOM ←(DSPSCALE.YPOSITION BOTTOM STREAM) WIDTH ←(DSPSCALE.NUMBER WIDTH STREAM) HEIGHT ←(DSPSCALE.NUMBER HEIGHT STREAM) smashing (OR SMASH SCRATCHREGION))) else REGION]) (DSPSCALE.NUMBER [LAMBDA (VALUE STREAM) (* cdl "23-Apr-86 09:10") (if (NUMBERP VALUE) then (if (NOT (type? STREAM STREAM)) then (SETQ STREAM (GETSTREAM STREAM))) (if [FLOATP (SETQ VALUE (if (GETSTREAMPROP STREAM 'SCALED) then (with CONVERT (GETSTREAMPROP STREAM 'RATIO) (QUOTIENT (TIMES VALUE DESTINATION) SOURCE)) else (TIMES (IMAGEOP 'IMSCALE STREAM STREAM) VALUE] then (FIXR VALUE) else VALUE) else VALUE]) (DSPSCALE.POSITION [LAMBDA (POSITION STREAM SMASH) (* cdl "29-Jul-85 11:57") (with POSITION POSITION (create POSITION XCOORD ←(DSPSCALE.XPOSITION XCOORD STREAM) YCOORD ←(DSPSCALE.YPOSITION YCOORD STREAM) smashing (OR SMASH SCRATCHPOSITION]) (DSPSCALE.XPOSITION [LAMBDA (VALUE STREAM) (* cdl " 1-Nov-85 08:47") (if (NUMBERP VALUE) then (if (NOT (type? STREAM STREAM)) then (SETQ STREAM (GETSTREAM STREAM))) [LET [(TRANSLATE (GETSTREAMPROP STREAM 'TRANSLATE] (if TRANSLATE then (with POSITION TRANSLATE (add VALUE XCOORD] (DSPSCALE.NUMBER VALUE STREAM) else VALUE]) (DSPSCALE.YPOSITION [LAMBDA (VALUE STREAM) (* cdl " 1-Nov-85 08:47") (if (NUMBERP VALUE) then (if (NOT (type? STREAM STREAM)) then (SETQ STREAM (GETSTREAM STREAM))) [LET [(TRANSLATE (GETSTREAMPROP STREAM 'TRANSLATE] (if TRANSLATE then (with POSITION TRANSLATE (add VALUE YCOORD] (DSPSCALE.NUMBER VALUE STREAM) else VALUE]) (DSPSCALE.WIDTH [LAMBDA (WIDTH STREAM) (* cdl "29-Oct-85 15:27") (if (ZEROP (SETQ WIDTH (DSPSCALE.NUMBER WIDTH STREAM))) then 1 else WIDTH]) (DSPUNSCALE.REGION [LAMBDA (REGION STREAM SMASH) (* cdl " 2-May-86 14:04") (if (type? REGION REGION) then (with REGION REGION (create REGION LEFT ←(DSPUNSCALE.XPOSITION LEFT STREAM) BOTTOM ←(DSPUNSCALE.YPOSITION BOTTOM STREAM) WIDTH ←(DSPUNSCALE.NUMBER WIDTH STREAM) HEIGHT ←(DSPUNSCALE.NUMBER HEIGHT STREAM) smashing (OR SMASH SCRATCHREGION))) else REGION]) (DSPUNSCALE.POSITION [LAMBDA (POSITION STREAM SMASH) (* cdl "17-Sep-85 14:21") (with POSITION POSITION (create POSITION XCOORD ←(DSPUNSCALE.XPOSITION XCOORD STREAM) YCOORD ←(DSPUNSCALE.YPOSITION YCOORD STREAM) smashing (OR SMASH SCRATCHPOSITION]) (DSPUNSCALE.NUMBER [LAMBDA (VALUE STREAM OFFSET) (* cdl "23-Apr-86 09:18") (if (NUMBERP VALUE) then (if (NOT (type? STREAM STREAM)) then (SETQ STREAM (GETSTREAM STREAM))) [SETQ VALUE (if (GETSTREAMPROP STREAM 'SCALED) then (with CONVERT (GETSTREAMPROP STREAM 'RATIO) (QUOTIENT (TIMES VALUE SOURCE) DESTINATION)) else (QUOTIENT VALUE (IMAGEOP 'IMSCALE STREAM STREAM] [if OFFSET then (LET [(TRANSLATE (GETSTREAMPROP STREAM 'TRANSLATE] (if TRANSLATE then (with POSITION TRANSLATE (SELECTQ OFFSET (X (SETQ VALUE (DIFFERENCE VALUE XCOORD))) (Y (SETQ VALUE (DIFFERENCE VALUE YCOORD))) NIL] (if (FLOATP VALUE) then (FIXR VALUE) else VALUE) else VALUE]) (DSPUNSCALE.CHARACTER [LAMBDA (WIDTH FONT STREAM) (* cdl "23-Apr-86 09:11") (LET (CONVERT VALUE) (if (NUMBERP WIDTH) then (if [FLOATP (SETQ VALUE (if (AND STREAM (OR (type? STREAM STREAM) (SETQ STREAM (GETSTREAM STREAM))) (GETSTREAMPROP STREAM 'SCALED)) then (with CONVERT (GETSTREAMPROP STREAM 'RATIO) (QUOTIENT (TIMES WIDTH SOURCE) DESTINATION)) else (QUOTIENT WIDTH (OR (with FONTDESCRIPTOR FONT FONTSCALE) (IMAGEOP 'IMSCALE STREAM STREAM] then (FIXR VALUE) else VALUE) else WIDTH]) ) (RPAQ? SCRATCHBRUSH '(ROUND 1 NIL)) (RPAQ? SCRATCHREGION (create REGION)) (RPAQ? SCRATCHPOSITION (create POSITION)) (RPAQ? SCRATCHPOINTS (to 30 collect (create POSITION))) (DECLARE: DOEVAL@COMPILE DONTCOPY (GLOBALVARS SCRATCHBRUSH SCRATCHREGION SCRATCHPOSITION SCRATCHPOINTS) ) [DECLARE: EVAL@COMPILE (RECORD CONVERT (SOURCE . DESTINATION)) ] (DECLARE: EVAL@COMPILE [PUTPROPS DSPUNSCALE.XPOSITION MACRO ((VALUE STREAM) (DSPUNSCALE.NUMBER VALUE STREAM 'X] [PUTPROPS DSPUNSCALE.YPOSITION MACRO ((VALUE STREAM) (DSPUNSCALE.NUMBER VALUE STREAM 'Y] ) (* * Temporary Backward Compatibility Functions) (DEFINEQ (\SCALE.BRUSH [LAMBDA (BRUSH STREAM) (DSPSCALE.BRUSH BRUSH STREAM]) (\SCALE.DASHING [LAMBDA (DASHING STREAM) (DSPSCALE.DASHING DASHING STREAM]) (\SCALE.POINTS [LAMBDA (KNOTS STREAM) (DSPSCALE.POINTS KNOTS STREAM]) (\SCALE.REGION [LAMBDA (REGION STREAM SMASH) (DSPSCALE.REGION REGION STREAM SMASH]) (\SCALE.NUMBER [LAMBDA (VALUE STREAM) (DSPSCALE.NUMBER VALUE STREAM]) (\SCALE.POSITION [LAMBDA (POSITION STREAM SMASH) (DSPSCALE.POSITION POSITION STREAM SMASH]) (\SCALE.XPOSITION [LAMBDA (VALUE STREAM) (DSPSCALE.XPOSITION VALUE STREAM]) (\SCALE.YPOSITION [LAMBDA (VALUE STREAM) (DSPSCALE.YPOSITION VALUE STREAM]) (\SCALE.WIDTH [LAMBDA (WIDTH STREAM) (DSPSCALE.WIDTH WIDTH STREAM]) (\UNSCALE.REGION [LAMBDA (REGION STREAM) (DSPUNSCALE.REGION REGION STREAM]) (\UNSCALE.POSITION [LAMBDA (POSITION STREAM SMASH) (* cdl "23-Apr-86 09:00") (DSPUNSCALE.POSITION POSITION STREAM SMASH]) (\UNSCALE.NUMBER [LAMBDA (VALUE STREAM OFFSET) (DSPUNSCALE.NUMBER VALUE STREAM OFFSET]) (\UNSCALE.CHARACTER [LAMBDA (WIDTH FONT STREAM) (DSPUNSCALE.CHARACTER WIDTH FONT STREAM]) ) (DECLARE: EVAL@COMPILE (PUTPROPS \UNSCALE.XPOSITION MACRO (= . DSPUNSCALE.XPOSITION)) (PUTPROPS \UNSCALE.YPOSITION MACRO (= . DSPUNSCALE.YPOSITION)) ) (DECLARE: DONTCOPY (FILEMAP ((12987) (1801 NIL (CENTERPRINTINREGION! 1811 . 2043) (CHARWIDTH! 2045 . 2234) (CHARWIDTHY! 2236 . 2427) (CURSORPOSITION! 2429 . 2753) (DSPROTATE 2755 . 3096) (DSPTRANSLATE 3098 . 3460) ( DSPUNITS 3462 . 4099) (BITBLT! 4101 . 4646) (BITMAPBIT! 4648 . 4865) (BLTSHADE! 4867 . 5344) ( DSPBACKUP! 5346 . 5566) (DSPBOTTOMMARGIN! 5568 . 5836) (DSPCLIPPINGREGION! 5838 . 6103) (DRAWBETWEEN! 6105 . 6464) (DRAWCIRCLE! 6466 . 6810) (DRAWCURVE! 6812 . 7072) (DRAWELLIPSE! 7074 . 7594) (DRAWLINE! 7596 . 8026) (DRAWPOLYGON! 8028 . 8301) (DRAWTO! 8303 . 8607) (FILLCIRCLE! 8609 . 8881) (FILLPOLYGON! 8883 . 9069) (FONTPROP! 9071 . 9339) (DSPLEFTMARGIN! 9341 . 9608) (DSPLINEFEED! 9610 . 9858) ( GETPOSITION! 9860 . 10044) (MOVETO! 10046 . 10256) (MOVETOUPPERLEFT! 10258 . 10469) (DSPRIGHTMARGIN! 10471 . 10735) (DSPSCALE! 10737 . 11476) (RELDRAWTO! 11478 . 11772) (RELMOVETO! 11774 . 11978) ( SCALEDBITBLT! 11980 . 12557) (STRINGREGION! 12559 . 12788) (STRINGWIDTH! 12790 . 12986))))) STOP EFACTOR! 13305 . 13570) (DSPTOPMARGIN! 13574 . 13842) (DSPXOFFSET! 13846 . 14125) ( DSPXPOSITION! 14129 . 14397) (DSPYOFFSET! 14401 . 14680) (DSPYPOSITION! 14684 . 14952)) (14957 21871 ( DSPSCALE.BRUSH 14969 . 15600) (DSPSCALE.DASHING 15604 . 15951) (DSPSCALE.POINTS 15955 . 16351) ( DSPSCALE.REGION 16355 . 16863) (DSPSCALE.NUMBER 16867 . 17570) (DSPSCALE.POSITION 17574 . 17901) ( DSPSCALE.XPOSITION 17905 . 18387) (DSPSCALE.YPOSITION 18391 . 18873) (DSPSCALE.WIDTH 18877 . 19102) ( DSPUNSCALE.REGION 19106 . 19616) (DSPUNSCALE.POSITION 19620 . 19945) (DSPUNSCALE.NUMBER 19949 . 20986) (DSPUNSCALE.CHARACTER 20990 . 21868)) (22534 23885 (\SCALE.BRUSH 22546 . 22629) (\SCALE.DASHING 22633 . 22724) (\SCALE.POINTS 22728 . 22813) (\SCALE.REGION 22817 . 22916) (\SCALE.NUMBER 22920 . 23005) ( \SCALE.POSITION 23009 . 23120) (\SCALE.XPOSITION 23124 . 23215) (\SCALE.YPOSITION 23219 . 23310) ( \SCALE.WIDTH 23314 . 23397) (\UNSCALE.REGION 23401 . 23492) (\UNSCALE.POSITION 23496 . 23666) ( \UNSCALE.NUMBER 23670 . 23773) (\UNSCALE.CHARACTER 23777 . 23882))))) STOP