Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9b7acdd

Browse files
update
1 parent f9e62cb commit 9b7acdd

File tree

3 files changed

+18
-23
lines changed

3 files changed

+18
-23
lines changed

‎Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import QuartzCore
2121
///
2222
@available(iOS 14, macOS 11, tvOS 14, *)
2323
@MainActor
24-
public protocol LayerMakerProtocol {
24+
public protocol LayerMakerProtocol:AnyObject {
2525

2626
/// The composite layer that contains all the sublayers, including vector layers.
2727
///
@@ -51,6 +51,20 @@ public protocol LayerMakerProtocol {
5151

5252
extension LayerMakerProtocol{
5353

54+
/// Adds a composite layer if vector mode is enabled in the provided `VideoSettings`.
55+
@MainActor
56+
func addCompositeLayer(_ settings: VideoSettings) {
57+
if settings.vector {
58+
compositeLayer = CALayer()
59+
}
60+
}
61+
62+
/// Removes the composite layer from its superlayer and sets `compositeLayer` to `nil`.
63+
@MainActor
64+
func removeCompositeLayer() {
65+
compositeLayer?.removeFromSuperlayer()
66+
compositeLayer = nil
67+
}
5468

5569
/// Adds a vector layer to the composite layer using a specified builder.
5670
///

‎Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift‎

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,17 +89,7 @@ internal class ExtPlayerUIView: UIView, ExtPlayerProtocol {
8989
override func layoutSubviews() {
9090
super.layoutSubviews()
9191
playerLayer?.frame = bounds
92-
}
93-
94-
private func addCompositeLayer(_ settings : VideoSettings){
95-
if settings.vector{
96-
compositeLayer = CALayer()
97-
}
98-
}
99-
100-
private func removeCompositeLayer() {
101-
compositeLayer?.removeFromSuperlayer()
102-
compositeLayer = nil
92+
compositeLayer?.frame = bounds
10393
}
10494

10595
func onDisappear(){

‎Sources/swiftui-loop-videoplayer/view/player/mac/ExtPlayerNSView.swift‎

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -88,18 +88,9 @@ internal class ExtPlayerNSView: NSView, ExtPlayerProtocol {
8888
override func layout() {
8989
super.layout()
9090
playerLayer?.frame = bounds
91+
compositeLayer?.frame = bounds
9192
}
92-
93-
private func addCompositeLayer(_ settings : VideoSettings){
94-
if settings.vector{
95-
compositeLayer = CALayer()
96-
}
97-
}
98-
99-
private func removeCompositeLayer() {
100-
compositeLayer?.removeFromSuperlayer()
101-
compositeLayer = nil
102-
}
93+
10394

10495
func onDisappear(){
10596
// First, clear all observers to prevent memory leaks

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /