diff src/xterm.h @ 42724:6d3fb8c8283b

(struct x_output): New members want_fullscreen, x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
author Eli Zaretskii <eliz@gnu.org>
date Sun, 13 Jan 2002 12:21:19 +0000
parents b4898b480ab0
children 4fec5d1a39fa
line wrap: on
line diff
--- a/src/xterm.h	Sun Jan 13 12:19:31 2002 +0000
+++ b/src/xterm.h	Sun Jan 13 12:21:19 2002 +0000
@@ -594,6 +594,37 @@
      arrive for an unknown reason and Emacs hangs in Xt.  If this is
      zero, tell Xt not to wait.  */
   int wait_for_wm;
+
+  /* See enum below */
+  int want_fullscreen;
+
+  /* This many pixels are the difference between the outer window (i.e. the
+     left of the window manager decoration) and FRAME_X_WINDOW. */
+  int x_pixels_diff;
+
+  /* This many pixels are the difference between the outer window (i.e. the
+     top of the window manager titlebar) and FRAME_X_WINDOW. */
+  int y_pixels_diff;
+
+  /* As x_pixels_diff, but to FRAME_OUTER_WINDOW.  For some reason the
+     two might differ by a pixel, depending on WM */
+  int x_pixels_outer_diff;
+  
+  /* As y_pixels_diff, but to FRAME_OUTER_WINDOW.  In the toolkit version,
+     these may differ because this does not take into account possible
+     menubar.  y_pixels_diff is with menubar height included */
+  int y_pixels_outer_diff;
+};
+
+enum
+{
+  /* Values used as a bit mask, BOTH == WIDTH | HEIGH */
+  FULLSCREEN_NONE       = 0,
+  FULLSCREEN_WIDTH      = 1,
+  FULLSCREEN_HEIGHT     = 2,
+  FULLSCREEN_BOTH       = 3,
+  FULLSCREEN_WAIT       = 4,
+  FULLSCREEN_MOVE_WAIT  = 8,
 };
 
 /* Return the X window used for displaying data in frame F.  */
@@ -601,7 +632,9 @@
 
 /* Return the outermost X window associated with the frame F.  */
 #ifdef USE_X_TOOLKIT
-#define FRAME_OUTER_WINDOW(f) (XtWindow ((f)->output_data.x->widget))
+#define FRAME_OUTER_WINDOW(f) ((f)->output_data.x->widget ?             \
+                               XtWindow ((f)->output_data.x->widget) :  \
+                               FRAME_X_WINDOW (f))
 #else
 #define FRAME_OUTER_WINDOW(f) (FRAME_X_WINDOW (f))
 #endif
@@ -993,6 +1026,10 @@
 extern void x_query_color P_ ((struct frame *f, XColor *));
 extern void x_clear_area P_ ((Display *, Window, int, int, int, int, int));
 
+extern void x_fullscreen_adjust P_ ((struct frame *f, int *, int *,
+                                     int *, int *));
+
+
 /* Defined in xselect.c */
 
 extern void x_handle_property_notify P_ ((XPropertyEvent *));