diff src/frame.h @ 422:95016f13131a r21-2-19

Import from CVS: tag r21-2-19
author cvs
date Mon, 13 Aug 2007 11:25:01 +0200
parents 697ef44129c6
children 11054d720c21
line wrap: on
line diff
--- a/src/frame.h	Mon Aug 13 11:24:10 2007 +0200
+++ b/src/frame.h	Mon Aug 13 11:25:01 2007 +0200
@@ -33,6 +33,7 @@
 
 #include "device.h"
 #include "glyphs.h"
+#include "redisplay.h"
 
 #define FRAME_TYPE_NAME(f) ((f)->framemeths->name)
 #define FRAME_TYPE(f) ((f)->framemeths->symbol)
@@ -109,6 +110,10 @@
   unsigned int current_toolbar_size[4];
 #endif
 
+  /* Dynamic array of display lines for gutters */
+  display_line_dynarr *current_display_lines;
+  display_line_dynarr *desired_display_lines;
+
   /* A structure of auxiliary data specific to the device type.
      struct x_frame is used for X window frames; defined in console-x.h */
   void *frame_data;
@@ -160,6 +165,11 @@
   unsigned int bottom_toolbar_was_visible :1;
   unsigned int left_toolbar_was_visible :1;
   unsigned int right_toolbar_was_visible :1;
+  /* gutter visibility */
+  unsigned int top_gutter_was_visible :1;
+  unsigned int bottom_gutter_was_visible :1;
+  unsigned int left_gutter_was_visible :1;
+  unsigned int right_gutter_was_visible :1;
 
   /* redisplay flags */
   unsigned int buffers_changed :1;
@@ -175,6 +185,7 @@
   unsigned int point_changed :1;
   unsigned int size_changed :1;
   unsigned int toolbar_changed :1;
+  unsigned int gutter_changed :1;
   unsigned int windows_changed :1;
   unsigned int windows_structure_changed :1;
   unsigned int window_face_cache_reset :1;	/* used by expose handler */
@@ -342,6 +353,19 @@
     toolbar_changed = 1;				\
 } while (0)
 
+#define MARK_FRAME_GUTTERS_CHANGED(f) do {	\
+  struct frame *mftc_f = (f);				\
+  mftc_f->gutter_changed = 1;				\
+  mftc_f->modiff++;					\
+  if (!NILP (mftc_f->device))				\
+    {							\
+      struct device *mftc_d = XDEVICE (mftc_f->device);	\
+      MARK_DEVICE_GUTTERS_CHANGED (mftc_d);	\
+    }							\
+  else							\
+    gutter_changed = 1;					\
+} while (0)
+
 #define MARK_FRAME_SIZE_CHANGED(f) do {			\
   struct frame *mfsc_f = (f);				\
   mfsc_f->size_changed = 1;				\