~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/packages/extra/palmunits/form.pp

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(******************************************************************************
 
2
 *
 
3
 * Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
 
4
 * All rights reserved.
 
5
 *
 
6
 * File: Form.h
 
7
 *
 
8
 * Release: Palm OS SDK 4.0 (63220)
 
9
 *
 
10
 * Description:
 
11
 *   This file defines form structures and routines.
 
12
 *
 
13
 * History:
 
14
 *    09/06/94 art   Created by Art Lamb.
 
15
 *    08/28/00 kwk   Added FrmGetActiveField (4.0)
 
16
 *
 
17
 *****************************************************************************)
 
18
 
 
19
unit form;
 
20
 
 
21
interface
 
22
 
 
23
uses palmos, coretraps, rect, font, window, control, field, list, scrollbar, table, event_;
 
24
 
 
25
const
 
26
  noFocus = $ffff;
 
27
 
 
28
  frmInvalidObjectId = $ffff;
 
29
  frmNoSelectedControl = $ff;
 
30
 
 
31
// Update code send as part of a frmUpdate event.
 
32
  frmRedrawUpdateCode = $8000;
 
33
 
 
34
// Magic button IDs used by FrmCustomResponseAlert callbacks
 
35
  frmResponseCreate = 1974;
 
36
  frmResponseQuit = $BEEF;
 
37
 
 
38
// Alert constants and structures
 
39
type
 
40
  alertTypes = Enum;
 
41
 
 
42
const
 
43
  informationAlert = 0;
 
44
  confirmationAlert = Succ(informationAlert);
 
45
  warningAlert = Succ(confirmationAlert);
 
46
  errorAlert = Succ(warningAlert);
 
47
 
 
48
type
 
49
  AlertType = alertTypes;
 
50
 
 
51
  AlertTemplateType = record
 
52
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
53
    alertType: UInt16;
 
54
    helpRscID: UInt16;
 
55
    numButtons: UInt16;
 
56
    defaultButton: UInt16;
 
57
  {$endif}
 
58
  end;
 
59
  AlertTemplateTag = AlertTemplateType;
 
60
// Types of object in a dialog box
 
61
  formObjects = Enum;
 
62
 
 
63
const
 
64
  frmFieldObj = 0;
 
65
  frmControlObj = Succ(frmFieldObj);
 
66
  frmListObj = Succ(frmControlObj);
 
67
  frmTableObj = Succ(frmListObj);
 
68
  frmBitmapObj = Succ(frmTableObj);
 
69
  frmLineObj = Succ(frmBitmapObj);
 
70
  frmFrameObj = Succ(frmLineObj);
 
71
  frmRectangleObj = Succ(frmFrameObj);
 
72
  frmLabelObj = Succ(frmRectangleObj);
 
73
  frmTitleObj = Succ(frmLabelObj);
 
74
  frmPopupObj = Succ(frmTitleObj);
 
75
  frmGraffitiStateObj = Succ(frmPopupObj);
 
76
  frmGadgetObj = Succ(frmGraffitiStateObj);
 
77
  frmScrollBarObj = Succ(frmGadgetObj);
 
78
 
 
79
type
 
80
  FormObjectKind = formObjects;
 
81
 
 
82
  FormObjAttrType = record
 
83
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
84
    Bits: UInt16;
 
85
{
 
86
    UInt16 usable    :1; // Set if part of ui
 
87
    UInt16 reserved  :15; // pad it out
 
88
}
 
89
  {$endif}
 
90
  end;
 
91
 
 
92
  FormObjAttrTag = FormObjAttrType;
 
93
 
 
94
// Gadget support:
 
95
const
 
96
  formGadgetDrawCmd = 0; // paramP is unspecified
 
97
  formGadgetEraseCmd = 1; // paramP is unspecified
 
98
  formGadgetHandleEventCmd = 2; // paramP is an EventType *for the relevant event.
 
99
  formGadgetDeleteCmd = 3; // paramP is unspecified.
 
