Initial revision
[ssr] / StraySrc / Libraries / Sapphire / csapph / h / banner
CommitLineData
2ee739cc 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
58extern 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
72extern 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