Selaa lähdekoodia

Organize project with wrappers folder

Lucas Brown 5 vuotta sitten
vanhempi
commit
e23c45bfe4

+ 15 - 0
Sources/SwiftUIVisualEffects/BlurEffect.swift

@@ -0,0 +1,15 @@
+/**
+* SwiftUIVisualEffects
+* Copyright © 2020 Lucas Brown
+*/
+
+import SwiftUI
+
+/// Creates a blur effect.
+public struct BlurEffect: View {
+	public init() {}
+	
+	public var body: some View {
+		_BlurVisualEffectViewRepresentable()
+	}
+}

+ 1 - 18
Sources/SwiftUIVisualEffects/View Modifiers/BlurEffectModifier.swift

@@ -8,25 +8,8 @@ import SwiftUI
 /// Creates a blur effect.
 public struct BlurEffectModifier: ViewModifier {
 	public init() {}
-
+	
 	public func body(content: Content) -> some View {
 		content.overlay(_BlurVisualEffectViewRepresentable())
 	}
 }
-
-/// Creates a blur effect.
-public struct BlurEffect: View {
-	public init() {}
-
-	public var body: some View {
-		_BlurVisualEffectViewRepresentable()
-	}
-}
-
-fileprivate struct _BlurVisualEffectViewRepresentable: UIViewRepresentable {
-	func makeUIView(context: Context) -> UIVisualEffectView {
-		UIVisualEffectView(effect: UIBlurEffect(style: context.environment.blurEffectStyle))
-	}
-
-	func updateUIView(_ uiView: UIVisualEffectView, context: Context) {}
-}

+ 0 - 31
Sources/SwiftUIVisualEffects/View Modifiers/VibrancyEffectModifier.swift

@@ -17,34 +17,3 @@ public struct VibrancyEffectModifier: ViewModifier {
 			.overlay(_VibrancyVisualEffectViewRepresentable(content: content))
 	}
 }
-
-fileprivate struct _VibrancyVisualEffectViewRepresentable<Content: View>: UIViewRepresentable {
-	init(content: Content) {
-		self.content = content
-	}
-	
-	func makeUIView(context: Context) -> UIVisualEffectView {
-		let blurEffect = UIBlurEffect(style: context.environment.blurEffectStyle)
-		let visualEffectView = UIVisualEffectView()
-		
-		// Set `visualEffectView`'s `effect`.
-		if let vibrancyEffectStyle = context.environment.vibrancyEffectStyle {
-			visualEffectView.effect = UIVibrancyEffect(blurEffect: blurEffect, style: vibrancyEffectStyle)
-		} else {
-			visualEffectView.effect = UIVibrancyEffect(blurEffect: blurEffect)
-		}
-		
-		// Embed `content` in `visualEffectView`'s `contentView`.
-		let hostingControllerView = UIHostingController(rootView: content).view!
-		// Center `hostingControllerView`'s frame (at the cost of losing its intrinsic content size).
-		hostingControllerView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
-		hostingControllerView.backgroundColor = .clear
-		visualEffectView.contentView.addSubview(hostingControllerView)
-		
-		return visualEffectView
-	}
-	
-	func updateUIView(_ uiView: UIVisualEffectView, context: Context) {}
-	
-	private let content: Content
-}

+ 14 - 0
Sources/SwiftUIVisualEffects/Wrappers/BlurVisualEffectViewRepresentable.swift

@@ -0,0 +1,14 @@
+/**
+* SwiftUIVisualEffects
+* Copyright © 2020 Lucas Brown
+*/
+
+import SwiftUI
+
+struct _BlurVisualEffectViewRepresentable: UIViewRepresentable {
+	func makeUIView(context: Context) -> UIVisualEffectView {
+		UIVisualEffectView(effect: UIBlurEffect(style: context.environment.blurEffectStyle))
+	}
+	
+	func updateUIView(_ uiView: UIVisualEffectView, context: Context) {}
+}

+ 37 - 0
Sources/SwiftUIVisualEffects/Wrappers/VibrancyVisualEffectViewRepresentable.swift

@@ -0,0 +1,37 @@
+/**
+* SwiftUIVisualEffects
+* Copyright © 2020 Lucas Brown
+*/
+
+import SwiftUI
+
+struct _VibrancyVisualEffectViewRepresentable<Content: View>: UIViewRepresentable {
+	init(content: Content) {
+		self.content = content
+	}
+	
+	func makeUIView(context: Context) -> UIVisualEffectView {
+		let blurEffect = UIBlurEffect(style: context.environment.blurEffectStyle)
+		let visualEffectView = UIVisualEffectView()
+		
+		// Set `visualEffectView`'s `effect`.
+		if let vibrancyEffectStyle = context.environment.vibrancyEffectStyle {
+			visualEffectView.effect = UIVibrancyEffect(blurEffect: blurEffect, style: vibrancyEffectStyle)
+		} else {
+			visualEffectView.effect = UIVibrancyEffect(blurEffect: blurEffect)
+		}
+		
+		// Embed `content` in `visualEffectView`'s `contentView`.
+		let hostingControllerView = UIHostingController(rootView: content).view!
+		// Center `hostingControllerView`'s frame (at the cost of losing its intrinsic content size).
+		hostingControllerView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
+		hostingControllerView.backgroundColor = .clear
+		visualEffectView.contentView.addSubview(hostingControllerView)
+		
+		return visualEffectView
+	}
+	
+	func updateUIView(_ uiView: UIVisualEffectView, context: Context) {}
+	
+	private let content: Content
+}