4 * [Generated from nopoll, 25 September 1996]
7 #if !defined(__CC_NORCROFT) || !defined(__arm)
8 #error You must use the Norcroft ARM Compiler for Sapphire programs
11 #pragma include_only_once
12 #pragma force_top_level
21 /*----- Overview ----------------------------------------------------------*
31 /* --- nopoll_open --- *
33 * On entry: R0 == a window handle to take over
37 * Use: Sets up the window with the given handle to be a nonpolling
38 * dialogue box. The window must already be open on the screen.
39 * This call will force it to be painted on the screen, and
40 * then start faking events for it.
43 extern routine nopoll_open;
45 /* --- nopoll_close --- *
47 * On entry: R0 == return value for nopoll_process (can be anything)
51 * Use: Tells nopoll that the nonpolling window has been killed,
52 * and hence that polling can return to normal again. You can
53 * specify a return value to give from nopoll_process (if that
54 * system is being used).
57 extern routine nopoll_close;
59 /* --- nopoll_init --- *
65 * Use: Initialises nopoll so it can be used.
68 extern routine nopoll_init;
70 /* --- nopoll_process --- *
74 * On exit: R0 == value passed to nopoll_close
76 * Use: Processes a nonpolling window until it calls nopoll_close.
77 * It then returns the value passed to nopoll_close in R0,
78 * which can be defined in any way you want.
80 * Some notes on the use of this routine:
82 * * It calls event_poll, so any functions that get called
83 * after the normal event_poll don't get called. Since the
84 * Wimp isn't actually being polled at all, this isn't a
85 * real problem as long as your handlers are registered at the
86 * event filter level or higher (e.g. win event handlers or
87 * even dbox handlers).
89 * * It uses up an extra 256 bytes of stack for a poll block.
90 * If you think you might miss this stack space, then you'd
91 * better not use this routine.
93 * * It isn't reentrant, but then again, nor is the rest of the
94 * nopoll system -- you can only have one nonpolling box open
98 extern routine nopoll_process;
100 /*----- That's all, folks -------------------------------------------------*/