100
 
 
101
type
 
102
  FormGadgetAttrType = record
 
103
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
104
    Bits: UInt16;
 
105
{
 
106
    UInt16 usable   :1; // Set if part of ui - "should be drawn"
 
107
    UInt16 extended  :1; // Set if the structure is an "Extended" gadget (i.e., the 'handler' field is present)
 
108
    UInt16 visible   :1; // Set if drawn - "has been drawn" or "must do work to erase"
 
109
    UInt16 reserved  :13; // pad it out
 
110
}
 
111
  {$endif}
 
112
  end;
 
113
  FormGadgetAttrTag = FormGadgetAttrType;
 
114
 
 
115
  FormGadgetPtr = ^FormGadgetType;
 
116
 
 
117
  FormGadgetHandlerType = function(gadgetP: FormGadgetPtr; cmd: UInt16; paramP: Pointer): Boolean;
 
118
 
 
119
  FormGadgetType = record
 
120
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
121
    id: UInt16;
 
122
    attr: FormGadgetAttrType;
 
123
    rect: RectangleType;
 
124
    data: Pointer;
 
125
    handler: FormGadgetHandlerType;
 
126
  {$endif}
 
127
  end;
 
128
 
 
129
// All of the smaller form objects:
 
130
 
 
131
  FormBitmapType = record
 
132
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
133
    attr: FormObjAttrType;
 
134
    pos: PointType;
 
135
    rscID: UInt16;
 
136
  {$endif}
 
137
  end;
 
138
  FormBitmapTag = FormBitmapType;
 
139
  FormBitmapPtr = ^FormBitmapType;
 
140
 
 
141
  FormLineType = record
 
142
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
143
    attr: FormObjAttrType;
 
144
    point1: PointType;
 
145
    point2: PointType;
 
146
  {$endif}
 
147
  end;
 
148
  FormLineTag = FormLineType;
 
149
 
 
150
  FormFrameType = record
 
151
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
152
    id: UInt16;
 
153
    attr: FormObjAttrType;
 
154
    rect: RectangleType;
 
155
    frameType: UInt16;
 
156
  {$endif}
 
157
  end;
 
158
  FormFrameTag = FormFrameType;
 
159
 
 
160
  FormRectangleType = record
 
161
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
162
    attr: FormObjAttrType;
 
163
    rect: RectangleType;
 
164
  {$endif}
 
165
  end;
 
166
  FormRectangleTag = FormRectangleType;
 
167
 
 
168
  FormLabelType = record
 
169
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
170
    id: UInt16;
 
171
    pos: PointType;
 
172
    attr: FormObjAttrType;
 
173
    fontID: FontID;
 
174
    reserved: UInt8;
 
175
    text: PChar;
 
176
  {$endif}
 
177
  end;
 
178
  FormLabelTag = FormLabelType;
 
179
  FormLabelPtr = ^FormLabelType;
 
180
 
 
181
  FormTitleType = record
 
182
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
183
    rect: RectangleType;
 
184
    text: PChar;
 
185
  {$endif}
 
186
  end;
 
187
  FormTitleTag = FormTitleType;
 
188
 
 
189
  FormPopupType = record
 
190
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
191
    controlID: UInt16;
 
192
    listID: UInt16;
 
193
  {$endif}
 
194
  end;
 
195
  FormPopupTag = FormPopupType;
 
196
 
 
197
  FrmGraffitiStateType = record
 
198
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
199
    pos: PointType;
 
200
  {$endif}
 
201
  end;
 
202
  FormGraffitiStateTag = FrmGraffitiStateType;
 
203
  FrmGraffitiStatePtr = ^FrmGraffitiStateType;
 
204
 
 
205
  FormObjectType = record
 
206
    case Integer of
 
207
      1: (ptr: Pointer);
 
208
      2: (field: ^FieldType);
 
209
      3: (control: ^ControlType);
 
210
      4: (graphicControl: ^GraphicControlType);
 
211
      5: (sliderControl: ^SliderControlType);
 
