home *** CD-ROM | disk | FTP | other *** search
- /*
- File: TextServices.h
-
- Copyright: © 1984-1993 by Apple Computer, Inc., all rights reserved.
-
- WARNING
- This file was auto generated by the interfacer tool. Modifications
- must be made to the master file.
-
- */
-
- #ifndef __TEXTSERVICES__
- #define __TEXTSERVICES__
-
- #ifndef __TYPES__
- #include <Types.h>
- /* #include <ConditionalMacros.h> */
- /* #include <MixedMode.h> */
- /* #include <Traps.h> */
- #endif
-
- #ifndef __EVENTS__
- #include <Events.h>
- /* #include <Quickdraw.h> */
- /* #include <QuickdrawText.h> */
- /* #include <IntlResources.h> */
- /* #include <OSUtils.h> */
- #endif
-
- #ifndef __MENUS__
- #include <Menus.h>
- #endif
-
- #ifndef __APPLEEVENTS__
- #include <AppleEvents.h>
- /* #include <Memory.h> */
- /* #include <EPPC.h> */
- /* #include <PPCToolBox.h> */
- /* #include <AppleTalk.h> */
- /* #include <Processes.h> */
- /* #include <Files.h> */
- /* #include <SegLoad.h> */
- /* #include <Notification.h> */
- #endif
-
- #ifndef __ERRORS__
- #include <Errors.h>
- #endif
-
- #ifndef __COMPONENTS__
- #include <Components.h>
- #endif
-
- #define kTSMVersion 0x0001
-
- #define kTextService 'tsvc'
-
- #define kInputMethodService 'inpm'
-
-
- /* Component Flags in ComponentDescription */
-
- #define bTakeActiveEvent 15
-
- #define bHandleAERecording 16
-
- #define bScriptMask 0x00007F00
-
- #define bLanguageMask 0x000000FF
-
- #define bScriptLanguageMask bScriptMask+bLanguageMask
-
-
- /* •• ************************************** •• */
-
-
- /* Hilite styles ... */
-
- enum {
- kCaretPosition = 1, /* specify caret position */
- kRawText = 2, /* specify range of raw text */
- kSelectedRawText = 3, /* specify range of selected raw text */
- kConvertedText = 4, /* specify range of converted text */
- kSelectedConvertedText = 5 /* specify range of selected converted text */
- };
-
-
- /* •• ************************************** •• */
-
-
- /* Apple Event constants ... */
-
-
- /* Event class ... */
-
- #define kTextServiceClass kTextService
-
-
- /* event ID ... */
-
- #define kUpdateActiveInputArea 'updt'
-
- #define kPos2Offset 'p2st'
-
- #define kOffset2Pos 'st2p'
-
- #define kShowHideInputWindow 'shiw'
-
-
- /* Event keywords ... */
-
- #define keyAETSMDocumentRefcon 'refc'
-
-
- /* Note: keyAETSMScriptTag, keyAERequestedType, keyAETSMTextFont, keyAETextPointSize
- typeAEText, typeIntlWritingCode, typeQDPoint, and keyAEAngle have been moved to
- AERegistry.h */
-
- #define keyAEServerInstance 'srvi'
-
- #define keyAETheData 'kdat'
-
- #define keyAEFixLength 'fixl'
-
- #define keyAEHiliteRange 'hrng'
-
- #define keyAEUpdateRange 'udng'
-
- #define keyAEClauseOffsets 'clau'
-
- #define keyAECurrentPoint 'cpos'
-
- #define keyAEDragging 'bool'
-
- #define keyAEOffset 'ofst'
-
- #define keyAERegionClass 'rgnc'
-
- #define keyAEPoint 'gpos'
-
- #define keyAEBufferSize 'buff'
-
- #define keyAEMoveView 'mvvw'
-
- #define keyAELength 'leng'
-
- #define keyAENextBody 'nxbd'
-
-
- /* optional keywords for Offset2Pos (Info about the active input area)-- 28Mar92 <#38> */
-
- #define keyAETextLineHeight 'ktlh'
-
- #define keyAETextLineAscent 'ktas'
-
-
- /* 90 specifies horizonal line direction, 180 specifies vertical line direction. <#54> */
-
-
- /* optional keywords for Pos2Offset -- 20May92 <#44> */
-
- #define keyAELeftSide 'klef'
-
-
- /* optional keywords for kShowHideInputWindow -- <#48> */
-
- #define keyAEShowHideInputWindow 'shiw'
-
-
- /* for PinRange */
-
- #define keyAEPinRange 'pnrg'
-
-
- /* Desc type ... */
-
- #define typeComponentInstance 'cmpi'
-
- #define typeTextRangeArray 'tray'
-
- #define typeOffsetArray 'ofay'
-
- #define typeText 'TEXT'
-
- #define typeTextRange 'txrn'
-
-
- /* error codes */
-
- #define tsmComponentNoErr 0
-
- #define tsmUnsupScriptLanguageErr -2500
-
- #define tsmInputMethodNotFoundErr -2501
-
- #define tsmNotAnAppErr -2502
-
- #define tsmAlreadyRegisteredErr -2503
-
- #define tsmNeverRegisteredErr -2504
-
- #define tsmInvalidDocIDErr -2505
-
- #define tsmTSMDocBusyErr -2506
-
- #define tsmDocNotActiveErr -2507
-
- #define tsmNoOpenTSErr -2508
-
- #define tsmCantOpenComponentErr -2509
-
- #define tsmTextServiceNotFoundErr -2510
-
- #define tsmDocumentOpenErr -2511
-
- #define tsmUseInputWindowErr -2512
-
- #define tsmTSHasNoMenuErr -2513
-
- #define tsmTSNotOpenErr -2514
-
- #define tsmComponentAlreadyOpenErr -2515
-
- #define tsmInputMethodIsOldErr -2516
-
- #define tsmScriptHasNoIMErr -2517
-
- #define tsmUnsupportedTypeErr -2518
-
- #define tsmUnknownErr -2519
-
-
- /* Desc type constants */
-
- enum {
- kTSMOutsideOfBody = 1,
- kTSMInsideOfBody = 2,
- kTSMInsideOfActiveInputArea = 3
- };
-
- enum {
- kNextBody = 1,
- kPreviousBody = 2
- };
-
-
- /* Apple Event error definitions */
-
- enum {
- errOffsetInvalid = -1800,
- errOffsetIsOutsideOfView = -1801,
- errTopOfDocument = -1810,
- errTopOfBody = -1811,
- errEndOfDocument = -1812,
- errEndOfBody = -1813
- };
-
-
- /* •• ************************************** •• */
-
-
- /* typeTextRange 'txrn' */
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TextRange {
- long fStart;
- long fEnd;
- short fHiliteStyle;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TextRange TextRange;
-
- typedef TextRange *TextRangePtr;
-
- typedef TextRangePtr *TextRangeHandle;
-
-
- /* typeTextRangeArray 'txra' */
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TextRangeArray {
- short fNumOfRanges; /* specify the size of the fRange array */
- TextRange fRange[1]; /* when fNumOfRanges > 1, the size of this array has to be calculated */
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TextRangeArray TextRangeArray;
-
- typedef TextRangeArray *TextRangeArrayPtr;
-
- typedef TextRangeArrayPtr *TextRangeArrayHandle;
-
-
- /* typeOffsetArray 'offa' */
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct OffsetArray {
- short fNumOfOffsets; /* specify the size of the fOffset array */
- long fOffset[1]; /* when fNumOfOffsets > 1, the size of this array has to be calculated */
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct OffsetArray OffsetArray;
-
- typedef OffsetArray *OffsetArrayPtr;
-
- typedef OffsetArrayPtr *OffsetArrayHandle;
-
-
- /* •• ************************************** •• */
-
-
- /* extract Script/Language code from Component flag ... */
-
- #define mGetScriptCode(cdRec) ((ScriptCode) ((cdRec.componentFlags & bScriptMask) >> 8))
-
- #define mGetLanguageCode(cdRec) ((LangCode) cdRec.componentFlags & bLanguageMask)
-
- typedef void *TSMDocumentID;
-
-
- /* •• ************************************** •• */
-
-
- /*
- * Text Service Info List
- */
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TextServiceInfo {
- Component fComponent;
- Str255 fItemName;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TextServiceInfo TextServiceInfo;
-
- typedef TextServiceInfo *TextServiceInfoPtr;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TextServiceList {
- short fTextServiceCount; /* number of entries in the 'fServices' array */
- TextServiceInfo fServices[1]; /* Note: array of 'TextServiceInfo' records follows */
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TextServiceList TextServiceList;
-
- typedef TextServiceList *TextServiceListPtr;
-
- typedef TextServiceListPtr *TextServiceListHandle;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct ScriptLanguageRecord {
- ScriptCode fScript;
- LangCode fLanguage;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct ScriptLanguageRecord ScriptLanguageRecord;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct ScriptLanguageSupport {
- short fScriptLanguageCount; /* number of entries in the 'fScriptLanguageArray' array */
- ScriptLanguageRecord fScriptLanguageArray[1]; /* Note: array of 'ScriptLanguageRecord' records follows */
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct ScriptLanguageSupport ScriptLanguageSupport;
-
- typedef ScriptLanguageSupport *ScriptLanguageSupportPtr;
-
- typedef ScriptLanguageSupportPtr *ScriptLanguageSupportHandle;
-
-
- /* •• ************************************** •• */
-
- #define TSMTrapNum 0xAA54
-
-
- /* •• Text Services Manager function selectors ... */
-
-
- /* •• High level routines ... */
-
- #define kNewTSMDocument 0
-
- #define kDeleteTSMDocument 1
-
- #define kActivateTSMDocument 2
-
- #define kDeactivateTSMDocument 3
-
- #define kTSMEvent 4
-
- #define kTSMMenuSelect 5
-
- #define kSetTSMCursor 6
-
- #define kFixTSMDocument 7
-
- #define kGetServiceList 8
-
- #define kOpenTextService 9
-
- #define kCloseTextService 10
-
- #define kSendAEFromTSMComponent 11
-
-
- /* •• Utilities ... */
-
- #define kSetDefaultInputMethod 12
-
- #define kGetDefaultInputMethod 13
-
- #define kSetTextServiceLanguage 14
-
- #define kGetTextServiceLanguage 15
-
- #define kUseInputWindow 16
-
- #define kNewServiceWindow 17
-
- #define kCloseServiceWindow 18
-
- #define kGetFrontServiceWindow 19
-
- #define kInitTSMAwareApplication 20
-
- #define kCloseTSMAwareApplication 21
-
- #define kFindServiceWindow 23
-
-
- /* •• ************************************** •• */
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- /* High level TSM routines .. */
-
- extern pascal OSErr NewTSMDocument(short numOfInterface, OSType supportedInterfaceTypes[], TSMDocumentID *idocID, long refcon)
- THREEWORDINLINE(0x303C, 0, 0xAA54);
-
- /* MOVE.W #selector,D0 */
-
- extern pascal OSErr DeleteTSMDocument(TSMDocumentID idocID)
- THREEWORDINLINE(0x303C, 1, 0xAA54);
- extern pascal OSErr ActivateTSMDocument(TSMDocumentID idocID)
- THREEWORDINLINE(0x303C, 2, 0xAA54);
- extern pascal OSErr DeactivateTSMDocument(TSMDocumentID idocID)
- THREEWORDINLINE(0x303C, 3, 0xAA54);
-
- // pass all events to TSM (removed TSMDocumentID #35)
-
- extern pascal Boolean TSMEvent(EventRecord *event)
- THREEWORDINLINE(0x303C, 4, 0xAA54);
-
- // pass menu selection to TSM (removed TSMDocumentID #35)
-
- extern pascal Boolean TSMMenuSelect(long menuResult)
- THREEWORDINLINE(0x303C, 5, 0xAA54);
-
- // set the cursor (removed TSMDocumentID #35)
-
- extern pascal Boolean SetTSMCursor(Point mousePos)
- THREEWORDINLINE(0x303C, 6, 0xAA54);
-
- // terminate text services
-
- extern pascal OSErr FixTSMDocument(TSMDocumentID idocID)
- THREEWORDINLINE(0x303C, 7, 0xAA54);
-
- // get all text services
-
- extern pascal OSErr GetServiceList(short numOfInterface, OSType supportedInterfaceTypes[], TextServiceListHandle *serviceInfo, long *seedValue)
- THREEWORDINLINE(0x303C, 8, 0xAA54);
-
- // open the text service (return instance)
-
- extern pascal OSErr OpenTextService(TSMDocumentID idocID, Component aComponent, ComponentInstance *aComponentInstance)
- THREEWORDINLINE(0x303C, 9, 0xAA54);
-
- // close the text service (return instance)
-
- extern pascal OSErr CloseTextService(TSMDocumentID idocID, ComponentInstance aComponentInstance)
- THREEWORDINLINE(0x303C, 10, 0xAA54);
-
- /* Sending callback AppleEvents ... */
-
-
- // AppleEvent should be a pointer
-
- extern pascal OSErr SendAEFromTSMComponent(AppleEvent *theAppleEvent, AppleEvent *reply, AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks, AEIdleUPP idleProc, AEFilterUPP filterProc)
- THREEWORDINLINE(0x303C, 11, 0xAA54);
-
- // app registers itself as TSM aware
-
- extern pascal OSErr InitTSMAwareApplication(void)
- THREEWORDINLINE(0x303C, 20, 0xAA54);
-
- // app deregisters itself when quit
-
- extern pascal OSErr CloseTSMAwareApplication(void)
- THREEWORDINLINE(0x303C, 21, 0xAA54);
-
- /* •• Utilities ... */
-
- extern pascal OSErr SetDefaultInputMethod(Component ts, ScriptLanguageRecord *slRecordPtr)
- THREEWORDINLINE(0x303C, 12, 0xAA54);
- extern pascal OSErr GetDefaultInputMethod(Component *ts, ScriptLanguageRecord *slRecordPtr)
- THREEWORDINLINE(0x303C, 13, 0xAA54);
- extern pascal OSErr SetTextServiceLanguage(ScriptLanguageRecord *slRecordPtr)
- THREEWORDINLINE(0x303C, 14, 0xAA54);
- extern pascal OSErr GetTextServiceLanguage(ScriptLanguageRecord *slRecordPtr)
- THREEWORDINLINE(0x303C, 15, 0xAA54);
- extern pascal OSErr UseInputWindow(TSMDocumentID idocID, Boolean useWindow)
- THREEWORDINLINE(0x303C, 16, 0xAA54);
- extern pascal OSErr NewServiceWindow(void *wStorage, const Rect *boundsRect, ConstStr255Param title, Boolean visible, short theProc, WindowPtr behind, Boolean goAwayFlag, ComponentInstance ts, WindowPtr *window)
- THREEWORDINLINE(0x303C, 17, 0xAA54);
- extern pascal OSErr CloseServiceWindow(WindowPtr window)
- THREEWORDINLINE(0x303C, 18, 0xAA54);
- extern pascal OSErr GetFrontServiceWindow(WindowPtr *window)
- THREEWORDINLINE(0x303C, 19, 0xAA54);
- extern pascal short FindServiceWindow(Point thePoint, WindowPtr *theWindow)
- THREEWORDINLINE(0x303C, 23, 0xAA54);
-
- /* •• Low level routines which are dispatched directly to the Component Manager ... */
-
- #define kCMGetScriptLangSupport 0x0001
-
- #define kCMInitiateTextService 0x0002
-
- #define kCMTerminateTextService 0x0003
-
- #define kCMActivateTextService 0x0004
-
- #define kCMDeactivateTextService 0x0005
-
- #define kCMTextServiceEvent 0x0006
-
- #define kCMGetTextServiceMenu 0x0007
-
- #define kCMTextServiceMenuSelect 0x0008
-
- #define kCMFixTextService 0x0009
-
- #define kCMSetTextServiceCursor 0x000A
-
- #define kCMHidePaletteWindows 0x000B
-
-
- /* •• Low level TSM routines ... */
-
-
- /* selector = 1 */
-
- extern pascal ComponentResult GetScriptLanguageSupport(ComponentInstance ts, ScriptLanguageSupportHandle *scriptHdl)
- FIVEWORDINLINE(0x2F3C, 0x04, 0x0001, 0x7000, 0xA82A);
-
- /* selector = 2 */
-
- extern pascal ComponentResult InitiateTextService(ComponentInstance ts)
- FIVEWORDINLINE(0x2F3C, 0x00, 0x0002, 0x7000, 0xA82A);
-
- /* selector = 3 */
-
- extern pascal ComponentResult TerminateTextService(ComponentInstance ts)
- FIVEWORDINLINE(0x2F3C, 0x00, 0x0003, 0x7000, 0xA82A);
-
- /* selector = 4 */
-
- extern pascal ComponentResult ActivateTextService(ComponentInstance ts)
- FIVEWORDINLINE(0x2F3C, 0x00, 0x0004, 0x7000, 0xA82A);
-
- /* selector = 5 */
-
- extern pascal ComponentResult DeactivateTextService(ComponentInstance ts)
- FIVEWORDINLINE(0x2F3C, 0x00, 0x0005, 0x7000, 0xA82A);
-
- /* selector = 6 */
-
- extern pascal ComponentResult TextServiceEvent(ComponentInstance ts, short numOfEvents, EventRecord *event)
- FIVEWORDINLINE(0x2F3C, 0x06, 0x0006, 0x7000, 0xA82A);
-
- /* selector = 7 */
-
- extern pascal ComponentResult GetTextServiceMenu(ComponentInstance ts, MenuHandle *serviceMenu)
- FIVEWORDINLINE(0x2F3C, 0x4, 0x0007, 0x7000, 0xA82A);
-
- /* selector = 8 */
-
- extern pascal ComponentResult TextServiceMenuSelect(ComponentInstance ts, MenuHandle serviceMenu, short item)
- FIVEWORDINLINE(0x2F3C, 0x06, 0x0008, 0x7000, 0xA82A);
-
- /* selector = 9 */
-
- extern pascal ComponentResult FixTextService(ComponentInstance ts)
- FIVEWORDINLINE(0x2F3C, 0x00, 0x0009, 0x7000, 0xA82A);
-
- /* selector = 10 */
-
- extern pascal ComponentResult SetTextServiceCursor(ComponentInstance ts, Point mousePos)
- FIVEWORDINLINE(0x2F3C, 0x04, 0x000A, 0x7000, 0xA82A);
-
- /* selector = 11 <#37> */
-
- extern pascal ComponentResult HidePaletteWindows(ComponentInstance ts)
- FIVEWORDINLINE(0x2F3C, 0x00, 0x000B, 0x7000, 0xA82A);
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-
-