Mac OS 9
TSMTE.h
Go to the documentation of this file.
1 
19 #ifndef __TSMTE__
20 #define __TSMTE__
21 
22 #ifndef __TEXTEDIT__
23 #include <TextEdit.h>
24 #endif
25 
26 #ifndef __DIALOGS__
27 #include <Dialogs.h>
28 #endif
29 
30 #ifndef __APPLEEVENTS__
31 #include <AppleEvents.h>
32 #endif
33 
34 #ifndef __TEXTSERVICES__
35 #include <TextServices.h>
36 #endif
37 
38 #if PRAGMA_ONCE
39 #pragma once
40 #endif
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 #if PRAGMA_IMPORT
47 #pragma import on
48 #endif
49 
50 #if PRAGMA_STRUCT_ALIGN
51 #pragma options align = mac68k
52 #elif PRAGMA_STRUCT_PACKPUSH
53 #pragma pack(push, 2)
54 #elif PRAGMA_STRUCT_PACK
55 #pragma pack(2)
56 #endif
57 
58 /* signature, interface types*/
59 enum {
60  kTSMTESignature = FOUR_CHAR_CODE('tmTE'),
61  kTSMTEInterfaceType = FOUR_CHAR_CODE('tmTE')
62 };
63 
70 #if CALL_NOT_IN_CARBON
71 enum { kTSMTEDialog = FOUR_CHAR_CODE('tmDI') };
72 
73 #endif /* CALL_NOT_IN_CARBON */
74 
75 /* update flag for TSMTERec*/
76 enum { kTSMTEAutoScroll = 1 };
77 
78 /* callback procedure definitions*/
79 
80 typedef CALLBACK_API(void, TSMTEPreUpdateProcPtr)(TEHandle textH, long refCon);
81 typedef CALLBACK_API(void, TSMTEPostUpdateProcPtr)(TEHandle textH, long fixLen,
82  long inputAreaStart,
83  long inputAreaEnd,
84  long pinStart, long pinEnd,
85  long refCon);
86 typedef STACK_UPP_TYPE(TSMTEPreUpdateProcPtr) TSMTEPreUpdateUPP;
87 typedef STACK_UPP_TYPE(TSMTEPostUpdateProcPtr) TSMTEPostUpdateUPP;
88 
89 /* data types*/
90 struct TSMTERec {
91  TEHandle textH;
92  TSMTEPreUpdateUPP preUpdateProc;
93  TSMTEPostUpdateUPP postUpdateProc;
94  long updateFlag;
95  long refCon;
96 };
97 typedef struct TSMTERec TSMTERec;
98 typedef TSMTERec *TSMTERecPtr;
100 #if !OPAQUE_TOOLBOX_STRUCTS
102  DialogRecord fDialog;
103  TSMDocumentID fDocID;
104  TSMTERecHandle fTSMTERecH;
105  long fTSMTERsvd[3]; /* reserved*/
106 };
107 typedef struct TSMDialogRecord TSMDialogRecord;
110 #endif /* !OPAQUE_TOOLBOX_STRUCTS */
111 
120 TSMTEPreUpdateUPP
121 NewTSMTEPreUpdateUPP(TSMTEPreUpdateProcPtr userRoutine);
122 #if !OPAQUE_UPP_TYPES
123 enum {
124  uppTSMTEPreUpdateProcInfo = 0x000003C0
125 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
126 #ifdef __cplusplus
127 inline TSMTEPreUpdateUPP
128 NewTSMTEPreUpdateUPP(TSMTEPreUpdateProcPtr userRoutine) {
129  return (TSMTEPreUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
130  uppTSMTEPreUpdateProcInfo,
131  GetCurrentArchitecture());
132 }
133 #else
134 #define NewTSMTEPreUpdateUPP(userRoutine) \
135  (TSMTEPreUpdateUPP) \
136  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPreUpdateProcInfo, \
137  GetCurrentArchitecture())
138 #endif
139 #endif
140 
149 TSMTEPostUpdateUPP
150 NewTSMTEPostUpdateUPP(TSMTEPostUpdateProcPtr userRoutine);
151 #if !OPAQUE_UPP_TYPES
152 enum {
153  uppTSMTEPostUpdateProcInfo = 0x000FFFC0
154 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes,
155  4_bytes, 4_bytes) */
156 #ifdef __cplusplus
157 inline TSMTEPostUpdateUPP
158 NewTSMTEPostUpdateUPP(TSMTEPostUpdateProcPtr userRoutine) {
159  return (TSMTEPostUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
160  uppTSMTEPostUpdateProcInfo,
161  GetCurrentArchitecture());
162 }
163 #else
164 #define NewTSMTEPostUpdateUPP(userRoutine) \
165  (TSMTEPostUpdateUPP) \
166  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPostUpdateProcInfo, \
167  GetCurrentArchitecture())
168 #endif
169 #endif
170 
179 void
180 DisposeTSMTEPreUpdateUPP(TSMTEPreUpdateUPP userUPP);
181 #if !OPAQUE_UPP_TYPES
182 #ifdef __cplusplus
183 inline void DisposeTSMTEPreUpdateUPP(TSMTEPreUpdateUPP userUPP) {
184  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
185 }
186 #else
187 #define DisposeTSMTEPreUpdateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
188 #endif
189 #endif
190 
199 void
200 DisposeTSMTEPostUpdateUPP(TSMTEPostUpdateUPP userUPP);
201 #if !OPAQUE_UPP_TYPES
202 #ifdef __cplusplus
203 inline void DisposeTSMTEPostUpdateUPP(TSMTEPostUpdateUPP userUPP) {
204  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
205 }
206 #else
207 #define DisposeTSMTEPostUpdateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
208 #endif
209 #endif
210 
219 void
220 InvokeTSMTEPreUpdateUPP(TEHandle textH, long refCon, TSMTEPreUpdateUPP userUPP);
221 #if !OPAQUE_UPP_TYPES
222 #ifdef __cplusplus
223 inline void InvokeTSMTEPreUpdateUPP(TEHandle textH, long refCon,
224  TSMTEPreUpdateUPP userUPP) {
225  CALL_TWO_PARAMETER_UPP(userUPP, uppTSMTEPreUpdateProcInfo, textH, refCon);
226 }
227 #else
228 #define InvokeTSMTEPreUpdateUPP(textH, refCon, userUPP) \
229  CALL_TWO_PARAMETER_UPP((userUPP), uppTSMTEPreUpdateProcInfo, (textH), \
230  (refCon))
231 #endif
232 #endif
233 
242 void
243 InvokeTSMTEPostUpdateUPP(TEHandle textH, long fixLen, long inputAreaStart,
244  long inputAreaEnd, long pinStart, long pinEnd,
245  long refCon, TSMTEPostUpdateUPP userUPP);
246 #if !OPAQUE_UPP_TYPES
247 #ifdef __cplusplus
248 inline void InvokeTSMTEPostUpdateUPP(TEHandle textH, long fixLen,
249  long inputAreaStart, long inputAreaEnd,
250  long pinStart, long pinEnd, long refCon,
251  TSMTEPostUpdateUPP userUPP) {
252  CALL_SEVEN_PARAMETER_UPP(userUPP, uppTSMTEPostUpdateProcInfo, textH, fixLen,
253  inputAreaStart, inputAreaEnd, pinStart, pinEnd,
254  refCon);
255 }
256 #else
257 #define InvokeTSMTEPostUpdateUPP(textH, fixLen, inputAreaStart, inputAreaEnd, \
258  pinStart, pinEnd, refCon, userUPP) \
259  CALL_SEVEN_PARAMETER_UPP((userUPP), uppTSMTEPostUpdateProcInfo, (textH), \
260  (fixLen), (inputAreaStart), (inputAreaEnd), \
261  (pinStart), (pinEnd), (refCon))
262 #endif
263 #endif
264 
265 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
266 /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
267 #define NewTSMTEPreUpdateProc(userRoutine) NewTSMTEPreUpdateUPP(userRoutine)
268 #define NewTSMTEPostUpdateProc(userRoutine) NewTSMTEPostUpdateUPP(userRoutine)
269 #define CallTSMTEPreUpdateProc(userRoutine, textH, refCon) \
270  InvokeTSMTEPreUpdateUPP(textH, refCon, userRoutine)
271 #define CallTSMTEPostUpdateProc(userRoutine, textH, fixLen, inputAreaStart, \
272  inputAreaEnd, pinStart, pinEnd, refCon) \
273  InvokeTSMTEPostUpdateUPP(textH, fixLen, inputAreaStart, inputAreaEnd, \
274  pinStart, pinEnd, refCon, userRoutine)
275 #endif /* CALL_NOT_IN_CARBON */
276 
277 #if ACCESSOR_CALLS_ARE_FUNCTIONS
286 Boolean
287 IsTSMTEDialog(DialogRef dialog);
288 
289 /* Getters */
299 GetTSMTEDialogDocumentID(DialogRef dialog);
300 
310 GetTSMTEDialogTSMTERecHandle(DialogRef dialog);
311 
312 /* Setters */
321 void
322 SetTSMTEDialogDocumentID(DialogRef dialog, TSMDocumentID documentID);
323 
332 void
333 SetTSMTEDialogTSMTERecHandle(DialogRef dialog, TSMTERecHandle tsmteRecHandle);
334 
335 #endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */
336 
337 #if PRAGMA_STRUCT_ALIGN
338 #pragma options align = reset
339 #elif PRAGMA_STRUCT_PACKPUSH
340 #pragma pack(pop)
341 #elif PRAGMA_STRUCT_PACK
342 #pragma pack()
343 #endif
344 
345 #ifdef PRAGMA_IMPORT_OFF
346 #pragma import off
347 #elif PRAGMA_IMPORT
348 #pragma import reset
349 #endif
350 
351 #ifdef __cplusplus
352 }
353 #endif
354 
355 #endif /* __TSMTE__ */
AppleEvent Package Interfaces.
Dialog Manager interfaces.
unsigned char Boolean
Definition: MacTypes.h:318
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
void InvokeTSMTEPreUpdateUPP(TEHandle textH, long refCon, TSMTEPreUpdateUPP userUPP)
TSMTEPreUpdateUPP NewTSMTEPreUpdateUPP(TSMTEPreUpdateProcPtr userRoutine)
void DisposeTSMTEPostUpdateUPP(TSMTEPostUpdateUPP userUPP)
TSMTEPostUpdateUPP NewTSMTEPostUpdateUPP(TSMTEPostUpdateProcPtr userRoutine)
void InvokeTSMTEPostUpdateUPP(TEHandle textH, long fixLen, long inputAreaStart, long inputAreaEnd, long pinStart, long pinEnd, long refCon, TSMTEPostUpdateUPP userUPP)
void DisposeTSMTEPreUpdateUPP(TSMTEPreUpdateUPP userUPP)
TextEdit Interfaces.
Text Services Manager Interfaces.
struct OpaqueTSMDocumentID * TSMDocumentID
Definition: TextServices.h:156
Definition: Dialogs.h:157
Definition: Quickdraw.h:1648
Definition: TextEdit.h:272
Definition: TSMTE.h:101
Definition: TSMTE.h:90