mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-03 09:31:04 +00:00
4325cdcc78
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
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Ä version. Moved the color manager
|
|
; equates; they were in the middle of GrafPort.
|
|
; <21> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ 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É
|
|
; <1.0> 11/9/88 CCH Adding to EASE.
|
|
; <¥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 Ò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É
|
|
; 1.0 CCH 11/ 9/1988 Adding to EASE.
|
|
; END EASE MODIFICATION HISTORY
|
|
;¥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 ÒroundedÓ 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 |