X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fwindow.h;h=d228076fb992392088d272b5d181d1e7f34d04be;hp=342ad440f1865ebcb201f270ce04f20ae70b76a9;hb=716cfba952c1dc0d2cf5c968971f3780ba728a89;hpb=1e7fd761ecf5fd2208bde8e30fc6f7cbf789b7db diff --git a/src/window.h b/src/window.h index 342ad44..d228076 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 @@ -129,7 +129,15 @@ struct window /* Number of columns display within the window is scrolled to the left. */ int hscroll; /* Idem for the window's modeline */ - int modeline_hscroll; + Charcount modeline_hscroll; + /* Amount to clip off the top line for pixel-based scrolling. Point + will remain constant but this will be incremented to + incrementally shift lines up. */ + int top_yoffset; + /* Amount to clip off the left of the lines for pixel-based + scrolling. Hscroll will remain constant but this will be + incremented to incrementally shift lines left.*/ + int left_xoffset; /* Number saying how recently window was selected */ Lisp_Object use_time; /* text.modified of displayed buffer as of last time display completed */ @@ -254,7 +262,6 @@ DECLARE_LRECORD (window, struct window); #define XWINDOW(x) XRECORD (x, window, struct window) #define XSETWINDOW(x, p) XSETRECORD (x, p, window) #define WINDOWP(x) RECORDP (x, window) -#define GC_WINDOWP(x) GC_RECORDP (x, window) #define CHECK_WINDOW(x) CHECK_RECORD (x, window) #define CONCHECK_WINDOW(x) CONCHECK_RECORD (x, window) @@ -303,7 +310,7 @@ EXFUN (Frecenter, 2); EXFUN (Freplace_buffer_in_windows, 1); 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); @@ -353,6 +360,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,6 +391,7 @@ int window_divider_width (struct window *w); /* XEmacs window size and positioning macros. */ #define WINDOW_TOP(w) ((w)->pixel_top) #define WINDOW_TEXT_TOP(w) (WINDOW_TOP (w) + window_top_gutter_height (w)) +#define WINDOW_TEXT_TOP_CLIP(w) ((w)->top_yoffset) #define WINDOW_BOTTOM(w) ((w)->pixel_top + (w)->pixel_height) #define WINDOW_TEXT_BOTTOM(w) (WINDOW_BOTTOM (w) - window_bottom_gutter_height (w)) #define WINDOW_LEFT(w) ((w)->pixel_left) @@ -417,4 +427,4 @@ int window_divider_width (struct window *w); #endif /* emacs */ -#endif /* _XEMACS_WINDOW_H_ */ +#endif /* INCLUDED_window_h_ */