diff options
Diffstat (limited to 'engines/glk/glk_api.h')
-rw-r--r-- | engines/glk/glk_api.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/glk/glk_api.h b/engines/glk/glk_api.h index 55994fd3c1..9e4a230cd9 100644 --- a/engines/glk/glk_api.h +++ b/engines/glk/glk_api.h @@ -32,6 +32,18 @@ namespace Glk { +class GlkAPI; + +typedef void (GlkAPI::*GlkFunction)(); + +struct gidispatch_function_struct { + uint32 id; + const char *name; + GlkFunction fnptr; +}; +typedef gidispatch_function_struct gidispatch_function_t; + + /** * Implements the GLK interface */ @@ -283,6 +295,18 @@ public: void garglk_window_get_cursor(winid_t win, uint *xpos, uint *ypos); void garglk_window_get_cursor_current(uint *xpos, uint *ypos); + + /* dispa methods */ + + uint32 gidispatch_count_classes() const; + const gidispatch_intconst_t *gidispatch_get_class(uint32 index) const; + uint32 gidispatch_count_intconst() const; + const gidispatch_intconst_t *gidispatch_get_intconst(uint32 index) const; + uint32 gidispatch_count_functions() const; + gidispatch_function_t *gidispatch_get_function(uint32 index) const; + gidispatch_function_t *gidispatch_get_function_by_id(uint32 id) const; + const char *gidispatch_prototype(uint32 funcnum) const; + void gidispatch_call(uint32 funcnum, uint32 numargs, gluniversal_t *arglist); }; } // End of namespace Glk |