/* Prototypes for functions defined in
xdisp.c
 */

extern int win_line_bufpos[64];

extern int win_line_modified;

extern struct buffer * win_line_buffer;

extern char visible[256];

extern int noninteractive_need_newline;

extern int this_line_bufpos;

extern int this_line_endpos;

extern int this_line_vpos;

extern int this_line_start_hpos;

extern struct buffer * this_line_buffer;

extern int scroll_bottom_vpos;

extern char * previous_echo_glyphs;

extern int truncate_partial_width_windows;

extern int Vglobal_mode_string;

extern int Voverlay_arrow_position;

extern int Voverlay_arrow_string;

extern int last_arrow_position;

extern int last_arrow_string;

extern int Qmenu_bar_update_hook;

extern int overlay_arrow_seen;

extern int highlight_nonselected_windows;

extern int scroll_step;

extern int blank_end_of_window;

extern int buffer_shared;

extern int cursor_vpos;

extern int cursor_hpos;

extern int debug_end_pos;

extern int mode_line_inverse_video;

extern char * minibuf_prompt;

extern int minibuf_prompt_width;

extern char * echo_area_glyphs;

extern int echo_area_glyphs_length;

extern int update_mode_lines;

extern int beg_unchanged;

extern int end_unchanged;

extern int unchanged_modified;

extern int clip_changed;

extern int windows_or_buffers_changed;

extern int line_number_displayed;

extern int line_number_display_limit;

void message2(char * m,
              int len);

void message1(char * m);

void truncate_echo_area(int len);

extern int message_buf_print;

#ifdef _XDISP_C
void message(char * m,
             int a1,
             int a2,
             int a3);
#else
void message(char * m, ...);
#endif
void echo_area_display(void);

void prepare_menu_bars(void);

extern int do_verify_charstarts;

void redisplay(void);

int redisplay_preserve_echo_area(void);

void mark_window_display_accurate(int window,
                                  int flag);

void update_menu_bar(int f);

extern int do_id;

void redisplay_windows(int window);

void redisplay_window(int window,
                      int just_this_one);

void try_window(int window,
                register int pos);

int try_window_id(int window);

void redisplay_region(struct buffer * buf,
                      int start,
                      int end);

unsigned int * copy_part_of_rope(int f,
                                 register unsigned int * to,
                                 register unsigned int * s,
                                 int * from,
                                 int len,

                          int face);

unsigned int fix_glyph(int f,
                       unsigned int glyph,
                       int cface);

extern struct position val_display_text_line;

struct position * display_text_line(struct window * w,
                                    int start,
                                    int vpos,
                                    int hpos,
                                    int taboffset);

void display_menu_bar(struct window * w);

void display_mode_line(struct window * w);

int display_mode_element(struct window * w,
                         register int vpos,
                         register int hpos,
                         int depth,
                         int minendcol,
                         register int maxendcol
,
                         register int elt);

extern const char far lots_of_dashes[141];

char * decode_mode_spec(struct window * w,
                        register int c,
                        register int maxwidth);

int display_count_lines(int from,
                        int limit,
                        int n,
                        int * pos_ptr);

int display_string(struct window * w,
                   int vpos,
                   unsigned char * string,
                   int length,
                   int hpos,
                   unsigned int truncate,
                   int obey_window_width,

                  int mincol,
                   int maxcol);

void syms_of_xdisp(void);

int init_xdisp(void);

