diff src/frame.h @ 424:11054d720c21 r21-2-20

Import from CVS: tag r21-2-20
author cvs
date Mon, 13 Aug 2007 11:26:11 +0200
parents 95016f13131a
children
line wrap: on
line diff
--- a/src/frame.h	Mon Aug 13 11:25:03 2007 +0200
+++ b/src/frame.h	Mon Aug 13 11:26:11 2007 +0200
@@ -94,6 +94,9 @@
   /* subwindow cache elements for this frame */
   subwindow_cachel_dynarr *subwindow_cachels;
 
+  struct expose_ignore* subwindow_exposures;
+  struct expose_ignore* subwindow_exposures_tail;
+
 #ifdef HAVE_SCROLLBARS
   /* frame-local scrollbar information.  See scrollbar.c. */
   int scrollbar_y_offset;
@@ -178,6 +181,7 @@
   unsigned int faces_changed :1;
   unsigned int frame_changed :1;
   unsigned int subwindows_changed :1;
+  unsigned int subwindows_state_changed :1;
   unsigned int glyphs_changed :1;
   unsigned int icon_changed :1;
   unsigned int menubar_changed :1;
@@ -233,7 +237,6 @@
 #define XFRAME(x) XRECORD (x, frame, struct frame)
 #define XSETFRAME(x, p) XSETRECORD (x, p, frame)
 #define FRAMEP(x) RECORDP (x, frame)
-#define GC_FRAMEP(x) GC_RECORDP (x, frame)
 #define CHECK_FRAME(x) CHECK_RECORD (x, frame)
 #define CONCHECK_FRAME(x) CONCHECK_RECORD (x, frame)
 
@@ -260,7 +263,7 @@
   return f;
 }
 # define FRAME_TYPE_DATA(f, type)			\
- ((struct type##_frame *) (error_check_frame_type (f, Q##type))->frame_data)
+ ((struct type##_frame *) error_check_frame_type (f, Q##type)->frame_data)
 #else
 # define FRAME_TYPE_DATA(f, type)			\
   ((struct type##_frame *) (f)->frame_data)
@@ -340,6 +343,19 @@
     subwindows_changed = 1;					\
 } while (0)
 
+#define MARK_FRAME_SUBWINDOWS_STATE_CHANGED(f) do {	\
+  struct frame *mfgc_f = (f);				\
+  mfgc_f->subwindows_state_changed = 1;		\
+  mfgc_f->modiff++;					\
+  if (!NILP (mfgc_f->device))				\
+    {							\
+      struct device *mfgc_d = XDEVICE (mfgc_f->device);	\
+      MARK_DEVICE_SUBWINDOWS_STATE_CHANGED (mfgc_d);	\
+    }							\
+  else							\
+    subwindows_state_changed = 1;			\
+} while (0)
+
 #define MARK_FRAME_TOOLBARS_CHANGED(f) do {		\
   struct frame *mftc_f = (f);				\
   mftc_f->toolbar_changed = 1;				\