* customize.texi (Composite Types): Move alist/plist from Simple Types (Bug#7545).
[emacs.git] / src / widgetprv.h
blob34ec3bfbfe8cb5b9934170fa6c2342a5553fffaa
1 /* The emacs frame widget private header file.
2 Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
3 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 /* Emacs 19 face widget ported by Fred Pierresteguy */
22 #ifndef _EmacsFrameP_h
23 #define _EmacsFrameP_h
25 #include <X11/IntrinsicP.h>
26 #include <X11/CoreP.h>
27 #include "widget.h"
29 typedef struct {
30 struct frame* frame; /* the *emacs* frame object */
32 /* Resources that can't be done from lisp.
34 char* geometry; /* geometry spec of this frame */
35 Boolean iconic; /* whether this frame is iconic */
37 /* The rest of this is crap and should be deleted.
39 int minibuffer; /* 0: normal frames with minibuffers.
40 * 1: frames without minibuffers
41 * 2: minibuffer only. */
42 Boolean unsplittable; /* frame can only have one window */
44 int internal_border_width; /* internal borders */
45 int interline; /* skips between lines */
47 struct font* font; /* font */
48 Pixel foreground_pixel; /* foreground */
50 Pixel cursor_color; /* text cursor color */
51 Boolean bar_cursor; /* 1 if bar, 0 if block */
53 Boolean visual_bell; /* flash instead of beep */
54 int bell_volume; /* how loud is beep */
56 /* private state */
58 } EmacsFramePart;
60 typedef struct _EmacsFrameRec { /* full instance record */
61 CorePart core;
62 EmacsFramePart emacs_frame;
63 } EmacsFrameRec;
65 typedef struct { /* new fields for EmacsFrame class */
66 int dummy;
67 } EmacsFrameClassPart;
69 typedef struct _EmacsFrameClassRec { /* full class record declaration */
70 CoreClassPart core_class;
71 EmacsFrameClassPart emacs_frame_class;
72 } EmacsFrameClassRec;
74 extern EmacsFrameClassRec emacsFrameClassRec; /* class pointer */
78 #endif /* _EmacsFrameP_h */
80 /* arch-tag: 2b579b4c-f697-4f86-b27a-35b7cb1a4a1c
81 (do not change this comment) */