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