212
      6: (list: ^ListType);
 
213
      7: (table: ^TableType);
 
214
      8: (bitmap: ^FormBitmapType);
 
215
        // FormLineType *    line;
 
216
        // FormFrameType *   frame;
 
217
        // FormRectangleType *  rectangle;
 
218
      9: (label_: ^FormLabelType);
 
219
      10: (title: ^FormTitleType);
 
220
      11: (popup: ^FormPopupType);
 
221
      12: (grfState: ^FrmGraffitiStateType);
 
222
      13: (gadget: ^FormGadgetType);
 
223
      14: (scrollBar: ^ScrollBarType);
 
224
  end;
 
225
  FormObjectTag = FormObjectType;
 
226
 
 
227
// typedef FormObjectType *FormObjectPtr;
 
228
 
 
229
  FormObjListType = record
 
230
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
231
    objectType: FormObjectKind;
 
232
    reserved: UInt8;
 
233
    object_: FormObjectType;
 
234
  {$endif}
 
235
  end;
 
236
  FormObjListTag = FormObjListType;
 
237
 
 
238
  FormAttrType = record
 
239
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
240
    Bits: UInt16;
 
241
{
 
242
 UInt16 usable   :1; // Set if part of ui
 
243
 UInt16 enabled   :1; // Set if interactable (not grayed out)
 
244
 UInt16 visible   :1; // Set if drawn, used internally
 
245
 UInt16 dirty   :1; // Set if dialog has been modified
 
246
 UInt16 saveBehind  :1; // Set if bits behind form are save when form ids drawn
 
247
 UInt16 graffitiShift :1;   // Set if graffiti shift indicator is supported
 
248
 UInt16 globalsAvailable:1; // Set by Palm OS if globals are available for the
 
249
          // form event handler
 
250
 UInt16 doingDialog :1; // FrmDoDialog is using for nested event loop
 
251
 UInt16 exitDialog  :1; // tells FrmDoDialog to bail out and stop using this form
 
252
 UInt16 attnIndicator :1;   // Set if attention indicator is supported
 
253
 UInt16 reserved      :6;   // pad to 16
 
254
}
 
255
    reserved2: UInt16;    // FormAttrType now explicitly 32-bits wide.
 
256
  {$endif}
 
257
  end;
 
258
  FormAttrTag = FormAttrType;
 
259
 
 
260
  FormEventHandlerType = function(var eventP: EventType): Boolean;
 
261
  FormEventHandlerPtr = FormEventHandlerType;
 
262
 
 
263
  FormType = record
 
264
  {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_FORMS} // These fields will not be available in the next OS release!
 
265
    window: WindowType;
 
266
    formId: UInt16;
 
267
    attr: FormAttrType;
 
268
    bitsBehindForm: WinHandle;
 
269
    handler: FormEventHandlerType;
 
270
    focus: UInt16;
 
271
    defaultButton: UInt16;
 
272
    helpRscId: UInt16;
 
273
    menuRscId: UInt16;
 
274
    numObjects: UInt16;
 
275
    objects: ^FormObjListType;
 
276
  {$endif}
 
277
  end;
 
278
 
 
279
  FormPtr = ^FormType;
 
280
  FieldPtr = ^FieldType;
 
281
// FormActiveStateType: this structure is passed to FrmActiveState for
 
282
// saving and restoring active form/window state; this structure's
 
283
// contents are abstracted because the contents will differ significantly
 
284
// as PalmOS evolves
 
285
// Added for PalmOS 3.0
 
286
  FormActiveStateType = record
 
287
    data: array [0..10] of UInt16;
 
288
  end;
 
289
 
 
290
// FrmCustomResponseAlert callback routine prototype
 
291
  FormCheckResponseFuncType = function(button: Int16; attempt: PChar): Boolean;
 
292
  FormCheckResponseFuncPtr = FormCheckResponseFuncType;
 
293
 
 
294
//--------------------------------------------------------------------
 
