X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk.h;h=953f84ee0eddd6f63b2af2fa0e89090708435ba0;hb=17743f862a0295c3b9bdead66d05a74deaddea0e;hp=df522daaf7b96dbd6c9eb7e12b3209569942d58a;hpb=3420fbfa4299d88d0057ae727c80e4c665c7515b;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/chimara-glk.h b/libchimara/chimara-glk.h index df522da..953f84e 100644 --- a/libchimara/chimara-glk.h +++ b/libchimara/chimara-glk.h @@ -21,21 +21,21 @@ G_BEGIN_DECLS * * This structure contains no public members. */ -typedef struct _ChimaraGlk { +typedef struct { GtkContainer parent_instance; /*< public >*/ } ChimaraGlk; -typedef struct _ChimaraGlkClass { +typedef struct { GtkContainerClass parent_class; /* Signals */ void(* stopped) (ChimaraGlk *self); void(* started) (ChimaraGlk *self); void(* waiting) (ChimaraGlk *self); - void(* char_input) (ChimaraGlk *self, guint32 window_rock, guint keysym); - void(* line_input) (ChimaraGlk *self, guint32 window_rock, gchar *text); - void(* text_buffer_output) (ChimaraGlk *self, guint32 window_rock, gchar *text); + void(* char_input) (ChimaraGlk *self, guint32 window_rock, char *string_id, unsigned keysym); + void(* line_input) (ChimaraGlk *self, guint32 window_rock, char *string_id, char *text); + void(* text_buffer_output) (ChimaraGlk *self, guint32 window_rock, char *string_id, char *text); void(* iliad_screen_update) (ChimaraGlk *self, gboolean typing); } ChimaraGlkClass; @@ -122,18 +122,19 @@ void chimara_glk_set_css_from_string(ChimaraGlk *glk, const gchar *css); void chimara_glk_set_spacing(ChimaraGlk *glk, guint spacing); guint chimara_glk_get_spacing(ChimaraGlk *glk); gboolean chimara_glk_run(ChimaraGlk *glk, const gchar *plugin, int argc, char *argv[], GError **error); +gboolean chimara_glk_run_file(ChimaraGlk *self, GFile *plugin_file, int argc, char *argv[], GError **error); void chimara_glk_stop(ChimaraGlk *glk); void chimara_glk_wait(ChimaraGlk *glk); +void chimara_glk_unload_plugin(ChimaraGlk *glk); gboolean chimara_glk_get_running(ChimaraGlk *glk); void chimara_glk_feed_char_input(ChimaraGlk *glk, guint32 keyval); void chimara_glk_feed_line_input(ChimaraGlk *glk, const gchar *text); gboolean chimara_glk_is_char_input_pending(ChimaraGlk *glk); gboolean chimara_glk_is_line_input_pending(ChimaraGlk *glk); GtkTextTag *chimara_glk_get_tag(ChimaraGlk *glk, ChimaraGlkWindowType window, const gchar *name); -const gchar **chimara_glk_get_tag_names(ChimaraGlk *glk); -gint chimara_glk_get_num_tag_names(ChimaraGlk *glk); +const gchar **chimara_glk_get_tag_names(ChimaraGlk *glk, unsigned int *num_tags); void chimara_glk_update_style(ChimaraGlk *glk); -void chimara_glk_set_resource_load_callback(ChimaraGlk *glk, ChimaraResourceLoadFunc func, gpointer user_data); +void chimara_glk_set_resource_load_callback(ChimaraGlk *glk, ChimaraResourceLoadFunc func, gpointer user_data, GDestroyNotify destroy_user_data); G_END_DECLS