* alloc.c, font.c, font.h, ftfont.c, ftxfont.c, macfont.m,
[emacs.git] / src / widgetprv.h
blobb617654e7f2bafcddffca24e1bc5cb1dba5333ea
1 /* The emacs frame widget private header file.
2 Copyright (C) 1993, 2001-2013 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
9 (at 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>
26 #include "widget.h"
28 typedef struct {
29 struct frame* frame; /* the *emacs* frame object */
31 /* Resources that can't be done from lisp.
33 char* geometry; /* geometry spec of this frame */
34 Boolean iconic; /* whether this frame is iconic */
36 /* The rest of this is crap and should be deleted.
38 int minibuffer; /* 0: normal frames with minibuffers.
39 * 1: frames without minibuffers
40 * 2: minibuffer only. */
41 Boolean unsplittable; /* frame can only have one window */
43 int internal_border_width; /* internal borders */
44 int interline; /* skips between lines */
46 struct font* font; /* font */
47 Pixel foreground_pixel; /* foreground */
49 Pixel cursor_color; /* text cursor color */
50 Boolean bar_cursor; /* 1 if bar, 0 if block */
52 Boolean visual_bell; /* flash instead of beep */
53 int bell_volume; /* how loud is beep */
55 /* private state */
57 } EmacsFramePart;
59 typedef struct _EmacsFrameRec { /* full instance record */
60 CorePart core;
61 EmacsFramePart emacs_frame;
62 } EmacsFrameRec;
64 typedef struct { /* new fields for EmacsFrame class */
65 int dummy;
66 } EmacsFrameClassPart;
68 typedef struct _EmacsFrameClassRec { /* full class record declaration */
69 CoreClassPart core_class;
70 EmacsFrameClassPart emacs_frame_class;
71 } EmacsFrameClassRec;
73 #endif /* _EmacsFrameP_h */