# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1163492517 0 # Node ID 6b0e5b6fca4fb68f012c0914bce1845a3ac3927b # Parent 13efda9a990973aa4b9e72ae0047772eba0bfc52 (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. diff -r 13efda9a9909 -r 6b0e5b6fca4f src/macfns.c --- 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 }