This commit was manufactured by cvs2svn to create branch 'XEmacs-21_4'.
[chise/xemacs-chise.git.1] / src / redisplay.h
index f79847c..0ed8baf 100644 (file)
@@ -22,8 +22,8 @@ Boston, MA 02111-1307, USA.  */
 
 /* Synched up with: Not in FSF. */
 
-#ifndef _XEMACS_REDISPLAY_H_
-#define _XEMACS_REDISPLAY_H_
+#ifndef INCLUDED_redisplay_h_
+#define INCLUDED_redisplay_h_
 
 /* Redisplay DASSERT types */
 #define DB_DISP_POS            1
@@ -97,7 +97,7 @@ typedef struct
 
    #### This should really be made smaller.
 */
-   
+
 typedef struct rune rune;
 struct rune
 {
@@ -121,12 +121,12 @@ struct rune
                                   this. */
                                 /* #### This isn't used as an rvalue anywhere!
                                    remove! */
-                                   
-  
+
+
   short xpos;                  /* horizontal starting position in pixels */
   short width;                 /* pixel width of rune */
-       
-  
+
+
   unsigned char cursor_type;   /* is this rune covered by the cursor? */
   unsigned char type;          /* type of rune object */
                                 /* We used to do bitfields here, but if I
@@ -415,24 +415,24 @@ struct extent_fragment
    If any of these flags are set, redisplay will look more carefully
    to see if anything has really changed. */
 
-/* non-nil if the contents of a buffer have changed since the last time
-   redisplay completed */
+/* Nonzero if the contents of a buffer have changed since the last time
+   redisplay completed. */
 extern int buffers_changed;
 extern int buffers_changed_set;
 
 /* Nonzero if head_clip or tail_clip of a buffer has changed
- since last redisplay that finished */
+   since last redisplay that finished. */
 extern int clip_changed;
 extern int clip_changed_set;
 
-/* non-nil if any extent has changed since the last time redisplay completed */
+/* Nonzero if any extent has changed since the last time redisplay completed. */
 extern int extents_changed;
 extern int extents_changed_set;
 
-/* non-nil if any face has changed since the last time redisplay completed */
+/* Nonzero if any face has changed since the last time redisplay completed. */
 extern int faces_changed;
 
-/* Nonzero means one or more frames have been marked as garbaged */
+/* Nonzero means one or more frames have been marked as garbaged. */
 extern int frame_changed;
 
 /* True if any of the builtin display glyphs (continuation,
@@ -459,34 +459,34 @@ extern int icon_changed_set;
 extern int menubar_changed;
 extern int menubar_changed_set;
 
-/* true iff we should redraw the modelines on the next redisplay */
+/* True iff we should redraw the modelines on the next redisplay. */
 extern int modeline_changed;
 extern int modeline_changed_set;
 
-/* non-nil if point has changed in some buffer since the last time
-   redisplay completed */
+/* Nonzero if point has changed in some buffer since the last time
+   redisplay completed. */
 extern int point_changed;
 extern int point_changed_set;
 
-/* non-nil if some frame has changed its size */
+/* Nonzero if some frame has changed its size. */
 extern int size_changed;
 
-/* non-nil if some device has signaled that it wants to change size */
+/* Nonzero if some device has signaled that it wants to change size. */
 extern int asynch_device_change_pending;
 
-/* non-nil if any toolbar has changed */
+/* Nonzero if any toolbar has changed. */
 extern int toolbar_changed;
 extern int toolbar_changed_set;
 
-/* non-nil if any gutter has changed */
+/* Nonzero if any gutter has changed. */
 extern int gutter_changed;
 extern int gutter_changed_set;
 
-/* non-nil if any window has changed since the last time redisplay completed */
+/* Nonzero if any window has changed since the last time redisplay completed */
 extern int windows_changed;
 
-/* non-nil if any frame's window structure has changed since the last
-   time redisplay completed */
+/* Nonzero if any frame's window structure has changed since the last
+   time redisplay completed. */
 extern int windows_structure_changed;
 
 /* These macros can be relatively expensive.  Since they are often
@@ -550,7 +550,6 @@ extern int windows_structure_changed;
   buffers_changed = 0;                         \
   clip_changed = 0;                            \
   extents_changed = 0;                         \
-  faces_changed = 0;                           \
   frame_changed = 0;                           \
   icon_changed = 0;                            \
   menubar_changed = 0;                         \
@@ -578,6 +577,7 @@ extern int windows_structure_changed;
     (p)->toolbar_changed ||                    \
     (p)->gutter_changed ||                     \
     (p)->glyphs_changed ||                     \
+    (p)->size_changed ||                       \
     (p)->subwindows_changed ||                 \
     (p)->subwindows_state_changed ||           \
     (p)->windows_changed ||                    \
@@ -596,6 +596,7 @@ extern int windows_structure_changed;
     toolbar_changed ||                         \
     gutter_changed ||                          \
     glyphs_changed ||                          \
+    size_changed ||                            \
     subwindows_changed ||                      \
     subwindows_state_changed ||                        \
     windows_changed ||                         \
@@ -638,8 +639,8 @@ extern int in_display;
    where one page is used for Emacs and another for all else. */
 extern int no_redraw_on_reenter;
 
-/* Nonzero means flash the frame instead of ringing the bell.  */
-extern int visible_bell;
+/* Non-nil means flash the frame instead of ringing the bell.  */
+extern Lisp_Object Vvisible_bell;
 
 /* Thickness of shadow border around 3D modelines. */
 extern Lisp_Object Vmodeline_shadow_thickness;
@@ -659,7 +660,7 @@ extern Lisp_Object Vglobal_mode_string;
 extern int display_arg;
 
 /* Type of display specified.  Defined in emacs.c. */
-extern CONST char *display_use;
+extern const char *display_use;
 
 /* Nonzero means reading single-character input with prompt
    so put cursor on minibuffer after the prompt.  */
@@ -668,6 +669,8 @@ extern int cursor_in_echo_area;
 
 extern Lisp_Object Qbar_cursor, Qcursor_in_echo_area, Vwindow_system;
 
+extern Lisp_Object Qtop_bottom;
+
 \f
 /*************************************************************************/
 /*                     redisplay exported functions                      */
@@ -682,6 +685,7 @@ int redisplay_frame_text_width_string (struct frame *f,
                                       Bufbyte *nonreloc,
                                       Lisp_Object reloc,
                                       Bytecount offset, Bytecount len);
+int redisplay_frame (struct frame *f, int preemption_check);
 void redisplay (void);
 struct display_block *get_display_block_from_line (struct display_line *dl,
                                                   enum display_type type);
@@ -694,13 +698,19 @@ int window_half_pixpos (struct window *w);
 void redisplay_echo_area (void);
 void free_display_structs (struct window_mirror *mir);
 void free_display_lines (display_line_dynarr *dla);
-Bufbyte *generate_formatted_string (struct window *w, Lisp_Object format_str,
-                                    Lisp_Object result_str, face_index findex,
-                                    int type);
+void mark_redisplay_structs (display_line_dynarr *dla);
 void generate_displayable_area (struct window *w, Lisp_Object disp_string,
                                int xpos, int ypos, int width, int height,
                                display_line_dynarr* dl,
                                Bufpos start_pos, face_index default_face);
+/* `generate_title_string' in frame.c needs this */
+void generate_formatted_string_db (Lisp_Object format_str,
+                                  Lisp_Object result_str,
+                                  struct window *w,
+                                  struct display_line *dl,
+                                  struct display_block *db,
+                                  face_index findex,
+                                  int min_pixpos, int max_pixpos, int type);
 int real_current_modeline_height (struct window *w);
 int pixel_to_glyph_translation (struct frame *f, int x_coord,
                                int y_coord, int *col, int *row,
@@ -776,5 +786,8 @@ void redisplay_redraw_cursor (struct frame *f, int run_begin_end_meths);
 void output_display_line (struct window *w, display_line_dynarr *cdla,
                          display_line_dynarr *ddla, int line,
                          int force_start, int force_end);
+void sync_display_line_structs (struct window *w, int line, int do_blocks,
+                               display_line_dynarr *cdla,
+                               display_line_dynarr *ddla);
 
-#endif /* _XEMACS_REDISPLAY_H_ */
+#endif /* INCLUDED_redisplay_h_ */