summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/TextEdit.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/TextEdit.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/TextEdit.h')
-rw-r--r--common/quicktime_win32/TextEdit.h2159
1 files changed, 2159 insertions, 0 deletions
diff --git a/common/quicktime_win32/TextEdit.h b/common/quicktime_win32/TextEdit.h
new file mode 100644
index 0000000..5fe096e
--- /dev/null
+++ b/common/quicktime_win32/TextEdit.h
@@ -0,0 +1,2159 @@
+/*
+ File: TextEdit.h
+
+ Contains: TextEdit Interfaces.
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
+
+ Bugs?: For bug reports, consult the following page on
+ the World Wide Web:
+
+ http://developer.apple.com/bugreporter/
+
+*/
+#ifndef __TEXTEDIT__
+#define __TEXTEDIT__
+
+#ifndef __MACTYPES__
+#include <MacTypes.h>
+#endif
+
+#ifndef __MIXEDMODE__
+#include <MixedMode.h>
+#endif
+
+#ifndef __QUICKDRAW__
+#include <Quickdraw.h>
+#endif
+
+
+
+#if PRAGMA_ONCE
+#pragma once
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if PRAGMA_IMPORT
+#pragma import on
+#endif
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=mac68k
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(push, 2)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack(2)
+#endif
+
+typedef struct TERec TERec;
+typedef TERec * TEPtr;
+typedef TEPtr * TEHandle;
+typedef CALLBACK_API_REGISTER68K( void , HighHookProcPtr, (const Rect *r, TEPtr pTE) );
+typedef CALLBACK_API_REGISTER68K( Boolean , EOLHookProcPtr, (char theChar, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( void , CaretHookProcPtr, (const Rect *r, TEPtr pTE) );
+typedef CALLBACK_API_REGISTER68K( unsigned short , WidthHookProcPtr, (unsigned short textLen, unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( unsigned short , TextWidthHookProcPtr, (unsigned short textLen, unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( unsigned short , NWidthHookProcPtr, (unsigned short styleRunLen, unsigned short styleRunOffset, short slop, short direction, void *textBufferPtr, short *lineStart, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( void , DrawHookProcPtr, (unsigned short textOffset, unsigned short drawLen, void *textBufferPtr, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( Boolean , HitTestHookProcPtr, (unsigned short styleRunLen, unsigned short styleRunOffset, unsigned short slop, void *textBufferPtr, TEPtr pTE, TEHandle hTE, unsigned short *pixelWidth, unsigned short *charOffset, Boolean *pixelInChar) );
+typedef CALLBACK_API_REGISTER68K( void , TEFindWordProcPtr, (unsigned short currentPos, short caller, TEPtr pTE, TEHandle hTE, unsigned short *wordStart, unsigned short *wordEnd) );
+typedef CALLBACK_API_REGISTER68K( void , TERecalcProcPtr, (TEPtr pTE, unsigned short changeLength, unsigned short *lineStart, unsigned short *firstChar, unsigned short *lastChar) );
+typedef CALLBACK_API_REGISTER68K( void , TEDoTextProcPtr, (TEPtr pTE, unsigned short firstChar, unsigned short lastChar, short selector, GrafPtr *currentGrafPort, short *charPosition) );
+typedef CALLBACK_API_REGISTER68K( Boolean , TEClickLoopProcPtr, (TEPtr pTE) );
+typedef CALLBACK_API_REGISTER68K( Boolean , WordBreakProcPtr, (Ptr text, short charPos) );
+/*
+ Important note about TEClickLoopProcPtr and WordBreakProcPtr
+
+ At one point these were defined as returning the function result in the
+ condition code Z-bit. This was correct, in that it was what the 68K
+ implementation of TextEdit actually tested. But, MixedMode had a different
+ idea of what returning a boolean in the Z-bit meant. MixedMode was setting
+ the Z-bit the complement of what was wanted.
+
+ Therefore, these ProcPtrs have been changed (back) to return the result in
+ register D0. It turns out that for register based routines,
+ MixedMode sets the Z-bit of the 68K emulator based on the contents
+ of the return result register. Thus we can get the Z-bit set correctly.
+
+ But, when TextEdit is recoded in PowerPC, if it calls a 68K ClickLoop
+ or WordBreak routine, register D0 had better have the result (in addition
+ to the Z-bit). Therefore all 68K apps should make sure their ClickLoop or
+ WordBreak routines set register D0 at the end.
+*/
+
+/*
+ There is no function to get/set the low-mem for FindWordHook at 0x07F8.
+ This is because it is not a low-mem ProcPtr. That address is the entry
+ in the OS TrapTable for trap 0xA0FE. You can use Get/SetTrapAddress to
+ acccess it.
+*/
+
+/*
+ The following ProcPtrs cannot be written in or called from a high-level
+ language without the help of mixed mode or assembly glue because they
+ use the following parameter-passing conventions:
+
+ typedef pascal void (*HighHookProcPtr)(const Rect *r, TEPtr pTE);
+ typedef pascal void (*CaretHookProcPtr)(const Rect *r, TEPtr pTE);
+
+ In:
+ => r on stack
+ => pTE A3.L
+ Out:
+ none
+
+ typedef pascal Boolean (*EOLHookProcPtr)(char theChar, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => theChar D0.B
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= Boolean Z bit of the CCR
+
+ typedef pascal unsigned short (*WidthHookProcPtr)(unsigned short textLen,
+ unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE);
+ typedef pascal unsigned short (*TextWidthHookProcPtr)(unsigned short textLen,
+ unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => textLen D0.W
+ => textOffset D1.W
+ => textBufferPtr A0.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= unsigned short D1.W
+
+ typedef pascal unsigned short (*NWidthHookProcPtr)(unsigned short styleRunLen,
+ unsigned short styleRunOffset, short slop, short direction, void *textBufferPtr,
+ short *lineStart, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => styleRunLen D0.W
+ => styleRunOffset D1.W
+ => slop D2.W (low)
+ => direction D2.W (high)
+ => textBufferPtr A0.L
+ => lineStart A2.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= unsigned short D1.W
+
+ typedef pascal void (*DrawHookProcPtr)(unsigned short textOffset, unsigned short drawLen,
+ void *textBufferPtr, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => textOffset D0.W
+ => drawLen D1.W
+ => textBufferPtr A0.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ none
+
+ typedef pascal Boolean (*HitTestHookProcPtr)(unsigned short styleRunLen,
+ unsigned short styleRunOffset, unsigned short slop, void *textBufferPtr,
+ TEPtr pTE, TEHandle hTE, unsigned short *pixelWidth, unsigned short *charOffset,
+ Boolean *pixelInChar);
+
+ In:
+ => styleRunLen D0.W
+ => styleRunOffset D1.W
+ => slop D2.W
+ => textBufferPtr A0.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= pixelWidth D0.W (low)
+ <= Boolean D0.W (high)
+ <= charOffset D1.W
+ <= pixelInChar D2.W
+
+ typedef pascal void (*TEFindWordProcPtr)(unsigned short currentPos, short caller,
+ TEPtr pTE, TEHandle hTE, unsigned short *wordStart, unsigned short *wordEnd);
+
+ In:
+ => currentPos D0.W
+ => caller D2.W
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= wordStart D0.W
+ <= wordEnd D1.W
+
+ typedef pascal void (*TERecalcProcPtr)(TEPtr pTE, unsigned short changeLength,
+ unsigned short *lineStart, unsigned short *firstChar, unsigned short *lastChar);
+
+ In:
+ => pTE A3.L
+ => changeLength D7.W
+ Out:
+ <= lineStart D2.W
+ <= firstChar D3.W
+ <= lastChar D4.W
+
+ typedef pascal void (*TEDoTextProcPtr)(TEPtr pTE, unsigned short firstChar, unsigned short lastChar,
+ short selector, GrafPtr *currentGrafPort, short *charPosition);
+
+ In:
+ => pTE A3.L
+ => firstChar D3.W
+ => lastChar D4.W
+ => selector D7.W
+ Out:
+ <= currentGrafPort A0.L
+ <= charPosition D0.W
+
+*/
+typedef REGISTER_UPP_TYPE(HighHookProcPtr) HighHookUPP;
+typedef REGISTER_UPP_TYPE(EOLHookProcPtr) EOLHookUPP;
+typedef REGISTER_UPP_TYPE(CaretHookProcPtr) CaretHookUPP;
+typedef REGISTER_UPP_TYPE(WidthHookProcPtr) WidthHookUPP;
+typedef REGISTER_UPP_TYPE(TextWidthHookProcPtr) TextWidthHookUPP;
+typedef REGISTER_UPP_TYPE(NWidthHookProcPtr) NWidthHookUPP;
+typedef REGISTER_UPP_TYPE(DrawHookProcPtr) DrawHookUPP;
+typedef REGISTER_UPP_TYPE(HitTestHookProcPtr) HitTestHookUPP;
+typedef REGISTER_UPP_TYPE(TEFindWordProcPtr) TEFindWordUPP;
+typedef REGISTER_UPP_TYPE(TERecalcProcPtr) TERecalcUPP;
+typedef REGISTER_UPP_TYPE(TEDoTextProcPtr) TEDoTextUPP;
+typedef REGISTER_UPP_TYPE(TEClickLoopProcPtr) TEClickLoopUPP;
+typedef REGISTER_UPP_TYPE(WordBreakProcPtr) WordBreakUPP;
+struct TERec {
+ Rect destRect;
+ Rect viewRect;
+ Rect selRect;
+ short lineHeight;
+ short fontAscent;
+ Point selPoint;
+ short selStart;
+ short selEnd;
+ short active;
+ WordBreakUPP wordBreak; /* NOTE: This field is ignored on non-Roman systems and on Carbon (see IM-Text 2-60) */
+ TEClickLoopUPP clickLoop;
+ long clickTime;
+ short clickLoc;
+ long caretTime;
+ short caretState;
+ short just;
+ short teLength;
+ Handle hText;
+ long hDispatchRec; /* added to replace recalBack & recalLines. it's a handle anyway */
+ short clikStuff;
+ short crOnly;
+ short txFont;
+ StyleField txFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short txMode;
+ short txSize;
+ GrafPtr inPort;
+ HighHookUPP highHook;
+ CaretHookUPP caretHook;
+ short nLines;
+ short lineStarts[16001];
+};
+
+enum {
+ /* Justification (word alignment) styles */
+ teJustLeft = 0,
+ teJustCenter = 1,
+ teJustRight = -1,
+ teForceLeft = -2, /* new names for the Justification (word alignment) styles */
+ teFlushDefault = 0, /*flush according to the line direction */
+ teCenter = 1, /*center justify (word alignment) */
+ teFlushRight = -1, /*flush right for all scripts */
+ teFlushLeft = -2 /*flush left for all scripts */
+};
+
+enum {
+ /* Set/Replace style modes */
+ fontBit = 0, /*set font*/
+ faceBit = 1, /*set face*/
+ sizeBit = 2, /*set size*/
+ clrBit = 3, /*set color*/
+ addSizeBit = 4, /*add size mode*/
+ toggleBit = 5 /*set faces in toggle mode*/
+};
+
+enum {
+ /* TESetStyle/TEContinuousStyle modes */
+ doFont = 1, /* set font (family) number*/
+ doFace = 2, /*set character style*/
+ doSize = 4, /*set type size*/
+ doColor = 8, /*set color*/
+ doAll = 15, /*set all attributes*/
+ addSize = 16, /*adjust type size*/
+ doToggle = 32 /*toggle mode for TESetStyle*/
+};
+
+enum {
+ /* offsets into TEDispatchRec */
+ EOLHook = 0, /*[UniversalProcPtr] TEEOLHook*/
+ DRAWHook = 4, /*[UniversalProcPtr] TEWidthHook*/
+ WIDTHHook = 8, /*[UniversalProcPtr] TEDrawHook*/
+ HITTESTHook = 12, /*[UniversalProcPtr] TEHitTestHook*/
+ nWIDTHHook = 24, /*[UniversalProcPtr] nTEWidthHook*/
+ TextWidthHook = 28 /*[UniversalProcPtr] TETextWidthHook*/
+};
+
+enum {
+ /* selectors for TECustomHook */
+ intEOLHook = 0, /*TEIntHook value*/
+ intDrawHook = 1, /*TEIntHook value*/
+ intWidthHook = 2, /*TEIntHook value*/
+ intHitTestHook = 3, /*TEIntHook value*/
+ intNWidthHook = 6, /*TEIntHook value for new version of WidthHook*/
+ intTextWidthHook = 7, /*TEIntHook value for new TextWidthHook*/
+ intInlineInputTSMTEPreUpdateHook = 8, /*TEIntHook value for TSMTEPreUpdateProcPtr callback*/
+ intInlineInputTSMTEPostUpdateHook = 9 /*TEIntHook value for TSMTEPostUpdateProcPtr callback*/
+};
+
+enum {
+ /* feature or bit definitions for TEFeatureFlag */
+ teFAutoScroll = 0, /*00000001b*/
+ teFTextBuffering = 1, /*00000010b*/
+ teFOutlineHilite = 2, /*00000100b*/
+ teFInlineInput = 3, /*00001000b */
+ teFUseWhiteBackground = 4, /*00010000b */
+ teFUseInlineInput = 5, /*00100000b */
+ teFInlineInputAutoScroll = 6 /*01000000b */
+};
+
+enum {
+ /* feature or bit definitions for TEFeatureFlag -- Carbon only */
+ /* To avoid having to call TEIdle in Carbon apps, automatic idling can be activated */
+ /* via the following feature flag, but you must ensure that the destRect and/or */
+ /* GrafPort's origin be setup properly for drawing in a given TERec when */
+ /* the timer fires. When this feature flag is set, TEIdle is a noop. */
+ /* Activate this feature flag before calling TEActivate. */
+ teFIdleWithEventLoopTimer = 7 /*10000000b */
+};
+
+enum {
+ /* action for the new "bit (un)set" interface, TEFeatureFlag */
+ teBitClear = 0,
+ teBitSet = 1, /*set the selector bit*/
+ teBitTest = -1 /*no change; just return the current setting*/
+};
+
+enum {
+ /*constants for identifying the routine that called FindWord */
+ teWordSelect = 4, /*clickExpand to select word*/
+ teWordDrag = 8, /*clickExpand to drag new word*/
+ teFromFind = 12, /*FindLine called it ($0C)*/
+ teFromRecal = 16 /*RecalLines called it ($10) obsolete */
+};
+
+enum {
+ /*constants for identifying TEDoText selectors */
+ teFind = 0, /*TEDoText called for searching*/
+ teHighlight = 1, /*TEDoText called for highlighting*/
+ teDraw = -1, /*TEDoText called for drawing text*/
+ teCaret = -2 /*TEDoText called for drawing the caret*/
+};
+
+
+typedef char Chars[32001];
+typedef char * CharsPtr;
+typedef CharsPtr * CharsHandle;
+struct StyleRun {
+ short startChar; /*starting character position*/
+ short styleIndex; /*index in style table*/
+};
+typedef struct StyleRun StyleRun;
+struct STElement {
+ short stCount; /*number of runs in this style*/
+ short stHeight; /*line height*/
+ short stAscent; /*font ascent*/
+ short stFont; /*font (family) number*/
+ StyleField stFace; /*StyleField occupies 16-bits, but only first 8-bits are used */
+ short stSize; /*size in points*/
+ RGBColor stColor; /*absolute (RGB) color*/
+};
+typedef struct STElement STElement;
+typedef STElement TEStyleTable[1777];
+typedef STElement * STPtr;
+typedef STPtr * STHandle;
+struct LHElement {
+ short lhHeight; /*maximum height in line*/
+ short lhAscent; /*maximum ascent in line*/
+};
+typedef struct LHElement LHElement;
+typedef LHElement LHTable[8001];
+typedef LHElement * LHPtr;
+typedef LHPtr * LHHandle;
+struct ScrpSTElement {
+ long scrpStartChar; /*starting character position*/
+ short scrpHeight;
+ short scrpAscent;
+ short scrpFont;
+ StyleField scrpFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short scrpSize;
+ RGBColor scrpColor;
+};
+typedef struct ScrpSTElement ScrpSTElement;
+/* ARRAY [0..1600] OF ScrpSTElement */
+typedef ScrpSTElement ScrpSTTable[1601];
+struct StScrpRec {
+ short scrpNStyles; /*number of styles in scrap*/
+ ScrpSTTable scrpStyleTab; /*table of styles for scrap*/
+};
+typedef struct StScrpRec StScrpRec;
+typedef StScrpRec * StScrpPtr;
+typedef StScrpPtr * StScrpHandle;
+struct NullStRec {
+ long teReserved; /*reserved for future expansion*/
+ StScrpHandle nullScrap; /*handle to scrap style table*/
+};
+typedef struct NullStRec NullStRec;
+typedef NullStRec * NullStPtr;
+typedef NullStPtr * NullStHandle;
+struct TEStyleRec {
+ short nRuns; /*number of style runs*/
+ short nStyles; /*size of style table*/
+ STHandle styleTab; /*handle to style table*/
+ LHHandle lhTab; /*handle to line-height table*/
+ long teRefCon; /*reserved for application use*/
+ NullStHandle nullStyle; /*Handle to style set at null selection*/
+ StyleRun runs[8001]; /*ARRAY [0..8000] OF StyleRun*/
+};
+typedef struct TEStyleRec TEStyleRec;
+typedef TEStyleRec * TEStylePtr;
+typedef TEStylePtr * TEStyleHandle;
+struct TextStyle {
+ short tsFont; /*font (family) number*/
+ StyleField tsFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short tsSize; /*size in point*/
+ RGBColor tsColor; /*absolute (RGB) color*/
+};
+typedef struct TextStyle TextStyle;
+typedef TextStyle * TextStylePtr;
+typedef TextStylePtr * TextStyleHandle;
+typedef short TEIntHook;
+/*
+ * NewHighHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HighHookUPP )
+NewHighHookUPP(HighHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppHighHookProcInfo = 0x0000000F }; /* SPECIAL_CASE_PROCINFO(0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HighHookUPP) NewHighHookUPP(HighHookProcPtr userRoutine) { return (HighHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHighHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHighHookUPP(userRoutine) (HighHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHighHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewEOLHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EOLHookUPP )
+NewEOLHookUPP(EOLHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppEOLHookProcInfo = 0x0000001F }; /* SPECIAL_CASE_PROCINFO(1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EOLHookUPP) NewEOLHookUPP(EOLHookProcPtr userRoutine) { return (EOLHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEOLHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEOLHookUPP(userRoutine) (EOLHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEOLHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewCaretHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CaretHookUPP )
+NewCaretHookUPP(CaretHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppCaretHookProcInfo = 0x0000000F }; /* SPECIAL_CASE_PROCINFO(0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CaretHookUPP) NewCaretHookUPP(CaretHookProcPtr userRoutine) { return (CaretHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCaretHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCaretHookUPP(userRoutine) (CaretHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCaretHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WidthHookUPP )
+NewWidthHookUPP(WidthHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppWidthHookProcInfo = 0x0000002F }; /* SPECIAL_CASE_PROCINFO(2) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(WidthHookUPP) NewWidthHookUPP(WidthHookProcPtr userRoutine) { return (WidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWidthHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewWidthHookUPP(userRoutine) (WidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWidthHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewTextWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TextWidthHookUPP )
+NewTextWidthHookUPP(TextWidthHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppTextWidthHookProcInfo = 0x0000002F }; /* SPECIAL_CASE_PROCINFO(2) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TextWidthHookUPP) NewTextWidthHookUPP(TextWidthHookProcPtr userRoutine) { return (TextWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextWidthHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTextWidthHookUPP(userRoutine) (TextWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextWidthHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewNWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NWidthHookUPP )
+NewNWidthHookUPP(NWidthHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppNWidthHookProcInfo = 0x0000003F }; /* SPECIAL_CASE_PROCINFO(3) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NWidthHookUPP) NewNWidthHookUPP(NWidthHookProcPtr userRoutine) { return (NWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNWidthHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNWidthHookUPP(userRoutine) (NWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNWidthHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewDrawHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DrawHookUPP )
+NewDrawHookUPP(DrawHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppDrawHookProcInfo = 0x0000004F }; /* SPECIAL_CASE_PROCINFO(4) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DrawHookUPP) NewDrawHookUPP(DrawHookProcPtr userRoutine) { return (DrawHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDrawHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDrawHookUPP(userRoutine) (DrawHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDrawHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewHitTestHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HitTestHookUPP )
+NewHitTestHookUPP(HitTestHookProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppHitTestHookProcInfo = 0x0000005F }; /* SPECIAL_CASE_PROCINFO(5) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HitTestHookUPP) NewHitTestHookUPP(HitTestHookProcPtr userRoutine) { return (HitTestHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHitTestHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHitTestHookUPP(userRoutine) (HitTestHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHitTestHookProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewTEFindWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TEFindWordUPP )
+NewTEFindWordUPP(TEFindWordProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppTEFindWordProcInfo = 0x0000006F }; /* SPECIAL_CASE_PROCINFO(6) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TEFindWordUPP) NewTEFindWordUPP(TEFindWordProcPtr userRoutine) { return (TEFindWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEFindWordProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTEFindWordUPP(userRoutine) (TEFindWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEFindWordProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewTERecalcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TERecalcUPP )
+NewTERecalcUPP(TERecalcProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppTERecalcProcInfo = 0x0000009F }; /* SPECIAL_CASE_PROCINFO(9) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TERecalcUPP) NewTERecalcUPP(TERecalcProcPtr userRoutine) { return (TERecalcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTERecalcProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTERecalcUPP(userRoutine) (TERecalcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTERecalcProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewTEDoTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TEDoTextUPP )
+NewTEDoTextUPP(TEDoTextProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppTEDoTextProcInfo = 0x000000AF }; /* SPECIAL_CASE_PROCINFO(10) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TEDoTextUPP) NewTEDoTextUPP(TEDoTextProcPtr userRoutine) { return (TEDoTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEDoTextProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTEDoTextUPP(userRoutine) (TEDoTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEDoTextProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewTEClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TEClickLoopUPP )
+NewTEClickLoopUPP(TEClickLoopProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppTEClickLoopProcInfo = 0x0000F812 }; /* register 1_byte:D0 Func(4_bytes:A3) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TEClickLoopUPP) NewTEClickLoopUPP(TEClickLoopProcPtr userRoutine) { return (TEClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEClickLoopProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTEClickLoopUPP(userRoutine) (TEClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEClickLoopProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+#if CALL_NOT_IN_CARBON
+/*
+ * NewWordBreakUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( WordBreakUPP )
+NewWordBreakUPP(WordBreakProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppWordBreakProcInfo = 0x00029812 }; /* register 1_byte:D0 Func(4_bytes:A0, 2_bytes:D0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(WordBreakUPP) NewWordBreakUPP(WordBreakProcPtr userRoutine) { return (WordBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWordBreakProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewWordBreakUPP(userRoutine) (WordBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWordBreakProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * DisposeHighHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHighHookUPP(HighHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHighHookUPP(HighHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHighHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeEOLHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEOLHookUPP(EOLHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEOLHookUPP(EOLHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEOLHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeCaretHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCaretHookUPP(CaretHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCaretHookUPP(CaretHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCaretHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeWidthHookUPP(WidthHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeWidthHookUPP(WidthHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeTextWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTextWidthHookUPP(TextWidthHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTextWidthHookUPP(TextWidthHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTextWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeNWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNWidthHookUPP(NWidthHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNWidthHookUPP(NWidthHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeDrawHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDrawHookUPP(DrawHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDrawHookUPP(DrawHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDrawHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeHitTestHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHitTestHookUPP(HitTestHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHitTestHookUPP(HitTestHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHitTestHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeTEFindWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTEFindWordUPP(TEFindWordUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTEFindWordUPP(TEFindWordUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTEFindWordUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeTERecalcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTERecalcUPP(TERecalcUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTERecalcUPP(TERecalcUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTERecalcUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeTEDoTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTEDoTextUPP(TEDoTextUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTEDoTextUPP(TEDoTextUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTEDoTextUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeTEClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTEClickLoopUPP(TEClickLoopUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTEClickLoopUPP(TEClickLoopUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTEClickLoopUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+#if CALL_NOT_IN_CARBON
+/*
+ * DisposeWordBreakUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeWordBreakUPP(WordBreakUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeWordBreakUPP(WordBreakUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeWordBreakUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * InvokeHighHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeHighHookUPP(
+ const Rect * r,
+ TEPtr pTE,
+ HighHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeHighHookUPP(const Rect * r, TEPtr pTE, HighHookUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppHighHookProcInfo, r, pTE); }
+ #else
+ #define InvokeHighHookUPP(r, pTE, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppHighHookProcInfo, (r), (pTE))
+ #endif
+#endif
+
+/*
+ * InvokeEOLHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeEOLHookUPP(
+ char theChar,
+ TEPtr pTE,
+ TEHandle hTE,
+ EOLHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeEOLHookUPP(char theChar, TEPtr pTE, TEHandle hTE, EOLHookUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppEOLHookProcInfo, theChar, pTE, hTE); }
+ #else
+ #define InvokeEOLHookUPP(theChar, pTE, hTE, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppEOLHookProcInfo, (theChar), (pTE), (hTE))
+ #endif
+#endif
+
+/*
+ * InvokeCaretHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeCaretHookUPP(
+ const Rect * r,
+ TEPtr pTE,
+ CaretHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeCaretHookUPP(const Rect * r, TEPtr pTE, CaretHookUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppCaretHookProcInfo, r, pTE); }
+ #else
+ #define InvokeCaretHookUPP(r, pTE, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppCaretHookProcInfo, (r), (pTE))
+ #endif
+#endif
+
+/*
+ * InvokeWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( unsigned short )
+InvokeWidthHookUPP(
+ unsigned short textLen,
+ unsigned short textOffset,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ WidthHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(unsigned short) InvokeWidthHookUPP(unsigned short textLen, unsigned short textOffset, void * textBufferPtr, TEPtr pTE, TEHandle hTE, WidthHookUPP userUPP) { return (unsigned short)CALL_FIVE_PARAMETER_UPP(userUPP, uppWidthHookProcInfo, textLen, textOffset, textBufferPtr, pTE, hTE); }
+ #else
+ #define InvokeWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userUPP) (unsigned short)CALL_FIVE_PARAMETER_UPP((userUPP), uppWidthHookProcInfo, (textLen), (textOffset), (textBufferPtr), (pTE), (hTE))
+ #endif
+#endif
+
+/*
+ * InvokeTextWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( unsigned short )
+InvokeTextWidthHookUPP(
+ unsigned short textLen,
+ unsigned short textOffset,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ TextWidthHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(unsigned short) InvokeTextWidthHookUPP(unsigned short textLen, unsigned short textOffset, void * textBufferPtr, TEPtr pTE, TEHandle hTE, TextWidthHookUPP userUPP) { return (unsigned short)CALL_FIVE_PARAMETER_UPP(userUPP, uppTextWidthHookProcInfo, textLen, textOffset, textBufferPtr, pTE, hTE); }
+ #else
+ #define InvokeTextWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userUPP) (unsigned short)CALL_FIVE_PARAMETER_UPP((userUPP), uppTextWidthHookProcInfo, (textLen), (textOffset), (textBufferPtr), (pTE), (hTE))
+ #endif
+#endif
+
+/*
+ * InvokeNWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( unsigned short )
+InvokeNWidthHookUPP(
+ unsigned short styleRunLen,
+ unsigned short styleRunOffset,
+ short slop,
+ short direction,
+ void * textBufferPtr,
+ short * lineStart,
+ TEPtr pTE,
+ TEHandle hTE,
+ NWidthHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(unsigned short) InvokeNWidthHookUPP(unsigned short styleRunLen, unsigned short styleRunOffset, short slop, short direction, void * textBufferPtr, short * lineStart, TEPtr pTE, TEHandle hTE, NWidthHookUPP userUPP) { return (unsigned short)CALL_EIGHT_PARAMETER_UPP(userUPP, uppNWidthHookProcInfo, styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE); }
+ #else
+ #define InvokeNWidthHookUPP(styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE, userUPP) (unsigned short)CALL_EIGHT_PARAMETER_UPP((userUPP), uppNWidthHookProcInfo, (styleRunLen), (styleRunOffset), (slop), (direction), (textBufferPtr), (lineStart), (pTE), (hTE))
+ #endif
+#endif
+
+/*
+ * InvokeDrawHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDrawHookUPP(
+ unsigned short textOffset,
+ unsigned short drawLen,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ DrawHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDrawHookUPP(unsigned short textOffset, unsigned short drawLen, void * textBufferPtr, TEPtr pTE, TEHandle hTE, DrawHookUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppDrawHookProcInfo, textOffset, drawLen, textBufferPtr, pTE, hTE); }
+ #else
+ #define InvokeDrawHookUPP(textOffset, drawLen, textBufferPtr, pTE, hTE, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppDrawHookProcInfo, (textOffset), (drawLen), (textBufferPtr), (pTE), (hTE))
+ #endif
+#endif
+
+/*
+ * InvokeHitTestHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeHitTestHookUPP(
+ unsigned short styleRunLen,
+ unsigned short styleRunOffset,
+ unsigned short slop,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ unsigned short * pixelWidth,
+ unsigned short * charOffset,
+ Boolean * pixelInChar,
+ HitTestHookUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeHitTestHookUPP(unsigned short styleRunLen, unsigned short styleRunOffset, unsigned short slop, void * textBufferPtr, TEPtr pTE, TEHandle hTE, unsigned short * pixelWidth, unsigned short * charOffset, Boolean * pixelInChar, HitTestHookUPP userUPP) { return (Boolean)CALL_NINE_PARAMETER_UPP(userUPP, uppHitTestHookProcInfo, styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar); }
+ #else
+ #define InvokeHitTestHookUPP(styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar, userUPP) (Boolean)CALL_NINE_PARAMETER_UPP((userUPP), uppHitTestHookProcInfo, (styleRunLen), (styleRunOffset), (slop), (textBufferPtr), (pTE), (hTE), (pixelWidth), (charOffset), (pixelInChar))
+ #endif
+#endif
+
+/*
+ * InvokeTEFindWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTEFindWordUPP(
+ unsigned short currentPos,
+ short caller,
+ TEPtr pTE,
+ TEHandle hTE,
+ unsigned short * wordStart,
+ unsigned short * wordEnd,
+ TEFindWordUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTEFindWordUPP(unsigned short currentPos, short caller, TEPtr pTE, TEHandle hTE, unsigned short * wordStart, unsigned short * wordEnd, TEFindWordUPP userUPP) { CALL_SIX_PARAMETER_UPP(userUPP, uppTEFindWordProcInfo, currentPos, caller, pTE, hTE, wordStart, wordEnd); }
+ #else
+ #define InvokeTEFindWordUPP(currentPos, caller, pTE, hTE, wordStart, wordEnd, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppTEFindWordProcInfo, (currentPos), (caller), (pTE), (hTE), (wordStart), (wordEnd))
+ #endif
+#endif
+
+/*
+ * InvokeTERecalcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTERecalcUPP(
+ TEPtr pTE,
+ unsigned short changeLength,
+ unsigned short * lineStart,
+ unsigned short * firstChar,
+ unsigned short * lastChar,
+ TERecalcUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTERecalcUPP(TEPtr pTE, unsigned short changeLength, unsigned short * lineStart, unsigned short * firstChar, unsigned short * lastChar, TERecalcUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppTERecalcProcInfo, pTE, changeLength, lineStart, firstChar, lastChar); }
+ #else
+ #define InvokeTERecalcUPP(pTE, changeLength, lineStart, firstChar, lastChar, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppTERecalcProcInfo, (pTE), (changeLength), (lineStart), (firstChar), (lastChar))
+ #endif
+#endif
+
+/*
+ * InvokeTEDoTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTEDoTextUPP(
+ TEPtr pTE,
+ unsigned short firstChar,
+ unsigned short lastChar,
+ short selector,
+ GrafPtr * currentGrafPort,
+ short * charPosition,
+ TEDoTextUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTEDoTextUPP(TEPtr pTE, unsigned short firstChar, unsigned short lastChar, short selector, GrafPtr * currentGrafPort, short * charPosition, TEDoTextUPP userUPP) { CALL_SIX_PARAMETER_UPP(userUPP, uppTEDoTextProcInfo, pTE, firstChar, lastChar, selector, currentGrafPort, charPosition); }
+ #else
+ #define InvokeTEDoTextUPP(pTE, firstChar, lastChar, selector, currentGrafPort, charPosition, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppTEDoTextProcInfo, (pTE), (firstChar), (lastChar), (selector), (currentGrafPort), (charPosition))
+ #endif
+#endif
+
+/*
+ * InvokeTEClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeTEClickLoopUPP(
+ TEPtr pTE,
+ TEClickLoopUPP userUPP);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeTEClickLoopUPP(TEPtr pTE, TEClickLoopUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppTEClickLoopProcInfo, pTE); }
+ #else
+ #define InvokeTEClickLoopUPP(pTE, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppTEClickLoopProcInfo, (pTE))
+ #endif
+#endif
+
+#if CALL_NOT_IN_CARBON
+/*
+ * InvokeWordBreakUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 InvokeWordBreakUPP(__A0, __D0, __A1)
+#endif
+EXTERN_API_C( Boolean )
+InvokeWordBreakUPP(
+ Ptr text,
+ short charPos,
+ WordBreakUPP userUPP) ONEWORDINLINE(0x4E91);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeWordBreakUPP(Ptr text, short charPos, WordBreakUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppWordBreakProcInfo, text, charPos); }
+ #else
+ #define InvokeWordBreakUPP(text, charPos, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppWordBreakProcInfo, (text), (charPos))
+ #endif
+#endif
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
+ /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
+ #define NewHighHookProc(userRoutine) NewHighHookUPP(userRoutine)
+ #define NewEOLHookProc(userRoutine) NewEOLHookUPP(userRoutine)
+ #define NewCaretHookProc(userRoutine) NewCaretHookUPP(userRoutine)
+ #define NewWidthHookProc(userRoutine) NewWidthHookUPP(userRoutine)
+ #define NewTextWidthHookProc(userRoutine) NewTextWidthHookUPP(userRoutine)
+ #define NewNWidthHookProc(userRoutine) NewNWidthHookUPP(userRoutine)
+ #define NewDrawHookProc(userRoutine) NewDrawHookUPP(userRoutine)
+ #define NewHitTestHookProc(userRoutine) NewHitTestHookUPP(userRoutine)
+ #define NewTEFindWordProc(userRoutine) NewTEFindWordUPP(userRoutine)
+ #define NewTERecalcProc(userRoutine) NewTERecalcUPP(userRoutine)
+ #define NewTEDoTextProc(userRoutine) NewTEDoTextUPP(userRoutine)
+ #define NewTEClickLoopProc(userRoutine) NewTEClickLoopUPP(userRoutine)
+ #define NewWordBreakProc(userRoutine) NewWordBreakUPP(userRoutine)
+ #define CallHighHookProc(userRoutine, r, pTE) InvokeHighHookUPP(r, pTE, userRoutine)
+ #define CallEOLHookProc(userRoutine, theChar, pTE, hTE) InvokeEOLHookUPP(theChar, pTE, hTE, userRoutine)
+ #define CallCaretHookProc(userRoutine, r, pTE) InvokeCaretHookUPP(r, pTE, userRoutine)
+ #define CallWidthHookProc(userRoutine, textLen, textOffset, textBufferPtr, pTE, hTE) InvokeWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userRoutine)
+ #define CallTextWidthHookProc(userRoutine, textLen, textOffset, textBufferPtr, pTE, hTE) InvokeTextWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userRoutine)
+ #define CallNWidthHookProc(userRoutine, styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE) InvokeNWidthHookUPP(styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE, userRoutine)
+ #define CallDrawHookProc(userRoutine, textOffset, drawLen, textBufferPtr, pTE, hTE) InvokeDrawHookUPP(textOffset, drawLen, textBufferPtr, pTE, hTE, userRoutine)
+ #define CallHitTestHookProc(userRoutine, styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar) InvokeHitTestHookUPP(styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar, userRoutine)
+ #define CallTEFindWordProc(userRoutine, currentPos, caller, pTE, hTE, wordStart, wordEnd) InvokeTEFindWordUPP(currentPos, caller, pTE, hTE, wordStart, wordEnd, userRoutine)
+ #define CallTERecalcProc(userRoutine, pTE, changeLength, lineStart, firstChar, lastChar) InvokeTERecalcUPP(pTE, changeLength, lineStart, firstChar, lastChar, userRoutine)
+ #define CallTEDoTextProc(userRoutine, pTE, firstChar, lastChar, selector, currentGrafPort, charPosition) InvokeTEDoTextUPP(pTE, firstChar, lastChar, selector, currentGrafPort, charPosition, userRoutine)
+ #define CallTEClickLoopProc(userRoutine, pTE) InvokeTEClickLoopUPP(pTE, userRoutine)
+ #define CallWordBreakProc(userRoutine, text, charPos) InvokeWordBreakUPP(text, charPos, userRoutine)
+#endif /* CALL_NOT_IN_CARBON */
+
+enum {
+ /* feature bit 4 for TEFeatureFlag no longer in use */
+ teFUseTextServices = 4 /*00010000b */
+};
+
+
+#if OLDROUTINENAMES
+/* action for the old C "bit (un)set" interface, TEFeatureFlag */
+#define TEBitClear teBitClear
+#define TEBitSet teBitSet
+#define TEBitTest teBitTest
+#define teFAutoScr teFAutoScroll
+#define toglBit toggleBit
+#endif /* OLDROUTINENAMES */
+
+/*
+ * TEScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+TEScrapHandle(void) TWOWORDINLINE(0x2EB8, 0x0AB4);
+
+
+
+/*
+ * TEGetScrapLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+TEGetScrapLength(void);
+
+
+#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#define TEGetScrapLength() ((long) * (unsigned short *) 0x0AB0)
+#endif
+#if CALL_NOT_IN_CARBON
+/*
+ * TEInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+TEInit(void) ONEWORDINLINE(0xA9CC);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * TENew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEHandle )
+TENew(
+ const Rect * destRect,
+ const Rect * viewRect) ONEWORDINLINE(0xA9D2);
+
+
+/*
+ * TEDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEDispose(TEHandle hTE) ONEWORDINLINE(0xA9CD);
+
+
+/*
+ * TESetText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetText(
+ const void * text,
+ long length,
+ TEHandle hTE) ONEWORDINLINE(0xA9CF);
+
+
+/*
+ * TEGetText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CharsHandle )
+TEGetText(TEHandle hTE) ONEWORDINLINE(0xA9CB);
+
+
+/*
+ * TEIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEIdle(TEHandle hTE) ONEWORDINLINE(0xA9DA);
+
+
+/*
+ * TESetSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetSelect(
+ long selStart,
+ long selEnd,
+ TEHandle hTE) ONEWORDINLINE(0xA9D1);
+
+
+/*
+ * TEActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEActivate(TEHandle hTE) ONEWORDINLINE(0xA9D8);
+
+
+/*
+ * TEDeactivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEDeactivate(TEHandle hTE) ONEWORDINLINE(0xA9D9);
+
+
+/*
+ * TEKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEKey(
+ CharParameter key,
+ TEHandle hTE) ONEWORDINLINE(0xA9DC);
+
+
+/*
+ * TECut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECut(TEHandle hTE) ONEWORDINLINE(0xA9D6);
+
+
+/*
+ * TECopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECopy(TEHandle hTE) ONEWORDINLINE(0xA9D5);
+
+
+/*
+ * TEPaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEPaste(TEHandle hTE) ONEWORDINLINE(0xA9DB);
+
+
+/*
+ * TEDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEDelete(TEHandle hTE) ONEWORDINLINE(0xA9D7);
+
+
+/*
+ * TEInsert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEInsert(
+ const void * text,
+ long length,
+ TEHandle hTE) ONEWORDINLINE(0xA9DE);
+
+
+/*
+ * TESetAlignment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetAlignment(
+ short just,
+ TEHandle hTE) ONEWORDINLINE(0xA9DF);
+
+
+/*
+ * TEUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEUpdate(
+ const Rect * rUpdate,
+ TEHandle hTE) ONEWORDINLINE(0xA9D3);
+
+
+/*
+ * TETextBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TETextBox(
+ const void * text,
+ long length,
+ const Rect * box,
+ short just) ONEWORDINLINE(0xA9CE);
+
+
+/*
+ * TEScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEScroll(
+ short dh,
+ short dv,
+ TEHandle hTE) ONEWORDINLINE(0xA9DD);
+
+
+/*
+ * TESelView()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESelView(TEHandle hTE) ONEWORDINLINE(0xA811);
+
+
+/*
+ * TEPinScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEPinScroll(
+ short dh,
+ short dv,
+ TEHandle hTE) ONEWORDINLINE(0xA812);
+
+
+/*
+ * TEAutoView()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEAutoView(
+ Boolean fAuto,
+ TEHandle hTE) ONEWORDINLINE(0xA813);
+
+
+/*
+ * TECalText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECalText(TEHandle hTE) ONEWORDINLINE(0xA9D0);
+
+
+/*
+ * TEGetOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TEGetOffset(
+ Point pt,
+ TEHandle hTE) ONEWORDINLINE(0xA83C);
+
+
+/*
+ * TEGetPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point )
+TEGetPoint(
+ short offset,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0008, 0xA83D);
+
+
+/*
+ * TEClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEClick(
+ Point pt,
+ Boolean fExtend,
+ TEHandle h) ONEWORDINLINE(0xA9D4);
+
+
+/*
+ * TEStyleNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEHandle )
+TEStyleNew(
+ const Rect * destRect,
+ const Rect * viewRect) ONEWORDINLINE(0xA83E);
+
+
+/*
+ * TESetStyleHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetStyleHandle(
+ TEStyleHandle theHandle,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0005, 0xA83D);
+
+
+/*
+ * TEGetStyleHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEStyleHandle )
+TEGetStyleHandle(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0004, 0xA83D);
+
+
+/*
+ * TEGetStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEGetStyle(
+ short offset,
+ TextStyle * theStyle,
+ short * lineHeight,
+ short * fontAscent,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0003, 0xA83D);
+
+
+/*
+ * TEStylePaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEStylePaste(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0000, 0xA83D);
+
+
+/*
+ * TESetStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetStyle(
+ short mode,
+ const TextStyle * newStyle,
+ Boolean fRedraw,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0001, 0xA83D);
+
+
+/*
+ * TEReplaceStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEReplaceStyle(
+ short mode,
+ const TextStyle * oldStyle,
+ const TextStyle * newStyle,
+ Boolean fRedraw,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0002, 0xA83D);
+
+
+/*
+ * TEGetStyleScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StScrpHandle )
+TEGetStyleScrapHandle(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0006, 0xA83D);
+
+
+/*
+ * TEStyleInsert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEStyleInsert(
+ const void * text,
+ long length,
+ StScrpHandle hST,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0007, 0xA83D);
+
+
+/*
+ * TEGetHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+TEGetHeight(
+ long endLine,
+ long startLine,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0009, 0xA83D);
+
+
+/*
+ * TEContinuousStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+TEContinuousStyle(
+ short * mode,
+ TextStyle * aStyle,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000A, 0xA83D);
+
+
+/*
+ * TEUseStyleScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEUseStyleScrap(
+ long rangeStart,
+ long rangeEnd,
+ StScrpHandle newStyles,
+ Boolean fRedraw,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000B, 0xA83D);
+
+
+/*
+ * TECustomHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECustomHook(
+ TEIntHook which,
+ UniversalProcPtr * addr,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000C, 0xA83D);
+
+
+/*
+ * TENumStyles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+TENumStyles(
+ long rangeStart,
+ long rangeEnd,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000D, 0xA83D);
+
+
+/*
+ * TEFeatureFlag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TEFeatureFlag(
+ short feature,
+ short action,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000E, 0xA83D);
+
+
+/*
+ * TEGetHiliteRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TEGetHiliteRgn(
+ RgnHandle region,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000F, 0xA83D);
+
+
+/*
+ * TESetScrapLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetScrapLength(long length);
+
+
+/*
+ * TEFromScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TEFromScrap(void);
+
+
+/*
+ * TEToScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TEToScrap(void);
+
+
+/*
+ * TESetClickLoop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetClickLoop(
+ TEClickLoopUPP clikProc,
+ TEHandle hTE);
+
+
+#if CALL_NOT_IN_CARBON
+/*
+ * TESetWordBreak()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+TESetWordBreak(
+ WordBreakUPP wBrkProc,
+ TEHandle hTE);
+
+
+
+
+
+
+
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * TEGetDoTextHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEDoTextUPP )
+TEGetDoTextHook(void);
+
+
+/*
+ * TESetDoTextHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetDoTextHook(TEDoTextUPP value);
+
+
+/*
+ * TEGetRecalcHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TERecalcUPP )
+TEGetRecalcHook(void);
+
+
+/*
+ * TESetRecalcHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetRecalcHook(TERecalcUPP value);
+
+
+/*
+ * TEGetFindWordHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEFindWordUPP )
+TEGetFindWordHook(void);
+
+
+/*
+ * TESetFindWordHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetFindWordHook(TEFindWordUPP value);
+
+
+/*
+ * TEGetScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+TEGetScrapHandle(void);
+
+
+/*
+ * TESetScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetScrapHandle(Handle value);
+
+
+
+
+/* LMGetWordRedraw and LMSetWordRedraw were previously in LowMem.h */
+/* Deprecated for Carbon on MacOS X */
+/* This lomem is no longer used by the implementation of TextEdit */
+/* on MacOS X, so setting it will have no effect. */
+/*
+ * LMGetWordRedraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 )
+LMGetWordRedraw(void) TWOWORDINLINE(0x1EB8, 0x0BA5);
+
+
+/*
+ * LMSetWordRedraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetWordRedraw(UInt8 value) TWOWORDINLINE(0x11DF, 0x0BA5);
+
+
+
+
+#if CALL_NOT_IN_CARBON
+/*
+ * teclick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+teclick(
+ Point * pt,
+ Boolean fExtend,
+ TEHandle h);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#if OLDROUTINENAMES
+#if CALL_NOT_IN_CARBON
+#define TESetJust(just, hTE) TESetAlignment(just, hTE)
+#define TextBox(text, length, box, just) TETextBox(text, length, box, just)
+#define TEStylNew(destRect, viewRect) TEStyleNew(destRect, viewRect)
+#define SetStylHandle(theHandle, hTE) TESetStyleHandle(theHandle, hTE)
+#define SetStyleHandle(theHandle, hTE) TESetStyleHandle (theHandle, hTE)
+#define GetStylHandle(hTE) TEGetStyleHandle(hTE)
+#define GetStyleHandle(hTE) TEGetStyleHandle(hTE)
+#define TEStylPaste(hTE) TEStylePaste(hTE)
+#define GetStylScrap(hTE) TEGetStyleScrapHandle(hTE)
+#define GetStyleScrap(hTE) TEGetStyleScrapHandle(hTE)
+#define SetStylScrap(rangeStart, rangeEnd, newStyles, redraw, hTE) TEUseStyleScrap(rangeStart, rangeEnd, newStyles, redraw, hTE)
+#define SetStyleScrap(rangeStart, rangeEnd, newStyles, redraw, hTE) TEUseStyleScrap(rangeStart, rangeEnd, newStyles, redraw, hTE)
+#define TEStylInsert(text, length, hST, hTE) TEStyleInsert(text, length, hST, hTE)
+#define TESetScrapLen(length) TESetScrapLength(length)
+#define TEGetScrapLen() TEGetScrapLength()
+#define SetClikLoop(clikProc, hTE) TESetClickLoop(clikProc, hTE)
+#define SetWordBreak(wBrkProc, hTE) TESetWordBreak(wBrkProc, hTE)
+#endif /* CALL_NOT_IN_CARBON */
+#endif /* OLDROUTINENAMES */
+
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=reset
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(pop)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack()
+#endif
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TEXTEDIT__ */
+