/[emacs]/emacs/src/xterm.h
ViewVC logotype

Diff of /emacs/src/xterm.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.130 by eliz, Fri Apr 19 11:49:18 2002 UTC revision 1.130.2.1 by miles, Fri Apr 4 06:21:10 2003 UTC
# Line 30  Boston, MA 02111-1307, USA.  */ Line 30  Boston, MA 02111-1307, USA.  */
30  #include <X11/StringDefs.h>  #include <X11/StringDefs.h>
31  #include <X11/IntrinsicP.h>     /* CoreP.h needs this */  #include <X11/IntrinsicP.h>     /* CoreP.h needs this */
32  #include <X11/CoreP.h>          /* foul, but we need this to use our own  #include <X11/CoreP.h>          /* foul, but we need this to use our own
33                                     window inside a widget instead of one                                     window inside a widget instead of one
34                                     that Xt creates... */                                     that Xt creates... */
35  #include <X11/StringDefs.h>  #include <X11/StringDefs.h>
36    
37    typedef Widget xt_or_gtk_widget;
38  #endif  #endif
39    
40  /* The class of this X application.  */  #ifdef USE_GTK
41  #define EMACS_CLASS "Emacs"  #include <gtk/gtk.h>
42    #include <gdk/gdkx.h>
43    
44    /* Some definitions to reduce conditionals.  */
45    typedef GtkWidget *xt_or_gtk_widget;
46    #define XtParent(x) (gtk_widget_get_parent (x))
47    #undef XSync
48    #define XSync(d, b) gdk_window_process_all_updates ()
49    
50    #endif /* USE_GTK */
51    
52    
53  /* Bookkeeping to distinguish X versions.  */  /* Bookkeeping to distinguish X versions.  */
54    
# Line 65  Boston, MA 02111-1307, USA.  */ Line 77  Boston, MA 02111-1307, USA.  */
77  #ifdef PBaseSize  #ifdef PBaseSize
78  /* AIX 3.1's X is somewhere between X11R3 and X11R4.  It has  /* AIX 3.1's X is somewhere between X11R3 and X11R4.  It has
79     PBaseSize, but not XWithdrawWindow, XSetWMName, XSetWMNormalHints,     PBaseSize, but not XWithdrawWindow, XSetWMName, XSetWMNormalHints,
80     XSetWMIconName.       XSetWMIconName.
81     AIX 3.2 is at least X11R4.  */     AIX 3.2 is at least X11R4.  */
82  #if (!defined AIX) || (defined AIX3_2)  #if (!defined AIX) || (defined AIX3_2)
83  #define HAVE_X11R4  #define HAVE_X11R4
# Line 90  Boston, MA 02111-1307, USA.  */ Line 102  Boston, MA 02111-1307, USA.  */
102  #define FONT_WIDTH(f)   ((f)->max_bounds.width)  #define FONT_WIDTH(f)   ((f)->max_bounds.width)
103  #define FONT_HEIGHT(f)  ((f)->ascent + (f)->descent)  #define FONT_HEIGHT(f)  ((f)->ascent + (f)->descent)
104  #define FONT_BASE(f)    ((f)->ascent)  #define FONT_BASE(f)    ((f)->ascent)
105    #define FONT_DESCENT(f) ((f)->descent)
106    
107  /* The mask of events that text windows always want to receive.  This  /* The mask of events that text windows always want to receive.  This
108     includes mouse movement events, since handling the mouse-font text property     includes mouse movement events, since handling the mouse-font text property
# Line 107  Boston, MA 02111-1307, USA.  */ Line 120  Boston, MA 02111-1307, USA.  */
120     | EnterWindowMask            \     | EnterWindowMask            \
121     | VisibilityChangeMask)     | VisibilityChangeMask)
122    
 enum text_cursor_kinds  
 {  
   NO_CURSOR = -1,  
   FILLED_BOX_CURSOR,  
   HOLLOW_BOX_CURSOR,  
   BAR_CURSOR,  
   HBAR_CURSOR  
 };  
   
