Mercurial > emacs
diff src/macfns.c @ 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 | 7791c57d3fc6 |
| children | 20a6a4a69f48 c71725faff1a dbe3f29e61d6 |
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 }
