Prevent infloops in redisplay due to truncate-lines and overlays
[emacs.git] / src / widgetprv.h
blob9d9aa2185c1d81dac1aa0a1b5b0046cf378e8682
1 /* The emacs frame widget private header file.
2 Copyright (C) 1993, 2001-2016 Free Software Foundation, Inc.
4 This file is part of GNU Emacs.
6 GNU Emacs is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or (at
9 your option) any later version.
11 GNU Emacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 /* Emacs 19 face widget ported by Fred Pierresteguy */
21 #ifndef _EmacsFrameP_h
22 #define _EmacsFrameP_h
24 #include <X11/IntrinsicP.h>
25 #include <X11/CoreP.h>
27 typedef struct {
28 struct frame* frame; /* the *emacs* frame object */
30 /* Resources that can't be done from lisp.
32 char* geometry; /* geometry spec of this frame */
33 Boolean iconic; /* whether this frame is iconic */
35 /* The rest of this is crap and should be deleted.
37 int minibuffer; /* 0: normal frames with minibuffers.
38 * 1: frames without minibuffers
39 * 2: minibuffer only. */
40 Boolean unsplittable; /* frame can only have one window */
42 int internal_border_width; /* internal borders */
43 int interline; /* skips between lines */
45 Pixel foreground_pixel; /* foreground */
47 Pixel cursor_color; /* text cursor color */
48 Boolean bar_cursor; /* 1 if bar, 0 if block */
50 Boolean visual_bell; /* flash instead of beep */
51 int bell_volume; /* how loud is beep */
53 /* private state */
55 } EmacsFramePart;
57 typedef struct _EmacsFrameRec { /* full instance record */
58 CorePart core;
59 EmacsFramePart emacs_frame;
60 } EmacsFrameRec;
62 typedef struct { /* new fields for EmacsFrame class */
63 int dummy;
64 } EmacsFrameClassPart;
66 typedef struct _EmacsFrameClassRec { /* full class record declaration */
67 CoreClassPart core_class;
68 EmacsFrameClassPart emacs_frame_class;
69 } EmacsFrameClassRec;
71 #endif /* _EmacsFrameP_h */