1 /* 2 * Don't #include any of the AppKit, etc stuff directly since it will 3 * pollute the X11 namespace. 4 */ 5 6 #ifndef _XQ_SANITIZED_COCOA_H_ 7 #define _XQ_SANITIZED_COCOA_H_ 8 9 // QuickDraw in ApplicationServices has the following conflicts with 10 // the basic X server headers. Use QD_<name> to use the QuickDraw 11 // definition of any of these symbols, or the normal name for the 12 // X11 definition. 13 #define Cursor QD_Cursor 14 #define WindowPtr QD_WindowPtr 15 #define Picture QD_Picture 16 #define BOOL OSX_BOOL 17 #define EventType HIT_EventType 18 19 #import <Cocoa/Cocoa.h> 20 #import <Foundation/Foundation.h> 21 22 #undef Cursor 23 #undef WindowPtr 24 #undef Picture 25 #undef BOOL 26 #undef EventType 27 28 #ifndef __has_feature 29 #define __has_feature(x) 0 // Compatibility with non-clang compilers. 30 #endif 31 32 #ifndef NS_RETURNS_RETAINED 33 #if __has_feature(attribute_ns_returns_retained) 34 #define NS_RETURNS_RETAINED __attribute__((ns_returns_retained)) 35 #else 36 #define NS_RETURNS_RETAINED 37 #endif 38 #endif 39 40 #ifndef NS_RETURNS_NOT_RETAINED 41 #if __has_feature(attribute_ns_returns_not_retained) 42 #define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained)) 43 #else 44 #define NS_RETURNS_NOT_RETAINED 45 #endif 46 #endif 47 48 #ifndef CF_RETURNS_RETAINED 49 #if __has_feature(attribute_cf_returns_retained) 50 #define CF_RETURNS_RETAINED __attribute__((cf_returns_retained)) 51 #else 52 #define CF_RETURNS_RETAINED 53 #endif 54 #endif 55 56 #ifndef CF_RETURNS_NOT_RETAINED 57 #if __has_feature(attribute_cf_returns_not_retained) 58 #define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained)) 59 #else 60 #define CF_RETURNS_NOT_RETAINED 61 #endif 62 #endif 63 64 #endif /* _XQ_SANITIZED_COCOA_H_ */ 65