123  /* Structure recording X pixmap and reference count.  /* Structure recording X pixmap and reference count.
124     If REFCOUNT is 0 then this record is free to be reused.  */     If REFCOUNT is 0 then this record is free to be reused.  */
125    
# Line 135  struct x_display_info Line 139  struct x_display_info
139  {  {
140    /* Chain of all x_display_info structures.  */    /* Chain of all x_display_info structures.  */
141    struct x_display_info *next;    struct x_display_info *next;
142      
143    /* Connection number (normally a file descriptor number).  */    /* Connection number (normally a file descriptor number).  */
144    int connection;    int connection;
145      
146    /* This says how to access this display in Xlib.  */    /* This says how to access this display in Xlib.  */
147    Display *display;    Display *display;
148      
149    /* This is a cons cell of the form (NAME . FONT-LIST-CACHE).    /* This is a cons cell of the form (NAME . FONT-LIST-CACHE).
150       The same cons cell also appears in x_display_name_list.  */       The same cons cell also appears in x_display_name_list.  */
151    Lisp_Object name_list_element;    Lisp_Object name_list_element;
152      
153    /* Number of frames that are on this display.  */    /* Number of frames that are on this display.  */
154    int reference_count;    int reference_count;
155      
156    /* The Screen this connection is connected to.  */    /* The Screen this connection is connected to.  */
157    Screen *screen;    Screen *screen;
158    
159    /* Dots per inch of the screen.  */    /* Dots per inch of the screen.  */
160    double resx, resy;    double resx, resy;
161      
162    /* The Visual being used for this display.  */    /* The Visual being used for this display.  */
163    Visual *visual;    Visual *visual;
164    
165    /* The colormap being used.  */    /* The colormap being used.  */
166    Colormap cmap;    Colormap cmap;
167      
168    /* Number of panes on this screen.  */    /* Number of panes on this screen.  */
169    int n_planes;    int n_planes;
170      
171    /* Dimensions of this screen.  */    /* Dimensions of this screen.  */
172    int height, width;    int height, width;
173      
174    /* Mask of things that cause the mouse to be grabbed.  */    /* Mask of things that cause the mouse to be grabbed.  */
175    int grabbed;    int grabbed;
176      
177    /* Emacs bitmap-id of the default icon bitmap for this frame.    /* Emacs bitmap-id of the default icon bitmap for this frame.
178       Or -1 if none has been allocated yet.  */       Or -1 if none has been allocated yet.  */
179    int icon_bitmap_id;    int icon_bitmap_id;
180      
181    /* The root window of this screen.  */    /* The root window of this screen.  */
182    Window root_window;    Window root_window;
183      
184    /* The cursor to use for vertical scroll bars.  */    /* The cursor to use for vertical scroll bars.  */
185    Cursor vertical_scroll_bar_cursor;    Cursor vertical_scroll_bar_cursor;
186      
187    /* X Resource data base */    /* X Resource data base */
188    XrmDatabase xrdb;    XrmDatabase xrdb;
189    
# Line 271  struct x_display_info Line 275  struct x_display_info
275    
276    /* Communication with window managers.  */    /* Communication with window managers.  */
277    Atom Xatom_wm_protocols;    Atom Xatom_wm_protocols;
278      
279    /* Kinds of protocol things we may receive.  */    /* Kinds of protocol things we may receive.  */
280    Atom Xatom_wm_take_focus;    Atom Xatom_wm_take_focus;
281    Atom Xatom_wm_save_yourself;    Atom Xatom_wm_save_yourself;
282    Atom Xatom_wm_delete_window;    Atom Xatom_wm_delete_window;
283      
284    /* Atom for indicating window state to the window manager.  */    /* Atom for indicating window state to the window manager.  */
285    Atom Xatom_wm_change_state;    Atom Xatom_wm_change_state;
286      
287    /* Other WM communication */    /* Other WM communication */
288    Atom Xatom_wm_configure_denied; /* When our config request is denied */    Atom Xatom_wm_configure_denied; /* When our config request is denied */
289    Atom Xatom_wm_window_moved;     /* When the WM moves us.  */    Atom Xatom_wm_window_moved;     /* When the WM moves us.  */
290      
291    /* EditRes protocol */    /* EditRes protocol */
292    Atom Xatom_editres;    Atom Xatom_editres;
293    
294    /* More atoms, which are selection types.  */    /* More atoms, which are selection types.  */
295    Atom Xatom_CLIPBOARD, Xatom_TIMESTAMP, Xatom_TEXT, Xatom_DELETE,    Atom Xatom_CLIPBOARD, Xatom_TIMESTAMP, Xatom_TEXT, Xatom_DELETE,
296    Xatom_COMPOUND_TEXT,    Xatom_COMPOUND_TEXT, Xatom_UTF8_STRING,
297    Xatom_MULTIPLE, Xatom_INCR, Xatom_EMACS_TMP, Xatom_TARGETS, Xatom_NULL,    Xatom_MULTIPLE, Xatom_INCR, Xatom_EMACS_TMP, Xatom_TARGETS, Xatom_NULL,
298    Xatom_ATOM_PAIR;    Xatom_ATOM_PAIR;
299    
# Line 357  extern void check_x P_ ((void)); Line 361  extern void check_x P_ ((void));
361    
362  extern struct frame *x_window_to_frame P_ ((struct x_display_info *, int));  extern struct frame *x_window_to_frame P_ ((struct x_display_info *, int));
363    
364  #ifdef USE_X_TOOLKIT  #if defined (USE_X_TOOLKIT) || defined (USE_GTK)
365  extern struct frame *x_any_window_to_frame P_ ((struct x_display_info *, int));  extern struct frame *x_any_window_to_frame P_ ((struct x_display_info *, int));
366  extern struct frame *x_non_menubar_window_to_frame P_ ((struct x_display_info *, int));  extern struct frame *x_non_menubar_window_to_frame P_ ((struct x_display_info *, int));
367  extern struct frame *x_top_window_to_frame P_ ((struct x_display_info *, int));  extern struct frame *x_top_window_to_frame P_ ((struct x_display_info *, int));
# Line 412  struct x_output Line 416  struct x_output
416       if the menubar is turned off.  */       if the menubar is turned off.  */
417    int menubar_height;    int menubar_height;
418    
419      /* Height of tool bar widget, in pixels.
420         Zero if not using an external tool bar.  */
421      int toolbar_height;
422    
423    /* Height of a line, in pixels.  */    /* Height of a line, in pixels.  */
424    int line_height;    int line_height;
425    
# Line 455  struct x_output Line 463  struct x_output
463    Widget menubar_widget;    Widget menubar_widget;
464  #endif  #endif
465    
466    #ifdef USE_GTK
467      /* The widget of this screen.  This is the window of a top widget.  */
468      GtkWidget *widget;
469      /* The widget of the edit portion of this screen; the window in
470         "window_desc" is inside of this.  */
471      GtkWidget *edit_widget;
472      /* The widget used for laying out widgets vertically.  */
473      GtkWidget *vbox_widget;
474      /* The menubar in this frame.  */
475      GtkWidget *menubar_widget;
476      /* The tool bar in this frame  */
477      GtkWidget *toolbar_widget;
478      /* The handle box that makes the tool bar detachable.  */
479      GtkWidget *handlebox_widget;
480    
481      /* The last size hints set.  */
482      GdkGeometry size_hints;
483      long hint_flags;
484    #endif
485    
486    /* If >=0, a bitmap index.  The indicated bitmap is used for the    /* If >=0, a bitmap index.  The indicated bitmap is used for the
487       icon. */       icon. */
488    int icon_bitmap;    int icon_bitmap;
# Line 481  struct x_output Line 509  struct x_output
509    /* Foreground color for scroll bars.  A value of -1 means use the    /* Foreground color for scroll bars.  A value of -1 means use the
510       default (black for non-toolkit scroll bars).  */       default (black for non-toolkit scroll bars).  */
511    unsigned long scroll_bar_foreground_pixel;    unsigned long scroll_bar_foreground_pixel;
512      
513    /* Background color for scroll bars.  A value of -1 means use the    /* Background color for scroll bars.  A value of -1 means use the
514       default (background color of the frame for non-toolkit scroll       default (background color of the frame for non-toolkit scroll
515       bars).  */       bars).  */
# Line 496  struct x_output Line 524  struct x_output
524    Cursor text_cursor;    Cursor text_cursor;
525    Cursor nontext_cursor;    Cursor nontext_cursor;
526    Cursor modeline_cursor;    Cursor modeline_cursor;
527    Cursor cross_cursor;    Cursor hand_cursor;
528    Cursor hourglass_cursor;    Cursor hourglass_cursor;
529    Cursor horizontal_drag_cursor;    Cursor horizontal_drag_cursor;
530    
531    /* Window whose cursor is hourglass_cursor.  This window is temporarily    /* Window whose cursor is hourglass_cursor.  This window is temporarily
532       mapped to display an hourglass cursor.  */       mapped to display an hourglass cursor.  */
533    Window hourglass_window;    Window hourglass_window;
534      
535    /* Non-zero means hourglass cursor is currently displayed.  */    /* Non-zero means hourglass cursor is currently displayed.  */
536    unsigned hourglass_p : 1;    unsigned hourglass_p : 1;
537    
538    /* Flag to set when the X window needs to be completely repainted.  */    /* Flag to set when the X window needs to be completely repainted.  */
539    int needs_exposure;    int needs_exposure;
540    
   /* What kind of text cursor is drawn in this window right now?  
      (If there is no cursor (phys_cursor_x < 0), then this means nothing.)  */  
   enum text_cursor_kinds current_cursor;  
   
   /* What kind of text cursor should we draw in the future?  
      This should always be filled_box_cursor or bar_cursor.  */  
   enum text_cursor_kinds desired_cursor;  
   
   /* Width of bar cursor (if we are using that).  */  
   int cursor_width;  
   
541    /* These are the current window manager hints.  It seems that    /* These are the current window manager hints.  It seems that
542       XSetWMHints, when presented with an unset bit in the `flags'       XSetWMHints, when presented with an unset bit in the `flags'
543       member of the hints structure, does not leave the corresponding       member of the hints structure, does not leave the corresponding
# Line 613  struct x_output Line 630  struct x_output
630    /* As x_pixels_diff, but to FRAME_OUTER_WINDOW.  For some reason the    /* As x_pixels_diff, but to FRAME_OUTER_WINDOW.  For some reason the
631       two might differ by a pixel, depending on WM */       two might differ by a pixel, depending on WM */
632    int x_pixels_outer_diff;    int x_pixels_outer_diff;
633      
634    /* As y_pixels_diff, but to FRAME_OUTER_WINDOW.  In the toolkit version,    /* As y_pixels_diff, but to FRAME_OUTER_WINDOW.  In the toolkit version,
635       these may differ because this does not take into account possible       these may differ because this does not take into account possible
636       menubar.  y_pixels_diff is with menubar height included */       menubar.  y_pixels_diff is with menubar height included */
637    int y_pixels_outer_diff;    int y_pixels_outer_diff;
638    
639      /* Keep track of focus.  May be EXPLICIT if we received a FocusIn for this
640         frame, or IMPLICIT if we received an EnterNotify.
641         FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
642      int focus_state;
643  };  };
644    
645    #define No_Cursor (None)
646    
647  enum  enum
648  {  {
649    /* Values used as a bit mask, BOTH == WIDTH | HEIGHT.  */    /* Values for focus_state, used as bit mask.
650    FULLSCREEN_NONE       = 0,       EXPLICIT means we received a FocusIn for the frame and know it has
651    FULLSCREEN_WIDTH      = 1,       the focus.  IMPLICIT means we recevied an EnterNotify and the frame
652    FULLSCREEN_HEIGHT     = 2,       may have the focus if no window manager is running.
653    FULLSCREEN_BOTH       = 3,       FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
654    FULLSCREEN_WAIT       = 4,    FOCUS_NONE     = 0,
655    FULLSCREEN_MOVE_WAIT  = 8,    FOCUS_IMPLICIT = 1,
656      FOCUS_EXPLICIT = 2
657  };  };
658    
659    
660    /* Return the X output data for frame F.  */
661    #define FRAME_X_OUTPUT(f) ((f)->output_data.x)
662    
663  /* Return the X window used for displaying data in frame F.  */  /* Return the X window used for displaying data in frame F.  */
664  #define FRAME_X_WINDOW(f) ((f)->output_data.x->window_desc)  #define FRAME_X_WINDOW(f) ((f)->output_data.x->window_desc)
665    
# Line 640  enum Line 669  enum
669                                 XtWindow ((f)->output_data.x->widget) :  \                                 XtWindow ((f)->output_data.x->widget) :  \
670                                 FRAME_X_WINDOW (f))                                 FRAME_X_WINDOW (f))
671  #else  #else
672    #ifdef USE_GTK
673    #define GTK_WIDGET_TO_X_WIN(w) \
674      ((w) && (w)->window ? GDK_WINDOW_XWINDOW ((w)->window) : 0)
675    
676    #define FRAME_GTK_OUTER_WIDGET(f) ((f)->output_data.x->widget)
677    #define FRAME_GTK_WIDGET(f) ((f)->output_data.x->edit_widget)
678    #define FRAME_OUTER_WINDOW(f)                                   \
679           (FRAME_GTK_OUTER_WIDGET (f) ?                            \
680            GTK_WIDGET_TO_X_WIN (FRAME_GTK_OUTER_WIDGET (f)) :      \
681             FRAME_X_WINDOW (f))
682    
683    #else /* !USE_GTK */
684  #define FRAME_OUTER_WINDOW(f) (FRAME_X_WINDOW (f))  #define FRAME_OUTER_WINDOW(f) (FRAME_X_WINDOW (f))
685    #endif /* !USE_GTK */
686  #endif  #endif
687    
688    
689  #define FRAME_FONT(f) ((f)->output_data.x->font)  #define FRAME_FONT(f) ((f)->output_data.x->font)
690  #define FRAME_FONTSET(f) ((f)->output_data.x->fontset)  #define FRAME_FONTSET(f) ((f)->output_data.x->fontset)
691  #define FRAME_INTERNAL_BORDER_WIDTH(f) ((f)->output_data.x->internal_border_width)  #define FRAME_INTERNAL_BORDER_WIDTH(f) ((f)->output_data.x->internal_border_width)
692  #define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)  #define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
693    #define FRAME_TOOLBAR_HEIGHT(f) ((f)->output_data.x->toolbar_height)
694  #define FRAME_LINE_HEIGHT(f) ((f)->output_data.x->line_height)  #define FRAME_LINE_HEIGHT(f) ((f)->output_data.x->line_height)
695    
696  /* Width of the default font of frame F.  Must be defined by each  /* Width of the default font of frame F.  Must be defined by each
697     terminal specific header.  */     terminal specific header.  */
698  #define FRAME_DEFAULT_FONT_WIDTH(F)     FONT_WIDTH (FRAME_FONT (F))  #define FRAME_DEFAULT_FONT_WIDTH(F)     FONT_WIDTH (FRAME_FONT (F))
699    #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.x->baseline_offset)
700    
701  /* This gives the x_display_info structure for the display F is on.  */  /* This gives the x_display_info structure for the display F is on.  */
702  #define FRAME_X_DISPLAY_INFO(f) ((f)->output_data.x->display_info)  #define FRAME_X_DISPLAY_INFO(f) ((f)->output_data.x->display_info)
# Line 676  enum Line 721  enum
721  #define PIXEL_WIDTH(f) ((f)->output_data.x->pixel_width)  #define PIXEL_WIDTH(f) ((f)->output_data.x->pixel_width)
722  #define PIXEL_HEIGHT(f) ((f)->output_data.x->pixel_height)  #define PIXEL_HEIGHT(f) ((f)->output_data.x->pixel_height)
723    
724  #define FRAME_DESIRED_CURSOR(f) ((f)->output_data.x->desired_cursor)  /* The difference in pixels between the top left corner of the
725       Emacs window (including possible window manager decorations)
726       and FRAME_X_WINDOW (f).  */
727    #define FRAME_OUTER_TO_INNER_DIFF_X(f) \
728         ((f)->output_data.x->x_pixels_outer_diff)
729    #define FRAME_OUTER_TO_INNER_DIFF_Y(f)          \
730         ((f)->output_data.x->y_pixels_outer_diff   \
731          + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f))
732    
733    
734  #define FRAME_XIC(f) ((f)->output_data.x->xic)  #define FRAME_XIC(f) ((f)->output_data.x->xic)
735  #define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim)  #define FRAME_X_XIM(f) (FRAME_X_DISPLAY_INFO (f)->xim)
# Line 821  struct scroll_bar Line 874  struct scroll_bar
874    
875  /* Return the length of the rectangle within which the top of the  /* Return the length of the rectangle within which the top of the
876     handle must stay.  This isn't equivalent to the inside height,     handle must stay.  This isn't equivalent to the inside height,
877     because the scroll bar handle has a minimum height.       because the scroll bar handle has a minimum height.
878    
879     This is the real range of motion for the scroll bar, so when we're     This is the real range of motion for the scroll bar, so when we're
880     scaling buffer positions to scroll bar positions, we use this, not     scaling buffer positions to scroll bar positions, we use this, not
# Line 884  struct scroll_bar Line 937  struct scroll_bar
937     + (f)->output_data.x->internal_border_width)     + (f)->output_data.x->internal_border_width)
938    
939    
940  /* Return the row/column (zero-based) of the character cell containing  /* Return the row/column (zero-based) of the character cell containing
941     the pixel on FRAME at ROW/COL.  */     the pixel on FRAME at ROW/COL.  */
942  #define PIXEL_TO_CHAR_ROW(f, row) \  #define PIXEL_TO_CHAR_ROW(f, row) \
943    (((row) - (f)->output_data.x->internal_border_width) \    (((row) - (f)->output_data.x->internal_border_width) \
# Line 905  struct scroll_bar Line 958  struct scroll_bar
958                            - (f)->output_data.x->internal_border_width)))                            - (f)->output_data.x->internal_border_width)))
959    
960    
961  /* If a struct input_event has a kind which is selection_request_event  /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT
962     or selection_clear_event, then its contents are really described     or SELECTION_CLEAR_EVENT, then its contents are really described
963     by this structure.  */     by this structure.  */
964    
965  /* For an event of kind selection_request_event,  /* For an event of kind SELECTION_REQUEST_EVENT,
966     this structure really describes the contents.     this structure really describes the contents.
967     **Don't make this struct longer!**     **Don't make this struct longer!**
968     If it overlaps the frame_or_window field of struct input_event,     If it overlaps the frame_or_window field of struct input_event,
# Line 964  extern void x_free_gcs P_ ((struct frame Line 1017  extern void x_free_gcs P_ ((struct frame
1017    
1018  /* From xrdb.c.  */  /* From xrdb.c.  */
1019    
 char *x_get_string_resource P_ ((XrmDatabase, char *, char *));  
