35 lines
1.5 KiB
Swift
35 lines
1.5 KiB
Swift
//
|
|
// DropShadowConfiguration.swift
|
|
// VDS
|
|
//
|
|
// Created by Bandaru, Krishna Kishore on 05/03/24.
|
|
//
|
|
|
|
import Foundation
|
|
import CoreGraphics
|
|
|
|
/**
|
|
DropShadowConfiguration confirms to DropShadowable where it has configurable properties required for drop shadow
|
|
*/
|
|
final public class DropShadowConfiguration: DropShadowable, ObjectWithable {
|
|
|
|
public typealias CGFloatConfigurationValue = SurfaceConfigurationValue<CGFloat>
|
|
public typealias CGSizeConfigurationValue = SurfaceConfigurationValue<CGSize>
|
|
|
|
///Shadow Color configuration for light and dark surfaces
|
|
public var shadowColorConfiguration: AnyColorable
|
|
///Shadow Opacity configuration for light and dark surfaces
|
|
public var shadowOpacityConfiguration: CGFloatConfigurationValue
|
|
///Shadow Offset configuration for light and dark surfaces
|
|
public var shadowOffsetConfiguration: CGSizeConfigurationValue
|
|
///Shadow Radius configuration for light and dark surfaces
|
|
public var shadowRadiusConfiguration: CGFloatConfigurationValue
|
|
|
|
public init(shadowColorConfiguration: AnyColorable = SurfaceColorConfiguration().eraseToAnyColorable(), shadowOpacity: CGFloatConfigurationValue = .init(1.0, 1.0), shadowOffset: CGSizeConfigurationValue = .init(.zero, .zero), shadowRadius: CGFloatConfigurationValue = .init(1.0, 1.0)) {
|
|
self.shadowColorConfiguration = shadowColorConfiguration
|
|
self.shadowOpacityConfiguration = shadowOpacity
|
|
self.shadowOffsetConfiguration = shadowOffset
|
|
self.shadowRadiusConfiguration = shadowRadius
|
|
}
|
|
}
|