Mercurial > emacs
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 }