1020  char *x_get_customization_string P_ ((XrmDatabase, char *, char *));  char *x_get_customization_string P_ ((XrmDatabase, char *, char *));
1021  XrmDatabase x_load_resources P_ ((Display *, char *, char *, char *));  XrmDatabase x_load_resources P_ ((Display *, char *, char *, char *));
1022  int x_get_resource P_ ((XrmDatabase, char *, char *,  int x_get_resource P_ ((XrmDatabase, char *, char *,
# Line 973  void x_delete_display P_ ((struct x_disp Line 1025  void x_delete_display P_ ((struct x_disp
1025  void x_make_frame_visible P_ ((struct frame *));  void x_make_frame_visible P_ ((struct frame *));
1026  void x_iconify_frame P_ ((struct frame *));  void x_iconify_frame P_ ((struct frame *));
1027  void x_wm_set_size_hint P_ ((struct frame *, long, int));  void x_wm_set_size_hint P_ ((struct frame *, long, int));
 void x_set_offset P_ ((struct frame *, int, int, int));  
 void x_wm_set_icon_position P_ ((struct frame *, int, int));  
1028  int x_catch_errors P_ ((Display *));  int x_catch_errors P_ ((Display *));
1029  int x_had_errors_p P_ ((Display *));  int x_had_errors_p P_ ((Display *));
1030  void x_uncatch_errors P_ ((Display *, int));  void x_uncatch_errors P_ ((Display *, int));
# Line 985  void x_set_window_size P_ ((struct frame Line 1035  void x_set_window_size P_ ((struct frame
1035  void x_wm_set_window_state P_ ((struct frame *, int));  void x_wm_set_window_state P_ ((struct frame *, int));
1036  int x_alloc_nearest_color P_ ((struct frame *, Colormap, XColor *));  int x_alloc_nearest_color P_ ((struct frame *, Colormap, XColor *));
1037    
 extern void pixel_to_glyph_coords P_ ((struct frame *, int, int,  
                                        int *, int *, XRectangle *, int));  
   
1038  /* Defined in xterm.c */  /* Defined in xterm.c */
1039    
1040  extern void cancel_mouse_face P_ ((struct frame *));  extern void cancel_mouse_face P_ ((struct frame *));
1041  extern void x_scroll_bar_clear P_ ((struct frame *));  extern void x_scroll_bar_clear P_ ((struct frame *));
1042  extern void x_start_queuing_selection_requests P_ ((Display *));  extern void x_start_queuing_selection_requests P_ ((Display *));
1043  extern void x_stop_queuing_selection_requests P_ ((Display *));  extern void x_stop_queuing_selection_requests P_ ((Display *));
 extern void x_update_cursor P_ ((struct frame *, int));  
1044  extern int x_text_icon P_ ((struct frame *, char *));  extern int x_text_icon P_ ((struct frame *, char *));
1045  extern int x_bitmap_icon P_ ((struct frame *, Lisp_Object));  extern int x_bitmap_icon P_ ((struct frame *, Lisp_Object));
1046  extern int x_catch_errors P_ ((Display *));  extern int x_catch_errors P_ ((Display *));
1047  extern void x_check_errors P_ ((Display *, char *));  extern void x_check_errors P_ ((Display *, char *));
1048  extern int x_had_errors_p P_ ((Display *));  extern int x_had_errors_p P_ ((Display *));
1049  extern void x_uncatch_errors P_ ((Display *, int));  extern void x_uncatch_errors P_ ((Display *, int));
 extern Lisp_Object x_new_font P_ ((struct frame *, char *));  
 extern Lisp_Object x_new_fontset P_ ((struct frame *, char *));  
 extern void x_compute_fringe_widths P_ ((struct frame *, int));  
 extern void x_set_offset P_ ((struct frame *, int, int, int));  
1050  extern void x_set_window_size P_ ((struct frame *, int, int, int));  extern void x_set_window_size P_ ((struct frame *, int, int, int));
1051  extern void x_set_mouse_position P_ ((struct frame *, int, int));  extern void x_set_mouse_position P_ ((struct frame *, int, int));
1052  extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));  extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));
# Line 1018  extern void x_destroy_window P_ ((struct Line 1060  extern void x_destroy_window P_ ((struct
1060  extern void x_wm_set_size_hint P_ ((struct frame *, long, int));  extern void x_wm_set_size_hint P_ ((struct frame *, long, int));
1061  extern void x_wm_set_window_state P_ ((struct frame *, int));  extern void x_wm_set_window_state P_ ((struct frame *, int));
1062  extern void x_wm_set_icon_pixmap P_ ((struct frame *, int));  extern void x_wm_set_icon_pixmap P_ ((struct frame *, int));
 extern void x_wm_set_icon_position P_ ((struct frame *, int, int));  
