LLDISPLAY, WINDOW, BIGBITMAPS: share common DSPCREATE, ensure formats (#824)
This commit is contained in:
parent
c93e620624
commit
de3185002c
@ -1,12 +1,15 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|
||||
|
||||
(FILECREATED "26-Oct-2021 14:51:38" |{DSK}<home>larry>medley>library>BIGBITMAPS.;7| 110451
|
||||
(FILECREATED " 9-Jul-2022 09:41:26"
|
||||
|{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>BIGBITMAPS.;12| 108851
|
||||
|
||||
|changes| |to:| (FNS UNCOLORIZEBITMAP COLORIZEBITMAP \\BWTOCOLORBLT)
|
||||
(VARS BIGBITMAPSCOMS)
|
||||
(MACROS |\\SFInvert|)
|
||||
:CHANGES-TO (VARS BIGBITMAPSCOMS)
|
||||
(FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM \\GENERIC.DSPCREATE.BIGBM
|
||||
\\DSPCREATE.BIGBM)
|
||||
(MACROS |\\SFInvert|)
|
||||
|
||||
|previous| |date:| "13-Jun-2021 14:02:38" |{DSK}<home>larry>medley>library>BIGBITMAPS.;5|)
|
||||
:PREVIOUS-DATE "26-Oct-2021 14:51:38"
|
||||
|{DSK}<users>kaplan>local>medley3.5>working-medley>library>BIGBITMAPS.;6|)
|
||||
|
||||
|
||||
; Copyright (c) 1991, 1993-1994 by Venue.
|
||||
@ -25,7 +28,10 @@
|
||||
\\ORG.BITBLT \\BLTSHADE.DISPLAY \\RESHOWBORDER1)
|
||||
(FNS \\DRAWCIRCLE.BIGBM \\FILLCIRCLE.BIGBM \\DRAWELLIPSE.BIGBM \\DRAWCURVE.BIGBM
|
||||
\\DRAWLINE.BIGBM.DASH \\DRAWLINE.BIGBM.NODASH)
|
||||
(FNS DSPCREATE DSPDESTINATION |\\SFFixY| |\\SFFixDestination| |\\SFFixClippingRegion|)
|
||||
(FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM)
|
||||
(DECLARE\: DONTEVAL@LOAD DOCOPY (P (MOVD '\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM
|
||||
'\\GENERIC.DSPCREATE.DESTINATION.BITMAP?)))
|
||||
(FNS DSPDESTINATION |\\SFFixY| |\\SFFixDestination| |\\SFFixClippingRegion|)
|
||||
(FNS \\SW2BM BITMAPHEIGHT BITMAPWIDTH |\\SFFixFont| BITSPERPIXEL)
|
||||
(FNS COLORIZEBITMAP \\BWTOCOLORBLT UNCOLORIZEBITMAP)
|
||||
(DECLARE\: DONTEVAL@LOAD DOCOPY (P (MOVD '\\ORG.BITBLT 'ORG.BITBLT)
|
||||
@ -61,19 +67,22 @@
|
||||
(DECLARE\: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS |GetNewFragment| MACRO ((LIST)
|
||||
(PROG1 (CAR LIST)
|
||||
(SETQ LIST (CDR LIST)))))
|
||||
(PROG1 (CAR LIST)
|
||||
(SETQ LIST (CDR LIST)))))
|
||||
)
|
||||
|
||||
(DECLARE\: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS |\\SFInvert| MACRO ((|BitMap| \y)
|
||||
|
||||
(* |;;| "corrects for the fact that alto bitmaps are stored with 0,0 as upper left while lisp bitmaps have 0,0 as lower left. The correction is actually off by one (greater) because a majority of the places that it is called actually need one more than corrected Y value.")
|
||||
(* |corrects| |for| |the| |fact| |that| |alto| |bitmaps| |are| |stored| |with|
|
||||
0\,0 |as| |upper| |left| |while| |lisp| |bitmaps| |have| 0\,0 |as| |lower|
|
||||
|left.| |The| |correction| |is| |actually| |off| |by| |one|
|
||||
(|greater|) |because| \a |majority| |of| |the| |places| |that| |it| |is| |called|
|
||||
|actually| |need| |one| |more| |than| |corrected| Y |value.|)
|
||||
|
||||
(IDIFFERENCE (|fetch| (BITMAP BITMAPHEIGHT) |of|
|
||||
|BitMap|)
|
||||
\y)))
|
||||
(IDIFFERENCE (|fetch| (BITMAP BITMAPHEIGHT) |of| |BitMap|)
|
||||
\y)))
|
||||
)
|
||||
)
|
||||
|
||||
@ -1104,43 +1113,19 @@
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(DSPCREATE
|
||||
(LAMBDA (DESTINATION) (* \; "Edited 20-Jul-90 19:11 by matsuda")
|
||||
(\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM
|
||||
(LAMBDA (DESTINATION) (* \; "Edited 9-Jul-2022 09:24 by rmk")
|
||||
(\\DTEST (COND
|
||||
((|type?| BIGBM DESTINATION)
|
||||
(CAR (|fetch| (BIGBM BIGBMLIST) OF DESTINATION)))
|
||||
(T DESTINATION))
|
||||
'BITMAP)))
|
||||
)
|
||||
(DECLARE\: DONTEVAL@LOAD DOCOPY
|
||||
|
||||
(* |;;| "Creates a stream-of-type-display on the DESTINATION bitmap or display device")
|
||||
|
||||
(LET (DSTRM)
|
||||
(COND
|
||||
((NULL DESTINATION)
|
||||
(SETQ DESTINATION |ScreenBitMap|))
|
||||
(T (* \; "DESTINATION is accepted BITMAP or BIGBM.\\DTEST causes error when object to be tested is not BITMAP.")
|
||||
(\\DTEST (COND
|
||||
((|type?| BIGBM DESTINATION)
|
||||
(CAR (|fetch| (BIGBM BIGBMLIST) OF DESTINATION)))
|
||||
(T DESTINATION))
|
||||
'BITMAP)))
|
||||
(SETQ DSTRM (|create| STREAM
|
||||
USERCLOSEABLE _ NIL
|
||||
OUTCHARFN _ (FUNCTION \\DSPPRINTCHAR)
|
||||
IMAGEDATA _ (|create| \\DISPLAYDATA)
|
||||
IMAGEOPS _ \\DISPLAYIMAGEOPS
|
||||
DEVICE _ |DisplayFDEV|
|
||||
ACCESS _ 'OUTPUT)) (* \;
|
||||
"initial x and y positions are 0 when the data is created.")
|
||||
(DSPFONT DEFAULTFONT DSTRM) (* \;
|
||||
"dspfont can win since the (default) display imageops are filled in the stream")
|
||||
(DSPDESTINATION DESTINATION DSTRM) (* \;
|
||||
"dspdestination calls \\SFFixFont, which presumes there is a font present.")
|
||||
(DSPFONT DEFAULTFONT DSTRM)
|
||||
|
||||
(* |;;| "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH. It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed. The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it. rrb")
|
||||
|
||||
(DSPRIGHTMARGIN (MAX SCREENWIDTH (BITMAPWIDTH DESTINATION))
|
||||
DSTRM)
|
||||
(DSPSOURCETYPE 'INPUT DSTRM)
|
||||
(DSPOPERATION 'REPLACE DSTRM) (* \;
|
||||
"called to cause the updating of the bitblt table from the fields initialized earlier.")
|
||||
DSTRM)))
|
||||
(MOVD '\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM '\\GENERIC.DSPCREATE.DESTINATION.BITMAP?)
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(DSPDESTINATION
|
||||
(LAMBDA (DESTINATION DISPLAYSTREAM) (* \; "Edited 22-Sep-89 13:53 by takeshi")
|
||||
@ -1714,15 +1699,15 @@
|
||||
)
|
||||
(PUTPROPS BIGBITMAPS COPYRIGHT ("Venue" 1991 1993 1994))
|
||||
(DECLARE\: DONTCOPY
|
||||
(FILEMAP (NIL (3215 47913 (BIGBITMAPP 3225 . 3371) (BITBLT.BIGBM 3373 . 14196) (BITMAPCREATE.BIGBM
|
||||
14198 . 15540) (BITMAPCREATE 15542 . 17144) (BITMAPCOPY 17146 . 17681) (BLTSHADE.BIGBM 17683 . 20819)
|
||||
(BITBLT 20821 . 22469) (\\ORG.BITBLT 22471 . 34040) (\\BLTSHADE.DISPLAY 34042 . 43280) (
|
||||
\\RESHOWBORDER1 43282 . 47911)) (47914 71192 (\\DRAWCIRCLE.BIGBM 47924 . 51287) (\\FILLCIRCLE.BIGBM
|
||||
51289 . 55335) (\\DRAWELLIPSE.BIGBM 55337 . 59857) (\\DRAWCURVE.BIGBM 59859 . 63709) (
|
||||
\\DRAWLINE.BIGBM.DASH 63711 . 68070) (\\DRAWLINE.BIGBM.NODASH 68072 . 71190)) (71193 86768 (DSPCREATE
|
||||
71203 . 73633) (DSPDESTINATION 73635 . 77533) (|\\SFFixY| 77535 . 83257) (|\\SFFixDestination| 83259
|
||||
. 84442) (|\\SFFixClippingRegion| 84444 . 86766)) (86769 94855 (\\SW2BM 86779 . 91803) (BITMAPHEIGHT
|
||||
91805 . 92303) (BITMAPWIDTH 92305 . 92797) (|\\SFFixFont| 92799 . 93771) (BITSPERPIXEL 93773 . 94853))
|
||||
(94856 110209 (COLORIZEBITMAP 94866 . 97676) (\\BWTOCOLORBLT 97678 . 104271) (UNCOLORIZEBITMAP 104273
|
||||
. 110207)))))
|
||||
(FILEMAP (NIL (3546 48244 (BIGBITMAPP 3556 . 3702) (BITBLT.BIGBM 3704 . 14527) (BITMAPCREATE.BIGBM
|
||||
14529 . 15871) (BITMAPCREATE 15873 . 17475) (BITMAPCOPY 17477 . 18012) (BLTSHADE.BIGBM 18014 . 21150)
|
||||
(BITBLT 21152 . 22800) (\\ORG.BITBLT 22802 . 34371) (\\BLTSHADE.DISPLAY 34373 . 43611) (
|
||||
\\RESHOWBORDER1 43613 . 48242)) (48245 71523 (\\DRAWCIRCLE.BIGBM 48255 . 51618) (\\FILLCIRCLE.BIGBM
|
||||
51620 . 55666) (\\DRAWELLIPSE.BIGBM 55668 . 60188) (\\DRAWCURVE.BIGBM 60190 . 64040) (
|
||||
\\DRAWLINE.BIGBM.DASH 64042 . 68401) (\\DRAWLINE.BIGBM.NODASH 68403 . 71521)) (71524 71893 (
|
||||
\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM 71534 . 71891)) (72025 85168 (DSPDESTINATION 72035 .
|
||||
75933) (|\\SFFixY| 75935 . 81657) (|\\SFFixDestination| 81659 . 82842) (|\\SFFixClippingRegion| 82844
|
||||
. 85166)) (85169 93255 (\\SW2BM 85179 . 90203) (BITMAPHEIGHT 90205 . 90703) (BITMAPWIDTH 90705 .
|
||||
91197) (|\\SFFixFont| 91199 . 92171) (BITSPERPIXEL 92173 . 93253)) (93256 108609 (COLORIZEBITMAP 93266
|
||||
. 96076) (\\BWTOCOLORBLT 96078 . 102671) (UNCOLORIZEBITMAP 102673 . 108607)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@ -1,11 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT XCCS)
|
||||
(FILECREATED " 8-Aug-2021 00:19:22"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;7 268927
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
changes to%: (FNS READBITMAP)
|
||||
(FILECREATED " 9-Jul-2022 12:08:02"
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;16 269372
|
||||
|
||||
previous date%: " 1-Aug-2021 23:41:37"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;6)
|
||||
:CHANGES-TO (FNS \COMMON.DSPCREATE)
|
||||
|
||||
:PREVIOUS-DATE " 8-Jul-2022 23:44:51"
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;13)
|
||||
|
||||
|
||||
(* ; "
|
||||
@ -17,20 +18,20 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(RPAQQ LLDISPLAYCOMS
|
||||
[(DECLARE%: DONTCOPY (EXPORT (RECORDS PILOTBBT \DISPLAYDATA DISPLAYSTATE DISPLAYINFO)
|
||||
(MACROS \GETDISPLAYDATA)))
|
||||
(* ;
|
||||
"User-visible records are on ADISPLAY --- must be init'ed here")
|
||||
(* ;
|
||||
"User-visible records are on ADISPLAY --- must be init'ed here")
|
||||
(INITRECORDS BITMAP PILOTBBT REGION \DISPLAYDATA)
|
||||
[COMS (* ; "BITMASKS")
|
||||
[COMS (* ; "BITMASKS")
|
||||
(FNS \FBITMAPBIT \FBITMAPBIT.UFN \NEWPAGE.DISPLAY INITBITMASKS)
|
||||
(OPTIMIZERS \FBITMAPBIT)
|
||||
[EXPORT (DECLARE%: DONTCOPY (MACROS \BITMASK \4BITMASK \NOTBITMASK \NOT4BITMASK)
|
||||
(GLOBALVARS BITMASKARRAY NOTBITMASKARRAY 4BITMASKARRAY NOT4BITMASKARRAY)
|
||||
(CONSTANTS (WORDMASK 65535]
|
||||
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (INITBITMASKS]
|
||||
[COMS (* ; "init cursor")
|
||||
[COMS (* ; "init cursor")
|
||||
(FNS \CreateCursorBitMap)
|
||||
(DECLARE%: DONTEVAL@LOAD DOCOPY (VARS (CursorBitMap (\CreateCursorBitMap]
|
||||
[COMS (* ; "bitmap functions.")
|
||||
[COMS (* ; "bitmap functions.")
|
||||
(FNS BITBLT BLTSHADE \BITBLTSUB \GETPILOTBBTSCRATCHBM BITMAPCOPY BITMAPCREATE BITMAPBIT
|
||||
BLTCHAR \BLTCHAR \MEDW.BLTCHAR \CHANGECHARSET.DISPLAY \INDICATESTRING \SLOWBLTCHAR
|
||||
TEXTUREP INVERT.TEXTURE INVERT.TEXTURE.BITMAP BITMAPWIDTH READBITMAP
|
||||
@ -45,15 +46,15 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(FNS BITMAPBIT.EXPANDER)
|
||||
(FNS \BITBLT.DISPLAY \BITBLT.BITMAP \BITBLT.MERGE \BLTSHADE.DISPLAY \BLTSHADE.BITMAP)
|
||||
(FNS
|
||||
(* ;; "For SunLoadup")
|
||||
(* ;; "For SunLoadup")
|
||||
|
||||
\BITBLT.BITMAP.SLOW)
|
||||
(FNS
|
||||
(* ;; " punt case for C funcs.bitblt_bitmap,bitshade.bitmap")
|
||||
(* ;; " punt case for C funcs.bitblt_bitmap,bitshade.bitmap")
|
||||
|
||||
\PUNT.BLTSHADE.BITMAP \PUNT.BITBLT.BITMAP)
|
||||
(FNS
|
||||
(* ;; "from SUMEX-AIM")
|
||||
(* ;; "from SUMEX-AIM")
|
||||
|
||||
\SCALEDBITBLT.DISPLAY \BACKCOLOR.DISPLAY)
|
||||
(DECLARE%: DONTCOPY (CONSTANTS (\DisplayWordAlign 16)
|
||||
@ -66,15 +67,19 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(VARS (\BBSCRATCHTEXTURE)
|
||||
(\PILOTBBTSCRATCHBM))
|
||||
[DECLARE%: DONTEVAL@LOAD DOCOPY (P (MOVD? 'BITBLT 'BKBITBLT]
|
||||
(* ;
|
||||
"macro for this file so that BITBLT can be broken by users")
|
||||
(* ;
|
||||
"macro for this file so that BITBLT can be broken by users")
|
||||
(EXPORT (DECLARE%: DONTCOPY DONTEVAL@LOAD DOEVAL@COMPILE
|
||||
(P (PUTPROP 'BITBLT 'MACRO '(= . BKBITBLT]
|
||||
(COMS (* ; "display stream functions")
|
||||
(COMS (* ; "display stream functions")
|
||||
(FNS DISPLAYSTREAMP DSPSOURCETYPE DSPXOFFSET DSPYOFFSET)
|
||||
(FNS DSPCREATE DSPDESTINATION DSPTEXTURE \DISPLAYSTREAMINCRXPOSITION \SFFixDestination
|
||||
(FNS DSPDESTINATION DSPTEXTURE \DISPLAYSTREAMINCRXPOSITION \SFFixDestination
|
||||
\SFFixClippingRegion \SFFixFont \SFFIXLINELENGTH
|
||||
\UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD \SFFixY)
|
||||
[COMS (FNS \SIMPLE.DSPCREATE \COMMON.DSPCREATE)
|
||||
(* ;
|
||||
"MOVD? so we don't trash a later redefinition")
|
||||
(P (MOVD? '\SIMPLE.DSPCREATE 'DSPCREATE]
|
||||
(FNS \MEDW.XOFFSET \MEDW.YOFFSET)
|
||||
(FNS \DSPCLIPPINGREGION.DISPLAY \DSPFONT.DISPLAY \DISPLAY.PILOTBITBLT
|
||||
\DSPLINEFEED.DISPLAY \DSPLEFTMARGIN.DISPLAY \DSPOPERATION.DISPLAY
|
||||
@ -86,14 +91,14 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(INITVARS (PROMPTWINDOW T)
|
||||
(\WINDOWWORLD NIL)
|
||||
(\MAINSCREEN NIL)))
|
||||
[COMS (* ; "Stub for window package")
|
||||
[COMS (* ; "Stub for window package")
|
||||
(INITVARS (\TOPWDS)
|
||||
(\SCREENBITMAPS))
|
||||
(P (MOVD? 'NILL '\TOTOPWDS))
|
||||
(DECLARE%: DONTCOPY EVAL@COMPILE (EXPORT (MACROS \INSURETOPWDS .WHILE.TOP.DS.
|
||||
.WHILE.CURSOR.DOWN.)
|
||||
(ADDVARS (GLOBALVARS \TOPWDS]
|
||||
(COMS (* ; "DisplayStream TTY functions")
|
||||
(COMS (* ; "DisplayStream TTY functions")
|
||||
(FNS TTYDISPLAYSTREAM)
|
||||
(EXPORT (OPTIMIZERS TTYDISPLAYSTREAM))
|
||||
(FNS DSPSCROLL PAGEHEIGHT)
|
||||
@ -114,13 +119,12 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(EXPORT (GLOBALVARS BELLCNT BELLRATE TTYBACKGROUNDFNS \DisplayStoppedForLogout
|
||||
\CARET.UP)
|
||||
(MACROS \CHECKCARET)))
|
||||
[COMS (* ;
|
||||
"transformation related functions.")
|
||||
[COMS (* ; "transformation related functions.")
|
||||
(FNS \DSPCLIPTRANSFORMX \DSPCLIPTRANSFORMY \DSPTRANSFORMREGION \DSPUNTRANSFORMY
|
||||
\DSPUNTRANSFORMX \OFFSETCLIPPINGREGION)
|
||||
(DECLARE%: DONTCOPY (EXPORT (MACROS \DSPTRANSFORMX \DSPTRANSFORMY \OFFSETBOTTOM
|
||||
\OFFSETLEFT]
|
||||
[COMS (* ; "screen related functions")
|
||||
[COMS (* ; "screen related functions")
|
||||
(FNS UPDATESCREENDIMENSIONS \CreateScreenBitMap)
|
||||
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (UPDATESCREENDIMENSIONS))
|
||||
(INITVARS (SCREENHEIGHT 808)
|
||||
@ -132,7 +136,7 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(ColorScreenBitMap NIL)))
|
||||
(GLOBALVARS \OLDSCREENHEIGHT \OLDSCREENWIDTH \MaxScreenPage ScreenBitMap)
|
||||
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (CURSOR.INIT]
|
||||
[COMS (* ; "initialization")
|
||||
[COMS (* ; "initialization")
|
||||
(INITVARS (\DISPLAYINFOALIST))
|
||||
(FNS \CoerceToDisplayDevice \CREATEDISPLAY DISPLAYSTREAMINIT \STARTDISPLAY
|
||||
\MOVE.WINDOWS.ONTO.SCREEN \UPDATE.PBT.RASTERWIDTHS \STOPDISPLAY \DEFINEDISPLAYINFO
|
||||
@ -155,43 +159,45 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(DATATYPE PILOTBBT ((PBTDESTLO WORD)
|
||||
(PBTDESTHI WORD)
|
||||
(PBTDESTBIT WORD)
|
||||
(PBTDESTBPL SIGNEDWORD)
|
||||
(PBTSOURCELO WORD)
|
||||
(PBTSOURCEHI WORD)
|
||||
(PBTSOURCEBIT WORD)
|
||||
(PBTSOURCEBPL SIGNEDWORD)
|
||||
(PBTWIDTH WORD)
|
||||
(PBTHEIGHT WORD)
|
||||
(PBTFLAGS WORD)
|
||||
(NIL 5 WORD))
|
||||
(BLOCKRECORD PILOTBBT ((NIL 7 WORD)
|
||||
(NIL BITS 4)
|
||||
(PBTGRAYOFFSET BITS 4)
|
||||
(PBTGRAYWIDTHLESSONE BITS 4)
|
||||
(PBTGRAYHEIGHTLESSONE BITS 4)
|
||||
(NIL 2 WORD)
|
||||
(PBTBACKWARD FLAG)
|
||||
(PBTDISJOINT FLAG)
|
||||
(PBTDISJOINTITEMS FLAG)
|
||||
(PBTUSEGRAY FLAG)
|
||||
(PBTSOURCETYPE BITS 1)
|
||||
(PBTOPERATION BITS 2)
|
||||
(NIL BITS 9)))
|
||||
[ACCESSFNS PILOTBBT ([PBTSOURCE (\VAG2 (fetch PBTSOURCEHI of DATUM)
|
||||
(fetch PBTSOURCELO of DATUM))
|
||||
(PROGN (replace PBTSOURCEHI of DATUM
|
||||
with (\HILOC NEWVALUE))
|
||||
(replace PBTSOURCELO of DATUM
|
||||
with (\LOLOC NEWVALUE]
|
||||
(PBTDEST (\VAG2 (fetch PBTDESTHI of DATUM)
|
||||
(fetch PBTDESTLO of DATUM))
|
||||
(PROGN (replace PBTDESTHI of DATUM
|
||||
with (\HILOC NEWVALUE))
|
||||
(replace PBTDESTLO of DATUM
|
||||
with (\LOLOC NEWVALUE]
|
||||
(SYSTEM))
|
||||
(PBTDESTHI WORD)
|
||||
(PBTDESTBIT WORD)
|
||||
(PBTDESTBPL SIGNEDWORD)
|
||||
(PBTSOURCELO WORD)
|
||||
(PBTSOURCEHI WORD)
|
||||
(PBTSOURCEBIT WORD)
|
||||
(PBTSOURCEBPL SIGNEDWORD)
|
||||
(PBTWIDTH WORD)
|
||||
(PBTHEIGHT WORD)
|
||||
(PBTFLAGS WORD)
|
||||
(NIL 5 WORD))
|
||||
(BLOCKRECORD PILOTBBT ((NIL 7 WORD)
|
||||
(NIL BITS 4)
|
||||
(PBTGRAYOFFSET BITS 4)
|
||||
(PBTGRAYWIDTHLESSONE BITS 4)
|
||||
(PBTGRAYHEIGHTLESSONE BITS 4)
|
||||
(NIL 2 WORD)
|
||||
(PBTBACKWARD FLAG)
|
||||
(PBTDISJOINT FLAG)
|
||||
(PBTDISJOINTITEMS FLAG)
|
||||
(PBTUSEGRAY FLAG)
|
||||
(PBTSOURCETYPE BITS 1)
|
||||
(PBTOPERATION BITS 2)
|
||||
(NIL BITS 9)))
|
||||
[ACCESSFNS PILOTBBT ([PBTSOURCE (\VAG2 (fetch PBTSOURCEHI of DATUM)
|
||||
(fetch PBTSOURCELO of DATUM))
|
||||
(PROGN (replace PBTSOURCEHI of DATUM
|
||||
with (\HILOC NEWVALUE))
|
||||
(replace PBTSOURCELO of DATUM
|
||||
with (\LOLOC NEWVALUE]
|
||||
(PBTDEST (\VAG2 (fetch PBTDESTHI of DATUM)
|
||||
(fetch PBTDESTLO of DATUM))
|
||||
(PROGN (replace PBTDESTHI of DATUM with (\HILOC
|
||||
NEWVALUE
|
||||
))
|
||||
(replace PBTDESTLO of DATUM with (\LOLOC
|
||||
NEWVALUE
|
||||
]
|
||||
(SYSTEM))
|
||||
|
||||
(DATATYPE \DISPLAYDATA
|
||||
(DDXPOSITION DDYPOSITION DDXOFFSET DDYOFFSET DDDestination DDClippingRegion DDFONT
|
||||
@ -214,15 +220,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
DDLeftMargin _ 0 DDRightMargin _ SCREENWIDTH DDXPOSITION _ 0 DDYPOSITION _ 0 DDXOFFSET _ 0
|
||||
DDYOFFSET _ 0 DDClippingRegion _ (create REGION)
|
||||
DDDestination _ ScreenBitMap DDXSCALE _ 1 DDYSCALE _ 1 DDTexture _ 0
|
||||
[ACCESSFNS ([DDFOREGROUNDCOLOR (PROG ((VAL (fetch (\DISPLAYDATA DDCOLOR) of DATUM))
|
||||
)
|
||||
[ACCESSFNS ([DDFOREGROUNDCOLOR (PROG ((VAL (fetch (\DISPLAYDATA DDCOLOR) of DATUM)))
|
||||
(OR (FIXP VAL)
|
||||
(BITMAPP VAL)
|
||||
(AND (NULL VAL)
|
||||
1)
|
||||
(CAR VAL)
|
||||
(MAXIMUMCOLOR (BITSPERPIXEL (fetch
|
||||
(\DISPLAYDATA
|
||||
(MAXIMUMCOLOR (BITSPERPIXEL (fetch (\DISPLAYDATA
|
||||
DDDestination)
|
||||
of DATUM]
|
||||
(DDBACKGROUNDCOLOR (OR (fetch (\DISPLAYDATA DDTexture) of DATUM)
|
||||
@ -302,18 +306,17 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS \GETDISPLAYDATA MACRO [ARGS (COND
|
||||
[(CADR ARGS)
|
||||
(SUBPAIR '(STRM STRMVAR)
|
||||
ARGS
|
||||
'(\DTEST (fetch (STREAM IMAGEDATA)
|
||||
of (SETQ STRMVAR
|
||||
(\OUTSTREAMARG STRM)))
|
||||
'\DISPLAYDATA]
|
||||
(T (SUBST (CAR ARGS)
|
||||
'STRM
|
||||
'(\DTEST (fetch (STREAM IMAGEDATA)
|
||||
of (\OUTSTREAMARG STRM))
|
||||
'\DISPLAYDATA])
|
||||
[(CADR ARGS)
|
||||
(SUBPAIR '(STRM STRMVAR)
|
||||
ARGS
|
||||
'(\DTEST (fetch (STREAM IMAGEDATA)
|
||||
of (SETQ STRMVAR (\OUTSTREAMARG STRM)))
|
||||
'\DISPLAYDATA]
|
||||
(T (SUBST (CAR ARGS)
|
||||
'STRM
|
||||
'(\DTEST (fetch (STREAM IMAGEDATA)
|
||||
of (\OUTSTREAMARG STRM))
|
||||
'\DISPLAYDATA])
|
||||
)
|
||||
|
||||
(* "END EXPORTED DEFINITIONS")
|
||||
@ -467,41 +470,41 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
)
|
||||
|
||||
(DEFOPTIMIZER \FBITMAPBIT (BASE X Y OPERATION HEIGHTMINUS1 RASTERWIDTH)
|
||||
`((OPCODES MISC7 1)
|
||||
,BASE
|
||||
,X
|
||||
,Y
|
||||
,[COND
|
||||
([OR (AND (LISTP OPERATION)
|
||||
(EQ (CAR OPERATION)
|
||||
'QUOTE]
|
||||
(SELECTQ (EVAL OPERATION)
|
||||
(INVERT 0)
|
||||
(ERASE 1)
|
||||
(READ 2)
|
||||
3))
|
||||
(T `(SELECTQ ,OPERATION
|
||||
(INVERT 0)
|
||||
(ERASE 1)
|
||||
(READ 2)
|
||||
3]
|
||||
,HEIGHTMINUS1
|
||||
,RASTERWIDTH NIL))
|
||||
`((OPCODES MISC7 1)
|
||||
,BASE
|
||||
,X
|
||||
,Y
|
||||
,[COND
|
||||
([OR (AND (LISTP OPERATION)
|
||||
(EQ (CAR OPERATION)
|
||||
'QUOTE]
|
||||
(SELECTQ (EVAL OPERATION)
|
||||
(INVERT 0)
|
||||
(ERASE 1)
|
||||
(READ 2)
|
||||
3))
|
||||
(T `(SELECTQ ,OPERATION
|
||||
(INVERT 0)
|
||||
(ERASE 1)
|
||||
(READ 2)
|
||||
3]
|
||||
,HEIGHTMINUS1
|
||||
,RASTERWIDTH NIL))
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: DONTCOPY
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS \BITMASK MACRO ((N)
|
||||
(\WORDELT BITMASKARRAY (LOGAND N 15))))
|
||||
(\WORDELT BITMASKARRAY (LOGAND N 15))))
|
||||
|
||||
(PUTPROPS \4BITMASK MACRO ((N)
|
||||
(\WORDELT 4BITMASKARRAY (LOGAND N 3))))
|
||||
(\WORDELT 4BITMASKARRAY (LOGAND N 3))))
|
||||
|
||||
(PUTPROPS \NOTBITMASK MACRO ((N)
|
||||
(DECLARE (GLOBALVARS NOTBITMASKARRAY))
|
||||
(\WORDELT NOTBITMASKARRAY (LOGAND N 15))))
|
||||
(DECLARE (GLOBALVARS NOTBITMASKARRAY))
|
||||
(\WORDELT NOTBITMASKARRAY (LOGAND N 15))))
|
||||
|
||||
(PUTPROPS \NOT4BITMASK MACRO ((N)
|
||||
(\WORDELT NOT4BITMASKARRAY (LOGAND N 3))))
|
||||
(\WORDELT NOT4BITMASKARRAY (LOGAND N 3))))
|
||||
)
|
||||
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
@ -1482,14 +1485,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
|
||||
(CL:DEFUN FINISH-READING-BITMAP (STREAM)
|
||||
|
||||
(* ;;; "The syntax for bitmaps is")
|
||||
(* ;;; "The syntax for bitmaps is")
|
||||
|
||||
(* ;; "#*(width height [bits-per-pixel])XXXXXX...")
|
||||
(* ;; "#*(width height [bits-per-pixel])XXXXXX...")
|
||||
|
||||
(* ;;; "where WIDTH and HEIGHT are the dimensions of the bitmap, BITS-PER-PIXEL can be omitted if it is equal to one, and the X's are single characters between @ and O (in ASCII), each representing four bits. There will be exactly (* (ceiling (* WIDTH BITS-PER-PIXEL) 16) 4) characters for each row of the bitmap and exactly HEIGHT rows. Note that there are no spaces allowed between the * and the (, between the ) and the first X, or anywhere inside the string of X's. Also, the character after the last X must not be of type OTHER.")
|
||||
(* ;;; "where WIDTH and HEIGHT are the dimensions of the bitmap, BITS-PER-PIXEL can be omitted if it is equal to one, and the X's are single characters between @ and O (in ASCII), each representing four bits. There will be exactly (* (ceiling (* WIDTH BITS-PER-PIXEL) 16) 4) characters for each row of the bitmap and exactly HEIGHT rows. Note that there are no spaces allowed between the * and the (, between the ) and the first X, or anywhere inside the string of X's. Also, the character after the last X must not be of type OTHER.")
|
||||
|
||||
(* ;;;
|
||||
"When we enter this function, called from HASH-STAR, the stream should be pointing at the (.")
|
||||
(* ;;; "When we enter this function, called from HASH-STAR, the stream should be pointing at the (.")
|
||||
|
||||
(LET
|
||||
((DIMENSIONS (READ STREAM)))
|
||||
@ -1499,11 +1501,11 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(DESTRUCTURING-BIND
|
||||
(WIDTH HEIGHT &OPTIONAL (BITS-PER-PIXEL 1)
|
||||
&REST EXTRAS)
|
||||
DIMENSIONS (* ; "Parsing the dimensions.")
|
||||
DIMENSIONS (* ; "Parsing the dimensions.")
|
||||
(IF (OR (NOT (FIXP WIDTH))
|
||||
(NOT (FIXP HEIGHT))
|
||||
(NOT (FIXP BITS-PER-PIXEL))
|
||||
(NOT (NULL EXTRAS)))
|
||||
(NOT (FIXP HEIGHT))
|
||||
(NOT (FIXP BITS-PER-PIXEL))
|
||||
(NOT (NULL EXTRAS)))
|
||||
THEN (CL:ERROR "Bad bitmap dimension specification: ~S" DIMENSIONS))
|
||||
(LET
|
||||
((BITMAP NIL)
|
||||
@ -1512,56 +1514,56 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
16)))
|
||||
[IF *READ-SUPPRESS*
|
||||
THEN (CL:DOTIMES (I (CL:* HEIGHT QUAD-CHARS-PER-ROW 4))
|
||||
(CL:READ-CHAR STREAM))
|
||||
(CL:READ-CHAR STREAM))
|
||||
ELSE (SETQ BITMAP (BITMAPCREATE WIDTH HEIGHT BITS-PER-PIXEL))
|
||||
(SETQ BASE (FETCH BITMAPBASE OF BITMAP))
|
||||
(LET [(STREAM (\GETSTREAM STREAM 'INPUT]
|
||||
(CL:DOTIMES (ROW HEIGHT)
|
||||
[IF (ZEROP (FETCH (STREAM CHARSET) OF STREAM))
|
||||
THEN (* ; "Do it the quicker way")
|
||||
(CL:DOTIMES (QUAD QUAD-CHARS-PER-ROW)
|
||||
(LET [(NIB00 (- (\BIN STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB01 (- (\BIN STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB10 (- (\BIN STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB11 (- (\BIN STREAM)
|
||||
(CHARCODE @]
|
||||
(IF (OR (NOT (<= 0 NIB00 15))
|
||||
(NOT (<= 0 NIB01 15))
|
||||
(NOT (<= 0 NIB10 15))
|
||||
(NOT (<= 0 NIB11 15)))
|
||||
THEN (CL:ERROR
|
||||
"Illegal character in bitmap contents specification."
|
||||
))
|
||||
(\PUTBASEBYTE BASE 0 (LOGOR (LLSH NIB00 4)
|
||||
NIB01))
|
||||
(\PUTBASEBYTE BASE 1 (LOGOR (LLSH NIB10 4)
|
||||
NIB11)))
|
||||
(SETQ BASE (\ADDBASE BASE 1)))
|
||||
ELSE (* ; "Somewhat slower...")
|
||||
(SETQ BASE (FETCH BITMAPBASE OF BITMAP))
|
||||
(LET [(STREAM (\GETSTREAM STREAM 'INPUT]
|
||||
(CL:DOTIMES (ROW HEIGHT)
|
||||
[IF (ZEROP (FETCH (STREAM CHARSET) OF STREAM))
|
||||
THEN (* ; "Do it the quicker way")
|
||||
(CL:DOTIMES (QUAD QUAD-CHARS-PER-ROW)
|
||||
(LET [(NIB00 (- (READCCODE STREAM)
|
||||
(LET [(NIB00 (- (\BIN STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB01 (- (READCCODE STREAM)
|
||||
(NIB01 (- (\BIN STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB10 (- (READCCODE STREAM)
|
||||
(NIB10 (- (\BIN STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB11 (- (READCCODE STREAM)
|
||||
(NIB11 (- (\BIN STREAM)
|
||||
(CHARCODE @]
|
||||
(IF (OR (NOT (<= 0 NIB00 15))
|
||||
(NOT (<= 0 NIB01 15))
|
||||
(NOT (<= 0 NIB10 15))
|
||||
(NOT (<= 0 NIB11 15)))
|
||||
(NOT (<= 0 NIB01 15))
|
||||
(NOT (<= 0 NIB10 15))
|
||||
(NOT (<= 0 NIB11 15)))
|
||||
THEN (CL:ERROR
|
||||
"Illegal character in bitmap contents specification."
|
||||
))
|
||||
))
|
||||
(\PUTBASEBYTE BASE 0 (LOGOR (LLSH NIB00 4)
|
||||
NIB01))
|
||||
(\PUTBASEBYTE BASE 1 (LOGOR (LLSH NIB10 4)
|
||||
NIB11)))
|
||||
(SETQ BASE (\ADDBASE BASE 1)))])]
|
||||
(SETQ BASE (\ADDBASE BASE 1)))
|
||||
ELSE (* ; "Somewhat slower...")
|
||||
(CL:DOTIMES (QUAD QUAD-CHARS-PER-ROW)
|
||||
(LET [(NIB00 (- (READCCODE STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB01 (- (READCCODE STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB10 (- (READCCODE STREAM)
|
||||
(CHARCODE @)))
|
||||
(NIB11 (- (READCCODE STREAM)
|
||||
(CHARCODE @]
|
||||
(IF (OR (NOT (<= 0 NIB00 15))
|
||||
(NOT (<= 0 NIB01 15))
|
||||
(NOT (<= 0 NIB10 15))
|
||||
(NOT (<= 0 NIB11 15)))
|
||||
THEN (CL:ERROR
|
||||
"Illegal character in bitmap contents specification."
|
||||
))
|
||||
(\PUTBASEBYTE BASE 0 (LOGOR (LLSH NIB00 4)
|
||||
NIB01))
|
||||
(\PUTBASEBYTE BASE 1 (LOGOR (LLSH NIB10 4)
|
||||
NIB11)))
|
||||
(SETQ BASE (\ADDBASE BASE 1)))])]
|
||||
BITMAP))))
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
@ -1580,14 +1582,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
|
||||
(PUTPROPS \INVALIDATEDISPLAYCACHE MACRO ((DISPLAYDATA)
|
||||
|
||||
(* This marks the character-printing caches of the displaystream as invalid.
|
||||
Needed when the font or Y position changes)
|
||||
(* This marks the character-printing caches of the displaystream as invalid.
|
||||
Needed when the font or Y position changes)
|
||||
|
||||
(freplace (\DISPLAYDATA DDCHARSET) of
|
||||
DISPLAYDATA
|
||||
with MAX.SMALLP)
|
||||
(freplace (\DISPLAYDATA DDCHARSETASCENT)
|
||||
of DISPLAYDATA with MAX.SMALLP)))
|
||||
(freplace (\DISPLAYDATA DDCHARSET) of DISPLAYDATA
|
||||
with MAX.SMALLP)
|
||||
(freplace (\DISPLAYDATA DDCHARSETASCENT) of DISPLAYDATA
|
||||
with MAX.SMALLP)))
|
||||
)
|
||||
|
||||
(* "END EXPORTED DEFINITIONS")
|
||||
@ -1595,13 +1596,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
)
|
||||
|
||||
(DEFOPTIMIZER BITMAPBIT (&REST ARGS)
|
||||
(BITMAPBIT.EXPANDER ARGS))
|
||||
(BITMAPBIT.EXPANDER ARGS))
|
||||
|
||||
(DEFOPTIMIZER BITMAPP (Y)
|
||||
`((OPENLAMBDA (X)
|
||||
(AND (type? BITMAP X)
|
||||
X))
|
||||
,Y))
|
||||
`((OPENLAMBDA (X)
|
||||
(AND (type? BITMAP X)
|
||||
X))
|
||||
,Y))
|
||||
(DEFINEQ
|
||||
|
||||
(BITMAPBIT.EXPANDER
|
||||
@ -2760,61 +2761,58 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS \DSPGETCHARWIDTH MACRO ((CHARCODE DD)
|
||||
(\FGETWIDTH (ffetch (\DISPLAYDATA DDWIDTHSCACHE)
|
||||
of DD)
|
||||
CHARCODE)))
|
||||
(\FGETWIDTH (ffetch (\DISPLAYDATA DDWIDTHSCACHE) of DD)
|
||||
CHARCODE)))
|
||||
|
||||
(PUTPROPS \DSPGETCHARIMAGEWIDTH MACRO ((CHARCODE DD)
|
||||
(\FGETIMAGEWIDTH (ffetch (\DISPLAYDATA
|
||||
DDCHARIMAGEWIDTHS)
|
||||
of DD)
|
||||
CHARCODE)))
|
||||
(\FGETIMAGEWIDTH (ffetch (\DISPLAYDATA DDCHARIMAGEWIDTHS)
|
||||
of DD)
|
||||
CHARCODE)))
|
||||
|
||||
(PUTPROPS \DSPGETCHAROFFSET MACRO ((CHARCODE DD)
|
||||
(\GETBASE (ffetch (\DISPLAYDATA DDOFFSETSCACHE)
|
||||
of DD)
|
||||
CHARCODE)))
|
||||
(\GETBASE (ffetch (\DISPLAYDATA DDOFFSETSCACHE) of DD)
|
||||
CHARCODE)))
|
||||
|
||||
(PUTPROPS \CONVERTOP MACRO ((OP) (* rrb "14-NOV-80 11:14")
|
||||
(* Only for alto bitblt !!)
|
||||
(SELECTQ OP
|
||||
(replace 0 of NIL with NIL)
|
||||
(PAINT 1)
|
||||
(INVERT 2)
|
||||
(ERASE 3)
|
||||
0)))
|
||||
(PUTPROPS \CONVERTOP MACRO ((OP) (* rrb "14-NOV-80 11:14")
|
||||
(* Only for alto bitblt !!)
|
||||
(SELECTQ OP
|
||||
(replace 0 of NIL with NIL)
|
||||
(PAINT 1)
|
||||
(INVERT 2)
|
||||
(ERASE 3)
|
||||
0)))
|
||||
|
||||
(PUTPROPS \SFInvert MACRO ((BitMap y)
|
||||
|
||||
(* corrects for the fact that alto bitmaps are stored with 0,0 as upper left
|
||||
while lisp bitmaps have 0,0 as lower left.
|
||||
The correction is actually off by one (greater) because a majority of the
|
||||
places that it is called actually need one more than corrected Y value.)
|
||||
(* corrects for the fact that alto bitmaps are stored with 0,0 as upper left
|
||||
while lisp bitmaps have 0,0 as lower left.
|
||||
The correction is actually off by one (greater) because a majority of the places
|
||||
that it is called actually need one more than corrected Y value.)
|
||||
|
||||
(IDIFFERENCE (fetch (BITMAP BITMAPHEIGHT) of BitMap)
|
||||
y)))
|
||||
(IDIFFERENCE (fetch (BITMAP BITMAPHEIGHT) of BitMap)
|
||||
y)))
|
||||
|
||||
(PUTPROPS \SFReplicate MACRO [LAMBDA (pattern)
|
||||
(LOGOR pattern (LLSH pattern 8)
|
||||
(SETQ pattern (LLSH pattern 4))
|
||||
(LLSH pattern 8])
|
||||
(LOGOR pattern (LLSH pattern 8)
|
||||
(SETQ pattern (LLSH pattern 4))
|
||||
(LLSH pattern 8])
|
||||
|
||||
(PUTPROPS \SETPBTFUNCTION MACRO [OPENLAMBDA (BBT SourceType Operation)
|
||||
(PROGN (replace (PILOTBBT PBTOPERATION) of BBT
|
||||
with (SELECTQ Operation
|
||||
(ERASE 1)
|
||||
(PAINT 2)
|
||||
(INVERT 3)
|
||||
0))
|
||||
(replace (PILOTBBT PBTSOURCETYPE) of BBT
|
||||
with (COND
|
||||
((EQ (EQ SourceType 'INVERT)
|
||||
(EQ Operation 'ERASE))
|
||||
0)
|
||||
(T 1])
|
||||
(PROGN (replace (PILOTBBT PBTOPERATION) of BBT
|
||||
with (SELECTQ Operation
|
||||
(ERASE 1)
|
||||
(PAINT 2)
|
||||
(INVERT 3)
|
||||
0))
|
||||
(replace (PILOTBBT PBTSOURCETYPE) of BBT
|
||||
with (COND
|
||||
((EQ (EQ SourceType 'INVERT)
|
||||
(EQ Operation 'ERASE))
|
||||
0)
|
||||
(T 1])
|
||||
|
||||
(PUTPROPS \BITBLT1 MACRO ((bbt)
|
||||
(BitBltSUBR bbt)))
|
||||
(BitBltSUBR bbt)))
|
||||
)
|
||||
|
||||
(* "END EXPORTED DEFINITIONS")
|
||||
@ -2899,40 +2897,6 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(DSPCREATE
|
||||
[LAMBDA (DESTINATION) (* ; "Edited 1-Aug-2021 23:41 by rmk:")
|
||||
|
||||
(* ;; "Creates a stream-of-type-display on the DESTINATION bitmap or display device")
|
||||
|
||||
(LET (DSTRM)
|
||||
[COND
|
||||
((NULL DESTINATION)
|
||||
(SETQ DESTINATION ScreenBitMap))
|
||||
(T (\DTEST DESTINATION 'BITMAP]
|
||||
(SETQ DSTRM (create STREAM
|
||||
USERCLOSEABLE _ NIL
|
||||
OUTCHARFN _ (FUNCTION \DSPPRINTCHAR)
|
||||
EOLCONVENTION _ CR.EOLC
|
||||
IMAGEDATA _ (create \DISPLAYDATA)
|
||||
IMAGEOPS _ \DISPLAYIMAGEOPS
|
||||
DEVICE _ DisplayFDEV
|
||||
ACCESS _ 'OUTPUT)) (* ;
|
||||
"initial x and y positions are 0 when the data is created.")
|
||||
(DSPFONT DEFAULTFONT DSTRM) (* ;
|
||||
"dspfont can win since the (default) display imageops are filled in the stream")
|
||||
(DSPDESTINATION DESTINATION DSTRM) (* ;
|
||||
"dspdestination calls \SFFixFont, which presumes there is a font present.")
|
||||
(DSPFONT DEFAULTFONT DSTRM)
|
||||
|
||||
(* ;; "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH. It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed. The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it. rrb")
|
||||
|
||||
(DSPRIGHTMARGIN (MAX SCREENWIDTH (fetch (BITMAP BITMAPWIDTH) of DESTINATION))
|
||||
DSTRM)
|
||||
(DSPSOURCETYPE 'INPUT DSTRM)
|
||||
(DSPOPERATION 'REPLACE DSTRM) (* ;
|
||||
"called to cause the updating of the bitblt table from the fields initialized earlier.")
|
||||
DSTRM])
|
||||
|
||||
(DSPDESTINATION
|
||||
[LAMBDA (DESTINATION DISPLAYSTREAM)
|
||||
(DECLARE (GLOBALVARS \DISPLAYIMAGEOPS \4DISPLAYIMAGEOPS \8DISPLAYIMAGEOPS \24DISPLAYIMAGEOPS
|
||||
@ -3141,6 +3105,75 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(\SIMPLE.DSPCREATE
|
||||
[LAMBDA (DESTINATION) (* ; "Edited 8-Jul-2022 19:47 by rmk")
|
||||
(* ; "Edited 1-Aug-2021 23:41 by rmk:")
|
||||
|
||||
(* ;; "Creates a simple stream-of-type-display on the DESTINATION bitmap or display device. To be replaced by \GENERIC.DSPCREATE on WINDOW.")
|
||||
|
||||
[COND
|
||||
((NULL DESTINATION)
|
||||
(SETQ DESTINATION ScreenBitMap))
|
||||
(T (\DTEST DESTINATION 'BITMAP]
|
||||
(\COMMON.DSPCREATE DESTINATION])
|
||||
|
||||
(\COMMON.DSPCREATE
|
||||
[LAMBDA (DESTINATION FDEV IMAGEOPS OLDDSP) (* ; "Edited 9-Jul-2022 12:07 by rmk")
|
||||
(* ; "Edited 1-Aug-2021 23:41 by rmk:")
|
||||
|
||||
(* ;; "Common core of \SIMPLE.DSPCREATE on LLDISPLAY and \GENERIC-DSPCREATE on WINDOW. Parameters cover the small differences of the core functionality.")
|
||||
|
||||
(* ;; "OLDDSP, if given, must be a displaystream that gets smashed with the new field values, used apparently to recreate an old window on a new screen. Presumably is was previously created by a non-OLDDSP call to this function.")
|
||||
|
||||
(LET [(DSTRM (IF OLDDSP
|
||||
THEN
|
||||
(* ;; "Preserve everything here, functions below do other updates. Maybe some of this smashing should be uninterruptable?")
|
||||
|
||||
(CL:UNLESS (DISPLAYSTREAMP OLDDSP)
|
||||
(\ILLEGAL.ARG OLDDSP))
|
||||
(replace (STREAM DEVICE) of OLDSTREAM with (OR FDEV DisplayFDEV))
|
||||
(replace (STREAM IMAGEOPS) of OLDSTREAM with (OR IMAGEOPS \DISPLAYIMAGEOPS)
|
||||
)
|
||||
OLDDSP
|
||||
ELSE
|
||||
(* ;; "Maybe should get the STRMBOUTFN from the FDEV?")
|
||||
|
||||
(create STREAM
|
||||
USERCLOSEABLE _ NIL
|
||||
STRMBOUTFN _ (FUNCTION \DSPPRINTCHAR)
|
||||
IMAGEDATA _ (create \DISPLAYDATA)
|
||||
IMAGEOPS _ (OR IMAGEOPS \DISPLAYIMAGEOPS)
|
||||
DEVICE _ (OR FDEV DisplayFDEV)
|
||||
ACCESS _ 'OUTPUT
|
||||
READONLY-EXTERNALFORMAT _ T] (* ;
|
||||
"initial x and y positions are 0 when the data is created.")
|
||||
(DSPFONT DEFAULTFONT DSTRM) (* ;
|
||||
"dspfont can win since the (default) display imageops are filled in the stream")
|
||||
(DSPDESTINATION DESTINATION DSTRM) (* ;
|
||||
"dspdestination calls \SFFixFont, which presumes there is a font present.")
|
||||
|
||||
(* ;; "RMK: I don't know why there were 2 calls to DSPFONT, taking this one out:")
|
||||
|
||||
(* ;; "(DSPFONT DEFAULTFONT DSTRM)")
|
||||
|
||||
(* ;; "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH. It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed. The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it. rrb")
|
||||
|
||||
(DSPRIGHTMARGIN (MAX SCREENWIDTH (fetch (BITMAP BITMAPWIDTH) of DESTINATION))
|
||||
DSTRM)
|
||||
(DSPSOURCETYPE 'INPUT DSTRM)
|
||||
(DSPOPERATION 'REPLACE DSTRM) (* ;
|
||||
"called to cause the updating of the bitblt table from the fields initialized earlier.")
|
||||
DSTRM])
|
||||
)
|
||||
|
||||
|
||||
|
||||
(* ; "MOVD? so we don't trash a later redefinition")
|
||||
|
||||
|
||||
(MOVD? '\SIMPLE.DSPCREATE 'DSPCREATE)
|
||||
(DEFINEQ
|
||||
|
||||
(\MEDW.XOFFSET
|
||||
[LAMBDA (XOFFSET DISPLAYSTREAM) (* ; "Edited 17-Apr-94 23:32 by sybalsky")
|
||||
|
||||
@ -3352,65 +3385,60 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
|
||||
|
||||
[PROGN (PUTPROPS \INSURETOPWDS DMACRO [OPENLAMBDA (DS)
|
||||
(OR (EQ DS \TOPWDS)
|
||||
(COND
|
||||
((FMEMB (DSPDESTINATION NIL DS)
|
||||
\SCREENBITMAPS)
|
||||
(\TOTOPWDS DS])
|
||||
(PUTPROPS \INSURETOPWDS MACRO ((DS) (* For non-window implementations)
|
||||
(PROGN)))]
|
||||
(OR (EQ DS \TOPWDS)
|
||||
(COND
|
||||
((FMEMB (DSPDESTINATION NIL DS)
|
||||
\SCREENBITMAPS)
|
||||
(\TOTOPWDS DS])
|
||||
(PUTPROPS \INSURETOPWDS MACRO ((DS) (* For non-window implementations)
|
||||
(PROGN)))]
|
||||
|
||||
(PUTPROPS .WHILE.TOP.DS. MACRO [(FIRST . REST)
|
||||
(PROG (DISPINTERRUPT SOFTCURSORUP)
|
||||
(PROG (DISPINTERRUPT SOFTCURSORUP)
|
||||
|
||||
(* FIRST should be a displaystream and a variable.
|
||||
This macro may also take a soft cursor down, similar to the way
|
||||
.WHILE.CURSOR.DOWN. does, but only if FIRST's destination is the same as the
|
||||
soft cursor's destination. *)
|
||||
(* FIRST should be a displaystream and a variable.
|
||||
This macro may also take a soft cursor down, similar to the way
|
||||
.WHILE.CURSOR.DOWN. does, but only if FIRST's destination is the same as the soft
|
||||
cursor's destination. *)
|
||||
|
||||
[COND
|
||||
(\SOFTCURSORP (SETQ SOFTCURSORUP
|
||||
(AND \SOFTCURSORUPP
|
||||
(EQ (DSPDESTINATION NIL
|
||||
FIRST)
|
||||
\CURSORDESTINATION)))
|
||||
(COND
|
||||
(SOFTCURSORUP (SETQ DISPINTERRUPT
|
||||
(\GETBASE \EM.DISPINTERRUPT
|
||||
0))
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0 0)
|
||||
(\SOFTCURSORDOWN]
|
||||
(\INSURETOPWDS FIRST)
|
||||
(PROGN . REST)
|
||||
(COND
|
||||
(SOFTCURSORUP (\SOFTCURSORUPCURRENT)
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0 DISPINTERRUPT])
|
||||
[COND
|
||||
(\SOFTCURSORP (SETQ SOFTCURSORUP
|
||||
(AND \SOFTCURSORUPP (EQ (DSPDESTINATION
|
||||
NIL FIRST)
|
||||
\CURSORDESTINATION)))
|
||||
(COND
|
||||
(SOFTCURSORUP (SETQ DISPINTERRUPT (\GETBASE
|
||||
\EM.DISPINTERRUPT
|
||||
0))
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0 0)
|
||||
(\SOFTCURSORDOWN]
|
||||
(\INSURETOPWDS FIRST)
|
||||
(PROGN . REST)
|
||||
(COND
|
||||
(SOFTCURSORUP (\SOFTCURSORUPCURRENT)
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0 DISPINTERRUPT])
|
||||
|
||||
(PUTPROPS .WHILE.CURSOR.DOWN. MACRO [(FIRST . REST)
|
||||
(PROG (DISPINTERRUPT SOFTCURSORUP)
|
||||
(PROG (DISPINTERRUPT SOFTCURSORUP)
|
||||
|
||||
(* This macro should wrap around any code that draws or bitblts directly from
|
||||
or to a screen bitmap. E.g. DRAWGRAYBOX in HLDISPLAY which puts up a shadow box
|
||||
during GETREGION. The purpose of this macro is that a soft
|
||||
(e.g. color) cursor's bits not be taken to be screen bits while FIRST & REST
|
||||
are done. *)
|
||||
(* This macro should wrap around any code that draws or bitblts directly from or
|
||||
to a screen bitmap. E.g. DRAWGRAYBOX in HLDISPLAY which puts up a shadow box
|
||||
during GETREGION. The purpose of this macro is that a soft
|
||||
(e.g. color) cursor's bits not be taken to be screen bits while FIRST & REST are
|
||||
done. *)
|
||||
|
||||
[COND
|
||||
(\SOFTCURSORP (SETQ SOFTCURSORUP \SOFTCURSORUPP
|
||||
)
|
||||
(COND
|
||||
(SOFTCURSORUP (SETQ DISPINTERRUPT
|
||||
(\GETBASE
|
||||
\EM.DISPINTERRUPT
|
||||
0))
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0
|
||||
0)
|
||||
(\SOFTCURSORDOWN]
|
||||
(PROGN FIRST . REST)
|
||||
(COND
|
||||
(SOFTCURSORUP (\SOFTCURSORUPCURRENT)
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0
|
||||
DISPINTERRUPT])
|
||||
[COND
|
||||
(\SOFTCURSORP (SETQ SOFTCURSORUP \SOFTCURSORUPP)
|
||||
(COND
|
||||
(SOFTCURSORUP (SETQ DISPINTERRUPT
|
||||
(\GETBASE \EM.DISPINTERRUPT 0)
|
||||
)
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0 0)
|
||||
(\SOFTCURSORDOWN]
|
||||
(PROGN FIRST . REST)
|
||||
(COND
|
||||
(SOFTCURSORUP (\SOFTCURSORUPCURRENT)
|
||||
(\PUTBASE \EM.DISPINTERRUPT 0 DISPINTERRUPT])
|
||||
)
|
||||
|
||||
(ADDTOVAR GLOBALVARS \TOPWDS)
|
||||
@ -3512,10 +3540,10 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
)
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")
|
||||
(DEFOPTIMIZER TTYDISPLAYSTREAM (&REST X)
|
||||
(COND
|
||||
((NULL (CAR X))
|
||||
'\TERM.OFD)
|
||||
(T 'IGNOREMACRO)))
|
||||
(COND
|
||||
((NULL (CAR X))
|
||||
'\TERM.OFD)
|
||||
(T 'IGNOREMACRO)))
|
||||
|
||||
(* "END EXPORTED DEFINITIONS")
|
||||
|
||||
@ -3601,9 +3629,9 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(DEFMACRO \MAYBE-DRIBBLE-CHAR (DISPLAY-STREAM CHARCODE)
|
||||
"if we are dribbling, then dribble this character"
|
||||
|
||||
(* ;; "*DRIBBLE-OUTPUT* is a per-process special.")
|
||||
(* ;; "*DRIBBLE-OUTPUT* is a per-process special.")
|
||||
|
||||
(* ;; "Only dribble if *DRIBBLE-OUTPUT* is not NIL, and IS a stream; the NIL check is for speed, since the STREAMP is something like 30 of the time spent printing to the exec window!!")
|
||||
(* ;; "Only dribble if *DRIBBLE-OUTPUT* is not NIL, and IS a stream; the NIL check is for speed, since the STREAMP is something like 30 of the time spent printing to the exec window!!")
|
||||
|
||||
`(AND *DRIBBLE-OUTPUT* (STREAMP *DRIBBLE-OUTPUT*)
|
||||
(EQ ,DISPLAY-STREAM (TTYDISPLAYSTREAM))
|
||||
@ -4029,7 +4057,7 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS \CHECKCARET MACRO ((X)
|
||||
(AND \CARET.UP (\CARET.DOWN X))))
|
||||
(AND \CARET.UP (\CARET.DOWN X))))
|
||||
)
|
||||
|
||||
(* "END EXPORTED DEFINITIONS")
|
||||
@ -4129,21 +4157,21 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(DECLARE%: DONTCOPY
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS \DSPTRANSFORMX MACRO ((X DD) (* transforms an x coordinate into
|
||||
the destination coordinate.)
|
||||
(IPLUS X (fetch (\DISPLAYDATA DDXOFFSET) of DD))))
|
||||
(PUTPROPS \DSPTRANSFORMX MACRO ((X DD) (* transforms an x coordinate into the
|
||||
destination coordinate.)
|
||||
(IPLUS X (fetch (\DISPLAYDATA DDXOFFSET) of DD))))
|
||||
|
||||
(PUTPROPS \DSPTRANSFORMY MACRO ((Y DD) (* transforms an y coordinate into
|
||||
the destination coordinate.)
|
||||
(IPLUS Y (fetch (\DISPLAYDATA DDYOFFSET) of DD))))
|
||||
(PUTPROPS \DSPTRANSFORMY MACRO ((Y DD) (* transforms an y coordinate into the
|
||||
destination coordinate.)
|
||||
(IPLUS Y (fetch (\DISPLAYDATA DDYOFFSET) of DD))))
|
||||
|
||||
(PUTPROPS \OFFSETBOTTOM MACRO ((X) (* gives the destination coordinate
|
||||
address of the origin.)
|
||||
(fetch (\DISPLAYDATA DDYOFFSET) of X)))
|
||||
(PUTPROPS \OFFSETBOTTOM MACRO ((X) (* gives the destination coordinate
|
||||
address of the origin.)
|
||||
(fetch (\DISPLAYDATA DDYOFFSET) of X)))
|
||||
|
||||
(PUTPROPS \OFFSETLEFT MACRO ((DD) (* returns the x origin of display
|
||||
data destination coordinates.)
|
||||
(fetch (\DISPLAYDATA DDXOFFSET) of DD)))
|
||||
(PUTPROPS \OFFSETLEFT MACRO ((DD) (* returns the x origin of display
|
||||
data destination coordinates.)
|
||||
(fetch (\DISPLAYDATA DDXOFFSET) of DD)))
|
||||
)
|
||||
|
||||
(* "END EXPORTED DEFINITIONS")
|
||||
@ -4476,8 +4504,8 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
)
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS DISPLAYINITIALIZEDP MACRO (NIL (* always initialized now)
|
||||
T))
|
||||
(PUTPROPS DISPLAYINITIALIZEDP MACRO (NIL (* always initialized now)
|
||||
T))
|
||||
|
||||
(PUTPROPS DISPLAYSTARTEDP MACRO (NIL \DisplayStarted))
|
||||
)
|
||||
@ -4528,42 +4556,43 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
|
||||
(PUTPROPS LLDISPLAY COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988
|
||||
1989 1990 1993 1994 2021))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (20544 23212 (\FBITMAPBIT 20554 . 21014) (\FBITMAPBIT.UFN 21016 . 22035) (
|
||||
\NEWPAGE.DISPLAY 22037 . 22172) (INITBITMASKS 22174 . 23210)) (25257 25766 (\CreateCursorBitMap 25267
|
||||
. 25764)) (25883 84971 (BITBLT 25893 . 36283) (BLTSHADE 36285 . 37063) (\BITBLTSUB 37065 . 47200) (
|
||||
\GETPILOTBBTSCRATCHBM 47202 . 47817) (BITMAPCOPY 47819 . 48395) (BITMAPCREATE 48397 . 49957) (
|
||||
BITMAPBIT 49959 . 58346) (BLTCHAR 58348 . 58964) (\BLTCHAR 58966 . 59468) (\MEDW.BLTCHAR 59470 . 64348
|
||||
) (\CHANGECHARSET.DISPLAY 64350 . 67308) (\INDICATESTRING 67310 . 68506) (\SLOWBLTCHAR 68508 . 75604)
|
||||
(TEXTUREP 75606 . 75876) (INVERT.TEXTURE 75878 . 76152) (INVERT.TEXTURE.BITMAP 76154 . 77689) (
|
||||
BITMAPWIDTH 77691 . 78063) (READBITMAP 78065 . 80575) (\INSUREBITSPERPIXEL 80577 . 80872) (
|
||||
MAXIMUMCOLOR 80874 . 81015) (OPPOSITECOLOR 81017 . 81196) (MAXIMUMSHADE 81198 . 81409) (OPPOSITESHADE
|
||||
81411 . 81590) (\MEDW.BITBLT 81592 . 84969)) (84973 90288 (FINISH-READING-BITMAP 84973 . 90288)) (
|
||||
91551 92032 (BITMAPBIT.EXPANDER 91561 . 92030)) (92033 140567 (\BITBLT.DISPLAY 92043 . 115282) (
|
||||
\BITBLT.BITMAP 115284 . 124383) (\BITBLT.MERGE 124385 . 126638) (\BLTSHADE.DISPLAY 126640 . 133740) (
|
||||
\BLTSHADE.BITMAP 133742 . 140565)) (140568 149888 (\BITBLT.BITMAP.SLOW 140578 . 149886)) (149889
|
||||
166270 (\PUNT.BLTSHADE.BITMAP 149899 . 156995) (\PUNT.BITBLT.BITMAP 156997 . 166268)) (166271 169711 (
|
||||
\SCALEDBITBLT.DISPLAY 166281 . 167914) (\BACKCOLOR.DISPLAY 167916 . 169709)) (174029 176302 (
|
||||
DISPLAYSTREAMP 174039 . 174647) (DSPSOURCETYPE 174649 . 175658) (DSPXOFFSET 175660 . 175979) (
|
||||
DSPYOFFSET 175981 . 176300)) (176303 192604 (DSPCREATE 176313 . 178417) (DSPDESTINATION 178419 .
|
||||
181522) (DSPTEXTURE 181524 . 181686) (\DISPLAYSTREAMINCRXPOSITION 181688 . 181975) (\SFFixDestination
|
||||
181977 . 183155) (\SFFixClippingRegion 183157 . 185329) (\SFFixFont 185331 . 186381) (\SFFIXLINELENGTH
|
||||
186383 . 187879) (\UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD 187881 . 189694) (\SFFixY 189696 . 192602))
|
||||
(192605 194799 (\MEDW.XOFFSET 192615 . 193756) (\MEDW.YOFFSET 193758 . 194797)) (194800 202726 (
|
||||
\DSPCLIPPINGREGION.DISPLAY 194810 . 195556) (\DSPFONT.DISPLAY 195558 . 197928) (\DISPLAY.PILOTBITBLT
|
||||
197930 . 198079) (\DSPLINEFEED.DISPLAY 198081 . 198652) (\DSPLEFTMARGIN.DISPLAY 198654 . 199385) (
|
||||
\DSPOPERATION.DISPLAY 199387 . 200411) (\DSPRIGHTMARGIN.DISPLAY 200413 . 201258) (
|
||||
\DSPXPOSITION.DISPLAY 201260 . 202117) (\DSPYPOSITION.DISPLAY 202119 . 202724)) (207496 212532 (
|
||||
TTYDISPLAYSTREAM 207506 . 212530)) (212851 213881 (DSPSCROLL 212861 . 213561) (PAGEHEIGHT 213563 .
|
||||
213879)) (213926 216948 (\DSPRESET.DISPLAY 213936 . 216946)) (217508 238146 (\DSPPRINTCHAR 217518 .
|
||||
225356) (\DSPPRINTCR/LF 225358 . 238144)) (238147 238739 (\TTYBACKGROUND 238157 . 238737)) (238740
|
||||
242027 (DSPBACKUP 238750 . 242025)) (242211 242467 (COLORDISPLAYP 242221 . 242465)) (242468 244539 (
|
||||
DISPLAYBEFOREEXIT 242478 . 243304) (DISPLAYAFTERENTRY 243306 . 244537)) (244919 249451 (
|
||||
\DSPCLIPTRANSFORMX 244929 . 245518) (\DSPCLIPTRANSFORMY 245520 . 246245) (\DSPTRANSFORMREGION 246247
|
||||
. 246779) (\DSPUNTRANSFORMY 246781 . 247041) (\DSPUNTRANSFORMX 247043 . 247303) (
|
||||
\OFFSETCLIPPINGREGION 247305 . 249449)) (250757 253344 (UPDATESCREENDIMENSIONS 250767 . 251396) (
|
||||
\CreateScreenBitMap 251398 . 253342)) (253903 267062 (\CoerceToDisplayDevice 253913 . 254326) (
|
||||
\CREATEDISPLAY 254328 . 256168) (DISPLAYSTREAMINIT 256170 . 259314) (\STARTDISPLAY 259316 . 262227) (
|
||||
\MOVE.WINDOWS.ONTO.SCREEN 262229 . 264421) (\UPDATE.PBT.RASTERWIDTHS 264423 . 266205) (\STOPDISPLAY
|
||||
266207 . 266699) (\DEFINEDISPLAYINFO 266701 . 267060)) (267670 268431 (INITIALIZEDISPLAYSTREAMS 267680
|
||||
. 268429)))))
|
||||
(FILEMAP (NIL (20598 23266 (\FBITMAPBIT 20608 . 21068) (\FBITMAPBIT.UFN 21070 . 22089) (
|
||||
\NEWPAGE.DISPLAY 22091 . 22226) (INITBITMASKS 22228 . 23264)) (25191 25700 (\CreateCursorBitMap 25201
|
||||
. 25698)) (25817 84905 (BITBLT 25827 . 36217) (BLTSHADE 36219 . 36997) (\BITBLTSUB 36999 . 47134) (
|
||||
\GETPILOTBBTSCRATCHBM 47136 . 47751) (BITMAPCOPY 47753 . 48329) (BITMAPCREATE 48331 . 49891) (
|
||||
BITMAPBIT 49893 . 58280) (BLTCHAR 58282 . 58898) (\BLTCHAR 58900 . 59402) (\MEDW.BLTCHAR 59404 . 64282
|
||||
) (\CHANGECHARSET.DISPLAY 64284 . 67242) (\INDICATESTRING 67244 . 68440) (\SLOWBLTCHAR 68442 . 75538)
|
||||
(TEXTUREP 75540 . 75810) (INVERT.TEXTURE 75812 . 76086) (INVERT.TEXTURE.BITMAP 76088 . 77623) (
|
||||
BITMAPWIDTH 77625 . 77997) (READBITMAP 77999 . 80509) (\INSUREBITSPERPIXEL 80511 . 80806) (
|
||||
MAXIMUMCOLOR 80808 . 80949) (OPPOSITECOLOR 80951 . 81130) (MAXIMUMSHADE 81132 . 81343) (OPPOSITESHADE
|
||||
81345 . 81524) (\MEDW.BITBLT 81526 . 84903)) (84907 90093 (FINISH-READING-BITMAP 84907 . 90093)) (
|
||||
91215 91696 (BITMAPBIT.EXPANDER 91225 . 91694)) (91697 140231 (\BITBLT.DISPLAY 91707 . 114946) (
|
||||
\BITBLT.BITMAP 114948 . 124047) (\BITBLT.MERGE 124049 . 126302) (\BLTSHADE.DISPLAY 126304 . 133404) (
|
||||
\BLTSHADE.BITMAP 133406 . 140229)) (140232 149552 (\BITBLT.BITMAP.SLOW 140242 . 149550)) (149553
|
||||
165934 (\PUNT.BLTSHADE.BITMAP 149563 . 156659) (\PUNT.BITBLT.BITMAP 156661 . 165932)) (165935 169375 (
|
||||
\SCALEDBITBLT.DISPLAY 165945 . 167578) (\BACKCOLOR.DISPLAY 167580 . 169373)) (173230 175503 (
|
||||
DISPLAYSTREAMP 173240 . 173848) (DSPSOURCETYPE 173850 . 174859) (DSPXOFFSET 174861 . 175180) (
|
||||
DSPYOFFSET 175182 . 175501)) (175504 189699 (DSPDESTINATION 175514 . 178617) (DSPTEXTURE 178619 .
|
||||
178781) (\DISPLAYSTREAMINCRXPOSITION 178783 . 179070) (\SFFixDestination 179072 . 180250) (
|
||||
\SFFixClippingRegion 180252 . 182424) (\SFFixFont 182426 . 183476) (\SFFIXLINELENGTH 183478 . 184974)
|
||||
(\UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD 184976 . 186789) (\SFFixY 186791 . 189697)) (189700 193547 (
|
||||
\SIMPLE.DSPCREATE 189710 . 190260) (\COMMON.DSPCREATE 190262 . 193545)) (193648 195842 (\MEDW.XOFFSET
|
||||
193658 . 194799) (\MEDW.YOFFSET 194801 . 195840)) (195843 203769 (\DSPCLIPPINGREGION.DISPLAY 195853 .
|
||||
196599) (\DSPFONT.DISPLAY 196601 . 198971) (\DISPLAY.PILOTBITBLT 198973 . 199122) (
|
||||
\DSPLINEFEED.DISPLAY 199124 . 199695) (\DSPLEFTMARGIN.DISPLAY 199697 . 200428) (\DSPOPERATION.DISPLAY
|
||||
200430 . 201454) (\DSPRIGHTMARGIN.DISPLAY 201456 . 202301) (\DSPXPOSITION.DISPLAY 202303 . 203160) (
|
||||
\DSPYPOSITION.DISPLAY 203162 . 203767)) (207957 212993 (TTYDISPLAYSTREAM 207967 . 212991)) (213296
|
||||
214326 (DSPSCROLL 213306 . 214006) (PAGEHEIGHT 214008 . 214324)) (214371 217393 (\DSPRESET.DISPLAY
|
||||
214381 . 217391)) (217429 217952 (\MAYBE-DRIBBLE-CHAR 217429 . 217952)) (217953 238591 (\DSPPRINTCHAR
|
||||
217963 . 225801) (\DSPPRINTCR/LF 225803 . 238589)) (238592 239184 (\TTYBACKGROUND 238602 . 239182)) (
|
||||
239185 242472 (DSPBACKUP 239195 . 242470)) (242656 242912 (COLORDISPLAYP 242666 . 242910)) (242913
|
||||
244984 (DISPLAYBEFOREEXIT 242923 . 243749) (DISPLAYAFTERENTRY 243751 . 244982)) (245356 249888 (
|
||||
\DSPCLIPTRANSFORMX 245366 . 245955) (\DSPCLIPTRANSFORMY 245957 . 246682) (\DSPTRANSFORMREGION 246684
|
||||
. 247216) (\DSPUNTRANSFORMY 247218 . 247478) (\DSPUNTRANSFORMX 247480 . 247740) (
|
||||
\OFFSETCLIPPINGREGION 247742 . 249886)) (251202 253789 (UPDATESCREENDIMENSIONS 251212 . 251841) (
|
||||
\CreateScreenBitMap 251843 . 253787)) (254348 267507 (\CoerceToDisplayDevice 254358 . 254771) (
|
||||
\CREATEDISPLAY 254773 . 256613) (DISPLAYSTREAMINIT 256615 . 259759) (\STARTDISPLAY 259761 . 262672) (
|
||||
\MOVE.WINDOWS.ONTO.SCREEN 262674 . 264866) (\UPDATE.PBT.RASTERWIDTHS 264868 . 266650) (\STOPDISPLAY
|
||||
266652 . 267144) (\DEFINEDISPLAYINFO 267146 . 267505)) (268115 268876 (INITIALIZEDISPLAYSTREAMS 268125
|
||||
. 268874)))))
|
||||
STOP
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
(FILECREATED " 6-Sep-2021 16:23:29" ("compiled on "
|
||||
{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;10) " 6-Sep-2021 15:59:15"
|
||||
"COMPILE-FILEd" in "FULL 6-Sep-2021 ..." dated " 6-Sep-2021 15:59:21")
|
||||
(FILECREATED " 8-Aug-2021 00:19:22" {DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;7
|
||||
268927 changes to%: (FNS READBITMAP) previous date%: " 1-Aug-2021 23:41:37"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;6)
|
||||
|
||||
(FILECREATED " 9-Jul-2022 12:08:03" ("compiled on "
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;16) " 8-Jul-2022 23:54:51"
|
||||
"COMPILE-FILEd" in "FULL 8-Jul-2022 ..." dated " 8-Jul-2022 23:54:57")
|
||||
(FILECREATED " 9-Jul-2022 12:08:02"
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;16 269372 :CHANGES-TO (FNS
|
||||
\COMMON.DSPCREATE) :PREVIOUS-DATE " 8-Jul-2022 23:44:51"
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;13)
|
||||
(RPAQQ LLDISPLAYCOMS ((DECLARE%: DONTCOPY (EXPORT (RECORDS PILOTBBT \DISPLAYDATA DISPLAYSTATE
|
||||
DISPLAYINFO) (MACROS \GETDISPLAYDATA))) (* ;
|
||||
"User-visible records are on ADISPLAY --- must be init'ed here") (INITRECORDS BITMAP PILOTBBT REGION
|
||||
@ -30,40 +32,41 @@ EXPORT (MACROS \DSPGETCHARWIDTH \DSPGETCHARIMAGEWIDTH \DSPGETCHAROFFSET \CONVERT
|
||||
P (MOVD? (QUOTE BITBLT) (QUOTE BKBITBLT)))) (* ;
|
||||
"macro for this file so that BITBLT can be broken by users") (EXPORT (DECLARE%: DONTCOPY DONTEVAL@LOAD
|
||||
DOEVAL@COMPILE (P (PUTPROP (QUOTE BITBLT) (QUOTE MACRO) (QUOTE (= . BKBITBLT))))))) (COMS (* ;
|
||||
"display stream functions") (FNS DISPLAYSTREAMP DSPSOURCETYPE DSPXOFFSET DSPYOFFSET) (FNS DSPCREATE
|
||||
"display stream functions") (FNS DISPLAYSTREAMP DSPSOURCETYPE DSPXOFFSET DSPYOFFSET) (FNS
|
||||
DSPDESTINATION DSPTEXTURE \DISPLAYSTREAMINCRXPOSITION \SFFixDestination \SFFixClippingRegion
|
||||
\SFFixFont \SFFIXLINELENGTH \UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD \SFFixY) (FNS \MEDW.XOFFSET
|
||||
\MEDW.YOFFSET) (FNS \DSPCLIPPINGREGION.DISPLAY \DSPFONT.DISPLAY \DISPLAY.PILOTBITBLT
|
||||
\DSPLINEFEED.DISPLAY \DSPLEFTMARGIN.DISPLAY \DSPOPERATION.DISPLAY \DSPRIGHTMARGIN.DISPLAY
|
||||
\DSPXPOSITION.DISPLAY \DSPYPOSITION.DISPLAY) (P (MOVD? (QUOTE \ILLEGAL.ARG) (QUOTE \COERCETODS)) (
|
||||
MOVD? (QUOTE NILL) (QUOTE WFROMDS)) (MOVD? (QUOTE NILL) (QUOTE WINDOWP)) (MOVD? (QUOTE NILL) (QUOTE
|
||||
INVERTW))) (INITVARS (PROMPTWINDOW T) (\WINDOWWORLD NIL) (\MAINSCREEN NIL))) (COMS (* ;
|
||||
"Stub for window package") (INITVARS (\TOPWDS) (\SCREENBITMAPS)) (P (MOVD? (QUOTE NILL) (QUOTE
|
||||
\TOTOPWDS))) (DECLARE%: DONTCOPY EVAL@COMPILE (EXPORT (MACROS \INSURETOPWDS .WHILE.TOP.DS.
|
||||
.WHILE.CURSOR.DOWN.) (ADDVARS (GLOBALVARS \TOPWDS))))) (COMS (* ; "DisplayStream TTY functions") (FNS
|
||||
TTYDISPLAYSTREAM) (EXPORT (OPTIMIZERS TTYDISPLAYSTREAM)) (FNS DSPSCROLL PAGEHEIGHT) (INITVARS (
|
||||
\CURRENTTTYDEVICE (QUOTE BCPLDISPLAY))) (FNS \DSPRESET.DISPLAY) (COMS (INITVARS (*DRIBBLE-OUTPUT* NIL)
|
||||
) (FUNCTIONS \MAYBE-DRIBBLE-CHAR) (FNS \DSPPRINTCHAR \DSPPRINTCR/LF)) (FNS \TTYBACKGROUND) (FNS
|
||||
DSPBACKUP) (INITVARS (\CARET.UP)) (DECLARE%: DONTEVAL@LOAD DOCOPY (VARS (BELLCNT 2) (BELLRATE 60) (
|
||||
\DisplayStoppedForLogout) (TtyDisplayStream))) (FNS COLORDISPLAYP) (FNS DISPLAYBEFOREEXIT
|
||||
DISPLAYAFTERENTRY) (EXPORT (GLOBALVARS BELLCNT BELLRATE TTYBACKGROUNDFNS \DisplayStoppedForLogout
|
||||
\CARET.UP) (MACROS \CHECKCARET))) (COMS (* ; "transformation related functions.") (FNS
|
||||
\DSPCLIPTRANSFORMX \DSPCLIPTRANSFORMY \DSPTRANSFORMREGION \DSPUNTRANSFORMY \DSPUNTRANSFORMX
|
||||
\OFFSETCLIPPINGREGION) (DECLARE%: DONTCOPY (EXPORT (MACROS \DSPTRANSFORMX \DSPTRANSFORMY \OFFSETBOTTOM
|
||||
\OFFSETLEFT)))) (COMS (* ; "screen related functions") (FNS UPDATESCREENDIMENSIONS
|
||||
\CreateScreenBitMap) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (UPDATESCREENDIMENSIONS)) (INITVARS (
|
||||
SCREENHEIGHT 808) (SCREENWIDTH 1024) (\OLDSCREENHEIGHT 808) (\OLDSCREENWIDTH 1024) (\MaxScreenPage -1)
|
||||
(ScreenBitMap (\CreateScreenBitMap SCREENWIDTH SCREENHEIGHT)) (ColorScreenBitMap NIL))) (GLOBALVARS
|
||||
\OLDSCREENHEIGHT \OLDSCREENWIDTH \MaxScreenPage ScreenBitMap) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (
|
||||
CURSOR.INIT)))) (COMS (* ; "initialization") (INITVARS (\DISPLAYINFOALIST)) (FNS
|
||||
\CoerceToDisplayDevice \CREATEDISPLAY DISPLAYSTREAMINIT \STARTDISPLAY \MOVE.WINDOWS.ONTO.SCREEN
|
||||
\UPDATE.PBT.RASTERWIDTHS \STOPDISPLAY \DEFINEDISPLAYINFO) (DECLARE%: EVAL@COMPILE DONTCOPY (ADDVARS (
|
||||
DONTCOMPILEFNS \UPDATE.PBT.RASTERWIDTHS))) (EXPORT (MACROS DISPLAYINITIALIZEDP DISPLAYSTARTEDP) (
|
||||
GLOBALVARS \DisplayStarted \DisplayStreamsInitialized \DisplayInitialed WHOLEDISPLAY WHOLESCREEN
|
||||
SCREENWIDTH SCREENHEIGHT)) (ADDVARS (GLOBALVARS WHOLESCREEN)) (FNS INITIALIZEDISPLAYSTREAMS) (
|
||||
DECLARE%: DOCOPY DONTEVAL@LOAD (VARS (\DisplayStarted NIL) (\LastTTYLines 12)) (P (
|
||||
INITIALIZEDISPLAYSTREAMS) (DISPLAYSTREAMINIT 1000)))) (PROP FILETYPE LLDISPLAY) (DECLARE%:
|
||||
DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA)))))
|
||||
\SFFixFont \SFFIXLINELENGTH \UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD \SFFixY) (COMS (FNS
|
||||
\SIMPLE.DSPCREATE \COMMON.DSPCREATE) (* ; "MOVD? so we don't trash a later redefinition") (P (MOVD? (
|
||||
QUOTE \SIMPLE.DSPCREATE) (QUOTE DSPCREATE)))) (FNS \MEDW.XOFFSET \MEDW.YOFFSET) (FNS
|
||||
\DSPCLIPPINGREGION.DISPLAY \DSPFONT.DISPLAY \DISPLAY.PILOTBITBLT \DSPLINEFEED.DISPLAY
|
||||
\DSPLEFTMARGIN.DISPLAY \DSPOPERATION.DISPLAY \DSPRIGHTMARGIN.DISPLAY \DSPXPOSITION.DISPLAY
|
||||
\DSPYPOSITION.DISPLAY) (P (MOVD? (QUOTE \ILLEGAL.ARG) (QUOTE \COERCETODS)) (MOVD? (QUOTE NILL) (QUOTE
|
||||
WFROMDS)) (MOVD? (QUOTE NILL) (QUOTE WINDOWP)) (MOVD? (QUOTE NILL) (QUOTE INVERTW))) (INITVARS (
|
||||
PROMPTWINDOW T) (\WINDOWWORLD NIL) (\MAINSCREEN NIL))) (COMS (* ; "Stub for window package") (INITVARS
|
||||
(\TOPWDS) (\SCREENBITMAPS)) (P (MOVD? (QUOTE NILL) (QUOTE \TOTOPWDS))) (DECLARE%: DONTCOPY
|
||||
EVAL@COMPILE (EXPORT (MACROS \INSURETOPWDS .WHILE.TOP.DS. .WHILE.CURSOR.DOWN.) (ADDVARS (GLOBALVARS
|
||||
\TOPWDS))))) (COMS (* ; "DisplayStream TTY functions") (FNS TTYDISPLAYSTREAM) (EXPORT (OPTIMIZERS
|
||||
TTYDISPLAYSTREAM)) (FNS DSPSCROLL PAGEHEIGHT) (INITVARS (\CURRENTTTYDEVICE (QUOTE BCPLDISPLAY))) (FNS
|
||||
\DSPRESET.DISPLAY) (COMS (INITVARS (*DRIBBLE-OUTPUT* NIL)) (FUNCTIONS \MAYBE-DRIBBLE-CHAR) (FNS
|
||||
\DSPPRINTCHAR \DSPPRINTCR/LF)) (FNS \TTYBACKGROUND) (FNS DSPBACKUP) (INITVARS (\CARET.UP)) (DECLARE%:
|
||||
DONTEVAL@LOAD DOCOPY (VARS (BELLCNT 2) (BELLRATE 60) (\DisplayStoppedForLogout) (TtyDisplayStream))) (
|
||||
FNS COLORDISPLAYP) (FNS DISPLAYBEFOREEXIT DISPLAYAFTERENTRY) (EXPORT (GLOBALVARS BELLCNT BELLRATE
|
||||
TTYBACKGROUNDFNS \DisplayStoppedForLogout \CARET.UP) (MACROS \CHECKCARET))) (COMS (* ;
|
||||
"transformation related functions.") (FNS \DSPCLIPTRANSFORMX \DSPCLIPTRANSFORMY \DSPTRANSFORMREGION
|
||||
\DSPUNTRANSFORMY \DSPUNTRANSFORMX \OFFSETCLIPPINGREGION) (DECLARE%: DONTCOPY (EXPORT (MACROS
|
||||
\DSPTRANSFORMX \DSPTRANSFORMY \OFFSETBOTTOM \OFFSETLEFT)))) (COMS (* ; "screen related functions") (
|
||||
FNS UPDATESCREENDIMENSIONS \CreateScreenBitMap) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (
|
||||
UPDATESCREENDIMENSIONS)) (INITVARS (SCREENHEIGHT 808) (SCREENWIDTH 1024) (\OLDSCREENHEIGHT 808) (
|
||||
\OLDSCREENWIDTH 1024) (\MaxScreenPage -1) (ScreenBitMap (\CreateScreenBitMap SCREENWIDTH SCREENHEIGHT)
|
||||
) (ColorScreenBitMap NIL))) (GLOBALVARS \OLDSCREENHEIGHT \OLDSCREENWIDTH \MaxScreenPage ScreenBitMap)
|
||||
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (CURSOR.INIT)))) (COMS (* ; "initialization") (INITVARS (
|
||||
\DISPLAYINFOALIST)) (FNS \CoerceToDisplayDevice \CREATEDISPLAY DISPLAYSTREAMINIT \STARTDISPLAY
|
||||
\MOVE.WINDOWS.ONTO.SCREEN \UPDATE.PBT.RASTERWIDTHS \STOPDISPLAY \DEFINEDISPLAYINFO) (DECLARE%:
|
||||
EVAL@COMPILE DONTCOPY (ADDVARS (DONTCOMPILEFNS \UPDATE.PBT.RASTERWIDTHS))) (EXPORT (MACROS
|
||||
DISPLAYINITIALIZEDP DISPLAYSTARTEDP) (GLOBALVARS \DisplayStarted \DisplayStreamsInitialized
|
||||
\DisplayInitialed WHOLEDISPLAY WHOLESCREEN SCREENWIDTH SCREENHEIGHT)) (ADDVARS (GLOBALVARS WHOLESCREEN
|
||||
)) (FNS INITIALIZEDISPLAYSTREAMS) (DECLARE%: DOCOPY DONTEVAL@LOAD (VARS (\DisplayStarted NIL) (
|
||||
\LastTTYLines 12)) (P (INITIALIZEDISPLAYSTREAMS) (DISPLAYSTREAMINIT 1000)))) (PROP FILETYPE LLDISPLAY)
|
||||
(DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA)))))
|
||||
(/DECLAREDATATYPE (QUOTE BITMAP) (QUOTE (POINTER WORD WORD WORD WORD)) (QUOTE ((BITMAP 0 POINTER) (
|
||||
BITMAP 2 (BITS . 15)) (BITMAP 3 (BITS . 15)) (BITMAP 4 (BITS . 15)) (BITMAP 5 (BITS . 15)))) (QUOTE 6)
|
||||
)
|
||||
@ -120,18 +123,18 @@ NIL | ||||