ToneDeltaPair

constructor(@NonNull roleA: DynamicColor, @NonNull roleB: DynamicColor, delta: Double, @NonNull polarity: TonePolarity, stayTogether: Boolean)

Documents a constraint in tone distance between two DynamicColors.

The polarity is an adjective that describes "A", compared to "B".

For instance, ToneDeltaPair(A, B, 15, 'darker', stayTogether) states that A's tone should be at least 15 darker than B's.

'nearer' and 'farther' describes closeness to the surface roles. For instance, ToneDeltaPair(A, B, 10, 'nearer', stayTogether) states that A should be 10 lighter than B in light mode, and 10 darker than B in dark mode.

Parameters

roleA

The first role in a pair.

roleB

The second role in a pair.

delta

Required difference between tones. Absolute value, negative values have undefined behavior.

polarity

The relative relation between tones of roleA and roleB, as described above.

stayTogether

Whether these two roles should stay on the same side of the "awkward zone" (T50-59). This is necessary for certain cases where one role has two backgrounds.