VTK  9.1.0
vtkCocoaMacOSXSDKCompatibility.h
Go to the documentation of this file.
1/*=========================================================================
2
3Program: Visualization Toolkit
4Module: vtkCocoaMacOSXSDKCompatibility.h
5
6Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7All rights reserved.
8See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10This software is distributed WITHOUT ANY WARRANTY; without even
11the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
24#ifndef __VTK_WRAP__
25
26#include <AvailabilityMacros.h>
27
28#if MAC_OS_X_VERSION_MAX_ALLOWED < 1070
29#error VTK requires the Mac OS X 10.7 SDK or later
30#endif
31
32#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
33#error VTK requires a deployment target of Mac OS X 10.7 or later
34#endif
35
36#if (MAC_OS_X_VERSION_MAX_ALLOWED < 101200) && !defined(VTK_DONT_MAP_10_12_ENUMS)
37// The 10.12 SDK made a bunch of enum names more logical, map old names to new names to continue
38// supporting old SDKs.
39#define NSWindowStyleMask NSUInteger
40#define NSWindowStyleMaskBorderless NSBorderlessWindowMask
41#define NSWindowStyleMaskTitled NSTitledWindowMask
42#define NSWindowStyleMaskClosable NSClosableWindowMask
43#define NSWindowStyleMaskMiniaturizable NSMiniaturizableWindowMask
44#define NSWindowStyleMaskResizable NSResizableWindowMask
45
46#define NSEventModifierFlagShift NSShiftKeyMask
47#define NSEventModifierFlagControl NSControlKeyMask
48#define NSEventModifierFlagOption NSAlternateKeyMask
49#define NSEventModifierFlagCommand NSCommandKeyMask
50
51#define NSEventTypeKeyDown NSKeyDown
52#define NSEventTypeKeyUp NSKeyUp
53#define NSEventTypeApplicationDefined NSApplicationDefined
54#define NSEventTypeFlagsChanged NSFlagsChanged
55
56#define NSEventMaskAny NSAnyEventMask
57#endif
58
59// Create handy #defines that indicate the Objective-C memory management model.
60// Manual Retain Release, Automatic Reference Counting, or Garbage Collection.
61#if defined(__OBJC_GC__)
62#define VTK_OBJC_IS_MRR 0
63#define VTK_OBJC_IS_ARC 0
64#define VTK_OBJC_IS_GC 1
65#elif __has_feature(objc_arc)
66#define VTK_OBJC_IS_MRR 0
67#define VTK_OBJC_IS_ARC 1
68#define VTK_OBJC_IS_GC 0
69#else
70#define VTK_OBJC_IS_MRR 1
71#define VTK_OBJC_IS_ARC 0
72#define VTK_OBJC_IS_GC 0
73#endif
74
75#if __has_feature(objc_arc)
76#error VTK does not yet support ARC memory management
77#endif
78
79#endif
80// VTK-HeaderTest-Exclude: vtkCocoaMacOSXSDKCompatibility.h