diff options
| author | Geoff Voelker | 1995-11-07 07:18:50 +0000 |
|---|---|---|
| committer | Geoff Voelker | 1995-11-07 07:18:50 +0000 |
| commit | efa7f0f9eb98616bde573b7f1ad630abf659b884 (patch) | |
| tree | 5917f0229cbc58f6811770695228d1bf715311a2 /src | |
| parent | 58def86c20b631aea2c017350aad77a5b13e2358 (diff) | |
| download | emacs-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.h | 26 |
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 | ||
| 39 | enum output_method | 39 | enum output_method |
| 40 | { output_termcap, output_x_window, output_msdos_raw }; | 40 | { output_termcap, output_x_window, output_msdos_raw, output_win32 }; |
| 41 | 41 | ||
| 42 | struct frame | 42 | struct 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) |