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

extern int frame_garbaged;

extern int display_completed;

extern int visible_bell;

extern int inverse_video;

extern int baud_rate;

extern int Vwindow_system;

extern int Vwindow_system_version;

extern int Vglyph_table;

extern int Vstandard_display_table;

extern int cursor_in_echo_area;

extern int selected_frame;

extern int last_nonminibuf_frame;

extern struct frame the_only_frame;

extern struct frame_glyphs ** ophys_lines;

extern int ophys_lines_length;

extern struct __iobuf * termscript;

extern struct cm Wcm;

extern int delayed_size_change;

extern struct Lisp_Subr Sredraw_frame;

int Fredraw_frame(int );

extern struct Lisp_Subr Sredraw_display;

int Fredraw_display(void);

void redraw_garbaged_frames(void);

struct frame_glyphs * make_frame_glyphs(register int frame,
                                        int empty);

void free_frame_glyphs(int frame,
                       struct frame_glyphs * glyphs);

void remake_frame_glyphs(int frame);

int line_hash_code(register struct frame_glyphs * m,
                   int vpos);

unsigned int line_draw_cost(struct frame_glyphs * m,
                            int vpos);

int cancel_line(int vpos,
                register int frame);

int clear_frame_records(register int frame);

void get_display_line(register int frame,
                      int vpos,
                      register int hpos);

void safe_bcopy(char * from,
                char * to,
                int size);

void rotate_vector(char * vector,
                   int size,
                   int distance);

int scroll_frame_lines(register int frame,
                       int from,
                       int end,
                       int amount,
                       int newpos);

int preserve_other_columns(struct window * w);

void adjust_window_charstarts(struct window * w,
                              int vpos,
                              int adjust);

int verify_charstarts(struct window * w);

int cancel_my_columns(struct window * w);

int direct_output_for_insert(int g);

int direct_output_forward_char(int n);

int update_frame(int f,
                 int force,
                 int inhibit_hairy_id);

void quit_error_check(void);

int scrolling(int frame);

int buffer_posn_from_coords(struct window * window,
                            int col,
                            int line);

int count_blanks(register unsigned int * r);

int count_match(unsigned int * str1,
                unsigned int * str2);

void update_line(register int frame,
                 int vpos);

extern struct Lisp_Subr Sopen_termscript;

int Fopen_termscript(int );

void window_change_signal(void);

int do_pending_window_change(void);

int change_frame_size(register int frame,
                      int newheight,
                      int newwidth,
                      int pretend,
                      int delay);

extern struct Lisp_Subr Ssend_string_to_terminal;

int Fsend_string_to_terminal(int );

extern struct Lisp_Subr Sding;

int Fding(int );

int bitch_at_user(void);

extern struct Lisp_Subr Ssleep_for;

int Fsleep_for(int , int );

int sit_for(int sec,
            int usec,
            int reading,
            int display);

extern struct Lisp_Subr Ssit_for;

int Fsit_for(int , int , int );

extern char * terminal_type;

int init_display(void);

int syms_of_display(void);

