Sync to HEAD
[bpt/emacs.git] / src / widgetprv.h
CommitLineData
40a6a4dd
RS
1/* The emacs frame widget private header file.
2 Copyright (C) 1993 Free Software Foundation, Inc.
3
4This file is part of GNU Emacs.
5
6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Emacs; see the file COPYING. If not, write to
3b7ad313
EN
18the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA. */
40a6a4dd
RS
20
21/* Emacs 19 face widget ported by Fred Pierresteguy */
22
23#ifndef _EmacsFrameP_h
24#define _EmacsFrameP_h
25
26#include <X11/IntrinsicP.h>
27#include <X11/CoreP.h>
28#include "widget.h"
29
30typedef struct {
31 struct frame* frame; /* the *emacs* frame object */
32
33 /* Resources that can't be done from lisp.
34 */
35 char* geometry; /* geometry spec of this frame */
36 Boolean iconic; /* whether this frame is iconic */
37
38 /* The rest of this is crap and should be deleted.
39 */
40 int minibuffer; /* 0: normal frames with minibuffers.
177c0ea7 41 * 1: frames without minibuffers
40a6a4dd
RS
42 * 2: minibuffer only. */
43 Boolean unsplittable; /* frame can only have one window */
44
45 int internal_border_width; /* internal borders */
46 int interline; /* skips between lines */
47
48 XFontStruct* font; /* font */
49 Pixel foreground_pixel; /* foreground */
50
51 Pixel cursor_color; /* text cursor color */
52 Boolean bar_cursor; /* 1 if bar, 0 if block */
53
54 Boolean visual_bell; /* flash instead of beep */
55 int bell_volume; /* how loud is beep */
56
57 /* private state */
58
59} EmacsFramePart;
60
61typedef struct _EmacsFrameRec { /* full instance record */
62 CorePart core;
63 EmacsFramePart emacs_frame;
64} EmacsFrameRec;
65
66typedef struct { /* new fields for EmacsFrame class */
67 int dummy;
68} EmacsFrameClassPart;
69
70typedef struct _EmacsFrameClassRec { /* full class record declaration */
71 CoreClassPart core_class;
72 EmacsFrameClassPart emacs_frame_class;
73} EmacsFrameClassRec;
74
75extern EmacsFrameClassRec emacsFrameClassRec; /* class pointer */
76
77
78
79#endif /* _EmacsFrameP_h */
6b61353c
KH
80
81/* arch-tag: 2b579b4c-f697-4f86-b27a-35b7cb1a4a1c
82 (do not change this comment) */