X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk.h;h=953f84ee0eddd6f63b2af2fa0e89090708435ba0;hb=1e0112d10aa18649c2b983fe78df3de94fbbe149;hp=593fa86f411cbc6f9be785dec2f4572d566daaac;hpb=3ce5b9f501ea360ab84ee35f4ef0b1f1066dee9d;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/chimara-glk.h b/libchimara/chimara-glk.h index 593fa86..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,8 +122,10 @@ 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); @@ -132,7 +134,7 @@ 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, 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