Changed build system to Automake. Split Glk code off into a GTK widget.
[projects/chimara/chimara.git] / src / model.c
index f0af53f839e0cc5aea9f15c6743079b13056402c..8aaa20bba7f7268ce015024abe8007288c2ead13 100644 (file)
@@ -2,6 +2,11 @@
 
 static winid_t mainwin = NULL;
 
+void sayit(void)
+{
+       fprintf(stderr, "I'm the interrupt handler!\n");
+}
+
 void glk_main(void)
 {
     /* Open the main window. */
@@ -12,21 +17,20 @@ void glk_main(void)
         return; 
     }
     
-       /*
-    char buffer[256];
+       
+/*    char buffer[256];
     int i;
     for(i = 0; i < 256; i++)
        buffer[i] = (char)glk_char_to_upper(i);
     
-       */
-       /*
-    frefid_t f = glk_fileref_create_by_prompt(fileusage_BinaryMode, filemode_ReadWrite, 0);
+    frefid_t f = glk_fileref_create_temp(fileusage_BinaryMode, 0);
     if(f) 
     {
     
        strid_t s = glk_stream_open_file(f, 
                filemode_ReadWrite, 0);
        glk_stream_set_current(s);
+       
        glk_put_char('X');
        glk_put_string("Philip en Marijn zijn vet goed.\n");
        glk_put_buffer(buffer, 256);
@@ -52,11 +56,13 @@ void glk_main(void)
 
        glk_set_window(mainwin);
 
-       gchar buffer[256] = "blaat";
+       glk_set_interrupt_handler(&sayit);
+
+       gchar buffer[256];
        event_t ev;
        while(1) {
                glk_put_string("prompt> ");
-               glk_request_line_event(mainwin, buffer, 256, 5);
+               glk_request_line_event(mainwin, buffer, 256, 0);
                glk_select(&ev);
                switch(ev.type) {
                        default:
@@ -67,7 +73,6 @@ void glk_main(void)
                                printf("Var2: %d\n", ev.val2);
                }
        }
-
        
        /* Bye bye */
        glk_exit();