1 /* The emacs frame widget private header file. 2 Copyright (C) 1993, 2001-2023 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 (at 9 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 <https://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 /* private state */ 53 54 } EmacsFramePart; 55 56 typedef struct _EmacsFrameRec { /* full instance record */ 57 CorePart core; 58 EmacsFramePart emacs_frame; 59 } EmacsFrameRec; 60 61 typedef struct { /* new fields for EmacsFrame class */ 62 int dummy; 63 } EmacsFrameClassPart; 64 65 typedef struct _EmacsFrameClassRec { /* full class record declaration */ 66 CoreClassPart core_class; 67 EmacsFrameClassPart emacs_frame_class; 68 } EmacsFrameClassRec; 69 70 #endif /* _EmacsFrameP_h */