mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 16:31:01 +00:00
157 lines
4.2 KiB
Plaintext
157 lines
4.2 KiB
Plaintext
|
;
|
|||
|
; File: IntlUtilsPriv.a
|
|||
|
;
|
|||
|
; Contains: Private equates and macros for International Utilities (PACK 6).
|
|||
|
;
|
|||
|
; Written by: Peter Edberg
|
|||
|
;
|
|||
|
; Copyright: <09> 1990-1992 by Apple Computer, Inc., all rights reserved.
|
|||
|
;
|
|||
|
; Change History (most recent first):
|
|||
|
;
|
|||
|
; <10> 2/18/92 ngk Add glue to fix bug in 7.0 version of TypeSelectNewKey. It
|
|||
|
; requires high word of D0 to be zero to work.
|
|||
|
; <9> 10/9/91 JSM Remove SysVers conditionals to fix ROM build.
|
|||
|
; <8> 8/22/91 JSM Clean up header.
|
|||
|
; <7> 1/30/91 gbm sab, #38: Change the <20>already including this file<6C> variable to
|
|||
|
; all uppercase (for security reasons)
|
|||
|
; <6> 1/2/91 PKE (bbm) Add macro for private IUClearCacheSys routine.
|
|||
|
; <5> 9/10/90 PKE Add macro for private IUGetScriptItl routine.
|
|||
|
; <4> 7/2/90 PKE Added selector and macro for private IUTextOrderSys routine.
|
|||
|
; <3> 5/2/90 ngk add type select routines
|
|||
|
; <2> 4/27/90 gbm prevent redefinition warnings by avoiding multiple inclusions
|
|||
|
; <1> 3/19/90 PKE New today: selectors and macros for IUMagWString, IUMagWPString.
|
|||
|
;___________________________________________________________________________________________________
|
|||
|
|
|||
|
IF &TYPE('__INCLUDINGINTLUTILSPRIV__') = 'UNDEFINED' THEN
|
|||
|
__INCLUDINGINTLUTILSPRIV__ SET 1
|
|||
|
|
|||
|
; Routine selectors
|
|||
|
|
|||
|
iuMagWString EQU 18 ; $12 <1>
|
|||
|
|
|||
|
iuMagWPString EQU 38 ; $26 <1>
|
|||
|
iuTypeSelectClear EQU 40 ; $28 <3>
|
|||
|
iuTypeSelectNewKey EQU 42 ; $2A <3>
|
|||
|
iuTypeSelectFindItem EQU 44 ; $2C <3>
|
|||
|
iuTypeSelectCompare EQU 46 ; $2E <3>
|
|||
|
iuTextOrderSys EQU 48 ; $30 <4>
|
|||
|
iuGetScriptItl EQU 50 ; $32 <5>
|
|||
|
iuClearCacheSys EQU 52 ; $34 <6>
|
|||
|
|
|||
|
|
|||
|
; Type select records and constants ; <3>
|
|||
|
|
|||
|
tsPreviousSelectMode EQU -1 ; <3>
|
|||
|
tsNormalSelectMode EQU 0 ; <3>
|
|||
|
tsNextSelectMode EQU 1 ; <3>
|
|||
|
|
|||
|
TypeSelectRecord RECORD 0 ; <3>
|
|||
|
tsrLastKeyTime DS.L 1 ; <3>
|
|||
|
tsrScript DS.W 1 ; <3>
|
|||
|
tsrKeyStrokes DS.B 64 ; <3>
|
|||
|
ENDR ; <3>
|
|||
|
|
|||
|
|
|||
|
;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
|
|||
|
; Macros for each routine
|
|||
|
;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
|
|||
|
|
|||
|
;
|
|||
|
; FUNCTION IUMagWString(aPtr, bPtr: Ptr; aLen, bLen: Integer): Integer;
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_IUMagWString ; <1>
|
|||
|
move.w #iuMagWString,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
;
|
|||
|
; FUNCTION IUMagWPString(aPtr, bPtr: Ptr; aLen, bLen: Integer; intlParam: Handle): Integer;
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_IUMagWPString ; <1>
|
|||
|
move.w #iuMagWPString,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
;
|
|||
|
; PROCEDURE TypeSelectClear(VAR tsr: TypeSelectRecord);
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_TypeSelectClear ; <3>
|
|||
|
move.w #iuTypeSelectClear,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
;
|
|||
|
; FUNCTION TypeSelectNewKey(theEvent: EventRecord;
|
|||
|
; VAR tsr: TypeSelectRecord): BOOLEAN;
|
|||
|
|
|||
|
MACRO
|
|||
|
_TypeSelectNewKey ; <3>
|
|||
|
moveq #0,d0 ; <10>
|
|||
|
move.w #iuTypeSelectNewKey,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
;
|
|||
|
; FUNCTION TypeSelectFindItem( tsr: TypeSelectRecord;
|
|||
|
; listSize: INTEGER;
|
|||
|
; selectMode: TSCode;
|
|||
|
; getStringProc: IndexToStringProcPtr;
|
|||
|
; yourDataPtr: Ptr): INTEGER;
|
|||
|
;
|
|||
|
; IndexToStringProcPtr = ^FUNCTION(item: INTEGER;
|
|||
|
; VAR itemsScript: ScriptCode;
|
|||
|
; VAR itemsStringPtr: StringPtr;
|
|||
|
; yourDataPtr: Ptr): BOOLEAN;
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_TypeSelectFindItem ; <3>
|
|||
|
move.w #iuTypeSelectFindItem,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
;
|
|||
|
; FUNCTION TypeSelectCompare(tsr: TypeSelectRecord;
|
|||
|
; testStringScript: ScriptCode;
|
|||
|
; testStringPtr: StringPtr): INTEGER;
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_TypeSelectCompare ; <3>
|
|||
|
move.w #iuTypeSelectCompare,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
|
|||
|
;
|
|||
|
; FUNCTION IUTextOrderSys(aPtr, bPtr: Ptr; aLen, bLen: Integer;
|
|||
|
; aScript, bScript: ScriptCode; aLang, bLang: LangCode): Integer;
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_IUTextOrderSys ; <4>
|
|||
|
move.w #iuTextOrderSys,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
;
|
|||
|
; FUNCTION IUGetScriptItl(theID: INTEGER; script: ScriptCode; sysFlag: INTEGER): Handle;
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_IUGetScriptItl ; <5>
|
|||
|
move.w #iuGetScriptItl,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
;
|
|||
|
; PROCEDURE IUClearCacheSys;
|
|||
|
;
|
|||
|
MACRO
|
|||
|
_IUClearCacheSys ; <6>
|
|||
|
move.w #iuClearCacheSys,-(sp)
|
|||
|
_Pack6
|
|||
|
ENDM
|
|||
|
|
|||
|
|
|||
|
ENDIF ; ...already included
|