sys7.1-doc-wip/Internal/Asm/IconUtilsPriv.a

167 lines
4.7 KiB
Plaintext
Raw Normal View History

2019-07-27 14:37:48 +00:00
;
; File: IconUtilsPriv.a
;
; Contains: Private Assembly Interface for color icon plotting utilities
;
; Written by: Nick Kledzik
;
; Copyright: © 1990-1992 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <16> 3/20/92 DC Added UpdateIconGlobals to private interfaces
; <15> 3/19/92 DC Changed the printerPortCache field in the GlobalIconData
; structure so that the structure would not change (and Radius
; products will not break)
; <14> 3/17/92 DC Exported all definitions to icons.a except get and set icon
; device and SetLabel.
; <13> 10/29/91 DC Conditionalized last change to protect CubeE
; <12> 8/30/91 DC Added printerPortCache to the globals to allow improved printing
; case check.
; <11> 8/22/91 JSM Clean up header.
; <10> 2/25/91 DC KSM-changed pascal-type comments for _PlotIconHandle macro for
; PlotCIconHand(… to PlotIconHandle(… (no bug number but only a
; comment change)
; <9> 1/30/91 gbm sab, #38: Change the already including this file variable to
; all uppercase (for security reasons)
; <8> 1/7/91 JDR (dba) Removing private Icon Utilities routines from the public
; interfaces and adding them here.
; <7> 11/19/90 DC Moved System Icon ID's from private to public
; <6> 9/21/90 DC <ksm>Fixed inconsistency with record definitions in C and
; assembler
; <5> 9/15/90 DC changed setlabel to live here
; <4> 9/6/90 DC fixed icon global structure for selected cluts
; <3> 7/25/90 DC Added definitions of all private structures for sharing with
; IconUtils.a
; <2> 6/20/90 ngk Add genericFileServerIconResource
; <1> 6/6/90 ngk first checked in
; <0+> 6/6/90 ngk created it
;
IF &TYPE('__INCLUDINGICONUTILSPRIV__') = 'UNDEFINED' THEN
__INCLUDINGICONUTILSPRIV__ SET 1
IF &TYPE('__INCLUDINGICONS__') = 'UNDEFINED' THEN
INCLUDE 'Icons.a'
ENDIF ; ...already included
genericIconBase EQU -4000
popupMenuSymbolResource EQU -3990
standalonePopupMenuSymbolResource EQU -3986
genericMailboxIconResource EQU -3987 ; excise from 7.0
genericLetterIconResource EQU -3988 ; excise from 7.0
; IconType's
largeIcon1 EQU 0
largeIcon4 EQU 1
largeIcon8 EQU 2
smallIcon1 EQU 3
smallIcon4 EQU 4
smallIcon8 EQU 5
miniIcon1 EQU 6
miniIcon4 EQU 7
miniIcon8 EQU 8
aCIcon EQU 128
IconSpace EQU miniIcon8 + 1
IconDepthSpace EQU smallIcon1 - largeIcon1
IconSizeSpace EQU IconSpace / IconDepthSpace
transformMask EQU $03
labelMask EQU $0F00
labelShift EQU $8
IconSuite RECORD 0
theType DS.W 1
pad DS.W 1
table DS.L IconSpace ; ARRAY [0..IconSpace-1] OF Handle;
suiteSize EQU *
ENDR
IconCache RECORD 0
theSuite DS.B IconSuite.suiteSize
userPtr DS.L 1 ; Ptr
userMethod DS.L 1 ; IconGetter
cacheSize EQU *
ENDR
DeviceCheck RECORD 0
theDevice DS.L 1 ; GDHandle
theSeed DS.L 1 ; long
checkMask DS.L 1 ; unsigned long
checkResults DS.L 1 ; unsigned long
disabledCheckMask DS.L 1 ; unsigned long
disabledCheckResults DS.L 1 ; unsigned long
ENDR
RGBRec RECORD 0
red DS.W 1
green DS.W 1
blue DS.W 1
RGBRecSize EQU *
ENDR
Labels EQU 8
Sets EQU 8
Cluts EQU (Labels*Sets)
ColorListSize EQU ((RGBRec.RGBRecSize)*Labels)
GlobalIconData RECORD 0
labelStrings DS.L Labels ; Array of string handles
seeds DS.L Cluts ; Array of seeds
colorTables DS.L Cluts ; Array of CTabHandle's
originals DS.L 2 ; Array of CTabHandle's
labelColors DS.B ColorListSize ; Array of RGBColors
indexLists DS.L 2 ; Array of unsigned char **
virtualScreen DS.L 1 ; GDHandle
deviceListSize DS.L 1 ; long
deviceCheckList EQU * ; Variable length array of DeviceCheck
ENDR
selectSetLabel EQU $C
selectSetIconDevice EQU $18
selectGetIconDevice EQU $20
IF TheFuture THEN
selectUpdateIconGlobals EQU $21
ENDIF
paramSetLabel EQU $5
paramSetIconDevice EQU $2
paramGetIconDevice EQU $2
IF TheFuture THEN
paramUpdateIconGlobals EQU $0
ENDIF
; PROCEDURE SetIconDevice(theScreen: GDHandle);
MACRO
_SetIconDevice
DoDispatch _IconDispatch, selectSetIconDevice, paramSetIconDevice
ENDM
; PROCEDURE GetIconDevice(VAR theScreen: GDHandle);
MACRO
_GetIconDevice
DoDispatch _IconDispatch, selectGetIconDevice, paramGetIconDevice
ENDM
; FUNCTION SetLabel(labelNumber: INTEGER; labelColor: RGBColor;
; Str255 labelString): OSErr;
MACRO
_SetLabel
DoDispatch _IconDispatch, selectSetLabel, paramSetLabel
ENDM
IF TheFuture THEN
; FUNCTION UpdateIconGlobals: OSErr;
MACRO
_UpdateIconGlobals
DoDispatch _IconDispatch, selectUpdateIconGlobals, paramUpdateIconGlobals
ENDM
ENDIF
ENDIF ; ...already included