mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-29 07:29:15 +00:00
615 lines
23 KiB
Plaintext
615 lines
23 KiB
Plaintext
|
; Version: 2.26
|
|||
|
; Created: Wednesday, July 12, 1989 at 1:35:29 PM
|
|||
|
;
|
|||
|
; File: Quickdraw.a
|
|||
|
;
|
|||
|
; Assembler Interface to the Macintosh Libraries
|
|||
|
; Copyright Apple Computer, Inc. 1984-1992
|
|||
|
; All Rights Reserved
|
|||
|
;
|
|||
|
; Change History (most recent first):
|
|||
|
;
|
|||
|
; <SM3> 02-19-93 jmp Added a new gdFlag: Bit 5, roundedDevice.
|
|||
|
; <SM2> 1/25/93 kc Rename equate (alpha to xalpha) to avoid name collision. (We
|
|||
|
; should use records instead of an equates to avoid the problem).
|
|||
|
; <SM3> 7/7/92 CSS Roll in the following changes from reality and rename this
|
|||
|
; file from QuickEqu.a to QuickDraw.a per <23>.
|
|||
|
; <25> 7/6/92 KON No longer need bits 5 and 6 in gdFlags. Move bit 4 to bit 6.
|
|||
|
; <24> 6/30/92 KON Add three new gdFlags: Bit 4 hasAuxMenuBar, Bit 5
|
|||
|
; pixelsAreSlewSlow, and Bit 6 whiteIsOff.
|
|||
|
; <23> 6/30/92 DCL This file is the replacement for the now obsolete QuickEqu.a.
|
|||
|
; Changed the 'including' name to match the new file name.
|
|||
|
; <SM2> 6/4/92 KW (fau,P2) Added XColorSpec to support the alpha channel on
|
|||
|
; Cyclone. KW commented out value,rgb to prevent warning
|
|||
|
; <22> 6/14/91 JL Checked in official MPW 3.2<EFBFBD> version. Moved the color manager
|
|||
|
; equates; they were in the middle of GrafPort.
|
|||
|
; <21> 1/30/91 gbm sab, #38: Change the <20>already including this file<6C> variable to
|
|||
|
; all uppercase (for security reasons)
|
|||
|
; <20> 1/20/91 JT Removed the change to pnLocFixed since Peter was unhappy about
|
|||
|
; it. This fix will have to wait for some future release.
|
|||
|
; <19> 1/18/91 JT Expand pnLocFixed into a full fixed-point number in the
|
|||
|
; QuickDraw globals area.
|
|||
|
; <18> 12/14/90 KON Change name of PICT2Header to OpenCPicParams.[smc]
|
|||
|
; <17> 9/24/90 KON Fix Pict2Header record.
|
|||
|
; <16> 9/15/90 KON Added PICT2Header record.
|
|||
|
; <15> 9/14/90 csd Added equates for the DeviceLoop call.
|
|||
|
; <14> 8/26/90 PKE Deleted old names QDSmgrSlop and QDSmgrCharExtra.
|
|||
|
; <13> 8/23/90 PKE (per JT) Renamed QDSmgrSlop and QDSmgrCharExtra to qdRunSlop and
|
|||
|
; qdChExtra. Keep old names too until we can update all relevant
|
|||
|
; sources.
|
|||
|
; <12> 8/17/90 dvb Change grayishTextCopy to grayishTextOr
|
|||
|
; <11> 8/2/90 PKE Claim two previously unused longs in fontData globals for Script
|
|||
|
; Mgr charExtra and slop.
|
|||
|
; <10> 7/17/90 DVB Add "GrayishTextCopy" mode.
|
|||
|
; <9> 5/30/90 JT Claimed the first word of the fontData globals for the
|
|||
|
; horizontal pen fraction.
|
|||
|
; <8> 5/15/90 KON Add equates for RGBDirect, baseAddr32, ditherCopy.
|
|||
|
; <4> 2/2/90 BAL Moved 32-bit addressing flag and Burst mode flag down one in bit
|
|||
|
; ordering since monitors is already using bit 9 for a swapped out
|
|||
|
; debugger screen.
|
|||
|
; <3> 1/30/90 DAF Added GDFlag bit flag equates for 32-bit addressable frame
|
|||
|
; buffers and block transfer capabilities.
|
|||
|
; <2> 1/11/90 DVB Add the equate "ctFlags", which is the correct name of the
|
|||
|
; obsolete "transIndex" field of a color table.
|
|||
|
; <1> 12/17/89 CCH Adding for the first time into BBS.
|
|||
|
; <1.1> 6/10/89 CEL Moved Private.a QuickDraw Equates into proper QuickDraw private
|
|||
|
; file (colorequ.a), got rid of QuickDraw nFiles dependencies and
|
|||
|
; fixed up necessary files<65>
|
|||
|
; <1.0> 11/9/88 CCH Adding to EASE.
|
|||
|
; <<3C>1.1> 9/14/88 CCH Updated EASE with the current rev of this file.
|
|||
|
; 8/25/87 KLH MatchRec restored, it is used.
|
|||
|
; 7/7/87 KLH MatchRec removed, no longer used.
|
|||
|
; 7/2/87 KLH mainScrn & scrnActive changed to mainScreen & screenActive
|
|||
|
; 5/8/87 KLH protect changed to protectBit
|
|||
|
; 3/16/87 KLH pmNewFlag is same offset as pmRowBytes in PixMap record.
|
|||
|
; <C621> 1/13/87 DAF Moved BadEntry equate in for colormgr and renamed it
|
|||
|
; invalColReq.
|
|||
|
; <C533> 12/15/86 DAF added gamma table format
|
|||
|
; <C387> 11/9/86 DAF added request list structure
|
|||
|
; 9/23/86 NSJ new this date
|
|||
|
;
|
|||
|
; To Do:
|
|||
|
;__________________________________________________________________________________________________
|
|||
|
|
|||
|
;EASE$$$ READ ONLY COPY of file <20>QuickEqu.a<>
|
|||
|
; 1.1 CEL 06/10/1989 Moved Private.a QuickDraw Equates into proper QuickDraw
|
|||
|
; private file (colorequ.a), got rid of QuickDraw nFiles dependencies
|
|||
|
; and fixed up necessary files<65>
|
|||
|
; 1.0 CCH 11/ 9/1988 Adding to EASE.
|
|||
|
; END EASE MODIFICATION HISTORY
|
|||
|
;<3B>1.1 CCH 9/14/1988 Updated EASE with the current rev of this file.
|
|||
|
;
|
|||
|
; Modification history
|
|||
|
;
|
|||
|
; <23sep86> NSJ new this date
|
|||
|
; <C387/09Nov86> DAF added request list structure
|
|||
|
; <C533/15Dec86> DAF added gamma table format
|
|||
|
; <C621/13Jan87> DAF Moved BadEntry equate in for colormgr and renamed it invalColReq.
|
|||
|
; 16 Mar 87 KLH pmNewFlag is same offset as pmRowBytes in PixMap record.
|
|||
|
; 8 May 87 KLH protect changed to protectBit
|
|||
|
; 2 Jul 87 KLH mainScrn & scrnActive changed to mainScreen & screenActive
|
|||
|
; to agree w/ screenDevice
|
|||
|
; *** MPW 2.0 ***
|
|||
|
; 7 Jul 87 KLH MatchRec removed, no longer used.
|
|||
|
; 25 Aug 87 KLH MatchRec restored, it is used.
|
|||
|
;--------------------------------------------------------------------
|
|||
|
|
|||
|
IF &TYPE('__INCLUDINGQUICKDRAW__') = 'UNDEFINED' THEN
|
|||
|
__INCLUDINGQUICKDRAW__ SET 1
|
|||
|
|
|||
|
|
|||
|
; Transfer modes
|
|||
|
|
|||
|
srcCopy EQU 0
|
|||
|
srcOr EQU 1
|
|||
|
srcXor EQU 2
|
|||
|
srcBic EQU 3
|
|||
|
notSrcCopy EQU 4
|
|||
|
notSrcOr EQU 5
|
|||
|
notSrcXor EQU 6
|
|||
|
notSrcBic EQU 7
|
|||
|
patCopy EQU 8
|
|||
|
patOr EQU 9
|
|||
|
patXor EQU 10
|
|||
|
patBic EQU 11
|
|||
|
notPatCopy EQU 12
|
|||
|
notPatOr EQU 13
|
|||
|
notPatXor EQU 14
|
|||
|
notPatBic EQU 15
|
|||
|
|
|||
|
; Arithmetic transfer modes
|
|||
|
blend EQU 32
|
|||
|
addPin EQU 33
|
|||
|
addOver EQU 34
|
|||
|
subPin EQU 35
|
|||
|
adMax EQU 37
|
|||
|
subOver EQU 38
|
|||
|
adMin EQU 39
|
|||
|
|
|||
|
; Special text mode
|
|||
|
grayishTextOr EQU 49
|
|||
|
|
|||
|
ditherCopy EQU 64 ;promote source to 32-bit and then dither down
|
|||
|
|
|||
|
; Flags passed to DeviceLoop
|
|||
|
|
|||
|
singleDevicesBit EQU 0
|
|||
|
dontMatchSeedsBit EQU 1
|
|||
|
allDevicesBit EQU 2
|
|||
|
|
|||
|
singleDevices EQU 1
|
|||
|
dontMatchSeeds EQU 2
|
|||
|
allDevices EQU 4
|
|||
|
|
|||
|
; Definitions for Font Style Bits (right to left)
|
|||
|
|
|||
|
boldBit EQU 0
|
|||
|
|
|||
|
; Transparent mode constant
|
|||
|
transparent EQU 36
|
|||
|
italicBit EQU 1
|
|||
|
ulineBit EQU 2
|
|||
|
outlineBit EQU 3
|
|||
|
shadowBit EQU 4
|
|||
|
condenseBit EQU 5
|
|||
|
extendBit EQU 6
|
|||
|
|
|||
|
|
|||
|
; FontInfo record
|
|||
|
|
|||
|
ascent EQU 0 ; ascent [word]
|
|||
|
descent EQU 2 ; descent [word]
|
|||
|
widMax EQU 4 ; maximum width [word]
|
|||
|
leading EQU 6 ; leading [word]
|
|||
|
|
|||
|
; Rectangle structure
|
|||
|
|
|||
|
topLeft EQU 0 ; upper left corner [point]
|
|||
|
botRight EQU 4 ; lower right corner [point]
|
|||
|
top EQU 0 ; top coordinate [word]
|
|||
|
left EQU 2 ; left coordinate [word]
|
|||
|
bottom EQU 4 ; bottom coordinate [word]
|
|||
|
right EQU 6 ; right coordinate [word]
|
|||
|
|
|||
|
; Bitmap Structure
|
|||
|
|
|||
|
baseAddr EQU 0 ; bitmap base address [pointer]
|
|||
|
rowBytes EQU 4 ; row bytes (must be even) [word]
|
|||
|
bounds EQU 6 ; bounding box [rectangle]
|
|||
|
bitmapRec EQU 14 ; size of a bitmap
|
|||
|
|
|||
|
; Cursor Structure
|
|||
|
|
|||
|
data EQU 0 ; visible bits [32 bytes]
|
|||
|
mask EQU $20 ; mask bits [32 bytes]
|
|||
|
hotSpot EQU $40 ; relative origin [point]
|
|||
|
cursRec EQU 68 ; size of a cursor
|
|||
|
|
|||
|
; PenState record
|
|||
|
|
|||
|
psLoc EQU 0 ; pen location [point]
|
|||
|
psSize EQU 4 ; pen size [point]
|
|||
|
psMode EQU 8 ; pen mode [word]
|
|||
|
psPat EQU 10 ; pen [pattern]
|
|||
|
psRec EQU 18 ; size of pen state
|
|||
|
|
|||
|
; Polygon record
|
|||
|
|
|||
|
polySize EQU 0 ; total bytes [word]
|
|||
|
polyBBox EQU 2 ; bounding box [rectangle]
|
|||
|
polyPoints EQU 10 ; vertices [Points]
|
|||
|
|
|||
|
; Region Structure
|
|||
|
|
|||
|
rgnSize EQU 0 ; total bytes [word]
|
|||
|
rgnBBox EQU 2 ; bounding box [rectangle]
|
|||
|
rgnData EQU 10 ; region data [array]
|
|||
|
|
|||
|
; Picture Structure
|
|||
|
|
|||
|
picSize EQU 0 ; total bytes [word]
|
|||
|
picFrame EQU 2 ; bounding box [rectangle]
|
|||
|
picData EQU 10 ; picture byte codes [array]
|
|||
|
|
|||
|
OpenCPicParams RECORD 0
|
|||
|
srcRect ds.w 4
|
|||
|
hRes ds.l 1
|
|||
|
vRes ds.l 1
|
|||
|
version ds.w 1
|
|||
|
reserved1 ds.w 1
|
|||
|
reserved2 ds.l 1
|
|||
|
ENDR
|
|||
|
|
|||
|
; QDProcs structure
|
|||
|
|
|||
|
textProc EQU 0 ; [pointer]
|
|||
|
lineProc EQU 4 ; [pointer]
|
|||
|
rectProc EQU 8 ; [pointer]
|
|||
|
rRectProc EQU $C ; [pointer]
|
|||
|
ovalProc EQU $10 ; [pointer]
|
|||
|
arcProc EQU $14 ; [pointer]
|
|||
|
polyProc EQU $18 ; [pointer]
|
|||
|
rgnProc EQU $1C ; [pointer]
|
|||
|
bitsProc EQU $20 ; [pointer]
|
|||
|
commentProc EQU $24 ; [pointer]
|
|||
|
txMeasProc EQU $28 ; [pointer]
|
|||
|
getPicProc EQU $2C ; [pointer]
|
|||
|
putPicProc EQU $30 ; [pointer]
|
|||
|
qdProcsRec EQU $34 ; size of QDProcs record
|
|||
|
|
|||
|
; GrafPort Structure
|
|||
|
|
|||
|
device EQU $0 ; device code [word]
|
|||
|
portBits EQU $2 ; port's bitmap [bitmap]
|
|||
|
portBounds EQU $8 ; bounding box of bitmap [rect]
|
|||
|
portRect EQU $10 ; port's rectangle [rect]
|
|||
|
visRgn EQU $18 ; visible region [handle]
|
|||
|
clipRgn EQU $1C ; clipping region [handle]
|
|||
|
bkPat EQU $20 ; background [pattern]
|
|||
|
fillPat EQU $28 ; fill [pattern]
|
|||
|
pnLoc EQU $30 ; pen location [point]
|
|||
|
pnSize EQU $34 ; pen size [point]
|
|||
|
pnMode EQU $38 ; pen mode [word]
|
|||
|
pnPat EQU $3A ; pen [pattern]
|
|||
|
pnVis EQU $42 ; pen visible [word]
|
|||
|
txFont EQU $44 ; text font [word]
|
|||
|
txFace EQU $46 ; text face [word]
|
|||
|
txMode EQU $48 ; text mode [word]
|
|||
|
txSize EQU $4A ; text size [word]
|
|||
|
spExtra EQU $4C ; space extra [fixed]
|
|||
|
fgColor EQU $50 ; foreground color mask [long]
|
|||
|
bkColor EQU $54 ; background color mask [long]
|
|||
|
colrBit EQU $58 ; color bit [word]
|
|||
|
patStretch EQU $5A ; pattern stretch [word]
|
|||
|
picSave EQU $5C ; picture being saved [handle]
|
|||
|
rgnSave EQU $60 ; region being saved [handle]
|
|||
|
polySave EQU $64 ; polygon being saved [handle]
|
|||
|
grafProcs EQU $68 ; QDProcs array [pointer]
|
|||
|
portRec EQU $6C ; size of grafport
|
|||
|
|
|||
|
|
|||
|
; QuickDraw Global Variables
|
|||
|
|
|||
|
|
|||
|
GrafGlobals EQU 0 ; A5 offset to globptr
|
|||
|
thePort EQU 0 ;GrafPtr
|
|||
|
white EQU thePort-8 ;Pattern
|
|||
|
black EQU white-8 ;Pattern
|
|||
|
gray EQU black-8 ;Pattern
|
|||
|
ltGray EQU gray-8 ;Pattern
|
|||
|
dkGray EQU ltGray-8 ;Pattern
|
|||
|
arrow EQU dkGray-68 ;Cursor
|
|||
|
screenBits EQU arrow-14 ;BitMap
|
|||
|
randSeed EQU screenBits-4 ;LONGINT
|
|||
|
|
|||
|
; color manager equates
|
|||
|
|
|||
|
; RGBColor structure
|
|||
|
|
|||
|
red EQU $0 ;red channel intensity [short]
|
|||
|
green EQU $2 ;green channel intensity[short]
|
|||
|
blue EQU $4 ;blue channel intensity [short]
|
|||
|
rgbColor EQU $6 ;size of record
|
|||
|
|
|||
|
; ColorSpec structure
|
|||
|
|
|||
|
value EQU $0 ;value field [short]
|
|||
|
rgb EQU $2 ;rgb values [rgbColor]
|
|||
|
colorSpecSize EQU $8 ;size of record
|
|||
|
|
|||
|
; XColorSpec structure value,rgb commented out to prevent <SM2>
|
|||
|
;warning <SM2>
|
|||
|
|
|||
|
;value EQU $0 ;value field [short] <SM2>
|
|||
|
;rgb EQU $2 ;rgb values [rgbColor] <SM2>
|
|||
|
xalpha EQU $8
|
|||
|
xColorSpecSize EQU $a ;size of record <SM2>
|
|||
|
|
|||
|
; MatchRec structure
|
|||
|
|
|||
|
;red EQU $0 ;defined in RGBColor
|
|||
|
;green EQU $2 ;defined in RGBColor
|
|||
|
;blue EQU $4 ;defined in RGBColor
|
|||
|
matchData EQU $6 ; [long]
|
|||
|
matchRecSize EQU $A
|
|||
|
|
|||
|
; Color Separation
|
|||
|
|
|||
|
normalBit EQU 0 ; normal screen mapping
|
|||
|
inverseBit EQU 1 ; inverse screen mapping
|
|||
|
redBit EQU 4 ; RGB additive mapping
|
|||
|
greenBit EQU 3 ; for photos from screen
|
|||
|
blueBit EQU 2
|
|||
|
cyanBit EQU 8 ; CMYBk subtractive mapping
|
|||
|
yellowBit EQU 6
|
|||
|
magentaBit EQU 7 ; for ink jet printer
|
|||
|
blackBit EQU 5
|
|||
|
blackColor EQU 33
|
|||
|
whiteColor EQU 30
|
|||
|
redColor EQU 205
|
|||
|
greenColor EQU 341
|
|||
|
blueColor EQU 409
|
|||
|
cyanColor EQU 273
|
|||
|
magentaColor EQU 137
|
|||
|
yellowColor EQU 69
|
|||
|
|
|||
|
|
|||
|
; Standard Picture Comments
|
|||
|
|
|||
|
picLParen EQU 0
|
|||
|
picRParen EQU 1
|
|||
|
|
|||
|
; QuickDraw verbs
|
|||
|
|
|||
|
frame EQU 0
|
|||
|
paint EQU 1
|
|||
|
erase EQU 2
|
|||
|
invert EQU 3
|
|||
|
fill EQU 4
|
|||
|
|
|||
|
; QuickDraw private global variables
|
|||
|
|
|||
|
wideOpen EQU randSeed-4 ;RgnHandle
|
|||
|
wideMaster EQU wideOpen-4 ;RgnPtr
|
|||
|
wideData EQU wideMaster-10 ;Fake Region
|
|||
|
rgnBuf EQU wideData-4 ;PointsHandle
|
|||
|
rgnIndex EQU rgnBuf-2 ;INTEGER
|
|||
|
rgnMax EQU rgnIndex-2 ;INTEGER
|
|||
|
playPic EQU rgnMax-4 ;Long
|
|||
|
qdSpare0 EQU playPic-2 ;unused word
|
|||
|
thePoly EQU qdSpare0-4 ;POLYHANDLE
|
|||
|
polyMax EQU thePoly-2 ;INTEGER
|
|||
|
patAlign EQU polyMax-4 ;Point
|
|||
|
fontAdj EQU patAlign-4 ;Fixed Point
|
|||
|
fontPtr EQU fontAdj-4 ;long, ^FMOutput record
|
|||
|
playIndex EQU fontPtr-4 ;long
|
|||
|
pnLocFixed EQU playIndex-2 ;word, horizontal pen fraction <9>
|
|||
|
qdRunSlop EQU pnLocFixed-4 ;fixed point, Script Mgr run slop <11><13>
|
|||
|
qdChExtra EQU qdRunSlop-4 ;fixed point, Script Mgr char extra <11><13>
|
|||
|
fontData EQU qdChExtra-12 ;unused words <9><11><13>
|
|||
|
lastGrafGlob EQU fontData
|
|||
|
grafSize EQU 4-lastGrafGlob ;total size in bytes
|
|||
|
|
|||
|
; A record version of the Quickdraw globals
|
|||
|
; It is here rather than with the complementary equates because it needs other equates
|
|||
|
; ...(bitmapRec, grafSize, cursRec)
|
|||
|
|
|||
|
QDGlobals RECORD 0,DECREMENT
|
|||
|
thePort DS.L 1
|
|||
|
white DS.B 8
|
|||
|
black DS.B 8
|
|||
|
gray DS.B 8
|
|||
|
ltGray DS.B 8
|
|||
|
dkGray DS.B 8
|
|||
|
arrow DS.B cursRec
|
|||
|
screenBits DS.B bitmapRec
|
|||
|
randSeed DS.L 1
|
|||
|
ORG -grafSize
|
|||
|
ENDR
|
|||
|
|
|||
|
|
|||
|
;************** FROM HERE TO THE ENDIF IS ALL THE NEW STUFF FOR COLOR QUICKDRAW *************
|
|||
|
|
|||
|
hiliteBit EQU 7 ; flag bit in HiliteMode (lowMem flag)
|
|||
|
|
|||
|
; Equates for resource ID's
|
|||
|
|
|||
|
defQDColors EQU 127 ; resource ID of clut for default QDColors
|
|||
|
|
|||
|
;
|
|||
|
; PixMap field offsets
|
|||
|
|
|||
|
pmBaseAddr EQU $0 ; [long]
|
|||
|
pmNewFlag EQU $4 ; [1 bit] upper bit of rowbytes is flag
|
|||
|
pmRowBytes EQU $4 ; [word]
|
|||
|
pmBounds EQU $6 ; [rect]
|
|||
|
pmVersion EQU $E ; [word] pixMap version number
|
|||
|
pmPackType EQU $10 ; [word] defines packing format
|
|||
|
pmPackSize EQU $12 ; [long] size of pixel data
|
|||
|
pmHRes EQU $16 ; [fixed] h. resolution (ppi)
|
|||
|
pmVRes EQU $1A ; [fixed] v. resolution (ppi)
|
|||
|
pmPixelType EQU $1E ; [word] defines pixel type
|
|||
|
pmPixelSize EQU $20 ; [word] # bits in pixel
|
|||
|
pmCmpCount EQU $22 ; [word] # components in pixel
|
|||
|
pmCmpSize EQU $24 ; [word] # bits per field
|
|||
|
pmPlaneBytes EQU $26 ; [long] offset to next plane
|
|||
|
pmTable EQU $2A ; [long] color map
|
|||
|
pmReserved EQU $2E ; [long] MUST BE 0
|
|||
|
pmRec EQU $32 ; size of pixMap record
|
|||
|
|
|||
|
; pixel types
|
|||
|
|
|||
|
chunky EQU 0
|
|||
|
chunkyPlanar EQU 1
|
|||
|
planar EQU 2
|
|||
|
RGBDirect EQU 16
|
|||
|
|
|||
|
;
|
|||
|
; pmVersion values
|
|||
|
|
|||
|
baseAddr32 EQU 4 ; pixmap base address is 32-bit address
|
|||
|
|
|||
|
; PixPat field offsets
|
|||
|
;
|
|||
|
|
|||
|
patType EQU $0 ; [word] type of pattern
|
|||
|
patMap EQU $2 ; [long] handle to pixmap
|
|||
|
patData EQU $6 ; [long] handle to data
|
|||
|
patXData EQU $A ; [long] handle to expanded pattern data
|
|||
|
patXValid EQU $E ; [word] flags whether expanded pattern valid
|
|||
|
patXMap EQU $10 ; [long] handle to expanded pattern data
|
|||
|
pat1Data EQU $14 ; [8 bytes] old-style pattern/RGB color
|
|||
|
ppRec EQU $1C ; size of pixPat record
|
|||
|
|
|||
|
|
|||
|
; Pattern types
|
|||
|
;
|
|||
|
|
|||
|
oldPat EQU 0 ; foreground/background pattern
|
|||
|
newPat EQU 1 ; self-contained color pattern
|
|||
|
ditherPat EQU 2 ; rgb value to be dithered
|
|||
|
oldCrsrPat EQU $8000 ; old-style cursor
|
|||
|
cCrsrPat EQU $8001 ; new-style cursor
|
|||
|
|
|||
|
|
|||
|
; additional offsets in a color GrafPort
|
|||
|
;
|
|||
|
|
|||
|
portPixMap EQU portBits ; [long] pixelMap handle
|
|||
|
portVersion EQU portPixMap+4 ; [word] port version number
|
|||
|
grafVars EQU portVersion+2 ; [long] handle to more fields
|
|||
|
chExtra EQU grafVars+4 ; [word] character extra
|
|||
|
pnLocHFrac EQU chExtra+2 ; [word] pen fraction
|
|||
|
bkPixPat EQU bkPat ; [long] handle to bk pattern
|
|||
|
rgbFgColor EQU bkPixPat+4 ; [6 bytes] RGB components of fg color
|
|||
|
rgbBkColor EQU rgbFgColor+6 ; [6 bytes] RGB components of bk color
|
|||
|
pnPixPat EQU pnPat ; [long] handle to pen's pattern
|
|||
|
fillPixPat EQU pnPixPat+4 ; [long] handle to fill pattern
|
|||
|
|
|||
|
|
|||
|
; GDevice field offsets
|
|||
|
;
|
|||
|
|
|||
|
gdRefNum EQU $0 ; [word] unitNum of driver
|
|||
|
gdID EQU $2 ; [word] client ID for search procs
|
|||
|
gdType EQU $4 ; [word] fixed/CLUT/direct
|
|||
|
gdITable EQU $6 ; [long] handle to inverse table
|
|||
|
gdResPref EQU $A ; [word] preferred resolution for inverse tables
|
|||
|
gdSearchProc EQU $C ; [long] search proc (list?) pointer
|
|||
|
gdCompProc EQU $10 ; [long] complement proc (list?) pointer
|
|||
|
gdFlags EQU $14 ; [word] grafDevice flags word
|
|||
|
gdPMap EQU $16 ; [long] handle to pixMap describing device
|
|||
|
gdRefCon EQU $1A ; [long] reference value
|
|||
|
gdNextGD EQU $1E ; [long] handle of next gDevice
|
|||
|
gdRect EQU $22 ; [rect] device's bounds in global coordinates
|
|||
|
gdMode EQU $2A ; [long] device's current mode
|
|||
|
gdCCBytes EQU $2E ; [word] depth of expanded cursor data
|
|||
|
gdCCDepth EQU $30 ; [word] depth of expanded cursor data
|
|||
|
gdCCXData EQU $32 ; [long] handle to cursor's expanded data
|
|||
|
gdCCXMask EQU $36 ; [long] handle to cursor's expanded mask
|
|||
|
gdReserved EQU $3A ; [long] MUST BE 0
|
|||
|
gdRec EQU $3E ; size of GrafDevice record
|
|||
|
|
|||
|
; VALUES FOR GDType
|
|||
|
|
|||
|
clutType EQU 0 ; 0 if lookup table
|
|||
|
fixedType EQU 1 ; 1 if fixed table
|
|||
|
directType EQU 2 ; 2 if direct values
|
|||
|
|
|||
|
; BIT ASSIGNMENTS FOR GDFlags
|
|||
|
|
|||
|
gdDevType EQU 0 ; 0 = monochrome; 1 = color
|
|||
|
roundedDevice Equ 05 ; 1 if device has been <20>rounded<65> into the GrayRgn
|
|||
|
hasAuxMenuBar EQU 06 ; 1 if device has an Aux menu bar on it
|
|||
|
BurstDevice EQU 07 ; 1 if this device support burst xfer
|
|||
|
ext32Device EQU 08 ; 1 if this device must be accessed in 32-bit mode
|
|||
|
frozenDevice EQU 09 ; reserved for future use
|
|||
|
ramInit EQU 10 ; 1 if initialized from 'scrn' resource
|
|||
|
mainScreen EQU 11 ; 1 if main screen
|
|||
|
allInit EQU 12 ; 1 if all devices initialized
|
|||
|
screenDevice EQU 13 ; 1 if screen device [not used]
|
|||
|
noDriver EQU 14 ; 1 if no driver for this GDevice
|
|||
|
screenActive EQU 15 ; 1 if in use
|
|||
|
|
|||
|
; CCrsr (Color Cursor) field offsets
|
|||
|
;
|
|||
|
; NOTE THAT THE FIRST FOUR FIELDS ARE PARALLEL TO THE FIRST FOUR FIELDS
|
|||
|
; OF A PATTERN SO THAT PATCONVERT CAN BE USED TO EXPAND A CURSOR
|
|||
|
;
|
|||
|
|
|||
|
crsrType EQU 0 ;[WORD] CURSOR TYPE
|
|||
|
crsrMap EQU crsrType+2 ;[LONG] HANDLE TO CURSOR'S PIXMAP
|
|||
|
crsrData EQU crsrMap+4 ;[LONG] HANDLE TO CURSOR'S COLOR DATA
|
|||
|
crsrXData EQU crsrData+4 ;[LONG] HANDLE TO EXPANDED DATA
|
|||
|
crsrXValid EQU crsrXData+4 ;[WORD] DEPTH OF EXPANDED DATA (0 IF NONE)
|
|||
|
crsrXHandle EQU crsrXValid+2 ;[LONG] HANDLE FOR FUTURE USE
|
|||
|
crsr1Data EQU crsrXHandle+4 ;[16 WORDS] ONE-BIT DATA
|
|||
|
crsrMask EQU crsr1Data+32 ;[16 WORDS] ONE-BIT MASK
|
|||
|
crsrHotSpot EQU crsrMask+32 ;[POINT] HOT-SPOT FOR CURSOR
|
|||
|
crsrXTable EQU crsrHotSpot+4 ;[LONG] TABLE ID FOR EXPANDED DATA
|
|||
|
crsrID EQU crsrXTable+4 ;[LONG] ID FOR CURSOR
|
|||
|
crsrRec EQU crsrID+4 ;SIZE OF CURSOR SAVE AREA
|
|||
|
|
|||
|
|
|||
|
; CIcon (Color Icon) field offsets
|
|||
|
;
|
|||
|
|
|||
|
iconPMap EQU 0 ;[PIXMAP] ICON'S PIXMAP
|
|||
|
iconMask EQU iconPMap+pmRec ;[BITMAP] 1-BIT VERSION OF ICON ONE-BIT MASK FOR ICON
|
|||
|
iconBMap EQU iconMask+bitmapRec ;[BITMAP] 1-BIT VERSION OF ICON
|
|||
|
iconData EQU iconBMap+bitmapRec ;[LONG] HANDLE TO PIXMAP DATA
|
|||
|
;FOLLOWED BY BMAP AND MASK DATA
|
|||
|
iconRec EQU iconData+4 ;SIZE OF ICON HEADER
|
|||
|
|
|||
|
;
|
|||
|
; Gamma Table format
|
|||
|
;
|
|||
|
gVersion EQU 0 ; [word] gamma version number
|
|||
|
gType EQU gVersion+2 ; [word] gamma data type
|
|||
|
gFormulaSize EQU gType+2 ; [word] Formula data size
|
|||
|
gChanCnt EQU gFormulaSize+2 ; [word] number of channels of data
|
|||
|
gDataCnt EQU gChanCnt+2 ; [word] number of values/channel
|
|||
|
gDataWidth EQU gDataCnt+2 ; [word] bits/corrected value (data packed to next larger byte size)
|
|||
|
gFormulaData EQU gDataWidth+2 ; [array] data for formulas, followed by gamma values
|
|||
|
|
|||
|
|
|||
|
; EXTENSIONS TO THE QDPROCS RECORD
|
|||
|
;
|
|||
|
|
|||
|
opcodeProc EQU $34 ; [pointer]
|
|||
|
newProc1 EQU $38 ; [pointer]
|
|||
|
newProc2 EQU $3C ; [pointer]
|
|||
|
newProc3 EQU $40 ; [pointer]
|
|||
|
newProc4 EQU $44 ; [pointer]
|
|||
|
newProc5 EQU $48 ; [pointer]
|
|||
|
newProc6 EQU $4C ; [pointer]
|
|||
|
cqdProcsRec EQU $50 ; size of QDProcs record
|
|||
|
|
|||
|
; OFFSETS WITHIN GRAFVARS:
|
|||
|
;
|
|||
|
rgbOpColor EQU 0 ; [6 bytes] color for addPin, subPin and average
|
|||
|
rgbHiliteColor EQU rgbOpColor+6 ; [6 bytes] color for hiliting
|
|||
|
pmFgColor EQU rgbHiliteColor+6 ; [4 bytes] palette handle for foreground color
|
|||
|
pmFgIndex EQU pmFgColor+4 ; [2 bytes] index value for foreground
|
|||
|
pmBkColor EQU pmFgIndex+2 ; [4 bytes] palette handle for background color
|
|||
|
pmBkIndex EQU pmBkColor+4 ; [2 bytes] index value for background
|
|||
|
pmFlags EQU pmBkIndex+2 ; [2 bytes] flags for Palette Manager
|
|||
|
grafVarRec EQU pmFlags+2 ; size of grafVar record
|
|||
|
|
|||
|
; ColorTable field offsets
|
|||
|
|
|||
|
ctSeed EQU 0 ; [long] id number for table
|
|||
|
transIndex EQU ctSeed+4 ; [word] index of transparent pixel (obsolete)
|
|||
|
ctFlags EQU ctSeed+4 ; [word] hibh bit: 0 = PixMap; 1 = device
|
|||
|
ctSize EQU ctFlags+2 ; [word] number of entries in CTTable
|
|||
|
ctTable EQU ctSize+2 ; [variant] array of color spec
|
|||
|
ctRec EQU ctTable ; size of record without color table
|
|||
|
ctEntrySize EQU 8 ; size of each entry in table
|
|||
|
minSeed EQU 1023 ; minimum seed value (< minSeed reserved for rsrc ID's)
|
|||
|
protectBit EQU 7 ; protect bit in device color table
|
|||
|
reserveBit EQU 6 ; reserve bit in device color table
|
|||
|
invalColReq EQU -1 ; invalid color table request
|
|||
|
|
|||
|
; CProcRec structure
|
|||
|
|
|||
|
nxtComp EQU $0 ;link to next proc [pointer]
|
|||
|
compProc EQU $4 ;pointer to routine [pointer]
|
|||
|
cProcSize EQU 8 ; size of CProcRec
|
|||
|
; SProcRec structure
|
|||
|
|
|||
|
nxtSrch EQU $0 ;[pointer] link to next proc
|
|||
|
srchproc EQU $4 ;[pointer] pointer to routine
|
|||
|
sProcSize EQU 8 ; size of SProcRec
|
|||
|
|
|||
|
; request List structure
|
|||
|
|
|||
|
reqLSize EQU 0 ; request list size [word]
|
|||
|
reqLData EQU 2 ; request list data [words]
|
|||
|
|
|||
|
|
|||
|
; Point structure
|
|||
|
|
|||
|
v EQU 0 ; vertical coordinate [word]
|
|||
|
h EQU 2 ; horizontal coordinate [word]
|
|||
|
|
|||
|
ENDIF ; ...already included
|