if (STRINGP (oldval) && EQ (Fstring_equal (oldval, arg), Qt))
return;
}
- else if (!STRINGP (oldval) && EQ (oldval, Qnil) == EQ (arg, Qnil))
+ else if (!NILP (arg) || NILP (oldval))
return;
f->icon_name = arg;
error ("Cannot find any usable font");
UNBLOCK_INPUT;
- x_default_parameter (f, parms, Qfont, font,
- "font", "Font", RES_TYPE_STRING);
+ x_set_frame_parameters (f, Fcons (Fcons (Qfont, font), Qnil));
}
x_default_parameter (f, parms, Qborder_width, make_number (0),
Lisp_Object frame;
{
struct frame *f = check_x_frame (frame);
- struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f);
- if (dpyinfo->x_focus_frame != f)
- {
- BLOCK_INPUT;
+ BLOCK_INPUT;
#ifdef MAC_OSX
- ActivateWindow (ActiveNonFloatingWindow (), false);
- ActivateWindow (FRAME_MAC_WINDOW (f), true);
+ ActivateWindow (ActiveNonFloatingWindow (), false);
+ ActivateWindow (FRAME_MAC_WINDOW (f), true);
#else
#if !TARGET_API_MAC_CARBON
- /* SelectWindow (Non-Carbon) does not issue deactivate events if
- the possibly inactive window that is to be selected is
- already the frontmost one. */
- SendBehind (FRAME_MAC_WINDOW (f), NULL);
+ /* SelectWindow (Non-Carbon) does not issue deactivate events if the
+ possibly inactive window that is to be selected is already the
+ frontmost one. */
+ SendBehind (FRAME_MAC_WINDOW (f), NULL);
#endif
- /* This brings the window to the front. */
- SelectWindow (FRAME_MAC_WINDOW (f));
+ /* This brings the window to the front. */
+ SelectWindow (FRAME_MAC_WINDOW (f));
#endif
- UNBLOCK_INPUT;
- }
+ UNBLOCK_INPUT;
return Qnil;
}
{
if (response >= 0x00001040)
{
- err = Gestalt ('sys1', &major); /* gestaltSystemVersionMajor */
+ err = Gestalt (gestaltSystemVersionMajor, &major);
if (err == noErr)
- err = Gestalt ('sys2', &minor); /* gestaltSystemVersionMinor */
+ err = Gestalt (gestaltSystemVersionMinor, &minor);
if (err == noErr)
- err = Gestalt ('sys3', &bugfix); /* gestaltSystemVersionBugFix */
+ err = Gestalt (gestaltSystemVersionBugFix, &bugfix);
}
else
{
(display)
Lisp_Object display;
{
- /* MAC_TODO: this is an approximation, and only of the main display */
-
struct mac_display_info *dpyinfo = check_x_display_info (display);
+ /* Only of the main display. */
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+ CGSize size;
+
+ BLOCK_INPUT;
+ size = CGDisplayScreenSize (kCGDirectMainDisplay);
+ UNBLOCK_INPUT;
+ return make_number ((int) (size.height + .5f));
+#else
+ /* This is an approximation. */
return make_number ((int) (dpyinfo->height * 25.4 / dpyinfo->resy));
+#endif
}
DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0,
(display)
Lisp_Object display;
{
- /* MAC_TODO: this is an approximation, and only of the main display */
-
struct mac_display_info *dpyinfo = check_x_display_info (display);
+ /* Only of the main display. */
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+ CGSize size;
+
+ BLOCK_INPUT;
+ size = CGDisplayScreenSize (kCGDirectMainDisplay);
+ UNBLOCK_INPUT;
+ return make_number ((int) (size.width + .5f));
+#else
+ /* This is an approximation. */
return make_number ((int) (dpyinfo->width * 25.4 / dpyinfo->resx));
+#endif
}
DEFUN ("x-display-backing-store", Fx_display_backing_store,
check_mac ();
BLOCK_INPUT;
- if (NILP (visible) == (FPIsFontPanelVisible () == true))
- err = FPShowHideFontPanel ();
+ if (NILP (visible) != !mac_font_panel_visible_p ())
+ {
+ err = mac_show_hide_font_panel ();
+ if (err == noErr && !NILP (visible))
+ {
+ Lisp_Object focus_frame = x_get_focus_frame (SELECTED_FRAME ());
+ struct frame *f = (NILP (focus_frame) ? SELECTED_FRAME ()
+ : XFRAME (focus_frame));
+
+ mac_set_font_info_for_selection (f, DEFAULT_FACE_ID, 0);
+ }
+ }
UNBLOCK_INPUT;
if (err != noErr)