diff --git a/CHANGELOG.md b/CHANGELOG.md index c8351f1..666b2f4 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change log +## [Version 5.0.8](https://github.com/efremidze/VisualEffectView/releases/tag/5.0.8) + +- Readded saturation + ## [Version 5.0.7](https://github.com/efremidze/VisualEffectView/releases/tag/5.0.7) - Update platforms to iOS14 in Package.swift by @Phyber64 in https://github.com/efremidze/VisualEffectView/pull/45 diff --git a/README.md b/README.md index c0effca..eb01634 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ var colorTint: UIColor // tint color. default is nil var colorTintAlpha: CGFloat // tint color alpha. default is 0 var blurRadius: CGFloat // blur radius. default is 0 var scale: CGFloat // scale factor. default is 1 +var saturation: CGFloat // saturation factor. default is 1 ``` If you want `colorTintAlpha` to be different from `0`, make sure you always set it right after setting the `colorTint` or it may not be applied as expected. diff --git a/Sources/VisualEffectView/VisualEffectView+SwiftUI.swift b/Sources/VisualEffectView/VisualEffectView+SwiftUI.swift index 418f0c2..8c80fb4 100644 --- a/Sources/VisualEffectView/VisualEffectView+SwiftUI.swift +++ b/Sources/VisualEffectView/VisualEffectView+SwiftUI.swift @@ -37,6 +37,15 @@ public struct VisualEffect: UIViewRepresentable { */ let blurRadius: CGFloat + /** + The saturation factor. + + Values above 1.0 increase saturation, values below 1.0 decrease saturation, and 1.0 maintains original saturation. + + The default value is `1.0`. + */ + let saturation: CGFloat + /** The scale factor for the blur effect. @@ -51,12 +60,14 @@ public struct VisualEffect: UIViewRepresentable { - colorTint: The tint color to apply to the blur effect. Defaults to `nil`. - colorTintAlpha: The alpha component of the tint color. Defaults to `0.0`. - blurRadius: The radius of the blur effect. Defaults to `0.0`. + - saturation: The saturation adjustment factor. Values above 1.0 increase saturation, values below 1.0 decrease saturation. Defaults to `1.0`. - scale: The scale factor for the blur effect. Defaults to `1.0`. */ - public init(colorTint: Color? = nil, colorTintAlpha: CGFloat = 0, blurRadius: CGFloat = 0, scale: CGFloat = 1) { + public init(colorTint: Color? = nil, colorTintAlpha: CGFloat = 0, blurRadius: CGFloat = 0, saturation: CGFloat = 1, scale: CGFloat = 1) { self.colorTint = colorTint self.colorTintAlpha = colorTintAlpha self.blurRadius = blurRadius + self.saturation = saturation self.scale = scale } @@ -69,6 +80,7 @@ public struct VisualEffect: UIViewRepresentable { } view.colorTintAlpha = colorTintAlpha view.blurRadius = blurRadius + view.saturation = saturation view.scale = scale return view @@ -80,6 +92,7 @@ public struct VisualEffect: UIViewRepresentable { } uiView.colorTintAlpha = colorTintAlpha uiView.blurRadius = blurRadius + uiView.saturation = saturation uiView.scale = scale } } @@ -90,7 +103,7 @@ public struct VisualEffect: UIViewRepresentable { .frame(width: 400, height: 400) Color.red .frame(width: 200, height: 100) - VisualEffect(colorTint: .white, colorTintAlpha: 0.5, blurRadius: 18) + VisualEffect(colorTint: .white, colorTintAlpha: 0.5, blurRadius: 18, saturation: 2.0) .frame(width: 300, height: 200) } } diff --git a/Sources/VisualEffectView/VisualEffectView.swift b/Sources/VisualEffectView/VisualEffectView.swift index d300ec9..0f1f0e6 100644 --- a/Sources/VisualEffectView/VisualEffectView.swift +++ b/Sources/VisualEffectView/VisualEffectView.swift @@ -60,6 +60,18 @@ open class VisualEffectView: UIVisualEffectView { } } + /** + Saturation factor. + + Values above 1.0 increase saturation, values below 1.0 decrease saturation, and 1.0 maintains original saturation. + + The default value is 1.0. + */ + open var saturation: CGFloat { + get { return _value(forKey: .saturationDeltaFactor) ?? 1.0 } + set { _setValue(newValue, forKey: .saturationDeltaFactor) } + } + /** Scale factor. @@ -103,7 +115,7 @@ private extension VisualEffectView { } enum Key: String { - case colorTint, colorTintAlpha, blurRadius, scale + case colorTint, colorTintAlpha, blurRadius, saturationDeltaFactor, scale } } diff --git a/VisualEffectView.podspec b/VisualEffectView.podspec index 5e9b546..5b352f5 100644 --- a/VisualEffectView.podspec +++ b/VisualEffectView.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "VisualEffectView" - s.version = "5.0.7" + s.version = "5.0.8" s.license = 'MIT' s.homepage = "https://github.com/efremidze/VisualEffectView" s.author = { "Lasha Efremidze" => "efremidzel@hotmail.com" } diff --git a/VisualEffectView.xcodeproj/project.pbxproj b/VisualEffectView.xcodeproj/project.pbxproj index 6f3ee70..82d1ef5 100755 --- a/VisualEffectView.xcodeproj/project.pbxproj +++ b/VisualEffectView.xcodeproj/project.pbxproj @@ -436,7 +436,6 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 4.1.5; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.example.VisualEffectView; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -463,7 +462,6 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 5.0.7; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_BUNDLE_IDENTIFIER = com.example.VisualEffectView; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -498,7 +496,6 @@ "@executable_path/Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.example; @@ -537,7 +534,6 @@ "@executable_path/Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.example; PRODUCT_NAME = "$(TARGET_NAME)";