/* Window definitions for GNU Emacs.
- Copyright (C) 1985, 1986, 1993, 1995, 1997, 1998, 1999, 2000, 2001, 2003
+ Copyright (C) 1985,86,93,95,97,98,99, 2000,01,03,04
Free Software Foundation, Inc.
This file is part of GNU Emacs.
no scroll bar. A value of t means use frame value. */
Lisp_Object vertical_scroll_bar_type;
-/* The rest are currently not used or only half used */
/* Frame coords of mark as of last time display completed */
/* May be nil if mark does not exist or was not on frame */
Lisp_Object last_mark_x;
struct glyph_matrix *current_matrix;
struct glyph_matrix *desired_matrix;
+ /* Scaling factor for the glyph_matrix size calculation in this window.
+ Used if window contains many small images or uses proportional fonts,
+ as the normal may yield a matrix which is too small. */
+ int nrows_scale_factor, ncols_scale_factor;
+
/* Cursor position as of last update that completed without
pause. This is the position of last_point. */
struct cursor_pos last_cursor;
/* This is handy for undrawing the cursor. */
int phys_cursor_ascent, phys_cursor_height;
+ /* Alternate overlay-arrow-bitmap in this window. */
+ int overlay_arrow_bitmap;
+
/* Non-zero means the cursor is currently displayed. This can be
set to zero by functions overpainting the cursor image. */
unsigned phys_cursor_on_p : 1;
| | +--------------------------- LEFT_MARGIN_COLS
| +------------------------------- LEFT_FRINGE_WIDTH
+---------------------------------- LEFT_SCROLL_BAR_COLS
-
+
*/
/ WINDOW_FRAME_COLUMN_WIDTH (W)) \
: FRAME_FRINGE_COLS (WINDOW_XFRAME (W)))
+/* Column-width of the left and right fringe. */
+
+#define WINDOW_LEFT_FRINGE_COLS(W) \
+ ((WINDOW_LEFT_FRINGE_WIDTH ((W)) \
+ + WINDOW_FRAME_COLUMN_WIDTH (W) - 1) \
+ / WINDOW_FRAME_COLUMN_WIDTH (W))
+
+#define WINDOW_RIGHT_FRINGE_COLS(W) \
+ ((WINDOW_RIGHT_FRINGE_WIDTH ((W)) \
+ + WINDOW_FRAME_COLUMN_WIDTH (W) - 1) \
+ / WINDOW_FRAME_COLUMN_WIDTH (W))
+
/* Pixel-width of the left and right fringe. */
#define WINDOW_LEFT_FRINGE_WIDTH(W) \
: WINDOW_LEFT_EDGE_X (W))
-/* Height in pixels of the mode line. May be zero if W doesn't have a
- mode line. */
+/* Height in pixels, and in lines, of the mode line.
+ May be zero if W doesn't have a mode line. */
#define WINDOW_MODE_LINE_HEIGHT(W) \
(WINDOW_WANTS_MODELINE_P ((W)) \
? CURRENT_MODE_LINE_HEIGHT (W) \
: 0)
-/* Height in pixels of the header line. Zero if W doesn't have a header
- line. */
+#define WINDOW_MODE_LINE_LINES(W) \
+ (!! WINDOW_WANTS_MODELINE_P ((W)))
+
+/* Height in pixels, and in lines, of the header line.
+ Zero if W doesn't have a header line. */
#define WINDOW_HEADER_LINE_HEIGHT(W) \
(WINDOW_WANTS_HEADER_LINE_P ((W)) \
? CURRENT_HEADER_LINE_HEIGHT (W) \
: 0)
+#define WINDOW_HEADER_LINE_LINES(W) \
+ (!! WINDOW_WANTS_HEADER_LINE_P ((W)))
+
/* Pixel height of window W without mode line. */
#define WINDOW_BOX_HEIGHT_NO_MODE_LINE(W) \
EXFUN (Fset_window_buffer, 3);
EXFUN (Fset_window_hscroll, 2);
EXFUN (Fwindow_hscroll, 1);
-EXFUN (Fset_window_vscroll, 2);
-EXFUN (Fwindow_vscroll, 1);
+EXFUN (Fset_window_vscroll, 3);
+EXFUN (Fwindow_vscroll, 2);
EXFUN (Fset_window_margins, 3);
EXFUN (Fwindow_live_p, 1);
EXFUN (Fset_window_point, 2);
extern int window_box_text_cols P_ ((struct window *w));
#endif /* not WINDOW_H_INCLUDED */
+
+/* arch-tag: d4a6942f-e433-4ffe-ac10-2c3574f28577
+ (do not change this comment) */