annotate src/frame.h @ 112446:f60dc8d74215

mm-decode.el (mm-inline-media-tests): Change text/org to text/x-org. mm-uu.el (mm-uu-org-src-code-block-extract): Change text/org to text/x-org.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 23 Jan 2011 11:21:04 +0000
parents 42e22c4f06b7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
1 /* Define frame-object for GNU Emacs.
64770
a0d1312ede66 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64477
diff changeset
2 Copyright (C) 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004,
112218
376148b31b5e Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents: 110987
diff changeset
3 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94930
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94930
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94930
diff changeset
10 (at your option) any later version.
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94930
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
35802
1416f2329eb2 (EMACS_FRAME_H_INCLUDED): Use an include blocker
Gerd Moellmann <gerd@gnu.org>
parents: 35799
diff changeset
20 /* Don't multiply include: dispextern.h includes macterm.h which
1416f2329eb2 (EMACS_FRAME_H_INCLUDED): Use an include blocker
Gerd Moellmann <gerd@gnu.org>
parents: 35799
diff changeset
21 includes frame.h some emacs source includes both dispextern.h and
1416f2329eb2 (EMACS_FRAME_H_INCLUDED): Use an include blocker
Gerd Moellmann <gerd@gnu.org>
parents: 35799
diff changeset
22 frame.h */
1416f2329eb2 (EMACS_FRAME_H_INCLUDED): Use an include blocker
Gerd Moellmann <gerd@gnu.org>
parents: 35799
diff changeset
23
35803
888df8063774 Change the include blocker to the same form as in other header
Gerd Moellmann <gerd@gnu.org>
parents: 35802
diff changeset
24 #ifndef EMACS_FRAME_H
888df8063774 Change the include blocker to the same form as in other header
Gerd Moellmann <gerd@gnu.org>
parents: 35802
diff changeset
25 #define EMACS_FRAME_H
35799
74655128ce2d Update copyright.
Gerd Moellmann <gerd@gnu.org>
parents: 35798
diff changeset
26
96759
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
27 #include "dispextern.h"
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
28
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
29
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
30 /* Miscellanea. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
32 /* Nonzero means there is at least one garbaged frame. */
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
33 extern int frame_garbaged;
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
34
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
35 /* Nonzero means FRAME_MESSAGE_BUF (selected_frame) is being used by
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
36 print. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
37
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
38 extern int message_buf_print;
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
39
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
40
16051
ccf489f8596e Removed support for !MULTI_FRAME.
Karl Heuer <kwzh@gnu.org>
parents: 15390
diff changeset
41 /* The structure representing a frame. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 enum output_method
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
44 {
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
45 output_initial,
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
46 output_termcap,
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
47 output_x_window,
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
48 output_msdos_raw,
25524
095548b9a36c Do nothing if included a second time.
Richard M. Stallman <rms@gnu.org>
parents: 25460
diff changeset
49 output_w32,
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
50 output_mac,
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
51 output_ns
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
52 };
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53
16270
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
54 enum vertical_scroll_bar_type
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
55 {
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
56 vertical_scroll_bar_none,
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
57 vertical_scroll_bar_left,
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
58 vertical_scroll_bar_right
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
59 };
16270
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
60
47133
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
61 enum text_cursor_kinds
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
62 {
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
63 DEFAULT_CURSOR = -2,
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
64 NO_CURSOR = -1,
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
65 FILLED_BOX_CURSOR,
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
66 HOLLOW_BOX_CURSOR,
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
67 BAR_CURSOR,
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
68 HBAR_CURSOR
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
69 };
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
70
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
71 enum fullscreen_type
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
72 {
103665
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 100951
diff changeset
73 FULLSCREEN_NONE,
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 100951
diff changeset
74 FULLSCREEN_WIDTH = 0x001,
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 100951
diff changeset
75 FULLSCREEN_HEIGHT = 0x002,
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 100951
diff changeset
76 FULLSCREEN_BOTH = 0x003,
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 100951
diff changeset
77 FULLSCREEN_MAXIMIZED = 0x013,
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 100951
diff changeset
78 FULLSCREEN_WAIT = 0x100
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
79 };
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
80
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
81
82989
f3845715a5f6 Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
82 #define FRAME_FOREGROUND_PIXEL(f) ((f)->foreground_pixel)
f3845715a5f6 Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
83 #define FRAME_BACKGROUND_PIXEL(f) ((f)->background_pixel)
26781
4982f642dfdc (PIX_TYPE) [! HAVE_X_WINDOWS]: Define PIX_TYPE.
Dave Love <fx@gnu.org>
parents: 26729
diff changeset
84
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83427
diff changeset
85 struct terminal;
26729
f5dded41adcc Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents: 25711
diff changeset
86
90411
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
87 struct font_driver_list;
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
88
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
89 struct frame
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 {
85022
96eb42c9e0e3 * window.h (struct window):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84749
diff changeset
91 EMACS_UINT size;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 struct Lisp_Vector *next;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
94 /* All Lisp_Object components must come first.
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
95 That ensures they are all aligned normally. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96
14215
f258b4fd44c0 (struct frame): New field `title'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
97 /* Name of this frame: a Lisp string. It is used for looking up resources,
f258b4fd44c0 (struct frame): New field `title'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
98 as well as for the title in some cases. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99 Lisp_Object name;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100
12274
f3383ea95b06 (struct frame): New field icon_name.
Richard M. Stallman <rms@gnu.org>
parents: 11493
diff changeset
101 /* The name to use for the icon, the last time
f3383ea95b06 (struct frame): New field icon_name.
Richard M. Stallman <rms@gnu.org>
parents: 11493
diff changeset
102 it was refreshed. nil means not explicitly specified. */
f3383ea95b06 (struct frame): New field icon_name.
Richard M. Stallman <rms@gnu.org>
parents: 11493
diff changeset
103 Lisp_Object icon_name;
f3383ea95b06 (struct frame): New field icon_name.
Richard M. Stallman <rms@gnu.org>
parents: 11493
diff changeset
104
14215
f258b4fd44c0 (struct frame): New field `title'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
105 /* This is the frame title specified explicitly, if any.
f258b4fd44c0 (struct frame): New field `title'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
106 Usually it is nil. */
f258b4fd44c0 (struct frame): New field `title'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
107 Lisp_Object title;
f258b4fd44c0 (struct frame): New field `title'.
Richard M. Stallman <rms@gnu.org>
parents: 14186
diff changeset
108
3591
507f64624555 Apply typo patches from Paul Eggert.
Jim Blandy <jimb@redhat.com>
parents: 3518
diff changeset
109 /* The frame which should receive keystrokes that occur in this
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
110 frame, or nil if they should go to the frame itself. This is
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
111 usually nil, but if the frame is minibufferless, we can use this
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
112 to redirect keystrokes to a surrogate minibuffer frame when
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
113 needed.
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
114
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
115 Note that a value of nil is different than having the field point
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
116 to the frame itself. Whenever the Fselect_frame function is used
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
117 to shift from one frame to the other, any redirections to the
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
118 original frame are shifted to the newly selected frame; if
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
119 focus_frame is nil, Fselect_frame will leave it alone. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
120 Lisp_Object focus_frame;
357
1ad871406b12 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 261
diff changeset
121
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
122 /* This frame's root window. Every frame has one.
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
123 If the frame has only a minibuffer window, this is it.
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
124 Otherwise, if the frame has a minibuffer window, this is its sibling. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125 Lisp_Object root_window;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
127 /* This frame's selected window.
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
128 Each frame has its own window hierarchy
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
129 and one of the windows in it is selected within the frame.
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
130 The selected window of the selected frame is Emacs's selected window. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 Lisp_Object selected_window;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
133 /* This frame's minibuffer window.
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
134 Most frames have their own minibuffer windows,
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
135 but only the selected frame's minibuffer window
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 can actually appear to exist. */
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 Lisp_Object minibuffer_window;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
139 /* Parameter alist of this frame.
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
140 These are the parameters specified when creating the frame
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
141 or modified with modify-frame-parameters. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 Lisp_Object param_alist;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
144 /* List of scroll bars on this frame.
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
145 Actually, we don't specify exactly what is stored here at all; the
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
146 scroll bar implementation code can use it to store anything it likes.
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
147 This field is marked by the garbage collector. It is here
83342
9216636c02fc Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83332
diff changeset
148 instead of in the `device' structure so that the garbage
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
149 collector doesn't need to look inside the window-system-dependent
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
150 structure. */
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
151 Lisp_Object scroll_bars;
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
152 Lisp_Object condemned_scroll_bars;
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
153
15098
a3c8776451ce Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14215
diff changeset
154 /* Vector describing the items to display in the menu bar.
a3c8776451ce Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14215
diff changeset
155 Each item has four elements in this vector.
a3c8776451ce Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14215
diff changeset
156 They are KEY, STRING, SUBMAP, and HPOS.
a3c8776451ce Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14215
diff changeset
157 (HPOS is not used in when the X toolkit is in use.)
a3c8776451ce Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14215
diff changeset
158 There are four additional elements of nil at the end, to terminate. */
2148
9b8040c3f320 (FRAME_MENU_BAR_ITEMS): New macro (two versions).
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
159 Lisp_Object menu_bar_items;
9b8040c3f320 (FRAME_MENU_BAR_ITEMS): New macro (two versions).
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
160
2396
80bed5e0c8aa (struct frame): New field face_alist.
Richard M. Stallman <rms@gnu.org>
parents: 2252
diff changeset
161 /* Alist of elements (FACE-NAME . FACE-VECTOR-DATA). */
80bed5e0c8aa (struct frame): New field face_alist.
Richard M. Stallman <rms@gnu.org>
parents: 2252
diff changeset
162 Lisp_Object face_alist;
80bed5e0c8aa (struct frame): New field face_alist.
Richard M. Stallman <rms@gnu.org>
parents: 2252
diff changeset
163
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
164 /* A vector that records the entire structure of this frame's menu bar.
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
165 For the format of the data, see extensive comments in xmenu.c.
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
166 Only the X toolkit version uses this. */
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
167 Lisp_Object menu_bar_vector;
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
168
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
169 /* Predicate for selecting buffers for other-buffer. */
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
170 Lisp_Object buffer_predicate;
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
171
17222
60053e19d485 (struct frame): New field buffer_list.
Richard M. Stallman <rms@gnu.org>
parents: 17033
diff changeset
172 /* List of buffers viewed in this frame, for other-buffer. */
60053e19d485 (struct frame): New field buffer_list.
Richard M. Stallman <rms@gnu.org>
parents: 17033
diff changeset
173 Lisp_Object buffer_list;
60053e19d485 (struct frame): New field buffer_list.
Richard M. Stallman <rms@gnu.org>
parents: 17033
diff changeset
174
83415
d2c799f58129 Implement full support for frame-local `next-buffer' and `previous-buffer'.
Karoly Lorentey <lorentey@elte.hu>
parents: 83364
diff changeset
175 /* List of buffers that were viewed, then buried in this frame. The
d2c799f58129 Implement full support for frame-local `next-buffer' and `previous-buffer'.
Karoly Lorentey <lorentey@elte.hu>
parents: 83364
diff changeset
176 most recently buried buffer is first. For last-buffer. */
d2c799f58129 Implement full support for frame-local `next-buffer' and `previous-buffer'.
Karoly Lorentey <lorentey@elte.hu>
parents: 83364
diff changeset
177 Lisp_Object buried_buffer_list;
85032
2cdd862c6b0f *** empty log message ***
Juanma Barranquero <lekktu@gmail.com>
parents: 85026
diff changeset
178
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
179 /* A dummy window used to display menu bars under X when no X
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
180 toolkit support is available. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
181 Lisp_Object menu_bar_window;
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
182
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
183 /* A window used to display the tool-bar of a frame. */
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
184 Lisp_Object tool_bar_window;
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
185
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
186 /* Desired and current tool-bar items. */
33759
593bc303c500 (struct frame): Members desired_tool_bar_items,
Gerd Moellmann <gerd@gnu.org>
parents: 32752
diff changeset
187 Lisp_Object tool_bar_items;
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
188
109581
06384b3caebf Add ability to put Gtk+ tool bar on the left/right/bottom or top. Default top.
Jan D. <jan.h.d@swipnet.se>
parents: 109576
diff changeset
189 /* Where tool bar is, can be left, right, top or bottom. The native
06384b3caebf Add ability to put Gtk+ tool bar on the left/right/bottom or top. Default top.
Jan D. <jan.h.d@swipnet.se>
parents: 109576
diff changeset
190 tool bar only supports top. */
06384b3caebf Add ability to put Gtk+ tool bar on the left/right/bottom or top. Default top.
Jan D. <jan.h.d@swipnet.se>
parents: 109576
diff changeset
191 Lisp_Object tool_bar_position;
06384b3caebf Add ability to put Gtk+ tool bar on the left/right/bottom or top. Default top.
Jan D. <jan.h.d@swipnet.se>
parents: 109576
diff changeset
192
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
193 /* Desired and current contents displayed in tool_bar_window. */
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
194 Lisp_Object desired_tool_bar_string, current_tool_bar_string;
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
195
85032
2cdd862c6b0f *** empty log message ***
Juanma Barranquero <lekktu@gmail.com>
parents: 85026
diff changeset
196 /* Beyond here, there should be no more Lisp_Object components. */
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
197
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
198 /* Cache of realized faces. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
199 struct face_cache *face_cache;
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
200
85026
09975f2063bd (struct frame): Don't try to GC-mark menu_bar_items_used.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 85022
diff changeset
201 /* Number of elements in `menu_bar_vector' that have meaningful data. */
09975f2063bd (struct frame): Don't try to GC-mark menu_bar_items_used.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 85022
diff changeset
202 EMACS_INT menu_bar_items_used;
09975f2063bd (struct frame): Don't try to GC-mark menu_bar_items_used.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 85022
diff changeset
203
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
204 /* A buffer to hold the frame's name. We can't use the Lisp
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
205 string's pointer (`name', above) because it might get relocated. */
11493
7a15a07093c2 (struct frame): New member namebuf.
Karl Heuer <kwzh@gnu.org>
parents: 11351
diff changeset
206 char *namebuf;
7a15a07093c2 (struct frame): New member namebuf.
Karl Heuer <kwzh@gnu.org>
parents: 11351
diff changeset
207
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
208 /* Glyph pool and matrix. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
209 struct glyph_pool *current_pool;
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
210 struct glyph_pool *desired_pool;
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
211 struct glyph_matrix *desired_matrix;
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
212 struct glyph_matrix *current_matrix;
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
213
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
214 /* 1 means that glyphs on this frame have been initialized so it can
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
215 be used for output. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
216 unsigned glyphs_initialized_p : 1;
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
217
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
218 /* Set to non-zero in change_frame_size when size of frame changed
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
219 Clear the frame in clear_garbaged_frames if set. */
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
220 unsigned resized_p : 1;
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
221
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
222 /* Set to non-zero in when we want for force a flush_display in
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
223 update_frame, usually after resizing the frame. */
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
224 unsigned force_flush_display_p : 1;
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
225
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
226 /* Set to non-zero if the default face for the frame has been
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
227 realized. Reset to zero whenever the default face changes.
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
228 Used to see the difference between a font change and face change. */
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
229 unsigned default_face_done_p : 1;
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
230
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
231 /* Set to non-zero if this frame has already been hscrolled during
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
232 current redisplay. */
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
233 unsigned already_hscrolled_p : 1;
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
234
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
235 /* Set to non-zero when current redisplay has updated frame. */
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
236 unsigned updated_p : 1;
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
237
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
238 /* Set to non-zero to minimize tool-bar height even when
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
239 auto-resize-tool-bar is set to grow-only. */
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
240 unsigned minimize_tool_bar_window_p : 1;
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
241
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96759
diff changeset
242 #if defined (USE_GTK) || defined (HAVE_NS)
49322
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
243 /* Nonzero means using a tool bar that comes from the toolkit. */
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
244 int external_tool_bar;
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
245 #endif
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
246
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
247 /* Margin at the top of the frame. Used to display the tool-bar. */
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
248 int tool_bar_lines;
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
249
69241
d34c25a166bd (struct frame): New member n_tool_bar_rows.
Kim F. Storm <storm@cua.dk>
parents: 68651
diff changeset
250 int n_tool_bar_rows;
33759
593bc303c500 (struct frame): Members desired_tool_bar_items,
Gerd Moellmann <gerd@gnu.org>
parents: 32752
diff changeset
251 int n_tool_bar_items;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
252
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
253 /* A buffer for decode_mode_line. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
254 char *decode_mode_spec_buffer;
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
255
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
256 /* See do_line_insertion_deletion_costs for info on these arrays. */
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
257 /* Cost of inserting 1 line on this frame */
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
258 int *insert_line_cost;
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
259 /* Cost of deleting 1 line on this frame */
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
260 int *delete_line_cost;
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
261 /* Cost of inserting n lines on this frame */
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
262 int *insert_n_lines_cost;
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
263 /* Cost of deleting n lines on this frame */
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
264 int *delete_n_lines_cost;
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
265
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
266 /* Size of this frame, excluding fringes, scroll bars etc.,
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
267 in units of canonical characters. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
268 EMACS_INT text_lines, text_cols;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
269
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
270 /* Total size of this frame (i.e. its native window), in units of
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
271 canonical characters. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
272 EMACS_INT total_lines, total_cols;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
273
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
274 /* New text height and width for pending size change.
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
275 0 if no change pending. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
276 int new_text_lines, new_text_cols;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
277
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
278 /* Pixel position of the frame window (x and y offsets in root window). */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
279 int left_pos, top_pos;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
280
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
281 /* Size of the frame window in pixels. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
282 int pixel_height, pixel_width;
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
283
90411
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
284 /* Dots per inch of the screen the frame is on. */
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
285 double resx, resy;
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
286
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
287 /* These many pixels are the difference between the outer window (i.e. the
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
288 left and top of the window manager decoration) and FRAME_X_WINDOW. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
289 int x_pixels_diff, y_pixels_diff;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
290
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
291 /* This is the gravity value for the specified window position. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
292 int win_gravity;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
293
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
294 /* The geometry flags for this window. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
295 int size_hint_flags;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
296
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
297 /* Border width of the frame window as known by the (X) window system. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
298 int border_width;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
299
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
300 /* Width of the internal border. This is a line of background color
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
301 just inside the window's border. When the frame is selected,
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
302 a highlighting is displayed inside the internal border. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
303 int internal_border_width;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
304
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
305 /* Canonical X unit. Width of default font, in pixels. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
306 int column_width;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
307
110987
cda2045a5ee8 Fix typos in docstrings, comments and ChangeLogs.
Juanma Barranquero <lekktu@gmail.com>
parents: 107928
diff changeset
308 /* Width of space glyph of default font, in pixels. */
59203
3573aee81cc8 (struct frame): New member space_width.
Kenichi Handa <handa@m17n.org>
parents: 53883
diff changeset
309 int space_width;
3573aee81cc8 (struct frame): New member space_width.
Kenichi Handa <handa@m17n.org>
parents: 53883
diff changeset
310
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
311 /* Canonical Y unit. Height of a line, in pixels. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
312 int line_height;
10208
9e8f603bcff4 (struct frame): New field buffer_predicate.
Richard M. Stallman <rms@gnu.org>
parents: 10120
diff changeset
313
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
314 /* The output method says how the contents of this frame are
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
315 displayed. It could be using termcap, or using an X window.
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83427
diff changeset
316 This must be the same as the terminal->type. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
317 enum output_method output_method;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
318
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83427
diff changeset
319 /* The terminal device that this frame uses. If this is NULL, then
83342
9216636c02fc Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83332
diff changeset
320 the frame has been deleted. */
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83427
diff changeset
321 struct terminal *terminal;
85032
2cdd862c6b0f *** empty log message ***
Juanma Barranquero <lekktu@gmail.com>
parents: 85026
diff changeset
322
83342
9216636c02fc Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83332
diff changeset
323 /* Device-dependent, frame-local auxiliary data used for displaying
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
324 the contents. When the frame is deleted, this data is deleted as
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
325 well. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
326 union output_data
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
327 {
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
328 struct tty_output *tty; /* termchar.h */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
329 struct x_output *x; /* xterm.h */
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
330 struct w32_output *w32; /* w32term.h */
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
331 struct ns_output *ns; /* nsterm.h */
31900
8b2fa657800d (struct frame): Make the `nothing' member of union
Gerd Moellmann <gerd@gnu.org>
parents: 31147
diff changeset
332 EMACS_INT nothing;
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
333 }
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
334 output_data;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
335
90411
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
336 /* List of font-drivers available on the frame. */
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
337 struct font_driver_list *font_driver_list;
91113
1b739acb7b7c (struct frame): New member font_data_list.
Kenichi Handa <handa@m17n.org>
parents: 91073
diff changeset
338 /* List of data specific to font-driver and frame, but common to
1b739acb7b7c (struct frame): New member font_data_list.
Kenichi Handa <handa@m17n.org>
parents: 91073
diff changeset
339 faces. */
1b739acb7b7c (struct frame): New member font_data_list.
Kenichi Handa <handa@m17n.org>
parents: 91073
diff changeset
340 struct font_data_list *font_data_list;
90411
508480e70e4a (struct frame): New members resx and resy.
Kenichi Handa <handa@m17n.org>
parents: 90341
diff changeset
341
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
342 /* Total width of fringes reserved for drawing truncation bitmaps,
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
343 continuation bitmaps and alike. The width is in canonical char
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
344 units of the frame. This must currently be the case because window
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
345 sizes aren't pixel values. If it weren't the case, we wouldn't be
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
346 able to split windows horizontally nicely. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
347 int fringe_cols;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
348
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
349 /* The extra width (in pixels) currently allotted for fringes. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
350 int left_fringe_width, right_fringe_width;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
351
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
352 /* See FULLSCREEN_ enum below */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
353 enum fullscreen_type want_fullscreen;
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
354
2148
9b8040c3f320 (FRAME_MENU_BAR_ITEMS): New macro (two versions).
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
355 /* Number of lines of menu bar. */
9b8040c3f320 (FRAME_MENU_BAR_ITEMS): New macro (two versions).
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
356 int menu_bar_lines;
9b8040c3f320 (FRAME_MENU_BAR_ITEMS): New macro (two versions).
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
357
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96759
diff changeset
358 #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
359 || defined (HAVE_NS) || defined (USE_GTK)
5657
ac0f9da25111 (struct frame): New field external_menu_bar.
Richard M. Stallman <rms@gnu.org>
parents: 3649
diff changeset
360 /* Nonzero means using a menu bar that comes from the X toolkit. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
361 unsigned int external_menu_bar : 1;
5657
ac0f9da25111 (struct frame): New field external_menu_bar.
Richard M. Stallman <rms@gnu.org>
parents: 3649
diff changeset
362 #endif
ac0f9da25111 (struct frame): New field external_menu_bar.
Richard M. Stallman <rms@gnu.org>
parents: 3649
diff changeset
363
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
364 /* Nonzero if last attempt at redisplay on this frame was preempted. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
365 unsigned char display_preempted : 1;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
366
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
367 /* visible is nonzero if the frame is currently displayed; we check
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
368 it to see if we should bother updating the frame's contents.
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
369 DON'T SET IT DIRECTLY; instead, use FRAME_SET_VISIBLE.
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
370
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
371 Note that, since invisible frames aren't updated, whenever a
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
372 frame becomes visible again, it must be marked as garbaged. The
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
373 FRAME_SAMPLE_VISIBILITY macro takes care of this.
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
374
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
375 On ttys and on Windows NT/9X, to avoid wasting effort updating
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
376 visible frames that are actually completely obscured by other
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
377 windows on the display, we bend the meaning of visible slightly:
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
378 if greater than 1, then the frame is obscured - we still consider
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
379 it to be "visible" as seen from lisp, but we don't bother
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
380 updating it. We must take care to garbage the frame when it
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
381 ceaces to be obscured though.
19696
dc5e4b1ce93c (FRAME_OBSCURED_P): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 17222
diff changeset
382
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
383 iconified is nonzero if the frame is currently iconified.
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
384
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
385 Asynchronous input handlers should NOT change these directly;
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
386 instead, they should change async_visible or async_iconified, and
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
387 let the FRAME_SAMPLE_VISIBILITY macro set visible and iconified
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
388 at the next redisplay.
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
389
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
390 These should probably be considered read-only by everyone except
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
391 FRAME_SAMPLE_VISIBILITY.
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
392
6183
242d3fed9285 Fix typo in comment.
Karl Heuer <kwzh@gnu.org>
parents: 5657
diff changeset
393 These two are mutually exclusive. They might both be zero, if the
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
394 frame has been made invisible without an icon. */
93667
f8942531c106 (struct frame): Give one more bit to `visible' since we use
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 93325
diff changeset
395 unsigned char visible : 2;
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
396 unsigned char iconified : 1;
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
397
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
398 /* Let's not use bitfields for volatile variables. */
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
399
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
400 /* Asynchronous input handlers change these, and
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
401 FRAME_SAMPLE_VISIBILITY copies them into visible and iconified.
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
402 See FRAME_SAMPLE_VISIBILITY, below. */
29439
b5e905b3b506 (struct frame): Use volatile unconditionally.
Dave Love <fx@gnu.org>
parents: 28691
diff changeset
403 volatile char async_visible, async_iconified;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
404
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
405 /* Nonzero if this frame should be redrawn. */
29439
b5e905b3b506 (struct frame): Use volatile unconditionally.
Dave Love <fx@gnu.org>
parents: 28691
diff changeset
406 volatile char garbaged;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
407
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
408 /* True if frame actually has a minibuffer window on it.
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
409 0 if using a minibuffer window that isn't on this frame. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
410 unsigned char has_minibuffer : 1;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
411
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
412 /* 0 means, if this frame has just one window,
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
413 show no modeline for that window. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
414 unsigned char wants_modeline : 1;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
415
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
416 /* Non-zero if the hardware device this frame is displaying on can
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
417 support scroll bars. */
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
418 char can_have_scroll_bars;
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
419
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
420 /* Non-0 means raise this frame to the top of the heap when selected. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
421 unsigned char auto_raise : 1;
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
422
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
423 /* Non-0 means lower this frame to the bottom of the stack when left. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
424 unsigned char auto_lower : 1;
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
425
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
426 /* True if frame's root window can't be split. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
427 unsigned char no_split : 1;
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
428
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
429 /* If this is set, then Emacs won't change the frame name to indicate
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
430 the current buffer, etcetera. If the user explicitly sets the frame
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
431 name, this gets set. If the user sets the name to Qnil, this is
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
432 cleared. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
433 unsigned char explicit_name : 1;
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
434
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
435 /* Nonzero if size of some window on this frame has changed. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
436 unsigned char window_sizes_changed : 1;
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
437
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
438 /* Nonzero if the mouse has moved on this display device
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
439 since the last time we checked. */
93325
38e4e1858d46 (enum fullscreen_type): Give it a name. Move it before use.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 92109
diff changeset
440 unsigned char mouse_moved :1;
85682
919974c09488 (struct frame): Move all bit fields after the first bit
Dan Nicolaescu <dann@ics.uci.edu>
parents: 85614
diff changeset
441
103704
6a4e411bd83b * xterm.h (struct x_display_info): Add invisible_cursor.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103676
diff changeset
442 /* Nonzero means that the pointer is invisible. */
6a4e411bd83b * xterm.h (struct x_display_info): Add invisible_cursor.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103676
diff changeset
443 unsigned char pointer_invisible :1;
6a4e411bd83b * xterm.h (struct x_display_info): Add invisible_cursor.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103676
diff changeset
444
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
445 /* If can_have_scroll_bars is non-zero, this is non-zero if we should
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
446 actually display them on this frame. */
16270
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
447 enum vertical_scroll_bar_type vertical_scroll_bar_type;
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
448
47133
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
449 /* What kind of text cursor should we draw in the future?
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
450 This should always be filled_box_cursor or bar_cursor. */
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
451 enum text_cursor_kinds desired_cursor;
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
452
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
453 /* Width of bar cursor (if we are using that). */
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
454 int cursor_width;
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
455
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
456 /* What kind of text cursor should we draw when the cursor blinks off?
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
457 This can be filled_box_cursor or bar_cursor or no_cursor. */
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
458 enum text_cursor_kinds blink_off_cursor;
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
459
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
460 /* Width of bar cursor (if we are using that) for blink-off state. */
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
461 int blink_off_cursor_width;
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
462
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
463 /* Storage for messages to this frame. */
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
464 char *message_buf;
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
465
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
466 /* Nonnegative if current redisplay should not do scroll computation
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
467 for lines beyond a certain vpos. This is the vpos. */
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
468 int scroll_bottom_vpos;
7094
b473ea5a3473 (struct frame): New fields menu_bar_vector and menu_bar_items_used.
Richard M. Stallman <rms@gnu.org>
parents: 6183
diff changeset
469
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
470 /* Configured width of the scroll bar, in pixels and in characters.
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
471 config_scroll_bar_cols tracks config_scroll_bar_width if the
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
472 latter is positive; a zero value in config_scroll_bar_width means
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
473 to compute the actual width on the fly, using config_scroll_bar_cols
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
474 and the current font width. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
475 int config_scroll_bar_width;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
476 int config_scroll_bar_cols;
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
477
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
478 /* The size of the extra width currently allotted for vertical
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
479 scroll bars in this frame, in pixels. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
480 int scroll_bar_actual_width;
10120
8b5ae8d2eefc (struct frame): New field cost_calculation_baud_rate.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
481
8b5ae8d2eefc (struct frame): New field cost_calculation_baud_rate.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
482 /* The baud rate that was used to calculate costs for this frame. */
8b5ae8d2eefc (struct frame): New field cost_calculation_baud_rate.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
483 int cost_calculation_baud_rate;
12543
13aa3e939a4d (struct frame): New field `mouse_moved'.
Karl Heuer <kwzh@gnu.org>
parents: 12274
diff changeset
484
98231
05d5848d935c * frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97141
diff changeset
485 /* frame opacity
05d5848d935c * frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97141
diff changeset
486 alpha[0]: alpha transparency of the active frame
99510
a6f3b375799a Negative alpha means "don't touch".
Chong Yidong <cyd@stupidchicken.com>
parents: 98231
diff changeset
487 alpha[1]: alpha transparency of inactive frames
a6f3b375799a Negative alpha means "don't touch".
Chong Yidong <cyd@stupidchicken.com>
parents: 98231
diff changeset
488 Negative values mean not to change alpha. */
98231
05d5848d935c * frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97141
diff changeset
489 double alpha[2];
05d5848d935c * frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97141
diff changeset
490
25527
93b2f5b92137 (struct frame): New member `gamma'.
Gerd Moellmann <gerd@gnu.org>
parents: 25524
diff changeset
491 /* Exponent for gamma correction of colors. 1/(VIEWING_GAMMA *
93b2f5b92137 (struct frame): New member `gamma'.
Gerd Moellmann <gerd@gnu.org>
parents: 25524
diff changeset
492 SCREEN_GAMMA) where viewing_gamma is 0.4545 and SCREEN_GAMMA is a
93b2f5b92137 (struct frame): New member `gamma'.
Gerd Moellmann <gerd@gnu.org>
parents: 25524
diff changeset
493 frame parameter. 0 means don't do gamma correction. */
93b2f5b92137 (struct frame): New member `gamma'.
Gerd Moellmann <gerd@gnu.org>
parents: 25524
diff changeset
494 double gamma;
28691
26fdeb2124f0 (struct frame): Add member extra_line_spacing.
Gerd Moellmann <gerd@gnu.org>
parents: 28651
diff changeset
495
26fdeb2124f0 (struct frame): Add member extra_line_spacing.
Gerd Moellmann <gerd@gnu.org>
parents: 28651
diff changeset
496 /* Additional space to put between text lines on this frame. */
26fdeb2124f0 (struct frame): Add member extra_line_spacing.
Gerd Moellmann <gerd@gnu.org>
parents: 28651
diff changeset
497 int extra_line_spacing;
40511
35857e7683d8 (struct frame) <resized_p>: New member.
Gerd Moellmann <gerd@gnu.org>
parents: 35803
diff changeset
498
82989
f3845715a5f6 Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
499 /* All display backends seem to need these two pixel values. */
f3845715a5f6 Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
500 unsigned long background_pixel;
f3845715a5f6 Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
501 unsigned long foreground_pixel;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
502 };
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83427
diff changeset
504 #define FRAME_KBOARD(f) ((f)->terminal->kboard)
11005
3155b56586e9 (struct frame): New member kboard.
Karl Heuer <kwzh@gnu.org>
parents: 10665
diff changeset
505
92109
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 91732
diff changeset
506 /* Return a pointer to the image cache of frame F. */
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 91732
diff changeset
507 #define FRAME_IMAGE_CACHE(F) ((F)->terminal->image_cache)
4d9fc08769fa Consolidate the image_cache to the terminal struct.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 91732
diff changeset
508
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
509 typedef struct frame *FRAME_PTR;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
510
90970
3371fc48749b Replace uses of GC_* macros with the non-GC_ versions.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 90951
diff changeset
511 #define XFRAME(p) (eassert (FRAMEP(p)),(struct frame *) XPNTR (p))
10288
e4a6f55757a9 (XSETFRAME): Use pseudovector.
Richard M. Stallman <rms@gnu.org>
parents: 10208
diff changeset
512 #define XSETFRAME(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_FRAME))
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
513
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
514 /* Given a window, return its frame as a Lisp_Object. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
515 #define WINDOW_FRAME(w) (w)->frame
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
516
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
517 /* Test a frame for particular kinds of display methods. */
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
518 #define FRAME_INITIAL_P(f) ((f)->output_method == output_initial)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
519 #define FRAME_TERMCAP_P(f) ((f)->output_method == output_termcap)
13411
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
520 #define FRAME_X_P(f) ((f)->output_method == output_x_window)
16588
481b7874a1e9 Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16429
diff changeset
521 #define FRAME_W32_P(f) ((f)->output_method == output_w32)
15390
d01198d2bc40 (FRAME_MSDOS_P): A new macro for MSDOS frames.
Richard M. Stallman <rms@gnu.org>
parents: 15098
diff changeset
522 #define FRAME_MSDOS_P(f) ((f)->output_method == output_msdos_raw)
25524
095548b9a36c Do nothing if included a second time.
Richard M. Stallman <rms@gnu.org>
parents: 25460
diff changeset
523 #define FRAME_MAC_P(f) ((f)->output_method == output_mac)
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
524 #define FRAME_NS_P(f) ((f)->output_method == output_ns)
13411
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
525
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
526 /* FRAME_WINDOW_P tests whether the frame is a window, and is
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
527 defined to be the predicate for the window system being used. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
528
13411
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
529 #ifdef HAVE_X_WINDOWS
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
530 #define FRAME_WINDOW_P(f) FRAME_X_P (f)
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
531 #endif
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
532 #ifdef HAVE_NTGUI
16588
481b7874a1e9 Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16429
diff changeset
533 #define FRAME_WINDOW_P(f) FRAME_W32_P (f)
13411
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
534 #endif
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
535 #ifdef HAVE_NS
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
536 #define FRAME_WINDOW_P(f) FRAME_NS_P(f)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
537 #endif
13568
01ec2620dd87 (FRAME_WINDOW_P): Always define it one way or another.
Richard M. Stallman <rms@gnu.org>
parents: 13411
diff changeset
538 #ifndef FRAME_WINDOW_P
01ec2620dd87 (FRAME_WINDOW_P): Always define it one way or another.
Richard M. Stallman <rms@gnu.org>
parents: 13411
diff changeset
539 #define FRAME_WINDOW_P(f) (0)
01ec2620dd87 (FRAME_WINDOW_P): Always define it one way or another.
Richard M. Stallman <rms@gnu.org>
parents: 13411
diff changeset
540 #endif
13411
58efb2561888 (output_method): New method: output_win32.
Geoff Voelker <voelker@cs.washington.edu>
parents: 12665
diff changeset
541
111340
2186ab0af4a5 Start redesigning portable mouse highlight. Not compiled.
Eli Zaretskii <eliz@gnu.org>
parents: 110561
diff changeset
542 /* Return a pointer to the structure holding information about the
2186ab0af4a5 Start redesigning portable mouse highlight. Not compiled.
Eli Zaretskii <eliz@gnu.org>
parents: 110561
diff changeset
543 region of text, if any, that is currently shown in mouse-face on
111346
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
544 frame F. We need to define two versions because a TTY-only build
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
545 does not have FRAME_X_DISPLAY_INFO. */
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
546 #ifdef HAVE_WINDOW_SYSTEM
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
547 # define MOUSE_HL_INFO(F) \
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
548 (FRAME_WINDOW_P(F) \
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
549 ? &(FRAME_X_DISPLAY_INFO(F)->mouse_highlight) \
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
550 : &(((F)->output_data.tty->display_info)->mouse_highlight))
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
551 #else
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
552 # define MOUSE_HL_INFO(F) \
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
553 (&(((F)->output_data.tty->display_info)->mouse_highlight))
2d0c056a50d8 Fix unified mouse highlight after compiling on Unix.
Eli Zaretskii <eliz@gnu.org>
parents: 111345
diff changeset
554 #endif
111340
2186ab0af4a5 Start redesigning portable mouse highlight. Not compiled.
Eli Zaretskii <eliz@gnu.org>
parents: 110561
diff changeset
555
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
556 /* Nonzero if frame F is still alive (not deleted). */
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83427
diff changeset
557 #define FRAME_LIVE_P(f) ((f)->terminal != 0)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
558
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
559 /* Nonzero if frame F is a minibuffer-only frame. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
560 #define FRAME_MINIBUF_ONLY_P(f) \
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
561 EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f))
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
562
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
563 /* Nonzero if frame F contains a minibuffer window.
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
564 (If this is 0, F must use some other minibuffer window.) */
979
268c7b5da35b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 765
diff changeset
565 #define FRAME_HAS_MINIBUF_P(f) ((f)->has_minibuffer)
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
566
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
567 /* Pixel height of frame F, including non-toolkit menu bar and
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
568 non-toolkit tool bar lines. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
569 #define FRAME_PIXEL_HEIGHT(f) ((f)->pixel_height)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
570
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
571 /* Pixel width of frame F. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
572 #define FRAME_PIXEL_WIDTH(f) ((f)->pixel_width)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
573
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
574 /* Height of frame F, measured in canonical lines, including
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
575 non-toolkit menu bar and non-toolkit tool bar lines. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
576 #define FRAME_LINES(f) (f)->text_lines
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
577
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
578 /* Width of frame F, measured in canonical character columns,
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
579 not including scroll bars if any. */
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
580 #define FRAME_COLS(f) (f)->text_cols
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
581
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
582 /* Number of lines of frame F used for menu bar.
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
583 This is relevant on terminal frames and on
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
584 X Windows when not using the X toolkit.
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
585 These lines are counted in FRAME_LINES. */
2148
9b8040c3f320 (FRAME_MENU_BAR_ITEMS): New macro (two versions).
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
586 #define FRAME_MENU_BAR_LINES(f) (f)->menu_bar_lines
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
587
49322
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
588 /* Nonzero if this frame should display a tool bar
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
589 in a way that does not use any text lines. */
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96759
diff changeset
590 #if defined (USE_GTK) || defined (HAVE_NS)
49322
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
591 #define FRAME_EXTERNAL_TOOL_BAR(f) (f)->external_tool_bar
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
592 #else
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
593 #define FRAME_EXTERNAL_TOOL_BAR(f) 0
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
594 #endif
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
595
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
596 /* Number of lines of frame F used for the tool-bar. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
597
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
598 #define FRAME_TOOL_BAR_LINES(f) (f)->tool_bar_lines
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
599
49322
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 48321
diff changeset
600
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
601 /* Lines above the top-most window in frame F. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
602
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
603 #define FRAME_TOP_MARGIN(F) \
25544
693ca9ba497a Change spelling of `toolbar' to `tool_bar' or `tool-bar'.
Gerd Moellmann <gerd@gnu.org>
parents: 25527
diff changeset
604 (FRAME_MENU_BAR_LINES (F) + FRAME_TOOL_BAR_LINES (F))
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
605
106768
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
606 /* Pixel height of the top margin above. */
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
607
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
608 #define FRAME_TOP_MARGIN_HEIGHT(f) \
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
609 (FRAME_TOP_MARGIN (f) * FRAME_LINE_HEIGHT (f))
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
610
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
611 /* Nonzero if this frame should display a menu bar
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
612 in a way that does not use any text lines. */
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96759
diff changeset
613 #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
614 || defined (HAVE_NS) || defined (USE_GTK)
5657
ac0f9da25111 (struct frame): New field external_menu_bar.
Richard M. Stallman <rms@gnu.org>
parents: 3649
diff changeset
615 #define FRAME_EXTERNAL_MENU_BAR(f) (f)->external_menu_bar
8233
5b063488f2f8 (FRAME_EXTERNAL_MENU_BAR) [!USE_X_TOOLKIT]: Give zero.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
616 #else
5b063488f2f8 (FRAME_EXTERNAL_MENU_BAR) [!USE_X_TOOLKIT]: Give zero.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
617 #define FRAME_EXTERNAL_MENU_BAR(f) 0
5b063488f2f8 (FRAME_EXTERNAL_MENU_BAR) [!USE_X_TOOLKIT]: Give zero.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
618 #endif
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
619 #define FRAME_VISIBLE_P(f) ((f)->visible != 0)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
620
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
621 /* Nonzero if frame F is currently visible but hidden. */
19696
dc5e4b1ce93c (FRAME_OBSCURED_P): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 17222
diff changeset
622 #define FRAME_OBSCURED_P(f) ((f)->visible > 1)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
623
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
624 /* Nonzero if frame F is currently iconified. */
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
625 #define FRAME_ICONIFIED_P(f) (f)->iconified
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
626
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
627 #define FRAME_SET_VISIBLE(f,p) \
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
628 ((f)->async_visible = (p), FRAME_SAMPLE_VISIBILITY (f))
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
629 #define SET_FRAME_GARBAGED(f) (frame_garbaged = 1, f->garbaged = 1)
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
630 #define FRAME_GARBAGED_P(f) (f)->garbaged
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
631
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
632 /* Nonzero means do not allow splitting this frame's window. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
633 #define FRAME_NO_SPLIT_P(f) (f)->no_split
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
634
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
635 /* Not really implemented. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
636 #define FRAME_WANTS_MODELINE_P(f) (f)->wants_modeline
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
637
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
638 /* Nonzero if a size change has been requested for frame F
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
639 but not yet really put into effect. This can be true temporarily
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
640 when an X event comes in at a bad time. */
10665
4e7da2fc451b (struct frame): New field window_sizes_changed.
Richard M. Stallman <rms@gnu.org>
parents: 10288
diff changeset
641 #define FRAME_WINDOW_SIZES_CHANGED(f) (f)->window_sizes_changed
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
642
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
643 /* The minibuffer window of frame F, if it has one; otherwise nil. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
644 #define FRAME_MINIBUF_WINDOW(f) (f)->minibuffer_window
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
645
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
646 /* The root window of the window tree of frame F. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
647 #define FRAME_ROOT_WINDOW(f) (f)->root_window
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
648
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
649 /* The currently selected window of the window tree of frame F. */
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
650 #define FRAME_SELECTED_WINDOW(f) (f)->selected_window
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
651
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
652 #define FRAME_INSERT_COST(f) (f)->insert_line_cost
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
653 #define FRAME_DELETE_COST(f) (f)->delete_line_cost
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
654 #define FRAME_INSERTN_COST(f) (f)->insert_n_lines_cost
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
655 #define FRAME_DELETEN_COST(f) (f)->delete_n_lines_cost
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
656 #define FRAME_MESSAGE_BUF(f) (f)->message_buf
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
657 #define FRAME_SCROLL_BOTTOM_VPOS(f) (f)->scroll_bottom_vpos
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
658 #define FRAME_FOCUS_FRAME(f) (f)->focus_frame
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
659
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
660 /* Nonzero if frame F supports scroll bars.
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
661 If this is zero, then it is impossible to enable scroll bars
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
662 on frame F. */
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
663 #define FRAME_CAN_HAVE_SCROLL_BARS(f) ((f)->can_have_scroll_bars)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
664
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
665 /* This frame slot says whether scroll bars are currently enabled for frame F,
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
666 and which side they are on. */
16270
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
667 #define FRAME_VERTICAL_SCROLL_BAR_TYPE(f) ((f)->vertical_scroll_bar_type)
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
668 #define FRAME_HAS_VERTICAL_SCROLL_BARS(f) \
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
669 ((f)->vertical_scroll_bar_type != vertical_scroll_bar_none)
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
670 #define FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT(f) \
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
671 ((f)->vertical_scroll_bar_type == vertical_scroll_bar_left)
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
672 #define FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT(f) \
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
673 ((f)->vertical_scroll_bar_type == vertical_scroll_bar_right)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
674
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
675 /* Width that a scroll bar in frame F should have, if there is one.
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
676 Measured in pixels.
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
677 If scroll bars are turned off, this is still nonzero. */
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
678 #define FRAME_CONFIG_SCROLL_BAR_WIDTH(f) ((f)->config_scroll_bar_width)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
679
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
680 /* Width that a scroll bar in frame F should have, if there is one.
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
681 Measured in columns (characters).
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
682 If scroll bars are turned off, this is still nonzero. */
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
683 #define FRAME_CONFIG_SCROLL_BAR_COLS(f) ((f)->config_scroll_bar_cols)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
684
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
685 /* Width of a scroll bar in frame F, measured in columns (characters),
35798
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
686 but only if scroll bars are on the left. If scroll bars are on
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
687 the right in this frame, or there are no scroll bars, value is 0. */
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
688
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
689 #define FRAME_LEFT_SCROLL_BAR_COLS(f) \
35798
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
690 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (f) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
691 ? FRAME_CONFIG_SCROLL_BAR_COLS (f) \
35798
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
692 : 0)
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
693
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
694 /* Width of a left scroll bar in frame F, measured in pixels */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
695
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
696 #define FRAME_LEFT_SCROLL_BAR_AREA_WIDTH(f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
697 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
698 ? (FRAME_CONFIG_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f)) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
699 : 0)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
700
35798
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
701 /* Width of a scroll bar in frame F, measured in columns (characters),
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
702 but only if scroll bars are on the right. If scroll bars are on
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
703 the left in this frame, or there are no scroll bars, value is 0. */
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
704
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
705 #define FRAME_RIGHT_SCROLL_BAR_COLS(f) \
35798
48534cd0de43 (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
Gerd Moellmann <gerd@gnu.org>
parents: 35446
diff changeset
706 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (f) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
707 ? FRAME_CONFIG_SCROLL_BAR_COLS (f) \
16270
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
708 : 0)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
709
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
710 /* Width of a right scroll bar area in frame F, measured in pixels */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
711
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
712 #define FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH(f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
713 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
714 ? (FRAME_CONFIG_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f)) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
715 : 0)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
716
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
717 /* Actual width of a scroll bar in frame F, measured in columns. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
718
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
719 #define FRAME_SCROLL_BAR_COLS(f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
720 (FRAME_HAS_VERTICAL_SCROLL_BARS (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
721 ? FRAME_CONFIG_SCROLL_BAR_COLS (f) \
16270
4547dae187e9 (vertical_scroll_bar_type): Add enumerated
Richard M. Stallman <rms@gnu.org>
parents: 16051
diff changeset
722 : 0)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
723
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
724 /* Actual width of a scroll bar area in frame F, measured in pixels. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
725
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
726 #define FRAME_SCROLL_BAR_AREA_WIDTH(f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
727 (FRAME_HAS_VERTICAL_SCROLL_BARS (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
728 ? (FRAME_CONFIG_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f)) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
729 : 0)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
730
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
731 /* Total width of frame F, in columns (characters),
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
732 including the width used by scroll bars if any. */
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
733
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
734 #define FRAME_TOTAL_COLS(f) ((f)->total_cols)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
735
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
736 /* Set the width of frame F to VAL.
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
737 VAL is the width of a full-frame window,
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
738 not including scroll bars and fringes. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
739
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
740 #define SET_FRAME_COLS(f, val) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
741 (FRAME_COLS (f) = (val), \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
742 (f)->total_cols = FRAME_TOTAL_COLS_ARG (f, FRAME_COLS (f)))
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
743
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
744 /* Given a value WIDTH for frame F's nominal width,
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
745 return the value that FRAME_TOTAL_COLS should have. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
746
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
747 #define FRAME_TOTAL_COLS_ARG(f, width) \
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
748 ((width) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
749 + FRAME_SCROLL_BAR_COLS (f) \
41121
2b74029038bd Fringe cleanup.
Kim F. Storm <storm@cua.dk>
parents: 40655
diff changeset
750 + FRAME_FRINGE_COLS (f))
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
751
21762
b2746acaa663 (FRAME_CURSOR_X_LIMIT): New macro.
Richard M. Stallman <rms@gnu.org>
parents: 21425
diff changeset
752 /* Maximum + 1 legitimate value for FRAME_CURSOR_X. */
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
753
21762
b2746acaa663 (FRAME_CURSOR_X_LIMIT): New macro.
Richard M. Stallman <rms@gnu.org>
parents: 21425
diff changeset
754 #define FRAME_CURSOR_X_LIMIT(f) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
755 (FRAME_COLS (f) + FRAME_LEFT_SCROLL_BAR_COLS (f))
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
756
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
757 /* Nonzero if frame F has scroll bars. */
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
758
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
759 #define FRAME_SCROLL_BARS(f) ((f)->scroll_bars)
21814
852655b4c6f9 Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 21762
diff changeset
760
1994
73ce9dd21093 Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents: 1821
diff changeset
761 #define FRAME_CONDEMNED_SCROLL_BARS(f) ((f)->condemned_scroll_bars)
2148
9b8040c3f320 (FRAME_MENU_BAR_ITEMS): New macro (two versions).
Richard M. Stallman <rms@gnu.org>
parents: 1994
diff changeset
762 #define FRAME_MENU_BAR_ITEMS(f) ((f)->menu_bar_items)
10120
8b5ae8d2eefc (struct frame): New field cost_calculation_baud_rate.
Richard M. Stallman <rms@gnu.org>
parents: 9572
diff changeset
763 #define FRAME_COST_BAUD_RATE(f) ((f)->cost_calculation_baud_rate)
17033
ffd6878cae02 (struct frame): New member `fontset_data'.
Karl Heuer <kwzh@gnu.org>
parents: 16588
diff changeset
764
47133
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
765 #define FRAME_DESIRED_CURSOR(f) ((f)->desired_cursor)
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
766 #define FRAME_BLINK_OFF_CURSOR(f) ((f)->blink_off_cursor)
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
767 #define FRAME_CURSOR_WIDTH(f) ((f)->cursor_width)
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
768 #define FRAME_BLINK_OFF_CURSOR_WIDTH(f) ((f)->blink_off_cursor_width)
85e238cd7287 (enum text_cursor_kinds): Consolidated here.
Kim F. Storm <storm@cua.dk>
parents: 44890
diff changeset
769
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
770 /* Return a pointer to the face cache of frame F. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
771
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
772 #define FRAME_FACE_CACHE(F) (F)->face_cache
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
773
17033
ffd6878cae02 (struct frame): New member `fontset_data'.
Karl Heuer <kwzh@gnu.org>
parents: 16588
diff changeset
774 /* Return the size of message_buf of the frame F. We multiply the
ffd6878cae02 (struct frame): New member `fontset_data'.
Karl Heuer <kwzh@gnu.org>
parents: 16588
diff changeset
775 width of the frame by 4 because multi-byte form may require at most
ffd6878cae02 (struct frame): New member `fontset_data'.
Karl Heuer <kwzh@gnu.org>
parents: 16588
diff changeset
776 4-byte for a character. */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
777
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
778 #define FRAME_MESSAGE_BUF_SIZE(f) (((int) FRAME_COLS (f)) * 4)
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
779
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
780 /* Emacs's redisplay code could become confused if a frame's
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
781 visibility changes at arbitrary times. For example, if a frame is
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
782 visible while the desired glyphs are being built, but becomes
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
783 invisible before they are updated, then some rows of the
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
784 desired_glyphs will be left marked as enabled after redisplay is
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
785 complete, which should never happen. The next time the frame
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
786 becomes visible, redisplay will probably barf.
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
787
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
788 Currently, there are no similar situations involving iconified, but
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
789 the principle is the same.
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
790
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
791 So instead of having asynchronous input handlers directly set and
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
792 clear the frame's visibility and iconification flags, they just set
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
793 the async_visible and async_iconified flags; the redisplay code
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
794 calls the FRAME_SAMPLE_VISIBILITY macro before doing any redisplay,
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
795 which sets visible and iconified from their asynchronous
1710
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
796 counterparts.
26054080a152 * frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents: 1653
diff changeset
797
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
798 Synchronous code must use the FRAME_SET_VISIBLE macro.
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
799
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
800 Also, if a frame used to be invisible, but has just become visible,
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
801 it must be marked as garbaged, since redisplay hasn't been keeping
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
802 up its contents.
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
803
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
804 Note that a tty frame is visible if and only if it is the topmost
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
805 frame. */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
806
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
807 #define FRAME_SAMPLE_VISIBILITY(f) \
19696
dc5e4b1ce93c (FRAME_OBSCURED_P): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 17222
diff changeset
808 (((f)->async_visible && (f)->visible != (f)->async_visible) ? \
dc5e4b1ce93c (FRAME_OBSCURED_P): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 17222
diff changeset
809 SET_FRAME_GARBAGED (f) : 0, \
1776
20c6f4aa5843 Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents: 1710
diff changeset
810 (f)->visible = (f)->async_visible, \
1653
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
811 (f)->iconified = (f)->async_iconified)
fd573317f468 * frame.h (struct frame): New fields called async_visible and
Jim Blandy <jimb@redhat.com>
parents: 998
diff changeset
812
71823
6b4b6ba02f17 (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE.
Kim F. Storm <storm@cua.dk>
parents: 69241
diff changeset
813 #define CHECK_FRAME(x) \
6b4b6ba02f17 (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE.
Kim F. Storm <storm@cua.dk>
parents: 69241
diff changeset
814 CHECK_TYPE (FRAMEP (x), Qframep, x)
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 385
diff changeset
815
71823
6b4b6ba02f17 (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE.
Kim F. Storm <storm@cua.dk>
parents: 69241
diff changeset
816 #define CHECK_LIVE_FRAME(x) \
6b4b6ba02f17 (CHECK_FRAME, CHECK_LIVE_FRAME): Use CHECK_TYPE.
Kim F. Storm <storm@cua.dk>
parents: 69241
diff changeset
817 CHECK_TYPE (FRAMEP (x) && FRAME_LIVE_P (XFRAME (x)), Qframe_live_p, x)
485
8c615e453683 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 385
diff changeset
818
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
819 /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
820 `for' loop which iterates over the elements of Vframe_list. The
2252
9793d8654e23 * frame.h (FOR_EACH_FRAME): Change the definition so that
Jim Blandy <jimb@redhat.com>
parents: 2199
diff changeset
821 loop will set FRAME_VAR, a Lisp_Object, to each frame in
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
822 Vframe_list in succession and execute the statement. LIST_VAR
2252
9793d8654e23 * frame.h (FOR_EACH_FRAME): Change the definition so that
Jim Blandy <jimb@redhat.com>
parents: 2199
diff changeset
823 should be a Lisp_Object too; it is used to iterate through the
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
824 Vframe_list.
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 485
diff changeset
825
16051
ccf489f8596e Removed support for !MULTI_FRAME.
Karl Heuer <kwzh@gnu.org>
parents: 15390
diff changeset
826 This macro is a holdover from a time when multiple frames weren't always
ccf489f8596e Removed support for !MULTI_FRAME.
Karl Heuer <kwzh@gnu.org>
parents: 15390
diff changeset
827 supported. An alternate definition of the macro would expand to
ccf489f8596e Removed support for !MULTI_FRAME.
Karl Heuer <kwzh@gnu.org>
parents: 15390
diff changeset
828 something which executes the statement once. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
829
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
830 #define FOR_EACH_FRAME(list_var, frame_var) \
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
831 for ((list_var) = Vframe_list; \
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 485
diff changeset
832 (CONSP (list_var) \
25638
d02186608877 (FOR_EACH_FRAME): Use XCAR and XCDR.
Ken Raeburn <raeburn@raeburn.org>
parents: 25544
diff changeset
833 && (frame_var = XCAR (list_var), 1)); \
d02186608877 (FOR_EACH_FRAME): Use XCAR and XCDR.
Ken Raeburn <raeburn@raeburn.org>
parents: 25544
diff changeset
834 list_var = XCDR (list_var))
732
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 485
diff changeset
835
a8d94735277e *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 485
diff changeset
836
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
837 extern Lisp_Object Qframep, Qframe_live_p;
83074
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83037
diff changeset
838 extern Lisp_Object Qtty, Qtty_type;
109576
faeb6f3341b1 Fix some stuff that didn't compile.
Jan D. <jan.h.d@swipnet.se>
parents: 109573
diff changeset
839 extern Lisp_Object Qtty_color_mode;
83431
76396de7f50a Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83427
diff changeset
840 extern Lisp_Object Qterminal, Qterminal_live_p;
91732
c33ec1f680a9 * frame.c (Qnoelisp): New symbol.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 91327
diff changeset
841 extern Lisp_Object Qnoelisp;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
842
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
843 extern struct frame *last_nonminibuf_frame;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
844
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
845 extern struct frame *make_initial_frame (void);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
846 extern struct frame *make_terminal_frame (struct terminal *);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
847 extern struct frame *make_frame (int);
21425
69491a9294a4 (make_frame_without_minibuffer): Conditionalize on HAVE_WINDOW_SYSTEM.
Richard M. Stallman <rms@gnu.org>
parents: 20316
diff changeset
848 #ifdef HAVE_WINDOW_SYSTEM
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
849 extern struct frame *make_minibuffer_frame (void);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
850 extern struct frame *make_frame_without_minibuffer (Lisp_Object,
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
851 struct kboard *,
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
852 Lisp_Object);
21425
69491a9294a4 (make_frame_without_minibuffer): Conditionalize on HAVE_WINDOW_SYSTEM.
Richard M. Stallman <rms@gnu.org>
parents: 20316
diff changeset
853 #endif /* HAVE_WINDOW_SYSTEM */
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
854 extern int other_visible_frames (struct frame *);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
855 extern void frame_make_pointer_invisible (void);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
856 extern void frame_make_pointer_visible (void);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
857 extern Lisp_Object delete_frame (Lisp_Object, Lisp_Object);
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
858
765
e4093444f9f8 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 732
diff changeset
859 extern Lisp_Object Vframe_list;
261
731afdb0842c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
860
25670
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
861 /* The currently selected frame. */
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
862
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
863 extern Lisp_Object selected_frame;
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
864
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
865 /* Value is a pointer to the selected frame. If the selected frame
29439
b5e905b3b506 (struct frame): Use volatile unconditionally.
Dave Love <fx@gnu.org>
parents: 28691
diff changeset
866 isn't live, abort. */
25670
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
867
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
868 #define SELECTED_FRAME() \
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
869 ((FRAMEP (selected_frame) \
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
870 && FRAME_LIVE_P (XFRAME (selected_frame))) \
728844445e1c (SELECTED_FRAME): New.
Gerd Moellmann <gerd@gnu.org>
parents: 25638
diff changeset
871 ? XFRAME (selected_frame) \
28651
2ce492de4cb9 (SELECTED_FRAME): Change definition to compile cleanly
Gerd Moellmann <gerd@gnu.org>
parents: 28417
diff changeset
872 : (abort (), (struct frame *) 0))
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
873
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
874
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
875 /***********************************************************************
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
876 Display-related Macros
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
877 ***********************************************************************/
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
878
64477
def523ae062b (struct frame): New member already_hscrolled_p.
Kim F. Storm <storm@cua.dk>
parents: 64084
diff changeset
879 /* Canonical y-unit on frame F.
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
880 This value currently equals the line height of the frame (which is
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
881 the height of the default font of F). */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
882
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
883 #define FRAME_LINE_HEIGHT(F) ((F)->line_height)
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
884
64477
def523ae062b (struct frame): New member already_hscrolled_p.
Kim F. Storm <storm@cua.dk>
parents: 64084
diff changeset
885 /* Canonical x-unit on frame F.
59203
3573aee81cc8 (struct frame): New member space_width.
Kenichi Handa <handa@m17n.org>
parents: 53883
diff changeset
886 This value currently equals the average width of the default font of F. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
887
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
888 #define FRAME_COLUMN_WIDTH(F) ((F)->column_width)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
889
59203
3573aee81cc8 (struct frame): New member space_width.
Kenichi Handa <handa@m17n.org>
parents: 53883
diff changeset
890 /* Space glyph width of the default font of frame F. */
3573aee81cc8 (struct frame): New member space_width.
Kenichi Handa <handa@m17n.org>
parents: 53883
diff changeset
891
3573aee81cc8 (struct frame): New member space_width.
Kenichi Handa <handa@m17n.org>
parents: 53883
diff changeset
892 #define FRAME_SPACE_WIDTH(F) ((F)->space_width)
3573aee81cc8 (struct frame): New member space_width.
Kenichi Handa <handa@m17n.org>
parents: 53883
diff changeset
893
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
894
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
895 /* Pixel width of areas used to display truncation marks, continuation
25460
8569b5f63527 (FRAME_WINDOW_WIDTH_ARG): Add in FRAME_FLAGS_AREA_COLS
Gerd Moellmann <gerd@gnu.org>
parents: 25029
diff changeset
896 marks, overlay arrows. This is 0 for terminal frames. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
897
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
898 #ifdef HAVE_WINDOW_SYSTEM
31147
a158ff61b113 (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
Gerd Moellmann <gerd@gnu.org>
parents: 29439
diff changeset
899
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
900 /* Total width of fringes reserved for drawing truncation bitmaps,
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
901 continuation bitmaps and alike. The width is in canonical char
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
902 units of the frame. This must currently be the case because window
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
903 sizes aren't pixel values. If it weren't the case, we wouldn't be
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
904 able to split windows horizontally nicely. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
905
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
906 #define FRAME_FRINGE_COLS(F) ((F)->fringe_cols)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
907
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
908 /* Pixel-width of the left and right fringe. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
909
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
910 #define FRAME_LEFT_FRINGE_WIDTH(F) ((F)->left_fringe_width)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
911 #define FRAME_RIGHT_FRINGE_WIDTH(F) ((F)->right_fringe_width)
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
912
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
913 /* Total width of fringes in pixels. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
914
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
915 #define FRAME_TOTAL_FRINGE_WIDTH(F) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
916 (FRAME_LEFT_FRINGE_WIDTH (F) + FRAME_RIGHT_FRINGE_WIDTH (F))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
917
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
918
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
919 /* Pixel-width of internal border lines */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
920
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
921 #define FRAME_INTERNAL_BORDER_WIDTH(F) ((F)->internal_border_width)
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
922
31147
a158ff61b113 (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
Gerd Moellmann <gerd@gnu.org>
parents: 29439
diff changeset
923 #else /* not HAVE_WINDOW_SYSTEM */
a158ff61b113 (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
Gerd Moellmann <gerd@gnu.org>
parents: 29439
diff changeset
924
41121
2b74029038bd Fringe cleanup.
Kim F. Storm <storm@cua.dk>
parents: 40655
diff changeset
925 #define FRAME_FRINGE_COLS(F) 0
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
926 #define FRAME_TOTAL_FRINGE_WIDTH(F) 0
41121
2b74029038bd Fringe cleanup.
Kim F. Storm <storm@cua.dk>
parents: 40655
diff changeset
927 #define FRAME_LEFT_FRINGE_WIDTH(F) 0
41717
6ca418a9510b (struct frame): Remove trunc_area_pixel_width and trunc_area_cols fields.
Kim F. Storm <storm@cua.dk>
parents: 41121
diff changeset
928 #define FRAME_RIGHT_FRINGE_WIDTH(F) 0
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
929 #define FRAME_INTERNAL_BORDER_WIDTH(F) 0
31147
a158ff61b113 (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
Gerd Moellmann <gerd@gnu.org>
parents: 29439
diff changeset
930
a158ff61b113 (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
Gerd Moellmann <gerd@gnu.org>
parents: 29439
diff changeset
931 #endif /* not HAVE_WINDOW_SYSTEM */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
932
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
933
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
934
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
935
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
936 /***********************************************************************
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
937 Conversion between canonical units and pixels
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
938 ***********************************************************************/
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
939
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
940 /* Canonical x-values are fractions of FRAME_COLUMN_WIDTH, canonical
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
941 y-unit are fractions of FRAME_LINE_HEIGHT of a frame. Both are
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
942 represented as Lisp numbers, i.e. integers or floats. */
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
943
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
944 /* Convert canonical value X to pixels. F is the frame whose
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
945 canonical char width is to be used. X must be a Lisp integer or
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
946 float. Value is a C integer. */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
947
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
948 #define FRAME_PIXEL_X_FROM_CANON_X(F, X) \
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
949 (INTEGERP (X) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
950 ? XINT (X) * FRAME_COLUMN_WIDTH (F) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
951 : (int) (XFLOAT_DATA (X) * FRAME_COLUMN_WIDTH (F)))
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
952
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
953 /* Convert canonical value Y to pixels. F is the frame whose
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
954 canonical character height is to be used. X must be a Lisp integer
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
955 or float. Value is a C integer. */
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
956
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
957 #define FRAME_PIXEL_Y_FROM_CANON_Y(F, Y) \
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
958 (INTEGERP (Y) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
959 ? XINT (Y) * FRAME_LINE_HEIGHT (F) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
960 : (int) (XFLOAT_DATA (Y) * FRAME_LINE_HEIGHT (F)))
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
961
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
962 /* Convert pixel-value X to canonical units. F is the frame whose
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
963 canonical character width is to be used. X is a C integer. Result
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
964 is a Lisp float if X is not a multiple of the canon width,
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
965 otherwise it's a Lisp integer. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
966
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
967 #define FRAME_CANON_X_FROM_PIXEL_X(F, X) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
968 ((X) % FRAME_COLUMN_WIDTH (F) != 0 \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
969 ? make_float ((double) (X) / FRAME_COLUMN_WIDTH (F)) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
970 : make_number ((X) / FRAME_COLUMN_WIDTH (F)))
25029
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
971
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
972 /* Convert pixel-value Y to canonical units. F is the frame whose
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
973 canonical character height is to be used. Y is a C integer.
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
974 Result is a Lisp float if Y is not a multiple of the canon width,
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
975 otherwise it's a Lisp integer. */
dc975d71a3a5 (FRAME_TOOLBAR_LINES): New.
Gerd Moellmann <gerd@gnu.org>
parents: 21814
diff changeset
976
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
977 #define FRAME_CANON_Y_FROM_PIXEL_Y(F, Y) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
978 ((Y) % FRAME_LINE_HEIGHT (F) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
979 ? make_float ((double) (Y) / FRAME_LINE_HEIGHT (F)) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
980 : make_number ((Y) / FRAME_LINE_HEIGHT (F)))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
981
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
982
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
983
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
984 /* Manipulating pixel sizes and character sizes.
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
985 Knowledge of which factors affect the overall size of the window should
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
986 be hidden in these macros, if that's possible.
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
987
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
988 Return the upper/left pixel position of the character cell on frame F
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
989 at ROW/COL. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
990
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
991 #define FRAME_LINE_TO_PIXEL_Y(f, row) \
107928
d7a48f464405 frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 107798
diff changeset
992 (((row) < FRAME_TOP_MARGIN (f) ? 0 : FRAME_INTERNAL_BORDER_WIDTH (f)) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
993 + (row) * FRAME_LINE_HEIGHT (f))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
994
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
995 #define FRAME_COL_TO_PIXEL_X(f, col) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
996 (FRAME_INTERNAL_BORDER_WIDTH (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
997 + (col) * FRAME_COLUMN_WIDTH (f))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
998
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
999 /* Return the pixel width/height of frame F if it has
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1000 COLS columns/LINES rows. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1001
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1002 #define FRAME_TEXT_COLS_TO_PIXEL_WIDTH(f, cols) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1003 (FRAME_COL_TO_PIXEL_X (f, cols) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1004 + (f)->scroll_bar_actual_width \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1005 + FRAME_TOTAL_FRINGE_WIDTH (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1006 + FRAME_INTERNAL_BORDER_WIDTH (f))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1007
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1008 #define FRAME_TEXT_LINES_TO_PIXEL_HEIGHT(f, lines) \
107798
04b6d1cf4d69 Fix resizing for X and non-Gtk+ build. Bug #5848.
Jan D <jan.h.d@swipnet.se>
parents: 106815
diff changeset
1009 ((lines) * FRAME_LINE_HEIGHT (f) \
04b6d1cf4d69 Fix resizing for X and non-Gtk+ build. Bug #5848.
Jan D <jan.h.d@swipnet.se>
parents: 106815
diff changeset
1010 + 2 * FRAME_INTERNAL_BORDER_WIDTH (f))
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1011
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1012
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1013 /* Return the row/column (zero-based) of the character cell containing
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1014 the pixel on FRAME at Y/X. */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1015
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1016 #define FRAME_PIXEL_Y_TO_LINE(f, y) \
106768
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
1017 (((y) < FRAME_TOP_MARGIN_HEIGHT (f) \
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
1018 ? (y) \
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
1019 : ((y) < FRAME_TOP_MARGIN_HEIGHT (f) + FRAME_INTERNAL_BORDER_WIDTH (f) \
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
1020 ? (y) - (FRAME_TOP_MARGIN_HEIGHT (f) + FRAME_INTERNAL_BORDER_WIDTH (f) \
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
1021 /* Arrange for the division to round down. */ \
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
1022 + FRAME_LINE_HEIGHT (f) - 1) \
21fd634f447a Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 106511
diff changeset
1023 : (y) - FRAME_INTERNAL_BORDER_WIDTH (f))) \
51195
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1024 / FRAME_LINE_HEIGHT (f))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1025
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1026 #define FRAME_PIXEL_X_TO_COL(f, x) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1027 (((x) - FRAME_INTERNAL_BORDER_WIDTH (f)) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1028 / FRAME_COLUMN_WIDTH (f))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1029
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1030 /* How many columns/rows of text can we fit in WIDTH/HEIGHT pixels on
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1031 frame F? */
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1032
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1033 #define FRAME_PIXEL_WIDTH_TO_TEXT_COLS(f, width) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1034 (FRAME_PIXEL_X_TO_COL (f, ((width) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1035 - FRAME_INTERNAL_BORDER_WIDTH (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1036 - FRAME_TOTAL_FRINGE_WIDTH (f) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1037 - (f)->scroll_bar_actual_width)))
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1038
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1039 #define FRAME_PIXEL_HEIGHT_TO_TEXT_LINES(f, height) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1040 (FRAME_PIXEL_Y_TO_LINE (f, ((height) \
3cbf29813eea (struct frame): Rename members height to text_lines,
Kim F. Storm <storm@cua.dk>
parents: 50358
diff changeset
1041 - FRAME_INTERNAL_BORDER_WIDTH (f))))
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
1042
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1043
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1044 /***********************************************************************
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1045 Frame Parameters
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1046 ***********************************************************************/
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1047
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1048 extern Lisp_Object Qauto_raise, Qauto_lower;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1049 extern Lisp_Object Qborder_color, Qborder_width;
83415
d2c799f58129 Implement full support for frame-local `next-buffer' and `previous-buffer'.
Karoly Lorentey <lorentey@elte.hu>
parents: 83364
diff changeset
1050 extern Lisp_Object Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list;
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1051 extern Lisp_Object Qcursor_color, Qcursor_type;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1052 extern Lisp_Object Qfont;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1053 extern Lisp_Object Qbackground_color, Qforeground_color;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1054 extern Lisp_Object Qicon, Qicon_name, Qicon_type, Qicon_left, Qicon_top;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1055 extern Lisp_Object Qinternal_border_width;
109635
fc7a8c411aa3 Add declarations to header files.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 109581
diff changeset
1056 extern Lisp_Object Qtooltip;
109771
3c2274d0da65 Fix handling of tool-bar-position, also put into default-frame-alist.
Jan D <jan.h.d@swipnet.se>
parents: 109635
diff changeset
1057 extern Lisp_Object Qmenu_bar_lines, Qtool_bar_lines, Qtool_bar_position;
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1058 extern Lisp_Object Qmouse_color;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1059 extern Lisp_Object Qname, Qtitle;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1060 extern Lisp_Object Qparent_id;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1061 extern Lisp_Object Qunsplittable, Qvisibility;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1062 extern Lisp_Object Qscroll_bar_width, Qvertical_scroll_bars;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1063 extern Lisp_Object Qscroll_bar_foreground, Qscroll_bar_background;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1064 extern Lisp_Object Qscreen_gamma;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1065 extern Lisp_Object Qline_spacing;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1066 extern Lisp_Object Qwait_for_wm;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1067 extern Lisp_Object Qfullscreen;
103665
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 100951
diff changeset
1068 extern Lisp_Object Qfullwidth, Qfullheight, Qfullboth, Qmaximized;
103676
fbdd52a2e830 * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky
Jan Djärv <jan.h.d@swipnet.se>
parents: 103665
diff changeset
1069 extern Lisp_Object Qsticky;
90548
7cc05972a79e (Qfont_backend): Extern it.
Kenichi Handa <handa@m17n.org>
parents: 90533
diff changeset
1070 extern Lisp_Object Qfont_backend;
95158
69278a81390d Seiji Zenitani <zenitani at mac.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
1071 extern Lisp_Object Qalpha;
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1072
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1073 extern Lisp_Object Qleft_fringe, Qright_fringe;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1074 extern Lisp_Object Qheight, Qwidth;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1075 extern Lisp_Object Qminibuffer, Qmodeline;
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 95158
diff changeset
1076 extern Lisp_Object Qx, Qw32, Qmac, Qpc, Qns;
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1077 extern Lisp_Object Qvisible;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1078 extern Lisp_Object Qdisplay_type;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1079 extern Lisp_Object Qbackground_mode;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1080
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1081 extern Lisp_Object Qx_resource_name;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1082
109581
06384b3caebf Add ability to put Gtk+ tool bar on the left/right/bottom or top. Default top.
Jan D. <jan.h.d@swipnet.se>
parents: 109576
diff changeset
1083 extern Lisp_Object Qleft, Qright, Qtop, Qbox, Qbottom;
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1084 extern Lisp_Object Qdisplay;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1085
109635
fc7a8c411aa3 Add declarations to header files.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 109581
diff changeset
1086 extern Lisp_Object Qrun_hook_with_args;
fc7a8c411aa3 Add declarations to header files.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 109581
diff changeset
1087
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1088 #ifdef HAVE_WINDOW_SYSTEM
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1089
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1090 /* The class of this X application. */
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1091 #define EMACS_CLASS "Emacs"
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1092
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1093 /* These are in xterm.c, w32term.c, etc. */
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1094
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1095 extern void x_set_scroll_bar_default_width (struct frame *);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1096 extern void x_set_offset (struct frame *, int, int, int);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1097 extern void x_wm_set_icon_position (struct frame *, int, int);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1098
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1099 extern Lisp_Object x_new_font (struct frame *, Lisp_Object, int);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1100
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1101
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1102 extern Lisp_Object Qface_set_after_frame_default;
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1103
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1104 extern void x_fullscreen_adjust (struct frame *f, int *, int *,
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1105 int *, int *);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1106
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1107 extern void x_set_frame_parameters (struct frame *, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1108 extern void x_report_frame_params (struct frame *, Lisp_Object *);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1109
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1110 extern void x_set_fullscreen (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1111 extern void x_set_line_spacing (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1112 extern void x_set_screen_gamma (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1113 extern void x_set_font (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1114 extern void x_set_font_backend (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1115 extern void x_set_fringe_width (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1116 extern void x_set_border_width (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1117 extern void x_set_internal_border_width (struct frame *, Lisp_Object,
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1118 Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1119 extern void x_set_visibility (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1120 extern void x_set_autoraise (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1121 extern void x_set_autolower (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1122 extern void x_set_unsplittable (struct frame *, Lisp_Object, Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1123 extern void x_set_vertical_scroll_bars (struct frame *, Lisp_Object,
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1124 Lisp_Object);
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1125 extern void x_set_scroll_bar_width (struct frame *, Lisp_Object,
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1126 Lisp_Object);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1127
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1128 extern Lisp_Object x_icon_type (struct frame *);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1129
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1130 extern int x_figure_window_size (struct frame *, Lisp_Object, int);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1131
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1132 extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object);
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1133
109099
e16f43875a48 Remove P_ and __P macros.
Jan D <jan.h.d@swipnet.se>
parents: 107978
diff changeset
1134 extern void validate_x_resource_name (void);
103704
6a4e411bd83b * xterm.h (struct x_display_info): Add invisible_cursor.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103676
diff changeset
1135
96759
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
1136 extern Lisp_Object display_x_get_resource (Display_Info *,
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
1137 Lisp_Object attribute,
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
1138 Lisp_Object class,
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
1139 Lisp_Object component,
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
1140 Lisp_Object subclass);
1e2f7aab70ba * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 96675
diff changeset
1141
109635
fc7a8c411aa3 Add declarations to header files.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 109581
diff changeset
1142 /* In xmenu.c */
fc7a8c411aa3 Add declarations to header files.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 109581
diff changeset
1143 extern void set_frame_menubar (FRAME_PTR, int, int);
fc7a8c411aa3 Add declarations to header files.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 109581
diff changeset
1144
50358
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1145 #endif /* HAVE_WINDOW_SYSTEM */
35c02b1585b3 (Qauto_raise, Qauto_lower, ...): Declare extern all frame
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
1146
35803
888df8063774 Change the include blocker to the same form as in other header
Gerd Moellmann <gerd@gnu.org>
parents: 35802
diff changeset
1147 #endif /* not EMACS_FRAME_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51665
diff changeset
1148