295
//
 
296
// Form Function
 
297
//
 
298
//--------------------------------------------------------------------
 
299
 
 
300
function FrmInitForm(rscID: UInt16): FormPtr; syscall sysTrapFrmInitForm;
 
301
 
 
302
procedure FrmDeleteForm(formP: FormPtr); syscall sysTrapFrmDeleteForm;
 
303
 
 
304
procedure FrmDrawForm(formP: FormPtr); syscall sysTrapFrmDrawForm;
 
305
 
 
306
procedure FrmEraseForm(formP: FormPtr); syscall sysTrapFrmEraseForm;
 
307
 
 
308
function FrmGetActiveForm: FormPtr; syscall sysTrapFrmGetActiveForm;
 
309
 
 
310
procedure FrmSetActiveForm(formP: FormPtr); syscall sysTrapFrmSetActiveForm;
 
311
 
 
312
function FrmGetActiveFormID: UInt16; syscall sysTrapFrmGetActiveFormID;
 
313
 
 
314
function FrmGetActiveField(const formP: FormPtr): FieldPtr; syscall sysTrapFrmGetActiveField;
 
315
 
 
316
function FrmGetUserModifiedState(const formP: FormPtr): Boolean; syscall sysTrapFrmGetUserModifiedState;
 
317
 
 
318
procedure FrmSetNotUserModified(formP: FormPtr); syscall sysTrapFrmSetNotUserModified;
 
319
 
 
320
function FrmGetFocus(const formP: FormPtr): UInt16; syscall sysTrapFrmGetFocus;
 
321
 
 
322
procedure FrmSetFocus(formP: FormPtr; fieldIndex: UInt16); syscall sysTrapFrmSetFocus;
 
323
 
 
324
function FrmHandleEvent(formP: FormPtr; eventP: EventPtr): Boolean; syscall sysTrapFrmHandleEvent;
 
325
 
 
326
procedure FrmGetFormBounds(const formP: FormPtr; var rP: RectangleType); syscall sysTrapFrmGetFormBounds;
 
327
 
 
328
function FrmGetWindowHandle(const formP: FormPtr): WinHandle; syscall sysTrapFrmGetWindowHandle;
 
329
 
 
330
function FrmGetFormId(const formP: FormPtr): UInt16; syscall sysTrapFrmGetFormId;
 
331
 
 
332
function FrmGetFormPtr(formId: UInt16): FormPtr; syscall sysTrapFrmGetFormPtr;
 
333
 
 
334
function FrmGetFirstForm: FormPtr; syscall sysTrapFrmGetFirstForm;
 
335
 
 
336
function FrmGetNumberOfObjects(const formP: FormPtr): UInt16; syscall sysTrapFrmGetNumberOfObjects;
 
337
 
 
338
function FrmGetObjectIndex(const formP: FormPtr; objID: UInt16): UInt16; syscall sysTrapFrmGetObjectIndex;
 
339
 
 
340
function FrmGetObjectIndexFromPtr(const formP: FormPtr; objP: Pointer): UInt16; syscall sysTrapFrmGetObjectIndexFromPtr;
 
341
 
 
342
function FrmGetObjectId(const formP: FormPtr; objIndex: UInt16): UInt16; syscall sysTrapFrmGetObjectId;
 
343
 
 
344
function FrmGetObjectType(const formP: FormPtr; objIndex: UInt16): FormObjectKind; syscall sysTrapFrmGetObjectType;
 
345
 
 
346
function FrmGetObjectPtr(const formP: FormPtr; objIndex: UInt16): Pointer; syscall sysTrapFrmGetObjectPtr;
 
347
 
 
348
procedure FrmGetObjectBounds(const formP: FormPtr; objIndex: UInt16; var rP: RectangleType); syscall sysTrapFrmGetObjectBounds;
 
349
 
 
350
procedure FrmHideObject(formP: FormPtr; objIndex: UInt16); syscall sysTrapFrmHideObject;
 
