home *** CD-ROM | disk | FTP | other *** search
-
- /* objects.h.task
- *
- * Dreamscape - C++ class library for RISC OS
- * Copyright (c) 1996 Mark Seaborn <mseaborn@argonet.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- * See the Dreamscape documentation for more information.
- */
-
- #ifndef dreamscape_task_H
- #define dreamscape_task_H
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- extern struct toolbox_block dscape_task_ids_;
- extern struct messagetrans_control_block dscape_task_messages_;
- extern struct osspriteop_area *dscape_task_sprites_;
- extern struct wimp_t_ *dscape_task_handle_;
- extern const char *dscape_task_directory_;
-
- void dscape_task_poll(void);
- void dscape_task_poll_forever(void);
- void dscape_task_ensure(void);
- void dscape_task_quit(void);
-
- #define dscape_task_get_toolbox_block() &dscape_task_ids_
- #define dscape_task_get_messagetrans_control_block() &dscape_task_messages_
- #define dscape_task_get_sprites() dscape_task_sprites_
- #define dscape_task_get_handle() ((struct wimp_t_ *) dscape_task_handle_)
- #define dscape_task_get_directory() dscape_task_directory_
-
- int dscape_task_msgcpy4(const char *token, const char *a0, const char *a1,
- const char *a2, const char *a3, char *buffer, int size);
- #define dscape_task_msgcpy3(token, a0, a1, a2, buffer, size) \
- dscape_task_msgcpy4(token, a0, a1, a2, 0, buffer, size)
- #define dscape_task_msgcpy2(token, a0, a1, buffer, size) \
- dscape_task_msgcpy4(token, a0, a1, 0, 0, buffer, size)
- #define dscape_task_msgcpy1(token, a0, buffer, size) \
- dscape_task_msgcpy4(token, a0, 0, 0, 0, buffer, size)
- #define dscape_task_msgcpy(token, buffer, size) \
- dscape_task_msgcpy4(token, 0, 0, 0, 0, buffer, size)
-
- const char *dscape_task_msg4(const char *token, const char *a0,
- const char *a1, const char *a2, const char *a3);
- #define dscape_task_msg3(token, a0, a1, a2) \
- dscape_task_msg4(token, a0, a1, a2, 0)
- #define dscape_task_msg2(token, a0, a1) dscape_task_msg4(token, a0, a1, 0, 0)
- #define dscape_task_msg1(token, a0) dscape_task_msg4(token, a0, 0, 0, 0)
- #define dscape_task_msg(token) dscape_task_msg4(token, 0, 0, 0, 0)
-
- void dscape_task_report_error(const char *error);
-
- #define TaskDirectory(d) const char *dscape_task_directory_ = d
-
- #ifdef __cplusplus
- }
-
- #include "stringt.h"
-
- #include "command.h"
- #include "tboxevent.h"
-
- typedef struct wimp_t_ *wimp_t;
- struct toolbox_block;
- struct messagetrans_control_block;
- struct osspriteop_area;
-
- class Task {
- static Task task;
- public:
- Task();
-
- static void poll() { dscape_task_poll(); }
- static void poll_forever() { dscape_task_poll_forever(); }
- static void ensure() { dscape_task_ensure(); }
- static void quit() { dscape_task_quit(); }
-
- static const toolbox_block *get_toolbox_block()
- { return dscape_task_get_toolbox_block(); }
- static const messagetrans_control_block *get_messagetrans_control_block()
- { return dscape_task_get_messagetrans_control_block(); }
- static const osspriteop_area *get_sprites()
- { return dscape_task_get_sprites(); }
- static wimp_t get_handle() { return dscape_task_get_handle(); }
- static const char *get_directory() { return dscape_task_get_directory(); }
-
- static String msg(const char *message, const char *a0 = 0,
- const char *a1 = 0, const char *a2 = 0, const char *a3 = 0);
- static void report_error(const char *error)
- { dscape_task_report_error(error); }
- };
-
- extern class QuitCommand: public Command {
- public:
- void execute();
- } quit_command;
-
- #endif
-
- #endif
-