comparison src/redisplay-x.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 eab9498ecc0e
children 308d34e9f07d
comparison
equal deleted inserted replaced
4907:9e7f5a77cc84 4908:b3ce27ca7647
30 30
31 /* Number of pixels below each line. */ 31 /* Number of pixels below each line. */
32 int x_interline_space; /* #### this needs to be implemented, but per-font */ 32 int x_interline_space; /* #### this needs to be implemented, but per-font */
33 33
34 #define THIS_IS_X 34 #define THIS_IS_X
35
36 #include "redisplay-xlike-inc.c" 35 #include "redisplay-xlike-inc.c"
37 36
37 static void x_output_shadows (struct frame *f, int x, int y, int width,
38 int height, GC top_shadow_gc,
39 GC bottom_shadow_gc, GC background_gc,
40 int shadow_thickness, int edges);
41
38 /***************************************************************************** 42 /*****************************************************************************
39 x_window_output_begin 43 x_window_output_begin
40 44
41 Perform any necessary initialization prior to an update. 45 Perform any necessary initialization prior to an update.
42 ****************************************************************************/ 46 ****************************************************************************/
43 static void 47 static void
44 x_window_output_begin (struct window *UNUSED (w)) 48 XLIKE_window_output_begin (struct window *UNUSED (w))
45 { 49 {
46 } 50 }
47 51
48 /***************************************************************************** 52 /*****************************************************************************
49 x_window_output_end 53 x_window_output_end
50 54
51 Perform any necessary flushing of queues when an update has completed. 55 Perform any necessary flushing of queues when an update has completed.
52 ****************************************************************************/ 56 ****************************************************************************/
53 static void 57 static void
54 x_window_output_end (struct window *w) 58 XLIKE_window_output_end (struct window *w)
55 { 59 {
56 if (!(check_if_pending_expose_event (WINDOW_XDEVICE (w)))) 60 if (!(check_if_pending_expose_event (WINDOW_XDEVICE (w))))
57 XFlush (DEVICE_X_DISPLAY (WINDOW_XDEVICE (w))); 61 XFlush (DEVICE_X_DISPLAY (WINDOW_XDEVICE (w)));
58 } 62 }
59 63
61 x_bevel_area 65 x_bevel_area
62 66
63 Draw shadows for the given area in the given face. 67 Draw shadows for the given area in the given face.
64 ****************************************************************************/ 68 ****************************************************************************/
65 static void 69 static void
66 x_bevel_area (struct window *w, face_index findex, 70 XLIKE_bevel_area (struct window *w, face_index findex,
67 int x, int y, int width, int height, 71 int x, int y, int width, int height,
68 int shadow_thickness, int edges, enum edge_style style) 72 int shadow_thickness, int edges, enum edge_style style)
69 { 73 {
70 struct frame *f = XFRAME (w->frame); 74 struct frame *f = XFRAME (w->frame);
71 struct device *d = XDEVICE (f->device); 75 struct device *d = XDEVICE (f->device);
72 76
73 EmacsFrame ef = (EmacsFrame) FRAME_X_TEXT_WIDGET (f); 77 EmacsFrame ef = (EmacsFrame) FRAME_X_TEXT_WIDGET (f);
186 x_output_shadows 190 x_output_shadows
187 191
188 Draw a shadow around the given area using the given GC's. It is the 192 Draw a shadow around the given area using the given GC's. It is the
189 callers responsibility to set the GC's appropriately. 193 callers responsibility to set the GC's appropriately.
190 ****************************************************************************/ 194 ****************************************************************************/
191 void 195 static void
192 x_output_shadows (struct frame *f, int x, int y, int width, int height, 196 x_output_shadows (struct frame *f, int x, int y, int width, int height,
193 GC top_shadow_gc, GC bottom_shadow_gc, 197 GC top_shadow_gc, GC bottom_shadow_gc,
194 GC UNUSED (background_gc), int shadow_thickness, int edges) 198 GC UNUSED (background_gc), int shadow_thickness, int edges)
195 { 199 {
196 struct device *d = XDEVICE (f->device); 200 struct device *d = XDEVICE (f->device);
336 340
337 341
338 /* Make audible bell. */ 342 /* Make audible bell. */
339 343
340 static void 344 static void
341 x_ring_bell (struct device *d, int volume, int pitch, int duration) 345 XLIKE_ring_bell (struct device *d, int volume, int pitch, int duration)
342 { 346 {
343 Display *display = DEVICE_X_DISPLAY (d); 347 Display *display = DEVICE_X_DISPLAY (d);
344 348
345 if (volume < 0) volume = 0; 349 if (volume < 0) volume = 0;
346 else if (volume > 100) volume = 100; 350 else if (volume > 100) volume = 100;