1063  extern void x_delete_display P_ ((struct x_display_info *));  extern void x_delete_display P_ ((struct x_display_info *));
1064  extern void x_initialize P_ ((void));  extern void x_initialize P_ ((void));
 extern void x_display_cursor P_ ((struct window *, int, int, int, int, int));  
1065  extern unsigned long x_copy_color P_ ((struct frame *, unsigned long));  extern unsigned long x_copy_color P_ ((struct frame *, unsigned long));
1066  #ifdef USE_X_TOOLKIT  #ifdef USE_X_TOOLKIT
1067  extern XtAppContext Xt_app_con;  extern XtAppContext Xt_app_con;
# Line 1030  extern void x_query_colors P_ ((struct f Line 1070  extern void x_query_colors P_ ((struct f
1070  extern void x_query_color P_ ((struct frame *f, XColor *));  extern void x_query_color P_ ((struct frame *f, XColor *));
1071  extern void x_clear_area P_ ((Display *, Window, int, int, int, int, int));  extern void x_clear_area P_ ((Display *, Window, int, int, int, int, int));
1072    
1073  extern void x_fullscreen_adjust P_ ((struct frame *f, int *, int *,  extern int x_dispatch_event P_ ((XEvent *, Display *));
                                      int *, int *));  
   
1074    
1075  /* Defined in xselect.c */  /* Defined in xselect.c */
1076    
# Line 1053  extern int x_create_bitmap_from_data P_ Line 1091  extern int x_create_bitmap_from_data P_
1091                                            unsigned int, unsigned int));                                            unsigned int, unsigned int));
1092  extern int x_create_bitmap_from_file P_ ((struct frame *, Lisp_Object));  extern int x_create_bitmap_from_file P_ ((struct frame *, Lisp_Object));
1093  extern void x_destroy_bitmap P_ ((struct frame *, int));  extern void x_destroy_bitmap P_ ((struct frame *, int));
 extern void x_set_frame_parameters P_ ((struct frame *, Lisp_Object));  
