]> code.delx.au - gnu-emacs/blob - src/widgetprv.h
dc0124887adf0f47824e2c0f57284452ae4ffd11
[gnu-emacs] / src / widgetprv.h
1 /* The emacs frame widget private header file.
2 Copyright (C) 1993, 2001-2015 Free Software Foundation, Inc.
3
4 This file is part of GNU Emacs.
5
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
9 (at your option) any later version.
10
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.
15
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/>. */
18
19 /* Emacs 19 face widget ported by Fred Pierresteguy */
20
21 #ifndef _EmacsFrameP_h
22 #define _EmacsFrameP_h
23
24 #include <X11/IntrinsicP.h>
25 #include <X11/CoreP.h>
26
27 typedef struct {
28 struct frame* frame; /* the *emacs* frame object */
29
30 /* Resources that can't be done from lisp.
31 */
32 char* geometry; /* geometry spec of this frame */
33 Boolean iconic; /* whether this frame is iconic */
34
35 /* The rest of this is crap and should be deleted.
36 */
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 */
41
42 int internal_border_width; /* internal borders */
43 int interline; /* skips between lines */
44
45 Pixel foreground_pixel; /* foreground */
46
47 Pixel cursor_color; /* text cursor color */
48 Boolean bar_cursor; /* 1 if bar, 0 if block */
49
50 Boolean visual_bell; /* flash instead of beep */
51 int bell_volume; /* how loud is beep */
52
53 /* private state */
54
55 } EmacsFramePart;
56
57 typedef struct _EmacsFrameRec { /* full instance record */
58 CorePart core;
59 EmacsFramePart emacs_frame;
60 } EmacsFrameRec;
61
62 typedef struct { /* new fields for EmacsFrame class */
63 int dummy;
64 } EmacsFrameClassPart;
65
66 typedef struct _EmacsFrameClassRec { /* full class record declaration */
67 CoreClassPart core_class;
68 EmacsFrameClassPart emacs_frame_class;
69 } EmacsFrameClassRec;
70
71 #endif /* _EmacsFrameP_h */