![JAR search and dependency download from the Maven repository](/logo.png)
commonMain.dynamiccolor.ToneDeltaPair.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of colors Show documentation
Show all versions of colors Show documentation
Port of the Material You color generation algorithm for Kotlin
/*
* Copyright (c) 2024, Google LLC, OpenSavvy and contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package opensavvy.material3.colors.dynamiccolor
/**
* Documents a constraint between two DynamicColors, in which their tones must have a certain
* distance from each other.
*
*
* Prefer a DynamicColor with a background, this is for special cases when designers want tonal
* distance, literally contrast, between two colors that don't have a background / foreground
* relationship or a contrast guarantee.
*/
class ToneDeltaPair(
/** The first role in a pair. */
val roleA: DynamicColor,
/** The second role in a pair. */
val roleB: DynamicColor,
/** Required difference between tones. Absolute value, negative values have undefined behavior. */
val delta: Double,
/** The relative relation between tones of roleA and roleB, as described above. */
val polarity: TonePolarity,
/**
* 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.
*/
val stayTogether: Boolean,
)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy