sys7.1-doc-wip/Internal/Asm/IconUtilsPriv.a
2019-07-27 22:37:48 +08:00

167 lines
4.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;
; 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