gtk-screen: Merge with Gtk.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Sat, 2 Feb 2013 19:34:15 +0000 (12:34 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Sat, 2 Feb 2013 19:34:15 +0000 (12:34 -0700)
Eliminate some diffs between the Gtk and Gtk-Screen branches.

src/gtk/cairo.scm
src/gtk/gtkio.c.stay
src/gtk/scm-widget.scm

index 7421880dd61563820ae41d12e3543f44c696fe4f..45220b12de368fa4ad0c8e61c462bc56b5d732db 100644 (file)
@@ -68,4 +68,4 @@ USA.
       (let ((x1. (C-> doubles "double")) (y1. (C-> y1 "double"))
            (x2. (C-> x2 "double")) (y2. (C-> y2 "double")))
        (free doubles)
-       (receiver x1. y1. x2. y2.)))))
+       (receiver x1. y1. x2. y2.)))))
\ No newline at end of file
index 42b67ce77a53bf3df03ff55e092818a783886999..9010cdd64903fe2047dc7a84779de139ded33c75 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-Copyright (C) 2008, 2009, 2010, 2011  Matthew Birkholz
+Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013  Matthew Birkholz
 
 This file is part of MIT/GNU Scheme.
 
@@ -148,7 +148,6 @@ scheme_source_prepare (GSource * source, gint * timeout)
   if (src->time_limit == 0.0)
     {
       trace (";scheme_source_prepare: polling\n");
-      /* 0 here does not allow expose events to be delivered? */
       *timeout = 0;
       return (FALSE);
     }
@@ -243,24 +242,7 @@ pending_io (SchemeSource * src)
 static gboolean
 do_scheme (GSource *source)
 {
-  SchemeSource * src = (SchemeSource *)source;
-
   slice_counter += 1;
-  if (slice_window != NULL)
-    {
-      gchar * fdstr, * text;
-
-      text = g_strdup_printf ("Scheme time-slice: %d", slice_counter);
-      gtk_label_set_text (GTK_LABEL (slice_label), text);
-      g_free (text);
-
-      fdstr = gpollfds_string (src->gpollfds);
-      text = g_strdup_printf ("Channels:%s", fdstr);
-      if (fdstr[0] != '\0')
-       g_free (fdstr);
-      gtk_label_set_text (GTK_LABEL (status_label), text);
-      g_free (text);
-    }
   trace (";scheme_source_dispatch: running time slice %d\n", slice_counter);
 
   Interpret (1);
@@ -437,6 +419,23 @@ run_gtk (unsigned long registry, double time)
       if (fdstr[0] != '\0')
        g_free (fdstr);
     }
+
+  /* Update the time-slice window before "sleeping". */
+  if (slice_window != NULL)
+    {
+      gchar * fdstr, * text;
+
+      text = g_strdup_printf ("Scheme time-slice: %d", slice_counter);
+      gtk_label_set_text (GTK_LABEL (slice_label), text);
+      g_free (text);
+      fdstr = gpollfds_string (scheme_source->gpollfds);
+      text = g_strdup_printf ("Channels:%s", fdstr);
+      if (fdstr[0] != '\0')
+       g_free (fdstr);
+      gtk_label_set_text (GTK_LABEL (status_label), text);
+      g_free (text);
+    }
+
   /* Force expose event delivery, so that animations continue to move
      even when Scheme is not "idle". */
   gdk_window_process_all_updates ();
@@ -521,7 +520,7 @@ open_slice_window (void)
 {
   slice_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   GtkWidget * grid = gtk_grid_new ();
-  status_label  = gtk_label_new ("Channels:");
+  status_label  = gtk_label_new ("Channels: -");
   slice_label  = gtk_label_new ("Scheme time-slice: 0");
   g_signal_connect (slice_window, "delete_event",
                    G_CALLBACK (slice_window_delete_event), NULL);
@@ -531,7 +530,7 @@ open_slice_window (void)
   gtk_container_add (GTK_CONTAINER (grid), status_label);
   gtk_container_add (GTK_CONTAINER (grid), slice_label);
   gtk_container_add (GTK_CONTAINER (slice_window), grid);
-  gtk_container_set_border_width (GTK_CONTAINER (slice_window), 2);
+  gtk_container_set_border_width (GTK_CONTAINER (slice_window), 5);
   gtk_window_set_title (GTK_WINDOW (slice_window), "Scheme Time-Slice Counter");
   gtk_window_set_type_hint (GTK_WINDOW (slice_window),
                            GDK_WINDOW_TYPE_HINT_UTILITY);
index 21c684315bacb5d38ef23364834278a983c249eb..981e2104859094717146f8cfa2e4ed2c7830dcd6 100644 (file)
@@ -56,4 +56,4 @@ USA.
   (guarantee-non-negative-fixnum height 'set-scm-widget-natural-size!)
   (let ((a (gobject-alien widget)))
     (C->= a "ScmWidget natural_width" width)
-    (C->= a "ScmWidget natural_height" height)))
+    (C->= a "ScmWidget natural_height" height)))
\ No newline at end of file