Initial revision
[ssr] / StraySrc / Libraries / Sapphire / csapph / h / writable
1 /*
2 * writable.h
3 *
4 * [Generated from writable, 25 September 1996]
5 */
6
7 #if !defined(__CC_NORCROFT) || !defined(__arm)
8 #error You must use the Norcroft ARM Compiler for Sapphire programs
9 #endif
10
11 #pragma include_only_once
12 #pragma force_top_level
13
14 #ifndef __writable_h
15 #define __writable_h
16
17 #ifndef __sapphire_h
18 #include "sapphire.h"
19 #endif
20
21 /*----- Overview ----------------------------------------------------------*
22 *
23 * Functions provided:
24 *
25 * writable
26 * wrt_init
27 *
28 * Macros provided:
29 *
30 * WRTABLE
31 */
32
33 /* --- writable --- *
34 *
35 * On entry: R0 == pointer to writable dialogue block
36 * R1 == pointer to default string to display, or 0 for null
37 * R2 == pointer to routine to call when string set
38 * R3 == value to pass to routine in R10
39 * R4 == value to pass to routine in R12
40 *
41 * On exit: R0 == dialogue handle of created dialogue box
42 * May return an error
43 *
44 * Use: Displays a writable dialogue box, i.e. one with a writable
45 * icon and OK button, used instead of writable menu items,
46 * for reasons to do with caret blinking and pointer changing.
47 *
48 * The writable dialogue block consists of:
49 *
50 * Size Meaning
51 * ~~~~ ~~~~~~~
52 * 4 Flags (see below)
53 * n Validation string to use, may be null
54 * m Title string (message tag) to display
55 *
56 * The flags are:
57 *
58 * Bit Meaning
59 * ~~~ ~~~~~~~
60 * 0-7 Maximum string length
61 * 8 Right align text in writable icon
62 * 9-31 Reserved; must be 0
63 *
64 * The routine returns a dialogue handle because you may want
65 * to attach a numWrite control to the writable icon, which
66 * is icon number 0.
67 *
68 * The handler routine is passed:
69 *
70 * R0 == pointer to string typed in
71 * R1 == dialogue box handle (for numWrite again)
72 * R10, R12 as set up here
73 *
74 * It must preserve all registers. If the carry flag is set
75 * on exit, the dialogue box will not be closed. If it is
76 * clear, the dialogue may be closed depending on the button
77 * status.
78 *
79 * Note that this routine does *not* require a template --
80 * a suitable window is generated at run-time.
81 */
82
83 extern routine writable;
84
85 /* --- wrt_init --- *
86 *
87 * On entry: --
88 *
89 * On exit: --
90 *
91 * Use: Initialises the writable dialogue box for use.
92 */
93
94 extern routine wrt_init;
95
96 /* --- Useful constants --- */
97
98 #define wrtFlag_rAlign ((1<<8))
99
100 /* --- Macro: WRTABLE --- *
101 *
102 * Arguments: len == maximum string length to allow
103 * flagsĀ == other flags to set
104 * valid == (optional) validation string
105 * title == title message tag string
106 *
107 * Use: Builds a writable definition block.
108 */
109
110 /*----- That's all, folks -------------------------------------------------*/
111
112 #endif