diff --git a/Package.resolved b/Package.resolved index e0d27a5..9f7b99c 100644 --- a/Package.resolved +++ b/Package.resolved @@ -7,7 +7,7 @@ "location" : "https://github.com/OpenSwiftUIProject/DarwinPrivateFrameworks.git", "state" : { "branch" : "main", - "revision" : "0d5aa5bc8533ea6a2607a97c0fe0da54726a5148" + "revision" : "ea49b004ae2b6f4b85fbaeae814d194f01e70a81" } }, { diff --git a/Sources/OpenRenderBoxCxx/include/OpenRenderBox/ORBColorMode.h b/Sources/OpenRenderBoxCxx/include/OpenRenderBox/ORBColorMode.h index 516d8d2..568511c 100644 --- a/Sources/OpenRenderBoxCxx/include/OpenRenderBox/ORBColorMode.h +++ b/Sources/OpenRenderBoxCxx/include/OpenRenderBox/ORBColorMode.h @@ -12,7 +12,7 @@ ORB_ASSUME_NONNULL_BEGIN ORB_EXTERN_C_BEGIN // TODO: Review those names later -typedef ORB_ENUM(uint32_t, ORBColorMode) { +typedef ORB_ENUM(int32_t, ORBColorMode) { ORBColorMode0 = 0, ORBColorMode1 = 1, ORBColorMode2 = 2, diff --git a/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBDisplayList.h b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBDisplayList.h new file mode 100644 index 0000000..a7f7c41 --- /dev/null +++ b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBDisplayList.h @@ -0,0 +1,22 @@ +// +// ORBDisplayList.h +// OpenRenderBox + +#pragma once + +#include + +#if ORB_OBJC_FOUNDATION + +#include + +ORB_ASSUME_NONNULL_BEGIN + +// TODO +@interface ORBDisplayList : NSObject + +@end + +ORB_ASSUME_NONNULL_END + +#endif diff --git a/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBLayer.h b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBLayer.h index a6a1864..dee295e 100644 --- a/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBLayer.h +++ b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBLayer.h @@ -8,13 +8,14 @@ #if ORB_OBJC_FOUNDATION +#include #include #include -#include +#include +#include //#include "RBImageQueueLayer.h" //#include "RBSurfaceContentsLayer.h" -//#include "_RBDrawableDelegate-Protocol.h" //#include "_RBSharedSurfaceOwner-Protocol.h" #include @@ -24,7 +25,7 @@ ORB_ASSUME_NONNULL_BEGIN -@interface ORBLayer: CALayer +@interface ORBLayer: CALayer <_ORBDrawableDelegate, /*_RBSharedSurfaceOwner,*/ ORBDrawableStatistics> @property (retain, nonatomic, nullable) ORBDevice *device; @property (nonatomic) BOOL rendersAsynchronously; @@ -68,7 +69,7 @@ ORB_ASSUME_NONNULL_BEGIN - (BOOL)_willMoveSubsurface:(unsigned int)subsurface; - (void)copyImageInRect:(CGRect)rect options:(nullable id)options completionQueue:(nullable id)queue handler:(nullable id /* block */)handler; - (BOOL)displayWithBounds:(CGRect)bounds callback:(nullable id /* block */)callback; -- (void)drawInDisplayList:(nullable id)list; +- (void)drawInDisplayList:(nullable ORBDisplayList *)list; - (void)resetStatistics:(NSUInteger)statistics alpha:(double)alpha; - (void)waitUntilAsyncRenderingCompleted; diff --git a/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBLayerDelegate.h b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBLayerDelegate.h new file mode 100644 index 0000000..3e6f9db --- /dev/null +++ b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/ORBLayerDelegate.h @@ -0,0 +1,34 @@ +// +// ORBLayerDelegate.h +// OpenRenderBox + +#pragma once + +#include + +#if ORB_OBJC_FOUNDATION + +#include + +#include +#include + +ORB_ASSUME_NONNULL_BEGIN + +@class ORBLayer; + +@protocol ORBLayerDelegate + +@required + +@optional + +- (void)RBLayer:(ORBLayer *)layer draw:(ORBDisplayList *)inDisplayList; +- (nullable id)RBLayerDefaultDevice:(ORBLayer *)layer; + +@end + +ORB_ASSUME_NONNULL_END + +#endif /* ORB_OBJC_FOUNDATION */ + diff --git a/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/_ORBDrawableDelegate.h b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/_ORBDrawableDelegate.h new file mode 100644 index 0000000..ce2ff10 --- /dev/null +++ b/Sources/OpenRenderBoxCxx/include/OpenRenderBoxObjC/Render/_ORBDrawableDelegate.h @@ -0,0 +1,28 @@ +// +// _ORBDrawableDelegate.h +// OpenRenderBox + +#pragma once + +#include + +#if ORB_OBJC_FOUNDATION + +#include + +ORB_ASSUME_NONNULL_BEGIN + +@protocol _ORBDrawableDelegate + +@required + +- (void)_RBDrawableStatisticsDidChange; + +@optional + +@end + +ORB_ASSUME_NONNULL_END + +#endif /* ORB_OBJC_FOUNDATION */ + diff --git a/Sources/OpenRenderBoxShims/Export.swift b/Sources/OpenRenderBoxShims/Export.swift index 197e57c..22e364f 100644 --- a/Sources/OpenRenderBoxShims/Export.swift +++ b/Sources/OpenRenderBoxShims/Export.swift @@ -7,6 +7,8 @@ public typealias ORBColor = RBColor public typealias ORBDevice = RBDevice public typealias ORBLayer = RBLayer +public typealias ORBLayerDelegate = RBLayerDelegate +public typealias ORBDisplayList = RBDisplayList public typealias ORBPath = RBPath public typealias ORBUUID = RBUUID public let renderBoxEnabled = true