background to scroll bar gap.
(x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
(XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
scroll bars on frame edge. Check fringe background extension.
Don't clear extended fringe background area.
(TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
(TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
(TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
[USE_MAC_TOOLBAR]: New macros.
(mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
(mac_handle_toolbar_event, mac_image_spec_to_cg_image)
(mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
(mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
[USE_MAC_TOOLBAR]: New functions.
(mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
manually if previous repositioning has failed.
(mac_handle_keyboard_event): Use precomputed event kind.
(XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
as tool bar item click. Handle mouse movement over tool bar items.
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.
Use GetGlobalMouse instead of GetMouse and LocalToGlobal.
(mac_initialize_display_info) [MAC_OSX]: Use CGRectZero.
(mac_initialize_display_info) [!MAC_OSX]: dpyinfo->height and
dpyinfo->width are those of whole screen.
USE_TOOLKIT_SCROLL_BARS with #ifdef USE_TOOLKIT_SCROLL_BARS.
(x_set_window_size): Call SET_FRAME_GARBAGED. Clear window if
internal border width has changed.
(x_set_toolkit_scroll_bar_thumb): Add bar->min_handle as margin to
scroll bar handle size in order to avoid `scroll backward' problem.
(x_scroll_bar_create, XTset_vertical_scroll_bar)
[USE_TOOLKIT_SCROLL_BARS]: Initialize bar->min_handle.
(mac_flush_display_optional) [USE_CG_DRAWING]: New function.
(x_redisplay_interface) [USE_CG_DRAWING]: Set it as handler for
flush_display_optional.
[USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_press): New
argument MOUSE_POS. All uses changed. Set bar->dragging to
negative integer if scroll bar handle is pressed.
[USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_release): Negative
bar->dragging means scroll bar handle is not dragged.
[USE_TOOLKIT_SCROLL_BARS] (x_scroll_bar_handle_drag): Get initial
offset of scroll bar handle from negative bar->dragging.
(XTread_socket) [USE_TOOLKIT_SCROLL_BARS]: Modifiers for scroll
bar click is compared against mapped one. Set down/up_modifier
for scroll bar click event with control key.
ATSUGetGlyphBounds if not necessary.
(Vmac_atsu_font_table) [USE_ATSUI]: Remove Variable.
(syms_of_macterm) [USE_ATSUI]: Don't defvar it.
(fm_get_style_from_font, atsu_find_font_from_family_name)
(atsu_find_font_family_name, mac_atsu_font_face_attributes)
[USE_ATSUI]: New functions.
(init_font_name_table) [USE_ATSUI]: Use atsu_find_font_family_name.
(mac_load_query_font) [USE_ATSUI]: Use atsu_find_font_from_family_name.
Don't get metrics for Latin-1 right half characters.
(mac_load_query_font): Don't load font if space width is not positive.
[TARGET_API_MAC_CARBON] (mac_store_event_ref_as_apple_event): Use
mac_wakeup_from_rne instead of mac_post_mouse_moved_event.
(XTread_socket): Call SelectWindow when unfocused frame is clicked.
argument OVERSTRIKE_P.
(mac_draw_string_common, mac_draw_image_string_cg): Likewise.
Support overstrike.
(mac_draw_string, mac_draw_string_16): Remove functions.
(x_draw_glyph_string_foreground): Use overstrike when needed.
(x_draw_composite_glyph_string_foreground): Likewise. Use
mac_draw_image_string_16 instead of mac_draw_string_16.
(mac_load_query_font): Rename from XLoadQueryFont. Take argument F
instead of DPY. All uses changed. Don't save/restore font.
(x_iconify_frame, XLoadQueryFont, install_window_handler)
(mac_handle_command_event, init_command_handler, init_menu_bar):
Use OSStatus instead of OSErr.
(x_free_frame_resources) [TARGET_API_MAC_CARBON]: Don't use
FRAME_FILE_NAME.
(x_query_font): Apply 2006-08-04 change for xterm.c.
(Qhi_command): Rename from Qhicommand. All uses changed.
(syms_of_xterm): DEFVAR_BOOL it.
(x_draw_glyph_string): Use it.
Draw underline and overline up to the end of line if the face
extends to the end of line.
(x_set_mouse_pixel_position) [MAC_OSX]: Use CGWarpMouseCursorPosition.
(fm_style_face_attributes_alist) [USE_ATSUI]: New variable.
(syms_of_macterm) [USE_ATSUI]: Initialize and staticpro it.
Change keys of Vmac_atsu_font_table from strings to numbers.
(fm_style_to_face_attributes) [USE_ATSUI]: New function.
(init_font_name_table) [USE_ATSUI]: Use it.
(saved_ts_script_language_on_focus) [USE_MAC_TSM]: New variable.
(syms_of_macterm) [USE_MAC_TSM]: Initialize and staticpro it.
[USE_MAC_TSM] (mac_tsm_resume): Restore script and language codes
only when saved_ts_script_language_on_focus coincides with
Vmac_ts_script_language_on_focus.
[USE_MAC_TSM] (mac_tsm_suspend): Save value of
Vmac_ts_script_language_on_focus to saved_ts_script_language_on_focus.
(XTread_socket) [USE_MAC_TSM]: Add Mac OS Classic support.
[USE_MAC_TSM] (mac_handle_text_input_event, init_tsm): Likewise.
(mac_tsm_resume, mac_tsm_suspend) [USE_MAC_TSM]: New functions.
(mac_handle_window_event, XTread_socket) [USE_MAC_TSM]: Use them.
(Vmac_ts_script_language_on_focus) [USE_MAC_TSM]: New variable.
(syms_of_macterm) [USE_MAC_TSM]: Defvar it.
(saved_ts_language, saved_ts_component) [USE_MAC_TSM]: New variables.
(mac_initialize_display_info) [MAC_OSX]: Use Quartz Display
Services functions to get size of main display in pixels.
(mac_font_panel_visible_p, mac_show_hide_font_panel)
[USE_MAC_FONT_PANEL]: New functions.
[USE_MAC_FONT_PANEL] (mac_set_font_info_for_selection): Return
immediately if font panel is not visible.