1094  extern void x_real_positions P_ ((struct frame *, int *, int *));  extern void x_real_positions P_ ((struct frame *, int *, int *));
 extern void x_report_frame_params P_ ((struct frame *, Lisp_Object *));  
1095  extern int defined_color P_ ((struct frame *, char *, XColor *, int));  extern int defined_color P_ ((struct frame *, char *, XColor *, int));
1096  extern void x_set_border_pixel P_ ((struct frame *, int));  extern void x_set_border_pixel P_ ((struct frame *, int));
1097  extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));  extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
# Line 1073  extern int x_char_width P_ ((struct fram Line 1109  extern int x_char_width P_ ((struct fram
1109  extern int x_char_height P_ ((struct frame *));  extern int x_char_height P_ ((struct frame *));
1110  extern int x_screen_planes P_ ((struct frame *));  extern int x_screen_planes P_ ((struct frame *));
1111  extern void x_sync P_ ((struct frame *));  extern void x_sync P_ ((struct frame *));
 extern enum text_cursor_kinds x_specified_cursor_type P_ ((Lisp_Object, int *));  
1112  extern int x_defined_color P_ ((struct frame *, char *, XColor *, int));  extern int x_defined_color P_ ((struct frame *, char *, XColor *, int));
1113  #ifdef HAVE_X_I18N  #ifdef HAVE_X_I18N
1114  extern void free_frame_xic P_ ((struct frame *));  extern void free_frame_xic P_ ((struct frame *));
# Line 1107  extern int x_session_check_input P_ ((st Line 1142  extern int x_session_check_input P_ ((st
1142                                        int *numchars));                                        int *numchars));
1143  extern int x_session_have_connection P_ ((void));  extern int x_session_have_connection P_ ((void));
1144  #endif  #endif
1145    
1146    #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0
1147    #define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0
1148    
1149    #define STORE_XCHAR2B(chp, b1, b2) \
1150      ((chp)->byte1 = (b1), (chp)->byte2 = (b2))
1151    
1152    #define XCHAR2B_BYTE1(chp) \
1153      ((chp)->byte1)
1154    
1155    #define XCHAR2B_BYTE2(chp) \
1156      ((chp)->byte2)
1157    
1158    
1159    #define STORE_NATIVE_RECT(nr,rx,ry,rwidth,rheight)      \
1160      ((nr).x = (rx),                                       \
1161       (nr).y = (ry),                                       \
1162       (nr).width = (rwidth),                               \
1163       (nr).height = (rheight))

Legend:
Removed from v.1.130  
changed lines
  Added in v.1.130.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26