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