DroppyWashCircleButtonStyle

The circular control of Droppy's timer widgets: a flat wash, a semibold glyph, and the 0.94 press.

@MainActor struct DroppyWashCircleButtonStyle

The circular control of Droppy's timer widgets: a flat wash, a semibold glyph, and the 0.94 press. No glass, no hover, no outline.

This is the deliberate iOS wash Pomodoro and Stay Awake put on the shelf, beside the notch and in their idle and running rows, and since 1.21.0 it is every control a widget draws for a symbol: one family per widget, never beside a glass disc. DroppyCircleButtonStyle stays for the droplets that already use it and for a control floating over content outside a widget. Never on a Settings page, which uses native macOS controls, and never in a live activity row (DroppyLiveActivityControlStyle).

The sizes are Pomodoro's: 34pt alone on the shelf, 28pt beside another widget and in the row wrapped beside the camera, 24pt for a small choice or a control inside a list row. The glyph follows the diameter unless you pass one.

Added in 1.21.0; a droplet that uses it declares minAPI 1.21.0.

Initializers

init(diameter:tone:glyphSize:usesAdaptiveForegrounds:)

@MainActor init(diameter: CGFloat = 34, tone: DroppyWashTone = .neutral, glyphSize: CGFloat? = nil, usesAdaptiveForegrounds: Bool = false)

Creates the style.

  • Parameters:
  • diameter: The disc, in points. 34 alone on the shelf, 28 paired or in the wrapped row beside the camera, 24 in a list row.
  • tone: neutral or the accent.
  • glyphSize: The glyph's point size; nil takes Pomodoro's for the diameter (14.5 at 34, 12.5 at 28, 11 at 24).
  • usesAdaptiveForegrounds: Pass usesAdaptiveForegrounds: the white becomes the label colour where the host asks for adaptive foregrounds.

Methods

makeBody(configuration:)

@MainActor func makeBody(configuration: Configuration) -> some View