Skip to content

Commit

Permalink
Add _UIGraphicsView implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle-Ye committed Mar 10, 2024
1 parent 02d363f commit c24926b
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 2 deletions.
38 changes: 36 additions & 2 deletions Sources/COpenSwiftUI/include/OpenSwiftUI_SPI.h
Original file line number Diff line number Diff line change
@@ -1,27 +1,61 @@
//
// OpenSwiftUI_SPI.h
//
// OpenSwiftUI
//
//

#ifndef OpenSwiftUI_SPI_h
#define OpenSwiftUI_SPI_h

#include "OpenSwiftUIBase.h"

#if __has_include(<QuartzCore/CoreAnimation.h>)

#import <QuartzCore/CoreAnimation.h>

OPENSWIFTUI_ASSUME_NONNULL_BEGIN

@interface CALayer (OpenSwiftUI_SPI)
- (BOOL)hasBeenCommitted;
@end

OPENSWIFTUI_ASSUME_NONNULL_END

#endif /* CoreAnimation.h */

#if __has_include(<UIKit/UIKit.h>)

#import <UIKit/UIKit.h>

OPENSWIFTUI_ASSUME_NONNULL_BEGIN

@interface UIApplication (OpenSwiftUI_SPI)
- (void)startedTest:(nullable NSString *)name;
- (void)finishedTest:(nullable NSString *)name;
- (void)failedTest:(nullable NSString *)name withFailure:(nullable NSError*)failure;
- (nullable NSString *)_launchTestName;
@end

@interface UIView (OpenSwiftUI_SPI)
- (BOOL)_shouldAnimatePropertyWithKey:(NSString *)key;
@end

OPENSWIFTUI_ASSUME_NONNULL_END

#elif __has_include(<AppKit/AppKit.h>)

#import <AppKit/AppKit.h>

OPENSWIFTUI_ASSUME_NONNULL_BEGIN

@interface NSApplication (OpenSwiftUI_SPI)
- (void)startedTest:(nullable NSString *)name;
- (void)finishedTest:(nullable NSString *)name;
- (void)failedTest:(nullable NSString *)name withFailure:(nullable NSError*)failure;
@end
#endif

OPENSWIFTUI_ASSUME_NONNULL_END

#endif /* UIKit.h / AppKit.h */

#endif /* OpenSwiftUI_SPI_h */
21 changes: 21 additions & 0 deletions Sources/OpenSwiftUI/Integration/UIKit/_UIGraphicsView.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
//
// _UIGraphicsView.swift
// OpenSwiftUI
//
// Audited for RELEASE_2021
// Status: Complete

#if os(iOS)
internal import COpenSwiftUI
import UIKit

class _UIGraphicsView: UIView {
override func _shouldAnimateProperty(withKey key: String) -> Bool {
if layer.hasBeenCommitted() {
super._shouldAnimateProperty(withKey: key)
} else {
false
}
}
}
#endif

0 comments on commit c24926b

Please sign in to comment.