changeset 73991:6b0e5b6fca4f

(Fx_display_mm_height, Fx_display_mm_width) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 && MAC_OS_X_VERSION_MIN_REQUIRED == 1020]: Check if CGDisplayScreenSize is available.
author YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
date Tue, 14 Nov 2006 08:21:57 +0000
parents 13efda9a9909
children 531d6c96fc70
files src/macfns.c
diffstat 1 files changed, 44 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/macfns.c	Tue Nov 14 08:21:49 2006 +0000
+++ b/src/macfns.c	Tue Nov 14 08:21:57 2006 +0000
@@ -3092,18 +3092,30 @@
      Lisp_Object 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));
+#if MAC_OS_X_VERSION_MIN_REQUIRED == 1020
+  if (CGDisplayScreenSize != NULL)
+#endif
+    {
+      CGSize size;
+
+      BLOCK_INPUT;
+      size = CGDisplayScreenSize (kCGDirectMainDisplay);
+      UNBLOCK_INPUT;
+
+      return make_number ((int) (size.height + .5f));
+    }
+#if MAC_OS_X_VERSION_MIN_REQUIRED == 1020
+  else
+#endif
+#endif	/* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030  */
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020
+    {
+      /* This is an approximation.  */
+      return make_number ((int) (dpyinfo->height * 25.4 / dpyinfo->resy));
+    }
 #endif
 }
 
@@ -3116,18 +3128,30 @@
      Lisp_Object 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));
+#if MAC_OS_X_VERSION_MIN_REQUIRED == 1020
+  if (CGDisplayScreenSize != NULL)
+#endif
+    {
+      CGSize size;
+
+      BLOCK_INPUT;
+      size = CGDisplayScreenSize (kCGDirectMainDisplay);
+      UNBLOCK_INPUT;
+
+      return make_number ((int) (size.width + .5f));
+    }
+#if MAC_OS_X_VERSION_MIN_REQUIRED == 1020
+  else
+#endif
+#endif	/* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030  */
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020
+    {
+      /* This is an approximation.  */
+      return make_number ((int) (dpyinfo->width * 25.4 / dpyinfo->resx));
+    }
 #endif
 }