Mercurial > emacs
comparison src/frame.c @ 32752:923b8d6d8277
Initial check-in: changes for building Emacs under Mac OS.
2000-10-23 Andrew Choi <akochoi@i-cable.com>
* dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
* dispnew.c [macintosh]: Include macterm.h.
(init_display) [macintosh]: initialization for window system.
* emacs.c (main) [macintosh]: Call syms_of_textprop,
syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
syms_of_search, x_term_init, and init_keyboard before calling
init_window_once. Also, call syms_of_xmenu.
* fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
default fontset to Monaco.
* frame.c [macintosh]: Include macterm.h. Remove declarations of
NewMacWindow and DisposeMacWindow.
(make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
instead of calling NewMacWindow and setting fields of
f->output_data.mac directly. Call init_frame_faces.
(Fdelete_frame) [macintosh]: Remove unused code.
(Fmodify_frame_parameters) [macintosh]: Call
x_set_frame_parameters instead of mac_set_frame_parameters.
* frame.h [macintosh]: Define menu_bar_lines field in struct
frame. Define FRAME_EXTERNAL_MENU_BAR macro.
* keyboard.c [macintosh]: Include macterm.h.
(kbd_buffer_get_event) [macintosh]: Generate delete_window_event
and menu_bar_activate_event type events as for X and NT.
(make_lispy_event) [macintosh]: Construct lisp events of type
MENU_BAR_EVENT as for X and NT.
* sysdep.c [macintosh]: Remove declaration for sys_signal.
Include stdlib.h. Remove definition of Vx_bitmap_file_path.
(sys_subshell) [macintosh]: Remove definition entirely.
(init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
Vwindow_system_version here. Remove initialization of
Vx_bitmap_file_path.
(read_input_waiting): Correct the number of parameters passed to
read_socket_hook.
Move all Macintosh functions to mac/mac.c.
* term.c [macintosh]: Include macterm.h.
* window.c [macintosh]: Include macterm.h.
* xdisp.c [macintosh]: Include macterm.h. Declare
set_frame_menubar and pending_menu_activation.
(echo_area_display) [macintosh]: Do not return if terminal frame
is the selected frame.
(update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
Allow only the selected frame to set menu bar.
(redisplay_window) [macintosh]: Obtain menu bar to redisplay by
calling FRAME_EXTERNAL_MENU_BAR (f).
(display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
* xfaces.c [macintosh]: Include macterm.h. Define x_display_info
and check_x. Declare XCreateGC. Define x_create_gc and
x_free_gc. Initialize font_sort_order.
(x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
but call x_list_fonts instead of w32_list_fonts.
(Finternal_face_x_get_resource) [macintosh]: Do not call
display_x_get_resource.
(prepare_face_for_display) [macintosh]: Set xgcv.font.
(realize_x_face) [macintosh]: Load the font if it is specified in
ATTRS.
(syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
to Qt.
* cus-edit.el (custom-button-face): Use 3D look for mac.
(custom-button-pressed-face): Likewise.
* faces.el (set-face-attributes-from-resources): Handle mac frames
in the same way as x and w32 frames.
(face-valid-attribute-values): Likewise.
(read-face-attribute): Likewise.
(defined-colors): Likewise.
(color-defined-p): Likewise.
(color-values): Likewise.
(display-grayscale-p): Likewise.
(face-set-after-frame-default): Likewise.
(mode-line): Same default face as for x and w32.
(tool-bar): Likewise.
* frame.el: Remove call to frame-notice-user-settings at end of
the file.
* info.el (Info-fontify-node): make underlines invisible for mac
as for x, pc, and w32 frame types.
* term/mac-win.el: New file.
author | Andrew Choi <akochoi@shaw.ca> |
---|---|
date | Sun, 22 Oct 2000 16:50:16 +0000 |
parents | 288723d38c06 |
children | 9e6ba99c8d53 |
comparison
equal
deleted
inserted
replaced
32751:2a657a9fae69 | 32752:923b8d6d8277 |
---|---|
26 #ifdef HAVE_X_WINDOWS | 26 #ifdef HAVE_X_WINDOWS |
27 #include "xterm.h" | 27 #include "xterm.h" |
28 #endif | 28 #endif |
29 #ifdef WINDOWSNT | 29 #ifdef WINDOWSNT |
30 #include "w32term.h" | 30 #include "w32term.h" |
31 #endif | |
32 #ifdef macintosh | |
33 #include "macterm.h" | |
31 #endif | 34 #endif |
32 #include "buffer.h" | 35 #include "buffer.h" |
33 /* These help us bind and responding to switch-frame events. */ | 36 /* These help us bind and responding to switch-frame events. */ |
34 #include "commands.h" | 37 #include "commands.h" |
35 #include "keyboard.h" | 38 #include "keyboard.h" |
41 #include "dispextern.h" | 44 #include "dispextern.h" |
42 #include "window.h" | 45 #include "window.h" |
43 #ifdef MSDOS | 46 #ifdef MSDOS |
44 #include "msdos.h" | 47 #include "msdos.h" |
45 #include "dosfns.h" | 48 #include "dosfns.h" |
46 #endif | |
47 | |
48 #ifdef macintosh | |
49 extern struct mac_output *NewMacWindow (); | |
50 extern void DisposeMacWindow (struct mac_output *); | |
51 #endif | 49 #endif |
52 | 50 |
53 /* Evaluate this expression to rebuild the section of syms_of_frame | 51 /* Evaluate this expression to rebuild the section of syms_of_frame |
54 that initializes and staticpros the symbols declared below. Note | 52 that initializes and staticpros the symbols declared below. Note |
55 that Emacs 18 has a bug that keeps C-x C-e from being able to | 53 that Emacs 18 has a bug that keeps C-x C-e from being able to |
580 } | 578 } |
581 else | 579 else |
582 f->output_method = output_termcap; | 580 f->output_method = output_termcap; |
583 #else | 581 #else |
584 #ifdef macintosh | 582 #ifdef macintosh |
585 f->output_data.mac = NewMacWindow(f); | 583 make_mac_terminal_frame (f); |
586 f->output_data.mac->background_pixel = 0xffffff; | 584 #else |
587 f->output_data.mac->foreground_pixel = 0; | |
588 f->output_data.mac->n_param_faces = 0; | |
589 f->output_data.mac->n_computed_faces = 0; | |
590 f->output_data.mac->size_computed_faces = 0; | |
591 f->output_method = output_mac; | |
592 f->auto_raise = 1; | |
593 f->auto_lower = 1; | |
594 init_frame_faces (f); | |
595 #else /* !macintosh */ | |
596 f->output_data.x = &tty_display; | 585 f->output_data.x = &tty_display; |
597 #endif /* !macintosh */ | 586 #endif /* macintosh */ |
598 #endif /* MSDOS */ | 587 #endif /* MSDOS */ |
599 | 588 |
600 #ifndef macintosh | |
601 if (!noninteractive) | 589 if (!noninteractive) |
602 init_frame_faces (f); | 590 init_frame_faces (f); |
603 #endif | 591 |
604 return f; | 592 return f; |
605 } | 593 } |
606 | 594 |
607 DEFUN ("make-terminal-frame", Fmake_terminal_frame, Smake_terminal_frame, | 595 DEFUN ("make-terminal-frame", Fmake_terminal_frame, Smake_terminal_frame, |
608 1, 1, 0, "Create an additional terminal frame.\n\ | 596 1, 1, 0, "Create an additional terminal frame.\n\ |
1286 #ifdef HAVE_WINDOW_SYSTEM | 1274 #ifdef HAVE_WINDOW_SYSTEM |
1287 if (FRAME_WINDOW_P (f)) | 1275 if (FRAME_WINDOW_P (f)) |
1288 x_destroy_window (f); | 1276 x_destroy_window (f); |
1289 #endif | 1277 #endif |
1290 | 1278 |
1291 /* Done by x_destroy_window above already */ | |
1292 #if 0 | |
1293 #ifdef macintosh | |
1294 if (FRAME_MAC_P (f)) | |
1295 DisposeMacWindow (f->output_data.mac); | |
1296 #endif | |
1297 #endif | |
1298 | |
1299 f->output_data.nothing = 0; | 1279 f->output_data.nothing = 0; |
1300 | 1280 |
1301 /* If we've deleted the last_nonminibuf_frame, then try to find | 1281 /* If we've deleted the last_nonminibuf_frame, then try to find |
1302 another one. */ | 1282 another one. */ |
1303 if (f == last_nonminibuf_frame) | 1283 if (f == last_nonminibuf_frame) |
2227 #ifdef MSDOS | 2207 #ifdef MSDOS |
2228 if (FRAME_MSDOS_P (f)) | 2208 if (FRAME_MSDOS_P (f)) |
2229 IT_set_frame_parameters (f, alist); | 2209 IT_set_frame_parameters (f, alist); |
2230 else | 2210 else |
2231 #endif | 2211 #endif |
2232 #ifdef macintosh | |
2233 if (FRAME_MAC_P (f)) | |
2234 mac_set_frame_parameters (f, alist); | |
2235 else | |
2236 #endif | |
2237 | 2212 |
2238 { | 2213 { |
2239 int length = XINT (Flength (alist)); | 2214 int length = XINT (Flength (alist)); |
2240 int i; | 2215 int i; |
2241 Lisp_Object *parms | 2216 Lisp_Object *parms |