comparison src/objects-xlike-inc.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 0d3ccd5a2509
children e813cf16c015
comparison
equal deleted inserted replaced
4907:9e7f5a77cc84 4908:b3ce27ca7647
1 /* Shared object code between X and GTK -- include file. 1 /* Common code between X and GTK -- fonts and colors.
2 Copyright (C) 1991-5, 1997 Free Software Foundation, Inc. 2 Copyright (C) 1991-5, 1997 Free Software Foundation, Inc.
3 Copyright (C) 1995 Sun Microsystems, Inc. 3 Copyright (C) 1995 Sun Microsystems, Inc.
4 Copyright (C) 1996, 2001, 2002, 2003 Ben Wing. 4 Copyright (C) 1996, 2001, 2002, 2003 Ben Wing.
5 5
6 This file is part of XEmacs. 6 This file is part of XEmacs.
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. */ 21 Boston, MA 02111-1307, USA. */
22 22
23 /* Synched up with: Not in FSF. */ 23 /* Synched up with: Not in FSF. */
24 24
25 /* Before including this file, you need to define either THIS_IS_X or
26 THIS_IS_GTK. */
27
28 /* See comment at top of console-xlike-inc.h for an explanation of
29 how this file works. */
30
25 /* Pango is ready for prime-time now, as far as I understand it. The GTK 31 /* Pango is ready for prime-time now, as far as I understand it. The GTK
26 people should be using that. Oh well. (Aidan Kehoe, Sat Nov 4 12:41:12 32 people should be using that. Oh well. (Aidan Kehoe, Sat Nov 4 12:41:12
27 CET 2006) */ 33 CET 2006) */
34
35 #include "console-xlike-inc.h"
28 36
29 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) 37 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
30 38
31 #ifdef DEBUG_XEMACS 39 #ifdef DEBUG_XEMACS
32 # define DEBUG_OBJECTS(FORMAT, ...) \ 40 # define DEBUG_OBJECTS(FORMAT, ...) \
76 84
77 return hyphen_count; 85 return hyphen_count;
78 } 86 }
79 87
80 static int 88 static int
81 #ifdef THIS_IS_GTK 89 XFUN (font_spec_matches_charset) (struct device * USED_IF_XFT (d),
82 gtk_font_spec_matches_charset (struct device * USED_IF_XFT (d), 90 Lisp_Object charset,
83 Lisp_Object charset, 91 const Ibyte *nonreloc, Lisp_Object reloc,
84 const Ibyte *nonreloc, Lisp_Object reloc, 92 Bytecount offset, Bytecount length,
85 Bytecount offset, Bytecount length, 93 enum font_specifier_matchspec_stages stage)
86 enum font_specifier_matchspec_stages stage)
87 #else
88 x_font_spec_matches_charset (struct device * USED_IF_XFT (d),
89 Lisp_Object charset,
90 const Ibyte *nonreloc, Lisp_Object reloc,
91 Bytecount offset, Bytecount length,
92 enum font_specifier_matchspec_stages stage)
93 #endif
94 { 94 {
95 Lisp_Object registries = Qnil; 95 Lisp_Object registries = Qnil;
96 long i, registries_len; 96 long i, registries_len;
97 const Ibyte *the_nonreloc; 97 const Ibyte *the_nonreloc;
98 Bytecount the_length; 98 Bytecount the_length;
196 Extbyte **names; 196 Extbyte **names;
197 Lisp_Object result = Qnil; 197 Lisp_Object result = Qnil;
198 int count = 0, i; 198 int count = 0, i;
199 DECLARE_EISTRING(ei_single_result); 199 DECLARE_EISTRING(ei_single_result);
200 200
201 names = XListFonts ( 201 names = XListFonts (GET_XLIKE_DISPLAY (XDEVICE (device)),
202 #ifdef THIS_IS_GTK
203 GDK_DISPLAY (),
204 #else
205 DEVICE_X_DISPLAY (XDEVICE (device)),
206 #endif
207 xlfd, MAX_FONT_COUNT, &count); 202 xlfd, MAX_FONT_COUNT, &count);
208 203
209 for (i = 0; i < count; ++i) 204 for (i = 0; i < count; ++i)
210 { 205 {
211 eireset(ei_single_result); 206 eireset(ei_single_result);
662 #endif /* USE_XFT */ 657 #endif /* USE_XFT */
663 658
664 /* find a font spec that matches font spec FONT and also matches 659 /* find a font spec that matches font spec FONT and also matches
665 (the registry of) CHARSET. */ 660 (the registry of) CHARSET. */
666 static Lisp_Object 661 static Lisp_Object
667 #ifdef THIS_IS_GTK 662 XFUN (find_charset_font) (Lisp_Object device, Lisp_Object font,
668 gtk_find_charset_font (Lisp_Object device, Lisp_Object font, 663 Lisp_Object charset,
669 Lisp_Object charset, 664 enum font_specifier_matchspec_stages stage)
670 enum font_specifier_matchspec_stages stage)
671 #else
672 x_find_charset_font (Lisp_Object device, Lisp_Object font, Lisp_Object charset,
673 enum font_specifier_matchspec_stages stage)
674 #endif
675 { 665 {
676 Lisp_Object result = Qnil, registries = Qnil; 666 Lisp_Object result = Qnil, registries = Qnil;
677 int j, hyphen_count, registries_len = 0; 667 int j, hyphen_count, registries_len = 0;
678 Ibyte *hyphening, *new_hyphening; 668 Ibyte *hyphening, *new_hyphening;
679 Bytecount xlfd_length; 669 Bytecount xlfd_length;