DroppyGlassControl
The Liquid Glass control recipe: the fill vocabulary, the ink, and the wash for one state.
enum DroppyGlassControl
The Liquid Glass control recipe: the fill vocabulary, the ink, and the wash for one state. DroppyGlassControlChrome draws it; the button styles in this module are built on it.
Cases
DroppyGlassControl.Fill.veil
case veil
Plain Liquid Glass. The neutral control.
DroppyGlassControl.Fill.tinted(_:)
case tinted(Color)
The colour washed over the glass, for a confirming or accent action.
DroppyGlassControl.Fill.solid(_:)
case solid(Color)
The colour as an opaque disc or pill, no glass: a classic notch puck beside black nav capsules, a green success flash.
Type methods
fill(for:)
static func fill(for color: Color?) -> Fill
Neutral when color is nil or is the highlight the user picked in Settings, Theming (the default preset resolves to the label colour, so a "tinted" pill would wash grey over the glass); tinted otherwise.
ink(for:isEnabled:)
static func ink(for fill: Fill, isEnabled: Bool = true) -> Color
Label colour for a control painted with fill.
isThemeHighlight(_:)
static func isThemeHighlight(_ color: Color) -> Bool
True when color is the app highlight from Settings, Theming.
needsDarkInk(_:)
static func needsDarkInk(_ color: Color) -> Bool
Dark ink on a light solid fill: luminance decides.
neutralInk(isEnabled:)
static func neutralInk(isEnabled: Bool = true) -> Color
The reference ink: the adaptive label colour, dimmed when disabled.
wash(for:isHovering:isPressed:isEnabled:)
static func wash(for fill: Fill, isHovering: Bool, isPressed: Bool, isEnabled: Bool) -> Color
The wash over the glass for one state: nothing at rest on the neutral control and a whisper under the pointer, the accent on a tinted one, the colour itself on a solid one.