mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 01:29:20 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
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: © 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 |