Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 32 additions & 28 deletions Sources/OpenRenderBox/Path/ORBPathCallbacks.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,39 @@
#if !OPENRENDERBOX_CF_CGTYPES
public import OpenCoreGraphicsShims

// MARK: - ORBPath.Callbacks
// MARK: - ORBPath.CallbacksFlags

extension ORBPath {
/// Callbacks structure for path operations
/// This allows different path storage types (CGPath, custom storage, etc.) to provide their own implementations
public struct Callbacks {
/// Flags for path callbacks
public struct Flags {
public var unknown0: UInt8
public var unknown1: UInt8
public var isExtended: Bool
public var padding: (UInt8, UInt8, UInt8, UInt8, UInt8)
/// Flags for path callbacks
public struct CallbacksFlags {
public var unknown0: UInt8
public var unknown1: UInt8
public var isExtended: Bool
public var padding: (UInt8, UInt8, UInt8, UInt8, UInt8)

public init() {
self.unknown0 = 0
self.unknown1 = 0
self.isExtended = false
self.padding = (0, 0, 0, 0, 0)
}
public init() {
self.unknown0 = 0
self.unknown1 = 0
self.isExtended = false
self.padding = (0, 0, 0, 0, 0)
}

public init(unknown0: UInt8, unknown1: UInt8, isExtended: Bool, padding: (UInt8, UInt8, UInt8, UInt8, UInt8)) {
self.unknown0 = unknown0
self.unknown1 = unknown1
self.isExtended = isExtended
self.padding = padding
}
public init(unknown0: UInt8, unknown1: UInt8, isExtended: Bool, padding: (UInt8, UInt8, UInt8, UInt8, UInt8)) {
self.unknown0 = unknown0
self.unknown1 = unknown1
self.isExtended = isExtended
self.padding = padding
}
}
}

// MARK: - ORBPath.Callbacks

public var flags: ORBPath.Callbacks.Flags
extension ORBPath {
/// Callbacks structure for path operations
/// This allows different path storage types (CGPath, custom storage, etc.) to provide their own implementations
public struct Callbacks {
public var flags: ORBPath.CallbacksFlags
public var retain: ((UnsafeRawPointer) -> UnsafeRawPointer)?
public var release: ((UnsafeRawPointer) -> Void)?
public var apply: ((UnsafeRawPointer, UnsafeMutableRawPointer, ORBPathApplyCallback?) -> Bool)?
Expand All @@ -46,7 +50,7 @@ extension ORBPath {
public var next: ((UnsafeRawPointer) -> UnsafePointer<ORBPath.Callbacks>?)?

public init() {
self.flags = ORBPath.Callbacks.Flags()
self.flags = ORBPath.CallbacksFlags()
self.retain = nil
self.release = nil
self.apply = nil
Expand All @@ -60,7 +64,7 @@ extension ORBPath {
}

public init(
flags: ORBPath.Callbacks.Flags,
flags: ORBPath.CallbacksFlags,
retain: ((UnsafeRawPointer) -> UnsafeRawPointer)?,
release: ((UnsafeRawPointer) -> Void)?,
apply: ((UnsafeRawPointer, UnsafeMutableRawPointer, ORBPathApplyCallback?) -> Bool)?,
Expand Down Expand Up @@ -101,7 +105,7 @@ extension ORBPath.Callbacks {
extension ORBPath {
/// Extended callbacks structure with additional extended callbacks argument
public struct CallbacksExtended {
public var flags: ORBPath.Callbacks.Flags
public var flags: ORBPath.CallbacksFlags
public var retain: ((UnsafeRawPointer) -> UnsafeRawPointer)?
public var release: ((UnsafeRawPointer) -> Void)?
public var apply: ((UnsafeRawPointer, UnsafeMutableRawPointer, ORBPathApplyCallback?, UnsafePointer<ORBPath.CallbacksExtended>) -> Bool)?
Expand All @@ -114,7 +118,7 @@ extension ORBPath {
public var next: ((UnsafeRawPointer, UnsafePointer<ORBPath.CallbacksExtended>) -> UnsafePointer<ORBPath.CallbacksExtended>?)?

public init() {
self.flags = ORBPath.Callbacks.Flags()
self.flags = ORBPath.CallbacksFlags()
self.retain = nil
self.release = nil
self.apply = nil
Expand All @@ -128,7 +132,7 @@ extension ORBPath {
}

public init(
flags: ORBPath.Callbacks.Flags,
flags: ORBPath.CallbacksFlags,
retain: ((UnsafeRawPointer) -> UnsafeRawPointer)?,
release: ((UnsafeRawPointer) -> Void)?,
apply: ((UnsafeRawPointer, UnsafeMutableRawPointer, ORBPathApplyCallback?, UnsafePointer<ORBPath.CallbacksExtended>) -> Bool)?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ORB_ASSUME_NONNULL_BEGIN
ORB_EXTERN_C_BEGIN

/// Flags for path callbacks
typedef struct ORB_SWIFT_NAME(ORBPath.Callbacks.Flags) ORBPathCallbacksFlags {
typedef struct ORB_SWIFT_NAME(ORBPath.CallbacksFlags) ORBPathCallbacksFlags {
uint8_t unknown0;
uint8_t unknown1;
bool isExtended;
Expand Down
Loading