351
 
 
352
procedure FrmShowObject(formP: FormPtr; objIndex: UInt16); syscall sysTrapFrmShowObject;
 
353
 
 
354
procedure FrmGetObjectPosition(const formP: FormPtr; objIndex: UInt16; var x, y: Coord); syscall sysTrapFrmGetObjectPosition;
 
355
 
 
356
procedure FrmSetObjectPosition(formP: FormPtr; objIndex: UInt16; x, y: Coord); syscall sysTrapFrmSetObjectPosition;
 
357
 
 
358
procedure FrmSetObjectBounds(formP: FormPtr; objIndex: UInt16; {const} var bounds: RectangleType); syscall sysTrapFrmSetObjectBounds;
 
359
 
 
360
function FrmGetControlValue(const formP: FormPtr; objIndex: UInt16): Int16; syscall sysTrapFrmGetControlValue;
 
361
 
 
362
procedure FrmSetControlValue(const formP: FormPtr; objIndex, newValue: Int16); syscall sysTrapFrmSetControlValue;
 
363
 
 
364
function FrmGetControlGroupSelection(const formP: FormPtr; groupNum: UInt8): UInt16; syscall sysTrapFrmGetControlGroupSelection;
 
365
 
 
366
procedure FrmSetControlGroupSelection(const formP: FormPtr; groupNum: UInt8; controlID: UInt16); syscall sysTrapFrmSetControlGroupSelection;
 
367
 
 
368
procedure FrmCopyLabel(formP: FormPtr; labelID: UInt16; const newLabel: PChar); syscall sysTrapFrmCopyLabel;
 
369
 
 
370
function FrmGetLabel(const formP: FormPtr; labelID: UInt16): {const} PChar; syscall sysTrapFrmGetLabel;
 
371
 
 
372
procedure FrmSetCategoryLabel(const formP: FormPtr; objIndex: UInt16; newLabel: PChar); syscall sysTrapFrmSetCategoryLabel;
 
373
 
 
374
function FrmGetTitle(const formP: FormPtr): {const} PChar; syscall sysTrapFrmGetTitle;
 
375
 
 
376
procedure FrmSetTitle(formP: FormPtr; newTitle: PChar); syscall sysTrapFrmSetTitle;
 
377
 
 
378
procedure FrmCopyTitle(formP: FormPtr; const newTitle: PChar); syscall sysTrapFrmCopyTitle;
 
379
 
 
380
function FrmGetGadgetData(const formP: FormPtr; objIndex: UInt16): Pointer; syscall sysTrapFrmGetGadgetData;
 
381
 
 
382
procedure FrmSetGadgetData(formP: FormPtr; objIndex: UInt16; const data: Pointer); syscall sysTrapFrmSetGadgetData;
 
383
 
 
384
procedure FrmSetGadgetHandler(formP: FormPtr; objIndex: UInt16; attrP: FormGadgetHandlerType); syscall sysTrapFrmSetGadgetHandler;
 
385
 
 
386
function FrmDoDialog(formP: FormPtr): UInt16; syscall sysTrapFrmDoDialog;
 
387
 
 
388
function FrmAlert(alertId: UInt16): UInt16; syscall sysTrapFrmAlert;
 
389
 
 
390
function FrmCustomAlert(alertId: UInt16; const s1, s2, s3: PChar): UInt16; syscall sysTrapFrmCustomAlert;
 
391
 
 
392
procedure FrmHelp(helpMsgId: UInt16); syscall sysTrapFrmHelp;
 
393
 
 
394
procedure FrmUpdateScrollers(formP: FormPtr; upIndex, downIndex: UInt16; scrollableUp, scrollableDown: Boolean); syscall sysTrapFrmUpdateScrollers;
 
395
 
 
396
function FrmVisible(const formP: FormPtr): Boolean; syscall sysTrapFrmVisible;
 
397
 
 
398
procedure FrmSetEventHandler(formP: FormPtr; handler: FormEventHandlerType); syscall sysTrapFrmSetEventHandler;
 
