DroppyWashSize
The wash sizes, by where the control sits: Droppy's own ShelfWashSize.
enum DroppyWashSize
Every number is the one Pomodoro and Stay Awake draw at, and the one every built-in widget's controls take since 2026-10-03. Read them instead of writing 34, 28 or 24 in a droplet: washControlSize picks the right one for the mount in hand.
Added in 1.22.0; a droplet that uses it declares minAPI 1.22.0.
Type properties
choiceSpacing
static let choiceSpacing: CGFloat
Between two options of a choice: Pomodoro's Focus and Break (spacing).
Available from DroppyKit 1.23.0.
paired
static let paired: CGFloat
Beside another widget: Pomodoro's paired discs. Also the height of a grouped card's last row of controls, so control rows on either side of a divider share their centre line.
row
static let row: CGFloat
A small choice, or a control inside a list row: Pomodoro's narrowest disc and its Focus / Break pill (DroppyWashChoiceButtonStyle).
solo
static let solo: CGFloat
Alone on the shelf: Pomodoro's discs and its Start Timer pill.
wrapped
static let wrapped: CGFloat
In the row wrapped beside the camera (notchWrap): Stay Awake's wrapped mode control. Two of them and their gap fit the narrowest band Droppy's own widgets wrap into.
Type methods
control(isWrapped:isPaired:)
static func control(isWrapped: Bool, isPaired: Bool) -> CGFloat
The disc or pill for a widget's own row controls: wrapped beats paired beats solo, the order Pomodoro resolves them in.
glyph(forDiameter:)
static func glyph(forDiameter diameter: CGFloat) -> CGFloat
Pomodoro's glyph for each disc (14.5 at 34, 12.5 at 28, 11 at 24), and the same proportion past them.