mirror of
https://github.com/elliotnunn/sys7.1-doc-wip.git
synced 2024-12-12 20:29:12 +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ƒ 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 |