/* Window definitions for GNU Emacs.
- Copyright (C) 1985, 1986, 1993, 1995, 1997, 1998, 1999, 2000, 2001, 2003
- Free Software Foundation, Inc.
+ Copyright (C) 1985, 1986, 1993, 1995, 1997, 1998, 1999, 2000, 2001,
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
#ifndef WINDOW_H_INCLUDED
#define WINDOW_H_INCLUDED
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;
be changed during redisplay. If point is not in the window,
accept that. */
unsigned frozen_window_start_p : 1;
-
- /* 1 means that this window's height is temporarily fixed. Used
- in resize_mini_window to precent resizing selected_window, if
- possible. */
- unsigned height_fixed_p : 1;
};
/* 1 if W is a minibuffer window. */
| | +--------------------------- LEFT_MARGIN_COLS
| +------------------------------- LEFT_FRINGE_WIDTH
+---------------------------------- LEFT_SCROLL_BAR_COLS
-
+
*/
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);
EXFUN (Fwindow_dedicated_p, 1);
extern int window_height P_ ((Lisp_Object));
extern int window_width P_ ((Lisp_Object));
+EXFUN (Fwindow_full_width_p, 1);
extern void set_window_height P_ ((Lisp_Object, int, int));
extern void set_window_width P_ ((Lisp_Object, int, int));
extern void change_window_heights P_ ((Lisp_Object, int));
extern int minibuf_level;
-/* true iff we should redraw the mode lines on the next redisplay. */
+/* true if we should redraw the mode lines on the next redisplay. */
extern int update_mode_lines;
EXFUN (Fwindow_end, 2);
EXFUN (Fselected_window, 0);
+EXFUN (Fwindow_minibuffer_p, 1);
EXFUN (Fdelete_window, 1);
EXFUN (Fwindow_buffer, 1);
EXFUN (Fget_buffer_window, 2);