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

extern int Qwindowp;

extern int Qwindow_live_p;

extern int selected_window;

extern int minibuf_window;

extern int Vminibuf_scroll_window;

extern int Vother_window_scroll_buffer;

extern int Vtemp_buffer_show_function;

extern int window_min_height;

extern int window_min_width;

extern int pop_up_windows;

extern int pop_up_frames;

extern int Vpop_up_frame_function;

extern int Vdisplay_buffer_function;

extern int Vspecial_display_buffer_names;

extern int Vspecial_display_regexps;

extern int Vspecial_display_function;

extern int split_height_threshold;

extern int next_screen_context_lines;

extern int sequence_number;

extern struct Lisp_Subr Swindowp;

int Fwindowp(int );

extern struct Lisp_Subr Swindow_live_p;

int Fwindow_live_p(int );

int make_window(void);

extern struct Lisp_Subr Sselected_window;

int Fselected_window(void);

extern struct Lisp_Subr Sminibuffer_window;

int Fminibuffer_window(int );

extern struct Lisp_Subr Swindow_minibuffer_p;

int Fwindow_minibuffer_p(int );

extern struct Lisp_Subr Spos_visible_in_window_p;

int Fpos_visible_in_window_p(int , int );

struct window * decode_window(register int window);

extern struct Lisp_Subr Swindow_buffer;

int Fwindow_buffer(int );

extern struct Lisp_Subr Swindow_height;

int Fwindow_height(int );

extern struct Lisp_Subr Swindow_width;

int Fwindow_width(int );

extern struct Lisp_Subr Swindow_hscroll;

int Fwindow_hscroll(int );

extern struct Lisp_Subr Sset_window_hscroll;

int Fset_window_hscroll(int , int );

extern struct Lisp_Subr Swindow_edges;

int Fwindow_edges(int );

int coordinates_in_window(register struct window * w,
                          register int * x,
                          register int * y);

extern struct Lisp_Subr Scoordinates_in_window_p;

int Fcoordinates_in_window_p(int , int );

int window_from_coordinates(int frame,
                            int x,
                            int y,
                            int * part);

extern struct Lisp_Subr Swindow_at;

int Fwindow_at(int , int , int );

extern struct Lisp_Subr Swindow_point;

int Fwindow_point(int );

extern struct Lisp_Subr Swindow_start;

int Fwindow_start(int );

extern struct Lisp_Subr Swindow_end;

int Fwindow_end(int );

extern struct Lisp_Subr Sset_window_point;

int Fset_window_point(int , int );

extern struct Lisp_Subr Sset_window_start;

int Fset_window_start(int , int , int );

extern struct Lisp_Subr Swindow_dedicated_p;

int Fwindow_dedicated_p(int );

extern struct Lisp_Subr Sset_window_dedicated_p;

int Fset_window_dedicated_p(int , int );

extern struct Lisp_Subr Swindow_display_table;

int Fwindow_display_table(int );

struct Lisp_Vector * window_display_table(struct window * w);

extern struct Lisp_Subr Sset_window_display_table;

int Fset_window_display_table(int , int );

int unshow_buffer(register struct window * w);

int replace_window(int old,
                   int replacement);

extern struct Lisp_Subr Sdelete_window;

int Fdelete_window(int );

extern struct Lisp_Subr Snext_window;

int Fnext_window(int , int , int );

extern struct Lisp_Subr Sprevious_window;

int Fprevious_window(int , int , int );

extern struct Lisp_Subr Sother_window;

int Fother_window(int , int );

int window_loop(enum window_loop type,
                register int obj,
                int mini,
                register int frames);

extern struct Lisp_Subr Sget_lru_window;

int Fget_lru_window(int );

extern struct Lisp_Subr Sget_largest_window;

int Fget_largest_window(int );

extern struct Lisp_Subr Sget_buffer_window;

int Fget_buffer_window(int , int );

extern struct Lisp_Subr Sdelete_other_windows;

int Fdelete_other_windows(int );

extern struct Lisp_Subr Sdelete_windows_on;

int Fdelete_windows_on(int , int );

extern struct Lisp_Subr Sreplace_buffer_in_windows;

int Freplace_buffer_in_windows(int );

void check_min_window_sizes(void);

void check_frame_size(int frame,
                      int * rows,
                      int * cols);

int set_window_height(int window,
                      int height,
                      int nodelete);

int set_window_width(int window,
                     int width,
                     int nodelete);

extern int window_select_count;

extern struct Lisp_Subr Sset_window_buffer;

int Fset_window_buffer(int , int );

extern struct Lisp_Subr Sselect_window;

int Fselect_window(int );

extern struct Lisp_Subr Sdisplay_buffer;

int Fdisplay_buffer(int , int );

void temp_output_buffer_show(register int buf);

int make_dummy_parent(int window);

extern struct Lisp_Subr Ssplit_window;

int Fsplit_window(int , int , int );

extern struct Lisp_Subr Senlarge_window;

int Fenlarge_window(int , int );

extern struct Lisp_Subr Sshrink_window;

int Fshrink_window(int , int );

int window_height(int window);

int window_width(int window);

int change_window_height(register int delta,
                         int widthflag);

int window_internal_height(struct window * w);

int window_internal_width(struct window * w);

void window_scroll(int window,
                   int n,
                   int noerror);

void scroll_command(register int n,
                    int direction);

extern struct Lisp_Subr Sscroll_up;

int Fscroll_up(int );

extern struct Lisp_Subr Sscroll_down;

int Fscroll_down(int );

extern struct Lisp_Subr Sscroll_other_window;

int Fscroll_other_window(int );

extern struct Lisp_Subr Sscroll_left;

int Fscroll_left(int );

extern struct Lisp_Subr Sscroll_right;

int Fscroll_right(int );

extern struct Lisp_Subr Srecenter;

int Frecenter(int );

extern struct Lisp_Subr Smove_to_window_line;

int Fmove_to_window_line(int );

extern struct Lisp_Subr Swindow_configuration_p;

int Fwindow_configuration_p(int );

extern struct Lisp_Subr Sset_window_configuration;

int Fset_window_configuration(int );

void delete_all_subwindows(register struct window * w);

int count_windows(register struct window * window);

int save_window_save(int window,
                     struct Lisp_Vector * vector,
                     int i);

extern struct Lisp_Subr Scurrent_window_configuration;

int Fcurrent_window_configuration(int );

extern struct Lisp_Subr Ssave_window_excursion;

int Fsave_window_excursion(int );

int init_window_once(void);

int syms_of_window(void);

int keys_of_window(void);

