X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fwindow.h;h=8a793369d63645eba50a150414bf0c6e33d67b9b;hb=71baa1c0cbbb886ac1528500c1bda51ac70decad;hp=588187abc729e96c5d614cd179f4891364e49c59;hpb=b5eeb6918c29470b36f8461c402eb0c65cb19bd2;p=chise%2Fxemacs-chise.git.1 diff --git a/src/window.h b/src/window.h index 588187a..8a79336 100644 --- a/src/window.h +++ b/src/window.h @@ -24,8 +24,8 @@ Boston, MA 02111-1307, USA. */ /* Synched up with: FSF 19.30. */ -#ifndef _XEMACS_WINDOW_H_ -#define _XEMACS_WINDOW_H_ +#ifndef INCLUDED_window_h_ +#define INCLUDED_window_h_ #include "redisplay.h" #ifdef HAVE_SCROLLBARS @@ -184,6 +184,9 @@ struct window must run the redisplay-end-trigger-functions. */ Lisp_Object redisplay_end_trigger; + /* Set by the extent code when extents in the gutter are changed. */ + int gutter_extent_modiff[4]; + /* Set by redisplay to the last position seen. This is used to implement the redisplay-end-trigger-functions. */ Bufpos last_redisplay_pos; @@ -297,6 +300,13 @@ DECLARE_LRECORD (window, struct window); windows_changed = 1; \ } while (0) +/* #### This should be fixed not to call MARK_FRAME_CHANGED because + faces are cached per window. Also, other code which changes window's + face should use this macro. +*/ +#define MARK_WINDOW_FACES_CHANGED(w) \ + MARK_FRAME_FACES_CHANGED (XFRAME ((w)->frame)) + #define WINDOW_TTY_P(w) FRAME_TTY_P (XFRAME ((w)->frame)) #define WINDOW_X_P(w) FRAME_X_P (XFRAME ((w)->frame)) #define WINDOW_NS_P(w) FRAME_NS_P (XFRAME ((w)->frame)) @@ -307,10 +317,10 @@ DECLARE_LRECORD (window_configuration, struct window_config); EXFUN (Fget_buffer_window, 3); EXFUN (Fmove_to_window_line, 2); EXFUN (Frecenter, 2); -EXFUN (Freplace_buffer_in_windows, 1); +EXFUN (Freplace_buffer_in_windows, 3); EXFUN (Fselect_window, 2); EXFUN (Fselected_window, 1); -EXFUN (Fset_window_buffer, 2); +EXFUN (Fset_window_buffer, 3); EXFUN (Fset_window_hscroll, 2); EXFUN (Fset_window_point, 2); EXFUN (Fset_window_start, 3); @@ -351,6 +361,7 @@ int window_left_gutter_width (struct window *w, int modeline); int window_right_gutter_width (struct window *w, int modeline); void delete_all_subwindows (struct window *w); +void undedicate_windows (Lisp_Object buffer, Lisp_Object frame); void set_window_pixheight (Lisp_Object window, int pixheight, int nodelete); void set_window_pixwidth (Lisp_Object window, int pixwidth, @@ -360,6 +371,8 @@ void window_scroll (Lisp_Object window, Lisp_Object n, int direction, int buffer_window_count (struct buffer *b, struct frame *f); int buffer_window_mru (struct window *w); void check_frame_size (struct frame *frame, int *rows, int *cols); +int frame_pixsize_valid_p (struct frame *frame, int width, int height); +int frame_size_valid_p (struct frame *frame, int rows, int cols); struct window *decode_window (Lisp_Object window); struct window *find_window_by_pixel_pos (int pix_x, int pix_y, Lisp_Object win); @@ -382,9 +395,13 @@ int invalidate_vertical_divider_cache_in_window (struct window *w, int window_divider_width (struct window *w); #define WINDOW_FRAME(w) ((w)->frame) +#define WINDOW_XFRAME(w) XFRAME (WINDOW_FRAME (w)) #define WINDOW_BUFFER(w) ((w)->buffer) +#define WINDOW_XBUFFER(w) XBUFFER (WINDOW_BUFFER (w)) #define WINDOW_DEVICE(w) FRAME_DEVICE (XFRAME (WINDOW_FRAME (w))) +#define WINDOW_XDEVICE(w) XDEVICE (WINDOW_DEVICE (w)) #define WINDOW_CONSOLE(w) DEVICE_CONSOLE (XDEVICE (WINDOW_DEVICE (w))) +#define WINDOW_XCONSOLE(w) XCONSOLE (WINDOW_CONSOLE (w)) /* XEmacs window size and positioning macros. */ #define WINDOW_TOP(w) ((w)->pixel_top) @@ -425,4 +442,4 @@ int window_divider_width (struct window *w); #endif /* emacs */ -#endif /* _XEMACS_WINDOW_H_ */ +#endif /* INCLUDED_window_h_ */