adding bridging info to our own definitions (#2354)

attempt to solve #19159
This commit is contained in:
Stefan Csomor
2021-04-30 18:10:21 +02:00
committed by GitHub
parent 236e77c263
commit 228f5becab

View File

@@ -2648,6 +2648,7 @@ typedef int (* LINKAGEMODE wxListIterateFunction)(void *current);
#ifdef __DARWIN__ #ifdef __DARWIN__
#define DECLARE_WXOSX_OPAQUE_CFREF( name ) typedef struct __##name* name##Ref; #define DECLARE_WXOSX_OPAQUE_CFREF( name ) typedef struct __##name* name##Ref;
#define DECLARE_WXOSX_OPAQUE_CONST_CFREF( name ) typedef const struct __##name* name##Ref; #define DECLARE_WXOSX_OPAQUE_CONST_CFREF( name ) typedef const struct __##name* name##Ref;
#endif #endif
#ifdef __WXMAC__ #ifdef __WXMAC__
@@ -2675,15 +2676,43 @@ typedef void* WXDisplay;
* core frameworks * core frameworks
*/ */
typedef const void * CFTypeRef; #if __has_attribute(objc_bridge) && __has_feature(objc_bridge_id) && __has_feature(objc_bridge_id_on_typedefs)
DECLARE_WXOSX_OPAQUE_CONST_CFREF( CFData ) #ifdef __OBJC__
DECLARE_WXOSX_OPAQUE_CONST_CFREF( CFString ) @class NSArray;
typedef struct __CFString * CFMutableStringRef; @class NSString;
DECLARE_WXOSX_OPAQUE_CONST_CFREF( CFDictionary ) @class NSData;
@class NSDictionary;
#endif
DECLARE_WXOSX_OPAQUE_CONST_CFREF( CFArray ) #define WXOSX_BRIDGED_TYPE(T) __attribute__((objc_bridge(T)))
typedef struct __CFArray * CFMutableArrayRef; #define WXOSX_BRIDGED_MUTABLE_TYPE(T) __attribute__((objc_bridge_mutable(T)))
#else
#define WXOSX_BRIDGED_TYPE(T)
#define WXOSX_BRIDGED_MUTABLE_TYPE(T)
#endif
#define DECLARE_WXOSX_BRIDGED_TYPE_AND_CFREF( name ) \
typedef const struct WXOSX_BRIDGED_TYPE(NS##name) __CF##name* CF##name##Ref;
#define DECLARE_WXOSX_BRIDGED_MUTABLE_TYPE_AND_CFREF( name ) \
typedef struct WXOSX_BRIDGED_MUTABLE_TYPE(NSMutable##name) __CF##name* CFMutable##name##Ref;
typedef const WXOSX_BRIDGED_TYPE(id) void * CFTypeRef;
DECLARE_WXOSX_BRIDGED_TYPE_AND_CFREF( Data )
DECLARE_WXOSX_BRIDGED_MUTABLE_TYPE_AND_CFREF( Data )
DECLARE_WXOSX_BRIDGED_TYPE_AND_CFREF( String )
DECLARE_WXOSX_BRIDGED_MUTABLE_TYPE_AND_CFREF( String )
DECLARE_WXOSX_BRIDGED_TYPE_AND_CFREF( Dictionary )
DECLARE_WXOSX_BRIDGED_MUTABLE_TYPE_AND_CFREF( Dictionary )
DECLARE_WXOSX_BRIDGED_TYPE_AND_CFREF( Array )
DECLARE_WXOSX_BRIDGED_MUTABLE_TYPE_AND_CFREF( Array )
DECLARE_WXOSX_OPAQUE_CFREF( CFRunLoopSource ) DECLARE_WXOSX_OPAQUE_CFREF( CFRunLoopSource )
DECLARE_WXOSX_OPAQUE_CONST_CFREF( CTFont ) DECLARE_WXOSX_OPAQUE_CONST_CFREF( CTFont )