aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGeoff Voelker1995-11-07 07:18:50 +0000
committerGeoff Voelker1995-11-07 07:18:50 +0000
commitefa7f0f9eb98616bde573b7f1ad630abf659b884 (patch)
tree5917f0229cbc58f6811770695228d1bf715311a2 /src
parent58def86c20b631aea2c017350aad77a5b13e2358 (diff)
downloademacs-efa7f0f9eb98616bde573b7f1ad630abf659b884.tar.gz
emacs-efa7f0f9eb98616bde573b7f1ad630abf659b884.zip
(output_method): New method: output_win32.
(output_data): New data: win32. (FRAME_WIN32_P): New macro. [HAVE_NTGUI] (external_menu_bar): Define variable. [HAVE_NTGUI] (FRAME_EXTERNAL_MENU_BAR): Defined macro. [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.
Diffstat (limited to 'src')
-rw-r--r--src/frame.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/frame.h b/src/frame.h
index 509e0d142bb..e1183e9c515 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -37,7 +37,7 @@ extern int message_buf_print;
37 having miscellaneous random variables scattered about. */ 37 having miscellaneous random variables scattered about. */
38 38
39enum output_method 39enum output_method
40{ output_termcap, output_x_window, output_msdos_raw }; 40{ output_termcap, output_x_window, output_msdos_raw, output_win32 };
41 41
42struct frame 42struct frame
43{ 43{
@@ -172,8 +172,10 @@ struct frame
172 172
173 /* A structure of auxiliary data used for displaying the contents. 173 /* A structure of auxiliary data used for displaying the contents.
174 struct x_output is used for X window frames; 174 struct x_output is used for X window frames;
175 it is defined in xterm.h. */ 175 it is defined in xterm.h.
176 union output_data { struct x_output *x; int nothing; } output_data; 176 struct win32_output is used for Win32 window frames;
177 it is defined in w32term.h. */
178 union output_data { struct x_output *x; struct win32_output *win32; int nothing; } output_data;
177 179
178#ifdef MULTI_KBOARD 180#ifdef MULTI_KBOARD
179 /* A pointer to the kboard structure associated with this frame. 181 /* A pointer to the kboard structure associated with this frame.
@@ -185,7 +187,7 @@ struct frame
185 /* Number of lines of menu bar. */ 187 /* Number of lines of menu bar. */
186 int menu_bar_lines; 188 int menu_bar_lines;
187 189
188#ifdef USE_X_TOOLKIT 190#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI)
189 /* Nonzero means using a menu bar that comes from the X toolkit. */ 191 /* Nonzero means using a menu bar that comes from the X toolkit. */
190 int external_menu_bar; 192 int external_menu_bar;
191#endif 193#endif
@@ -300,9 +302,20 @@ typedef struct frame *FRAME_PTR;
300 302
301#define WINDOW_FRAME(w) (w)->frame 303#define WINDOW_FRAME(w) (w)->frame
302 304
305#define FRAME_X_P(f) ((f)->output_method == output_x_window)
306#define FRAME_WIN32_P(f) ((f)->output_method == output_win32)
307
308/* FRAME_WINDOW_P tests whether the frame is a window, and is
309 defined to be the predicate for the window system being used. */
310#ifdef HAVE_X_WINDOWS
311#define FRAME_WINDOW_P(f) FRAME_X_P (f)
312#endif
313#ifdef HAVE_NTGUI
314#define FRAME_WINDOW_P(f) FRAME_WIN32_P (f)
315#endif
316
303#define FRAME_LIVE_P(f) ((f)->output_data.nothing != 0) 317#define FRAME_LIVE_P(f) ((f)->output_data.nothing != 0)
304#define FRAME_TERMCAP_P(f) ((f)->output_method == output_termcap) 318#define FRAME_TERMCAP_P(f) ((f)->output_method == output_termcap)
305#define FRAME_X_P(f) ((f)->output_method == output_x_window)
306#define FRAME_MINIBUF_ONLY_P(f) \ 319#define FRAME_MINIBUF_ONLY_P(f) \
307 EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f)) 320 EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f))
308#define FRAME_HAS_MINIBUF_P(f) ((f)->has_minibuffer) 321#define FRAME_HAS_MINIBUF_P(f) ((f)->has_minibuffer)
@@ -314,7 +327,7 @@ typedef struct frame *FRAME_PTR;
314#define FRAME_NEW_HEIGHT(f) (f)->new_height 327#define FRAME_NEW_HEIGHT(f) (f)->new_height
315#define FRAME_NEW_WIDTH(f) (f)->new_width 328#define FRAME_NEW_WIDTH(f) (f)->new_width
316#define FRAME_MENU_BAR_LINES(f) (f)->menu_bar_lines 329#define FRAME_MENU_BAR_LINES(f) (f)->menu_bar_lines
317#ifdef USE_X_TOOLKIT 330#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI)
318#define FRAME_EXTERNAL_MENU_BAR(f) (f)->external_menu_bar 331#define FRAME_EXTERNAL_MENU_BAR(f) (f)->external_menu_bar
319#else 332#else
320#define FRAME_EXTERNAL_MENU_BAR(f) 0 333#define FRAME_EXTERNAL_MENU_BAR(f) 0
@@ -455,6 +468,7 @@ extern FRAME_PTR last_nonminibuf_frame;
455#define FRAME_TERMCAP_P(f) 1 468#define FRAME_TERMCAP_P(f) 1
456#define FRAME_X_P(f) 0 469#define FRAME_X_P(f) 0
457#endif 470#endif
471#define FRAME_WINDOW_P(f) FRAME_X_P (f)
458#define FRAME_MINIBUF_ONLY_P(f) 0 472#define FRAME_MINIBUF_ONLY_P(f) 0
459#define FRAME_HAS_MINIBUF_P(f) 1 473#define FRAME_HAS_MINIBUF_P(f) 1
460#define FRAME_CURRENT_GLYPHS(f) (the_only_frame.current_glyphs) 474#define FRAME_CURRENT_GLYPHS(f) (the_only_frame.current_glyphs)