From aa8280d3f3b60b05a6637b59e33c62c32a6a78c3 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Thu, 7 Jun 2007 08:45:26 +0000 Subject: [PATCH] (mac_get_window_bounds): Move extern from macfns.c. (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros. --- src/ChangeLog | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/macterm.h | 7 +++++ 2 files changed, 82 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index eb0040b371a..ae796a64db7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,78 @@ +2007-06-07 YAMAMOTO Mitsuharu + + * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT. + + * macfns.c (mac_get_window_bounds): Move extern to macterm.h. + (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse. + + * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): + Don't call next handler. + [TARGET_API_MAC_CARBON] (install_menu_target_item_handler): + Remove argument. Install handler to application. + (set_frame_menubar): Don't change deep_p. + (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and + FRAME_OUTER_TO_INNER_DIFF_Y. + (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P) + (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID) + [HAVE_DIALOGS]: New macros. + [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog): + Use them. + (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString. + + * macselect.c [MAC_OSX] (install_service_handler): Rename from + init_service_handler. All callers changed. Return OSStatus value. + + * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort. + All callers changed so as not to call SetPortWindowPort. + (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. + (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from + mac_draw_string_common. + (mac_draw_image_string_qd): Likewise. + (mac_draw_string_common): Use them. Add INLINE. + (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]: + Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and + GetGlobalMouse. + (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X + and FRAME_OUTER_TO_INNER_DIFF_Y. + [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise. + [USE_MAC_TSM] (mac_handle_text_input_event): Likewise. + (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for + repositioning window to mac_handle_window_event. + (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for + saving window location to mac_handle_window_event + [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here. + (install_menu_target_item_handler): Remove argument in extern. + [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers): + Also accept command events. + (do_keystroke): New function created from XTread_socket. + (init_command_handler): Remove functions. + [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window + and save window location by kEventWindowShowing and kEventWindowHiding + handlers here. Don't call next handler for window state change and + focus events. + (mac_handle_application_event, mac_handle_keyboard_event) + [TARGET_API_MAC_CARBON]: New functions. + (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for + kEventWindowShowing and kEventWindowHiding events. Move installation + of mouse, font, text input and menu target item handlers to + install_application_handler. + (install_application_handler) [TARGET_API_MAC_CARBON]: New function. + (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + New function. + (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + Register it. + (XTread_socket) [TARGET_API_MAC_CARBON]: Consolidate + SendEventToEventTarget calls. Use FRAME_OUTER_TO_INNER_DIFF_X and + FRAME_OUTER_TO_INNER_DIFF_Y. Move application activation handler + to mac_handle_application_event. Move keyboard handler to + mac_handle_keyboard_event. + (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke. + (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call + init_command_handler. Call install_application_handler. + + * macterm.h (mac_get_window_bounds): Move extern from macfns.c. + (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros. + 2007-06-07 Glenn Morris * emacs.c (main): Use `emacs-copyright' in --version output. diff --git a/src/macterm.h b/src/macterm.h index 789089b0bc9..7984ff2b970 100644 --- a/src/macterm.h +++ b/src/macterm.h @@ -369,6 +369,12 @@ typedef struct mac_output mac_output; /* This is the 'font_info *' which frame F has. */ #define FRAME_MAC_FONT_TABLE(f) (FRAME_MAC_DISPLAY_INFO (f)->font_table) +/* The difference in pixels between the top left corner of the + Emacs window (including possible window manager decorations) + and FRAME_MAC_WINDOW (f). */ +#define FRAME_OUTER_TO_INNER_DIFF_X(f) ((f)->x_pixels_diff) +#define FRAME_OUTER_TO_INNER_DIFF_Y(f) ((f)->y_pixels_diff) + /* Value is the smallest width of any character in any font on frame F. */ #define FRAME_SMALLEST_CHAR_WIDTH(F) \ @@ -643,6 +649,7 @@ extern void do_apple_menu P_ ((SInt16)); #if USE_CG_DRAWING extern void mac_prepare_for_quickdraw P_ ((struct frame *)); #endif +extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *)); extern int mac_quit_char_key_p P_ ((UInt32, UInt32)); #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0 -- 2.39.2