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

157 lines
4.2 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: IntlUtilsPriv.a
;
; Contains: Private equates and macros for International Utilities (PACK 6).
;
; Written by: Peter Edberg
;
; Copyright: © 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 already including this file 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