Initial revision
[ssr] / StraySrc / Libraries / Sapphire / csapph / h / banner
1 /*
2 * banner.h
3 *
4 * [Generated from banner, 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 __banner_h
15 #define __banner_h
16
17 #ifndef __sapphire_h
18 #include "sapphire.h"
19 #endif
20
21 /*----- Overview ----------------------------------------------------------*
22 *
23 * Functions provided:
24 *
25 * banner
26 * bnr_doBanner
27 */
28
29 /* --- banner --- *
30 *
31 * On entry: R0 == pointer to definition block, or 0
32 * R1 == R12 value to pass to setup routine, if present
33 *
34 * On exit: --
35 *
36 * Use: Displays a startup banner and initialises the library and
37 * client. This call should be used as a replacement for
38 * sapphire_libInit.
39 *
40 * If R0 is 0 on entry, no banner window is used; instead
41 * an hourglass percentage is displayed to indicate the
42 * amount of initialisation performed so far.
43 *
44 * Alternatively, it should point to a table consisting of
45 * a flags word and optional arguments specified by the flags
46 * in order. The options you can specify are a slider and
47 * percentage count icon (used to display current progress),
48 * a setup routine, and the leafname of a sprites file to
49 * attach to the banner window.
50 *
51 * The setup routine is passed the banner dialogue handle in
52 * R0. It should fill in parts of the banner window, such as
53 * the licencee name and serial number that can't be determined
54 * until runtime (for safeness), and maybe version information
55 * too.
56 */
57
58 extern routine banner;
59
60 /* --- bnr_doBanner --- *
61 *
62 * On entry: R0 == pointer to definition block, or 0
63 * R1 == R12 value to pass to setup routine, if present
64 * R2 == pointer to library initialisation table
65 *
66 * On exit: --
67 *
68 * Use: Displays a startup banner and initialises the library and
69 * client. This routine is used to support dynamic linking.
70 */
71
72 extern routine bnr_doBanner;
73
74 /*----- Flags -------------------------------------------------------------*/
75
76 #define bFlag_slider ((1<<0))
77
78 #define bFlag_counter ((1<<1))
79
80 #define bFlag_setup ((1<<2))
81
82 #define bFlag_sprites ((1<<3))
83
84 /*----- Macros ------------------------------------------------------------*/
85
86 /* --- Macro: BANNER --- *
87 *
88 * Arguments: --
89 *
90 * Use: Begins construction of a banner block.
91 */
92
93 /* --- Macro: BFLAG --- *
94 *
95 * Arguments: f == flag to set
96 *
97 * Use: Sets a flag in the banner header, making sure they go in
98 * order.
99 */
100
101 /* --- Macro: BNSLIDE --- *
102 *
103 * Arguments: icon == icon number of slider in banner window
104 *
105 * Use: Registers the banner window's slider.
106 */
107
108 /* --- Macro: BNCOUNT --- *
109 *
110 * Arguments: icon == icon number of percentage counter
111 *
112 * Use: Registers the banner window's percentage counter.
113 */
114
115 /* --- Macro: BNSETUP --- *
116 *
117 * Arguments: rout == address of setup routine
118 *
119 * Use: Registers the banner window's setup routine.
120 */
121
122 /* --- Macro: BNSPRT --- *
123 *
124 * Arguments: name == leafname of sprite file
125 *
126 * Use: Registers the banner window's sprite file name.
127 */
128
129 /* --- Macro: BNEND --- *
130 *
131 * Arguments: --
132 *
133 * Use: Terminates a banner window definition.
134 */
135
136 /*----- That's all, folks -------------------------------------------------*/
137
138 #endif