summaryrefslogtreecommitdiffstats
path: root/final_project/work/prhello-shim.c
diff options
context:
space:
mode:
Diffstat (limited to 'final_project/work/prhello-shim.c')
-rw-r--r--final_project/work/prhello-shim.c829
1 files changed, 829 insertions, 0 deletions
diff --git a/final_project/work/prhello-shim.c b/final_project/work/prhello-shim.c
new file mode 100644
index 0000000..f8b2c7d
--- /dev/null
+++ b/final_project/work/prhello-shim.c
@@ -0,0 +1,829 @@
+/* -*-C-*- */
+
+#include <mit-scheme.h>
+
+/* Prefix */
+#include <gtk/gtk.h>
+/* End Prefix */
+
+SCM
+Scm_continue_gtk_init (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_init);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_init (void)
+{
+ /* Declare. */
+ int * argc;
+ char * * * argv;
+
+ /* Init. */
+ check_number_of_args (3);
+ argc = (int *) arg_pointer (2);
+ argv = (char * * *) arg_pointer (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_init);
+ gtk_init (argc, argv);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_init);
+
+ callout_continue (&Scm_continue_gtk_init);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_window_new (void)
+{
+ /* Declare. */
+ char * tos0;
+ GtkWidget * ret0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_window_new);
+ CSTACK_LPOP (GtkWidget *, ret0, tos0);
+
+ /* Return. */
+ ret0s = pointer_to_scm (ret0);
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_window_new (void)
+{
+ /* Declare. */
+ GtkWidget * ret0;
+ GtkWindowType type;
+
+ /* Init. */
+ check_number_of_args (3);
+ type = arg_long (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_window_new);
+ ret0 = gtk_window_new (type);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_window_new);
+ CSTACK_PUSH (GtkWidget *, ret0);
+
+ callout_continue (&Scm_continue_gtk_window_new);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_button_new (void)
+{
+ /* Declare. */
+ char * tos0;
+ GtkWidget * ret0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_button_new);
+ CSTACK_LPOP (GtkWidget *, ret0, tos0);
+
+ /* Return. */
+ ret0s = pointer_to_scm (ret0);
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_button_new (void)
+{
+ /* Declare. */
+ GtkWidget * ret0;
+
+ /* Init. */
+ check_number_of_args (2);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_button_new);
+ ret0 = gtk_button_new ();
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_button_new);
+ CSTACK_PUSH (GtkWidget *, ret0);
+
+ callout_continue (&Scm_continue_gtk_button_new);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_combo_box_new_text (void)
+{
+ /* Declare. */
+ char * tos0;
+ GtkWidget * ret0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_combo_box_new_text);
+ CSTACK_LPOP (GtkWidget *, ret0, tos0);
+
+ /* Return. */
+ ret0s = pointer_to_scm (ret0);
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_combo_box_new_text (void)
+{
+ /* Declare. */
+ GtkWidget * ret0;
+
+ /* Init. */
+ check_number_of_args (2);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_combo_box_new_text);
+ ret0 = gtk_combo_box_new_text ();
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_combo_box_new_text);
+ CSTACK_PUSH (GtkWidget *, ret0);
+
+ callout_continue (&Scm_continue_gtk_combo_box_new_text);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_combo_box_append_text (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_combo_box_append_text);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_combo_box_append_text (void)
+{
+ /* Declare. */
+ GtkComboBox * combo;
+ const char * str;
+
+ /* Init. */
+ check_number_of_args (3);
+ combo = (GtkComboBox *) arg_pointer (2);
+ str = (const char *) arg_pointer (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_combo_box_append_text);
+ gtk_combo_box_append_text (combo, str);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_combo_box_append_text);
+
+ callout_continue (&Scm_continue_gtk_combo_box_append_text);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_combo_box_get_active (void)
+{
+ /* Declare. */
+ char * tos0;
+ gint ret0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_combo_box_get_active);
+ CSTACK_LPOP (gint, ret0, tos0);
+
+ /* Return. */
+ ret0s = long_to_scm (ret0);
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_combo_box_get_active (void)
+{
+ /* Declare. */
+ gint ret0;
+ GtkComboBox * combo;
+
+ /* Init. */
+ check_number_of_args (2);
+ combo = (GtkComboBox *) arg_pointer (2);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_combo_box_get_active);
+ ret0 = gtk_combo_box_get_active (combo);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_combo_box_get_active);
+ CSTACK_PUSH (gint, ret0);
+
+ callout_continue (&Scm_continue_gtk_combo_box_get_active);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_label_new (void)
+{
+ /* Declare. */
+ char * tos0;
+ GtkWidget * ret0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_label_new);
+ CSTACK_LPOP (GtkWidget *, ret0, tos0);
+
+ /* Return. */
+ ret0s = pointer_to_scm (ret0);
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_label_new (void)
+{
+ /* Declare. */
+ GtkWidget * ret0;
+ const char * str;
+
+ /* Init. */
+ check_number_of_args (3);
+ str = (const char *) arg_pointer (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_label_new);
+ ret0 = gtk_label_new (str);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_label_new);
+ CSTACK_PUSH (GtkWidget *, ret0);
+
+ callout_continue (&Scm_continue_gtk_label_new);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_hbox_new (void)
+{
+ /* Declare. */
+ char * tos0;
+ GtkWidget * ret0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_hbox_new);
+ CSTACK_LPOP (GtkWidget *, ret0, tos0);
+
+ /* Return. */
+ ret0s = pointer_to_scm (ret0);
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_hbox_new (void)
+{
+ /* Declare. */
+ GtkWidget * ret0;
+ gboolean homogeneous;
+ gint spacing;
+
+ /* Init. */
+ check_number_of_args (4);
+ homogeneous = arg_long (3);
+ spacing = arg_long (4);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_hbox_new);
+ ret0 = gtk_hbox_new (homogeneous, spacing);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_hbox_new);
+ CSTACK_PUSH (GtkWidget *, ret0);
+
+ callout_continue (&Scm_continue_gtk_hbox_new);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_container_add (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_container_add);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_container_add (void)
+{
+ /* Declare. */
+ GtkContainer * container;
+ GtkWidget * widget;
+
+ /* Init. */
+ check_number_of_args (3);
+ container = (GtkContainer *) arg_pointer (2);
+ widget = (GtkWidget *) arg_pointer (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_container_add);
+ gtk_container_add (container, widget);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_container_add);
+
+ callout_continue (&Scm_continue_gtk_container_add);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_window_set_title (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_window_set_title);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_window_set_title (void)
+{
+ /* Declare. */
+ GtkWindow * window;
+ const gchar * title;
+
+ /* Init. */
+ check_number_of_args (3);
+ window = (GtkWindow *) arg_pointer (2);
+ title = (const gchar *) arg_pointer (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_window_set_title);
+ gtk_window_set_title (window, title);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_window_set_title);
+
+ callout_continue (&Scm_continue_gtk_window_set_title);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_container_set_border_width (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_container_set_border_width);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_container_set_border_width (void)
+{
+ /* Declare. */
+ GtkContainer * container;
+ guint border_width;
+
+ /* Init. */
+ check_number_of_args (3);
+ container = (GtkContainer *) arg_pointer (2);
+ border_width = arg_ulong (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_container_set_border_width);
+ gtk_container_set_border_width (container, border_width);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_container_set_border_width);
+
+ callout_continue (&Scm_continue_gtk_container_set_border_width);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_window_resize (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_window_resize);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_window_resize (void)
+{
+ /* Declare. */
+ GtkWindow * window;
+ gint width;
+ gint height;
+
+ /* Init. */
+ check_number_of_args (4);
+ window = (GtkWindow *) arg_pointer (2);
+ width = arg_long (3);
+ height = arg_long (4);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_window_resize);
+ gtk_window_resize (window, width, height);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_window_resize);
+
+ callout_continue (&Scm_continue_gtk_window_resize);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_widget_show_all (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_widget_show_all);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_widget_show_all (void)
+{
+ /* Declare. */
+ GtkWidget * widget;
+
+ /* Init. */
+ check_number_of_args (2);
+ widget = (GtkWidget *) arg_pointer (2);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_widget_show_all);
+ gtk_widget_show_all (widget);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_widget_show_all);
+
+ callout_continue (&Scm_continue_gtk_widget_show_all);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_g_signal_connect (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_g_signal_connect);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_g_signal_connect (void)
+{
+ /* Declare. */
+ GtkObject * object;
+ gchar * name;
+ GtkSignalFunc CALLBACK;
+ gpointer ID;
+
+ /* Init. */
+ check_number_of_args (5);
+ object = (GtkObject *) arg_pointer (2);
+ name = (gchar *) arg_pointer (3);
+ CALLBACK = (GtkSignalFunc) arg_alien_entry (4);
+ ID = (gpointer) arg_long (5);
+
+ /* Call. */
+ callout_seal (&Scm_continue_g_signal_connect);
+ g_signal_connect (object, name, CALLBACK, ID);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_g_signal_connect);
+
+ callout_continue (&Scm_continue_g_signal_connect);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_widget_destroy (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_widget_destroy);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_widget_destroy (void)
+{
+ /* Declare. */
+ GtkWidget * widget;
+
+ /* Init. */
+ check_number_of_args (2);
+ widget = (GtkWidget *) arg_pointer (2);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_widget_destroy);
+ gtk_widget_destroy (widget);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_widget_destroy);
+
+ callout_continue (&Scm_continue_gtk_widget_destroy);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_label_get_text (void)
+{
+ /* Declare. */
+ char * tos0;
+ const gchar * ret0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_label_get_text);
+ CSTACK_LPOP (const gchar *, ret0, tos0);
+
+ /* Return. */
+ ret0s = pointer_to_scm (ret0);
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_label_get_text (void)
+{
+ /* Declare. */
+ const gchar * ret0;
+ GtkLabel * label;
+
+ /* Init. */
+ check_number_of_args (3);
+ label = (GtkLabel *) arg_pointer (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_label_get_text);
+ ret0 = gtk_label_get_text (label);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_label_get_text);
+ CSTACK_PUSH (const gchar *, ret0);
+
+ callout_continue (&Scm_continue_gtk_label_get_text);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_label_set_text (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_label_set_text);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_label_set_text (void)
+{
+ /* Declare. */
+ GtkLabel * label;
+ const char * str;
+
+ /* Init. */
+ check_number_of_args (3);
+ label = (GtkLabel *) arg_pointer (2);
+ str = (const char *) arg_pointer (3);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_label_set_text);
+ gtk_label_set_text (label, str);
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_label_set_text);
+
+ callout_continue (&Scm_continue_gtk_label_set_text);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_main (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_main);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_main (void)
+{
+ /* Declare. */
+
+ /* Init. */
+ check_number_of_args (1);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_main);
+ gtk_main ();
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_main);
+
+ callout_continue (&Scm_continue_gtk_main);
+ /* NOTREACHED */
+}
+
+SCM
+Scm_continue_gtk_main_quit (void)
+{
+ /* Declare. */
+ char * tos0;
+ SCM ret0s;
+
+ /* Restore. */
+ tos0 = callout_lunseal (&Scm_continue_gtk_main_quit);
+
+ /* Return. */
+ ret0s = unspecific();
+ callout_pop (tos0);
+ return (ret0s);
+}
+void
+Scm_gtk_main_quit (void)
+{
+ /* Declare. */
+
+ /* Init. */
+ check_number_of_args (1);
+
+ /* Call. */
+ callout_seal (&Scm_continue_gtk_main_quit);
+ gtk_main_quit ();
+
+ /* Save. */
+ callout_unseal (&Scm_continue_gtk_main_quit);
+
+ callout_continue (&Scm_continue_gtk_main_quit);
+ /* NOTREACHED */
+}
+
+static void
+Scm_kernel_delete_event (void)
+{
+ /* Declare. */
+ GtkWidget * window;
+ GdkEventAny * event;
+ gpointer ID;
+ SCM arglist0;
+ char * tos0;
+
+ /* Init. */
+ tos0 = callback_lunseal (&Scm_kernel_delete_event);
+ CSTACK_LPOP (GtkWidget *, window, tos0);
+ CSTACK_LPOP (GdkEventAny *, event, tos0);
+ CSTACK_LPOP (gpointer, ID, tos0);
+
+ /* Construct. */
+ arglist0 = empty_list();
+ arglist0 = cons (cons_alien((void*)event), arglist0);
+ arglist0 = cons (cons_alien((void*)window), arglist0);
+ callback_run_handler ((int)ID, arglist0);
+
+ callback_return (tos0);
+}
+gboolean
+Scm_delete_event (GtkWidget * window, GdkEventAny * event, gpointer ID)
+{
+ CSTACK_PUSH (gpointer, ID);
+ CSTACK_PUSH (GdkEventAny *, event);
+ CSTACK_PUSH (GtkWidget *, window);
+ callback_run_kernel ((int)ID, (CallbackKernel)&Scm_kernel_delete_event);
+ return (long_value ());
+}
+
+static void
+Scm_kernel_changed (void)
+{
+ /* Declare. */
+ GtkComboBox * widget;
+ gpointer ID;
+ SCM arglist0;
+ char * tos0;
+
+ /* Init. */
+ tos0 = callback_lunseal (&Scm_kernel_changed);
+ CSTACK_LPOP (GtkComboBox *, widget, tos0);
+ CSTACK_LPOP (gpointer, ID, tos0);
+
+ /* Construct. */
+ arglist0 = empty_list();
+ arglist0 = cons (cons_alien((void*)widget), arglist0);
+ callback_run_handler ((int)ID, arglist0);
+
+ callback_return (tos0);
+}
+void
+Scm_changed (GtkComboBox * widget, gpointer ID)
+{
+ CSTACK_PUSH (gpointer, ID);
+ CSTACK_PUSH (GtkComboBox *, widget);
+ callback_run_kernel ((int)ID, (CallbackKernel)&Scm_kernel_changed);
+ return;
+}
+
+static void
+Scm_kernel_clicked (void)
+{
+ /* Declare. */
+ GtkWidget * widget;
+ gpointer ID;
+ SCM arglist0;
+ char * tos0;
+
+ /* Init. */
+ tos0 = callback_lunseal (&Scm_kernel_clicked);
+ CSTACK_LPOP (GtkWidget *, widget, tos0);
+ CSTACK_LPOP (gpointer, ID, tos0);
+
+ /* Construct. */
+ arglist0 = empty_list();
+ arglist0 = cons (cons_alien((void*)widget), arglist0);
+ callback_run_handler ((int)ID, arglist0);
+
+ callback_return (tos0);
+}
+void
+Scm_clicked (GtkWidget * widget, gpointer ID)
+{
+ CSTACK_PUSH (gpointer, ID);
+ CSTACK_PUSH (GtkWidget *, widget);
+ callback_run_kernel ((int)ID, (CallbackKernel)&Scm_kernel_clicked);
+ return;
+}