diff src/gtk-glue.c @ 4908:b3ce27ca7647

various fixes related to gtk, redisplay-xlike-inc.c -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-01 Ben Wing <ben@xemacs.org> * compiler.h: Create a USED() macro to force unused-var warnings to go away, in certain cases where it's inconvenient to do otherwise (e.g. when THIS_IS_GTK in redisplay-xlike-inc.c). * console-x.h: Remove unneeded decls, make some static. * redisplay-xlike-inc.c: * console-xlike-inc.h: New file. Include defns from redisplay-xlike-inc.c that may be useful in other XLIKE files. Correct the handling of colors and font-style setting functions in the xlike defns. Lots of fixes in the GTK-specific defns. * depend: Regenerate. * event-xlike-inc.c: * event-xlike-inc.c (USE_UNICODE_MAP): * event-xlike-inc.c (endif): * gccache-gtk.c: * gtk-glue.c (xemacs_list_to_gtklist): * gtk-glue.c (xemacs_gtklist_to_list): * gtk-glue.c (FROB): * gtk-glue.c (face_to_gc): * gtk-glue.c (face_to_style): * gtk-glue.c (gdk_event_to_emacs_event): * gtk-xemacs.h (struct _GtkXEmacs): * gtk-xemacs.h (struct _GtkXEmacsClass): * objects-xlike-inc.c: Cosmetic, comment fixes. * glyphs.c (pixmap_to_lisp_data): Unused var fixes. * gtk-glue.c: * gccache-gtk.c: * gtk-xemacs.c: * gtk-xemacs.h: * objects-xlike-inc.c: * ui-gtk.c: * ui-gtk.h: * xgccache.c: * xgccache.c (GC_CACHE_SIZE): * xgccache.h: Misc include-file fixes. * objects-xlike-inc.c (XFUN): * objects-xlike-inc.c (xlistfonts_checking_charset): Combine some ifdeffed stuff using defs in console-xlike-inc.h. * redisplay-gtk.c: * redisplay-gtk.c (THIS_IS_GTK): * redisplay-gtk.c (XLIKE_bevel_area): * redisplay-gtk.c (XLIKE_ring_bell): * redisplay-gtk.c (gdk_draw_text_image): Fix numerous compile problems. Delete gtk_output_shadows(), which mostly duplicates generic bevel_modeline(). Fix up gtk_bevel_modeline() into XLIKE_bevel_area() and make use of the style var properly to set the appropriate GTK constant. * redisplay-x.c: * redisplay-x.c (XLIKE_window_output_begin): * redisplay-x.c (XLIKE_window_output_end): * redisplay-x.c (XLIKE_bevel_area): * redisplay-x.c (x_output_shadows): * redisplay-x.c (XLIKE_ring_bell): Make x_output_shadows be static. Change the defn of various functions to look like XLIKE_foo() so it matches the calling convention elsewhere. * redisplay-xlike-inc.c: * redisplay-xlike-inc.c (NEED_GCCACHE_H): * redisplay-xlike-inc.c (XLIKE_text_width): * redisplay-xlike-inc.c (XLIKE_get_gc): * redisplay-xlike-inc.c (XLIKE_text_width_single_run): * redisplay-xlike-inc.c (XFT_FROB_LISP_COLOR): * redisplay-xlike-inc.c (XLIKE_output_xlike_pixmap): * redisplay-xlike-inc.c (XLIKE_output_pixmap): * redisplay-xlike-inc.c (XLIKE_output_vertical_divider): * redisplay-xlike-inc.c (XLIKE_flash): Lots of header fixes. Lots of stuff moved to console-xlike-inc.h. Use XFUN() to generate function names instead of directly calling XLIKE_PASTE(). Remove unnecessary prototypes. Unify calls to text_width funs. Make XLIKE_get_gc non-static since it's called from gtk. Change the color-function calls and fill-style-setting calls to match the changes in console-xlike-inc.h. Use USED() to avoid some warnings. * symsinit.h: Sort the prototypes, and add a fun `sort-symsinit' in a comment that does the sorting (using sort-regexp-fields). * symsinit.h (init_number): * sysgtk.h: New file, wraps the various GTK headers. * sysgdkx.h: New file, wraps <gtk/gdkx.h>. Keep this separate to * event-gtk.h: Delete. Combine stuff into console-gtk.h. help isolate X-specific code from GTK. * device-gtk.c: * event-gtk.c: * console-gtk.h: * frame-gtk.c: * gccache-gtk.c: * gccache-gtk.h: * glyphs-gtk.c (gtk_colorize_image_instance): * glyphs-gtk.h: * gtk-xemacs.h: * objects-gtk.c: * objects-gtk.c (MAX_FONT_COUNT): * ui-gtk.h: Use sysgtk.h or sysgdkx.h instead of directly including GTK headers. Don't include event-gtk.h.
author Ben Wing <ben@xemacs.org>
date Mon, 01 Feb 2010 02:15:28 -0600
parents db7068430402
children e813cf16c015
line wrap: on
line diff
--- a/src/gtk-glue.c	Mon Feb 01 01:05:28 2010 -0600
+++ b/src/gtk-glue.c	Mon Feb 01 02:15:28 2010 -0600
@@ -25,6 +25,7 @@
 GtkType GTK_TYPE_OBJECT_LIST = 0;
 GtkType GTK_TYPE_GDK_GC = 0;
 
+#include "console-gtk.h"
 #include "objects-gtk-impl.h"
 
 static GtkType
@@ -86,7 +87,7 @@
 	  temp = XCDR (temp);
 	}
 
-      GTK_VALUE_POINTER(*arg) = strings;
+      GTK_VALUE_POINTER (*arg) = strings;
     }
   else if (arg->type == GTK_TYPE_OBJECT_LIST)
     {
@@ -107,11 +108,11 @@
 	  temp = XCDR (temp);
 	}
 
-      GTK_VALUE_POINTER(*arg) = objects;
+      GTK_VALUE_POINTER (*arg) = objects;
     }
   else
     {
-      ABORT();
+      ABORT ();
     }
 }
 
@@ -148,7 +149,7 @@
 	}
       else
 	{
-	  ABORT();
+	  ABORT ();
 	}
     }
   return (rval);
@@ -182,41 +183,42 @@
 	temp = XCDR (temp);					\
       }								\
 								\
-    GTK_VALUE_POINTER(*arg) = array;				\
+    GTK_VALUE_POINTER (*arg) = array;				\
   } while (0);
   
   if (arg->type == GTK_TYPE_STRING_ARRAY)
     {
-      FROB(gchar *, CHECK_STRING, (gchar*) XSTRING_DATA);
+      FROB (gchar *, CHECK_STRING, (gchar*) XSTRING_DATA);
     }
   else if (arg->type == GTK_TYPE_FLOAT_ARRAY)
     {
-      FROB(gfloat, CHECK_FLOAT, extract_float);
+      FROB (gfloat, CHECK_FLOAT, extract_float);
     }
   else if (arg->type == GTK_TYPE_INT_ARRAY)
     {
-      FROB(gint, CHECK_INT, XINT);
+      FROB (gint, CHECK_INT, XINT);
     }
   else
     {
-      ABORT();
+      ABORT ();
     }
 #undef FROB
 }
 
-extern GdkGC *gtk_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg, Lisp_Object bg,
-			  Lisp_Object bg_pmap, Lisp_Object lwidth);
-
 static GdkGC *
 face_to_gc (Lisp_Object face)
 {
   Lisp_Object device = Fselected_device (Qnil);
 
   return (gtk_get_gc (XDEVICE (device),
-		      Fspecifier_instance (Fget (face, Qfont, Qnil), device, Qnil, Qnil),
-		      Fspecifier_instance (Fget (face, Qforeground, Qnil), device, Qnil, Qnil),
-		      Fspecifier_instance (Fget (face, Qbackground, Qnil), device, Qnil, Qnil),
-		      Fspecifier_instance (Fget (face, Qbackground_pixmap, Qnil), device, Qnil, Qnil),
+		      Fspecifier_instance (Fget (face, Qfont, Qnil),
+					   device, Qnil, Qnil),
+		      Fspecifier_instance (Fget (face, Qforeground, Qnil),
+					   device, Qnil, Qnil),
+		      Fspecifier_instance (Fget (face, Qbackground, Qnil),
+					   device, Qnil, Qnil),
+		      Fspecifier_instance (Fget (face, Qbackground_pixmap,
+						 Qnil), device, Qnil, Qnil),
 		      Qnil));
 }
 
@@ -227,17 +229,24 @@
   GtkStyle *style = gtk_style_new ();
   int i;
 
-  Lisp_Object font = Fspecifier_instance (Fget (face, Qfont, Qnil), device, Qnil, Qnil);
-  Lisp_Object fg = Fspecifier_instance (Fget (face, Qforeground, Qnil), device, Qnil, Qnil);
-  Lisp_Object bg = Fspecifier_instance (Fget (face, Qbackground, Qnil), device, Qnil, Qnil);
-  Lisp_Object pm = Fspecifier_instance (Fget (face, Qbackground_pixmap, Qnil), device, Qnil, Qnil);
+  Lisp_Object font = Fspecifier_instance (Fget (face, Qfont, Qnil),
+					  device, Qnil, Qnil);
+  Lisp_Object fg = Fspecifier_instance (Fget (face, Qforeground, Qnil),
+					device, Qnil, Qnil);
+  Lisp_Object bg = Fspecifier_instance (Fget (face, Qbackground, Qnil),
+					device, Qnil, Qnil);
+  Lisp_Object pm = Fspecifier_instance (Fget (face, Qbackground_pixmap,
+					      Qnil), device, Qnil, Qnil);
 
-  for (i = 0; i < 5; i++) style->fg[i] = * COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (fg));
-  for (i = 0; i < 5; i++) style->bg[i] = * COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (bg));
+  for (i = 0; i < 5; i++)
+    style->fg[i] = *COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (fg));
+  for (i = 0; i < 5; i++)
+    style->bg[i] = *COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (bg));
 
   if (IMAGE_INSTANCEP (pm))
     {
-      for (i = 0; i < 5; i++) style->bg_pixmap[i] = XIMAGE_INSTANCE_GTK_PIXMAP (pm);
+      for (i = 0; i < 5; i++)
+	style->bg_pixmap[i] = XIMAGE_INSTANCE_GTK_PIXMAP (pm);
     }
 
   style->font = FONT_INSTANCE_GTK_FONT (XFONT_INSTANCE (font));
@@ -246,7 +255,7 @@
 }
 
 static Lisp_Object
-gdk_event_to_emacs_event(GdkEvent *ev)
+gdk_event_to_emacs_event (GdkEvent *ev)
 {
   Lisp_Object event = Qnil;