399
 
 
400
function FrmDispatchEvent(var eventP: EventType): Boolean; syscall sysTrapFrmDispatchEvent;
 
401
 
 
402
procedure FrmPopupForm(formId: UInt16); syscall sysTrapFrmPopupForm;
 
403
 
 
404
procedure FrmGotoForm(formId: UInt16); syscall sysTrapFrmGotoForm;
 
405
 
 
406
procedure FrmUpdateForm(formId, updateCode: UInt16); syscall sysTrapFrmUpdateForm;
 
407
 
 
408
procedure FrmReturnToForm(formId: UInt16); syscall sysTrapFrmReturnToForm;
 
409
 
 
410
procedure FrmCloseAllForms; syscall sysTrapFrmCloseAllForms;
 
411
 
 
412
procedure FrmSaveAllForms; syscall sysTrapFrmSaveAllForms;
 
413
 
 
414
function FrmPointInTitle(const formP: FormPtr; x, y: Coord): Boolean; syscall sysTrapFrmPointInTitle;
 
415
 
 
416
procedure FrmSetMenu(formP: FormPtr; menuRscID: UInt16); syscall sysTrapFrmSetMenu;
 
417
 
 
418
function FrmValidatePtr(const formP: FormPtr): Boolean; syscall sysTrapFrmValidatePtr;
 
419
 
 
420
function FrmAddSpaceForObject(var formPP: FormPtr; var objectPP: MemPtr; objectKind: FormObjectKind; objectSize: UInt16): Err; syscall sysTrapFrmAddSpaceForObject;
 
421
 
 
422
function FrmRemoveObject(var formPP: FormPtr; objIndex: UInt16): Err; syscall sysTrapFrmRemoveObject;
 
423
 
 
424
function FrmNewForm(formID: UInt16; const titleStrP: PChar; x, y, width, height: Coord; modal: Boolean;
 
425
                    defaultButton, helpRscID, menuRscID: UInt16): FormPtr; syscall sysTrapFrmNewForm;
 
426
 
 
427
function FrmNewLabel(var formPP: FormPtr; ID: UInt16; const textP: PChar; x, y: Coord; font: FontID): FormLabelPtr; syscall sysTrapFrmNewLabel;
 
428
 
 
429
function FrmNewBitmap(var formPP: FormPtr; ID, rscID: UInt16; x, y: Coord): FormBitmapPtr; syscall sysTrapFrmNewBitmap;
 
430
 
 
431
function FrmNewGadget(var formPP: FormPtr; id: UInt16; x, y, width, height: Coord): FormGadgetPtr; syscall sysTrapFrmNewGadget;
 
432
 
 
433
function FrmActiveState(var stateP: FormActiveStateType; save: Boolean): Err; syscall sysTrapFrmActiveState;
 
434
 
 
435
function FrmCustomResponseAlert(alertId: UInt16; const s1, s2, s3: PChar; entryStringBuf: PChar;
 
436
                                entryStringBufLength: Int16; callback: FormCheckResponseFuncType): UInt16; syscall sysTrapFrmCustomResponseAlert;
 
437
 
 
438
function FrmNewGsi(var formPP: FormPtr; x, y: Coord): FrmGraffitiStatePtr; syscall sysTrapFrmNewGsi;
 
439
 
 
440
function FrmSaveActiveState(var stateP: FormActiveStateType): Err;
 
441
function FrmRestoreActiveState(var stateP: FormActiveStateType): Err;
 
442
 
 
443
implementation
 
444
 
 
445
function FrmSaveActiveState(var stateP: FormActiveStateType): Err;
 
446
begin
 
447
  FrmSaveActiveState := FrmActiveState(stateP, True);
 
448
end;
 
449
 
 
450
function FrmRestoreActiveState(var stateP: FormActiveStateType): Err;
 
451
begin
 
452
  FrmRestoreActiveState := FrmActiveState(stateP, False);
 
453
end;
 
454
 
 
455
end.