Renamed Position to DpOffset
Relnote: Renamed Position to DpOffset and removed getDistance()
Fixes: 175699319
Test: compiles -- only API rename
Change-Id: Ib2dfde4ceb450e417ff759bdabbc74d2506a44c9
diff --git a/compose/animation/animation-core/api/current.txt b/compose/animation/animation-core/api/current.txt
index 41d1e7f..21a45dc 100644
--- a/compose/animation/animation-core/api/current.txt
+++ b/compose/animation/animation-core/api/current.txt
@@ -568,7 +568,7 @@
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntOffset> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntSize> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Offset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Offset> targetValueByState);
- method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.Position> animatePosition(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.Position>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.Position> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.DpOffset> animatePosition(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.DpOffset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.DpOffset> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRect(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Rect>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Rect> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Size>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Size> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S, T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.Transition<S>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<T>> transitionSpec, kotlin.jvm.functions.Function1<? super S,? extends T> targetValueByState);
@@ -611,7 +611,7 @@
public final class VectorConvertersKt {
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
- method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Position,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.Position.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Bounds,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.unit.Bounds.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
@@ -705,7 +705,7 @@
method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Offset.Companion);
method public static int getVisibilityThreshold(kotlin.jvm.internal.IntCompanionObject);
method public static float getVisibilityThreshold(androidx.compose.ui.unit.Dp.Companion);
- method public static long getVisibilityThreshold(androidx.compose.ui.unit.Position.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.DpOffset.Companion);
method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Size.Companion);
method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntSize.Companion);
method public static androidx.compose.ui.geometry.Rect getVisibilityThreshold(androidx.compose.ui.geometry.Rect.Companion);
diff --git a/compose/animation/animation-core/api/public_plus_experimental_current.txt b/compose/animation/animation-core/api/public_plus_experimental_current.txt
index 41d1e7f..21a45dc 100644
--- a/compose/animation/animation-core/api/public_plus_experimental_current.txt
+++ b/compose/animation/animation-core/api/public_plus_experimental_current.txt
@@ -568,7 +568,7 @@
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntOffset> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntSize> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Offset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Offset> targetValueByState);
- method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.Position> animatePosition(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.Position>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.Position> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.DpOffset> animatePosition(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.DpOffset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.DpOffset> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRect(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Rect>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Rect> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Size>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Size> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S, T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.Transition<S>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<T>> transitionSpec, kotlin.jvm.functions.Function1<? super S,? extends T> targetValueByState);
@@ -611,7 +611,7 @@
public final class VectorConvertersKt {
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
- method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Position,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.Position.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Bounds,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.unit.Bounds.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
@@ -705,7 +705,7 @@
method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Offset.Companion);
method public static int getVisibilityThreshold(kotlin.jvm.internal.IntCompanionObject);
method public static float getVisibilityThreshold(androidx.compose.ui.unit.Dp.Companion);
- method public static long getVisibilityThreshold(androidx.compose.ui.unit.Position.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.DpOffset.Companion);
method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Size.Companion);
method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntSize.Companion);
method public static androidx.compose.ui.geometry.Rect getVisibilityThreshold(androidx.compose.ui.geometry.Rect.Companion);
diff --git a/compose/animation/animation-core/api/restricted_current.txt b/compose/animation/animation-core/api/restricted_current.txt
index 1855bc4..4640820 100644
--- a/compose/animation/animation-core/api/restricted_current.txt
+++ b/compose/animation/animation-core/api/restricted_current.txt
@@ -586,7 +586,7 @@
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntOffset> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntSize> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Offset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Offset> targetValueByState);
- method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.Position> animatePosition(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.Position>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.Position> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.DpOffset> animatePosition(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.DpOffset>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.DpOffset> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRect(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Rect>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Rect> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Size>> transitionSpec, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Size> targetValueByState);
method @androidx.compose.runtime.Composable public static inline <S, T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.Transition<S>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.States<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<T>> transitionSpec, kotlin.jvm.functions.Function1<? super S,? extends T> targetValueByState);
@@ -629,7 +629,7 @@
public final class VectorConvertersKt {
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
- method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Position,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.Position.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Bounds,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.unit.Bounds.Companion);
method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
@@ -723,7 +723,7 @@
method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Offset.Companion);
method public static int getVisibilityThreshold(kotlin.jvm.internal.IntCompanionObject);
method public static float getVisibilityThreshold(androidx.compose.ui.unit.Dp.Companion);
- method public static long getVisibilityThreshold(androidx.compose.ui.unit.Position.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.DpOffset.Companion);
method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Size.Companion);
method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntSize.Companion);
method public static androidx.compose.ui.geometry.Rect getVisibilityThreshold(androidx.compose.ui.geometry.Rect.Companion);
diff --git a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/KeyframesBuilderSample.kt b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/KeyframesBuilderSample.kt
index 62fb0c0..2597aab 100644
--- a/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/KeyframesBuilderSample.kt
+++ b/compose/animation/animation-core/samples/src/main/java/androidx/compose/animation/core/samples/KeyframesBuilderSample.kt
@@ -22,7 +22,7 @@
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.LinearOutSlowInEasing
import androidx.compose.animation.core.keyframes
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
@Sampled
@@ -54,10 +54,10 @@
fun KeyframesBuilderForPosition() {
// Use FastOutSlowInEasing for the interval from 0 to 50 ms, and LinearOutSlowInEasing for the
// time between 50 and 100ms
- keyframes<Position> {
+ keyframes<DpOffset> {
durationMillis = 200
- Position(0.dp, 0.dp) at 0 with LinearEasing
- Position(500.dp, 100.dp) at 100 with LinearOutSlowInEasing
- Position(400.dp, 50.dp) at 150
+ DpOffset(0.dp, 0.dp) at 0 with LinearEasing
+ DpOffset(500.dp, 100.dp) at 100 with LinearOutSlowInEasing
+ DpOffset(400.dp, 50.dp) at 150
}
}
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
index c91c1dd..fa3482e 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/Transition.kt
@@ -35,7 +35,7 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.Uptime
import androidx.compose.ui.util.annotation.VisibleForTesting
@@ -430,7 +430,7 @@
animateValue(Offset.VectorConverter, transitionSpec, targetValueByState)
/**
- * Creates a [Position] animation as a part of the given [Transition]. This means the states
+ * Creates a [DpOffset] animation as a part of the given [Transition]. This means the states
* of this animation will be managed by the [Transition].
*
* [targetValueByState] is used as a mapping from a target state to the target value of this
@@ -450,12 +450,12 @@
*/
@Composable
inline fun <S> Transition<S>.animatePosition(
- noinline transitionSpec: @Composable (Transition.States<S>) -> FiniteAnimationSpec<Position> = {
- spring(visibilityThreshold = Position.VisibilityThreshold)
+ noinline transitionSpec: @Composable (Transition.States<S>) -> FiniteAnimationSpec<DpOffset> = {
+ spring(visibilityThreshold = DpOffset.VisibilityThreshold)
},
- targetValueByState: @Composable (state: S) -> Position
-): State<Position> =
- animateValue(Position.VectorConverter, transitionSpec, targetValueByState)
+ targetValueByState: @Composable (state: S) -> DpOffset
+): State<DpOffset> =
+ animateValue(DpOffset.VectorConverter, transitionSpec, targetValueByState)
/**
* Creates a [Size] animation as a part of the given [Transition]. This means the states
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt
index 585df63..7bbc09f 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VectorConverters.kt
@@ -23,7 +23,7 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import kotlin.math.roundToInt
@@ -40,10 +40,10 @@
get() = DpToVector
/**
- * A type converter that converts a [Position] to a [AnimationVector2D], and vice versa.
+ * A type converter that converts a [DpOffset] to a [AnimationVector2D], and vice versa.
*/
-val Position.Companion.VectorConverter: TwoWayConverter<Position, AnimationVector2D>
- get() = PositionToVector
+val DpOffset.Companion.VectorConverter: TwoWayConverter<DpOffset, AnimationVector2D>
+ get() = DpOffsetToVector
/**
* A type converter that converts a [Size] to a [AnimationVector2D], and vice versa.
@@ -84,12 +84,12 @@
)
/**
- * A type converter that converts a [Position] to a [AnimationVector2D], and vice versa.
+ * A type converter that converts a [DpOffset] to a [AnimationVector2D], and vice versa.
*/
-private val PositionToVector: TwoWayConverter<Position, AnimationVector2D> =
+private val DpOffsetToVector: TwoWayConverter<DpOffset, AnimationVector2D> =
TwoWayConverter(
convertToVector = { AnimationVector2D(it.x.value, it.y.value) },
- convertFromVector = { Position(it.v1.dp, it.v2.dp) }
+ convertFromVector = { DpOffset(it.v1.dp, it.v2.dp) }
)
/**
diff --git a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt
index cc50e01..200c127 100644
--- a/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt
+++ b/compose/animation/animation-core/src/commonMain/kotlin/androidx/compose/animation/core/VisibilityThresholds.kt
@@ -23,7 +23,7 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
private const val DpVisibilityThreshold = 0.1f
@@ -76,12 +76,12 @@
get() = DpVisibilityThreshold.dp
/**
- * Visibility threshold for [Position]. This defines the amount of value change that is
+ * Visibility threshold for [DpOffset]. This defines the amount of value change that is
* considered to be no longer visible. The animation system uses this to signal to some default
* [spring] animations to stop when the value is close enough to the target.
*/
-val Position.Companion.VisibilityThreshold: Position
- get() = Position(Dp.VisibilityThreshold, Dp.VisibilityThreshold)
+val DpOffset.Companion.VisibilityThreshold: DpOffset
+ get() = DpOffset(Dp.VisibilityThreshold, Dp.VisibilityThreshold)
/**
* Visibility threshold for [Size]. This defines the amount of value change that is
diff --git a/compose/animation/animation/api/current.txt b/compose/animation/animation/api/current.txt
index 3922f7a..e6e29ea 100644
--- a/compose/animation/animation/api/current.txt
+++ b/compose/animation/animation/api/current.txt
@@ -107,7 +107,7 @@
method public static kotlin.jvm.functions.Function1<androidx.compose.ui.graphics.colorspace.ColorSpace,androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D>> getVectorConverter(androidx.compose.ui.graphics.Color.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
- method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Position,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.Position.Companion);
+ method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Bounds,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.unit.Bounds.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
@@ -141,9 +141,9 @@
method @androidx.compose.runtime.Composable public static <T extends androidx.compose.animation.core.AnimationVector> T animate(T target, optional androidx.compose.animation.core.AnimationSpec<T> animSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> T! animate(T? target, androidx.compose.animation.core.TwoWayConverter<T,V> converter, optional androidx.compose.animation.core.AnimationSpec<T> animSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-2AXSKHY(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntOffset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntOffset,kotlin.Unit>? endListener);
+ method @androidx.compose.runtime.Composable public static long animate-4E4yWWY(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.DpOffset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.DpOffset,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-Cmzki-s(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntSize> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static float animate-Lz7ev7o(float target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Dp> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Dp,kotlin.Unit>? endListener);
- method @androidx.compose.runtime.Composable public static long animate-TEItX5s(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Position> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Position,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-m3E411Q(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.graphics.Color> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Color,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-rlPqr8Y(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Size> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Size,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-t81mtYE(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? endListener);
diff --git a/compose/animation/animation/api/public_plus_experimental_current.txt b/compose/animation/animation/api/public_plus_experimental_current.txt
index 3922f7a..e6e29ea 100644
--- a/compose/animation/animation/api/public_plus_experimental_current.txt
+++ b/compose/animation/animation/api/public_plus_experimental_current.txt
@@ -107,7 +107,7 @@
method public static kotlin.jvm.functions.Function1<androidx.compose.ui.graphics.colorspace.ColorSpace,androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D>> getVectorConverter(androidx.compose.ui.graphics.Color.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
- method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Position,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.Position.Companion);
+ method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Bounds,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.unit.Bounds.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
@@ -141,9 +141,9 @@
method @androidx.compose.runtime.Composable public static <T extends androidx.compose.animation.core.AnimationVector> T animate(T target, optional androidx.compose.animation.core.AnimationSpec<T> animSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> T! animate(T? target, androidx.compose.animation.core.TwoWayConverter<T,V> converter, optional androidx.compose.animation.core.AnimationSpec<T> animSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-2AXSKHY(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntOffset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntOffset,kotlin.Unit>? endListener);
+ method @androidx.compose.runtime.Composable public static long animate-4E4yWWY(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.DpOffset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.DpOffset,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-Cmzki-s(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntSize> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static float animate-Lz7ev7o(float target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Dp> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Dp,kotlin.Unit>? endListener);
- method @androidx.compose.runtime.Composable public static long animate-TEItX5s(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Position> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Position,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-m3E411Q(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.graphics.Color> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Color,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-rlPqr8Y(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Size> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Size,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-t81mtYE(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? endListener);
diff --git a/compose/animation/animation/api/restricted_current.txt b/compose/animation/animation/api/restricted_current.txt
index 3922f7a..e6e29ea 100644
--- a/compose/animation/animation/api/restricted_current.txt
+++ b/compose/animation/animation/api/restricted_current.txt
@@ -107,7 +107,7 @@
method public static kotlin.jvm.functions.Function1<androidx.compose.ui.graphics.colorspace.ColorSpace,androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D>> getVectorConverter(androidx.compose.ui.graphics.Color.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
- method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Position,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.Position.Companion);
+ method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Bounds,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.unit.Bounds.Companion);
method @Deprecated public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
@@ -141,9 +141,9 @@
method @androidx.compose.runtime.Composable public static <T extends androidx.compose.animation.core.AnimationVector> T animate(T target, optional androidx.compose.animation.core.AnimationSpec<T> animSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> T! animate(T? target, androidx.compose.animation.core.TwoWayConverter<T,V> converter, optional androidx.compose.animation.core.AnimationSpec<T> animSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-2AXSKHY(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntOffset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntOffset,kotlin.Unit>? endListener);
+ method @androidx.compose.runtime.Composable public static long animate-4E4yWWY(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.DpOffset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.DpOffset,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-Cmzki-s(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntSize> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static float animate-Lz7ev7o(float target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Dp> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Dp,kotlin.Unit>? endListener);
- method @androidx.compose.runtime.Composable public static long animate-TEItX5s(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Position> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Position,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-m3E411Q(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.graphics.Color> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Color,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-rlPqr8Y(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Size> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Size,kotlin.Unit>? endListener);
method @androidx.compose.runtime.Composable public static long animate-t81mtYE(long target, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? endListener);
diff --git a/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/SingleValueAnimationTest.kt b/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/SingleValueAnimationTest.kt
index e1e0cff..3b9d7c8 100644
--- a/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/SingleValueAnimationTest.kt
+++ b/compose/animation/animation/src/androidAndroidTest/kotlin/androidx/compose/animation/SingleValueAnimationTest.kt
@@ -41,7 +41,7 @@
import androidx.compose.ui.test.ExperimentalTesting
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.unit.Bounds
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.lerp
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -135,7 +135,7 @@
val endVal = AnimationVector(0f, 77f)
var vectorValue = startVal
- var positionValue = Position.VectorConverter.convertFromVector(startVal)
+ var positionValue = DpOffset.VectorConverter.convertFromVector(startVal)
var sizeValue = Size.VectorConverter.convertFromVector(startVal)
var pxPositionValue = Offset.VectorConverter.convertFromVector(startVal)
@@ -153,9 +153,9 @@
positionValue = animate(
if (enabled)
- Position.VectorConverter.convertFromVector(endVal)
+ DpOffset.VectorConverter.convertFromVector(endVal)
else
- Position.VectorConverter.convertFromVector(startVal),
+ DpOffset.VectorConverter.convertFromVector(startVal),
tween()
)
@@ -185,7 +185,7 @@
assertEquals(expect, vectorValue)
assertEquals(Size.VectorConverter.convertFromVector(expect), sizeValue)
- assertEquals(Position.VectorConverter.convertFromVector(expect), positionValue)
+ assertEquals(DpOffset.VectorConverter.convertFromVector(expect), positionValue)
assertEquals(Offset.VectorConverter.convertFromVector(expect), pxPositionValue)
rule.clockTestRule.advanceClock(50)
rule.waitForIdle()
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/PropertyKeys.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/PropertyKeys.kt
index 12cc147..58f27a6 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/PropertyKeys.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/PropertyKeys.kt
@@ -32,7 +32,7 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import kotlin.math.roundToInt
@@ -137,12 +137,12 @@
)
/**
- * A type converter that converts a [Position] to a [AnimationVector2D], and vice versa.
+ * A type converter that converts a [DpOffset] to a [AnimationVector2D], and vice versa.
*/
-private val PositionToVector: TwoWayConverter<Position, AnimationVector2D> =
+private val DpOffsetToVector: TwoWayConverter<DpOffset, AnimationVector2D> =
TwoWayConverter(
convertToVector = { AnimationVector2D(it.x.value, it.y.value) },
- convertFromVector = { Position(it.v1.dp, it.v2.dp) }
+ convertFromVector = { DpOffset(it.v1.dp, it.v2.dp) }
)
/**
@@ -216,11 +216,11 @@
get() = DpToVector
/**
- * A type converter that converts a [Position] to a [AnimationVector2D], and vice versa.
+ * A type converter that converts a [DpOffset] to a [AnimationVector2D], and vice versa.
*/
@Deprecated("Position.VectorConverter has been moved to animation-core library")
-val Position.Companion.VectorConverter: TwoWayConverter<Position, AnimationVector2D>
- get() = PositionToVector
+val DpOffset.Companion.VectorConverter: TwoWayConverter<DpOffset, AnimationVector2D>
+ get() = DpOffsetToVector
/**
* A type converter that converts a [Size] to a [AnimationVector2D], and vice versa.
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt
index 84ae2d8..eb27870 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/SingleValueAnimation.kt
@@ -44,7 +44,7 @@
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
private val defaultAnimation = SpringSpec<Float>()
@@ -147,15 +147,15 @@
}
/**
- * Fire-and-forget animation [Composable] for [Position]. Once such an animation is created, it will
+ * Fire-and-forget animation [Composable] for [DpOffset]. Once such an animation is created, it will
* be positionally memoized, like other @[Composable]s. To trigger the animation, or alter the
* course of the animation, simply supply a different [target] to the [Composable].
*
* Note, [animateTo] is for simple animations that cannot be canceled. For cancellable animations
* see [animatedValue].
*
- * val position : Position = animate(
- * if (selected) Position(0.dp, 0.dp) else Position(20.dp, 20.dp))
+ * val position : DpOffset = animate(
+ * if (selected) DpOffset(0.dp, 0.dp) else DpOffset(20.dp, 20.dp))
*
* @param target Target value of the animation
* @param animSpec The animation that will be used to change the value through time. Physics
@@ -164,16 +164,16 @@
*/
@Composable
fun animate(
- target: Position,
- animSpec: AnimationSpec<Position> = remember {
+ target: DpOffset,
+ animSpec: AnimationSpec<DpOffset> = remember {
SpringSpec(
- visibilityThreshold = Position.VisibilityThreshold
+ visibilityThreshold = DpOffset.VisibilityThreshold
)
},
- endListener: ((Position) -> Unit)? = null
-): Position {
+ endListener: ((DpOffset) -> Unit)? = null
+): DpOffset {
return animate(
- target, Position.VectorConverter, animSpec, endListener = endListener
+ target, DpOffset.VectorConverter, animSpec, endListener = endListener
)
}
diff --git a/compose/material/material/api/current.txt b/compose/material/material/api/current.txt
index 866aca3..b33ea77 100644
--- a/compose/material/material/api/current.txt
+++ b/compose/material/material/api/current.txt
@@ -481,7 +481,7 @@
}
public final class MenuKt {
- method @androidx.compose.runtime.Composable public static void DropdownMenu-iBtHMRc(kotlin.jvm.functions.Function0<kotlin.Unit> toggle, boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier toggleModifier, optional long dropdownOffset, optional androidx.compose.ui.Modifier dropdownModifier, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> dropdownContent);
+ method @androidx.compose.runtime.Composable public static void DropdownMenu-k5nJks8(kotlin.jvm.functions.Function0<kotlin.Unit> toggle, boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier toggleModifier, optional long dropdownOffset, optional androidx.compose.ui.Modifier dropdownModifier, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> dropdownContent);
method @androidx.compose.runtime.Composable public static void DropdownMenuItem(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.InteractionState interactionState, kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
diff --git a/compose/material/material/api/public_plus_experimental_current.txt b/compose/material/material/api/public_plus_experimental_current.txt
index 866aca3..b33ea77 100644
--- a/compose/material/material/api/public_plus_experimental_current.txt
+++ b/compose/material/material/api/public_plus_experimental_current.txt
@@ -481,7 +481,7 @@
}
public final class MenuKt {
- method @androidx.compose.runtime.Composable public static void DropdownMenu-iBtHMRc(kotlin.jvm.functions.Function0<kotlin.Unit> toggle, boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier toggleModifier, optional long dropdownOffset, optional androidx.compose.ui.Modifier dropdownModifier, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> dropdownContent);
+ method @androidx.compose.runtime.Composable public static void DropdownMenu-k5nJks8(kotlin.jvm.functions.Function0<kotlin.Unit> toggle, boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier toggleModifier, optional long dropdownOffset, optional androidx.compose.ui.Modifier dropdownModifier, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> dropdownContent);
method @androidx.compose.runtime.Composable public static void DropdownMenuItem(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.InteractionState interactionState, kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
diff --git a/compose/material/material/api/restricted_current.txt b/compose/material/material/api/restricted_current.txt
index 866aca3..b33ea77 100644
--- a/compose/material/material/api/restricted_current.txt
+++ b/compose/material/material/api/restricted_current.txt
@@ -481,7 +481,7 @@
}
public final class MenuKt {
- method @androidx.compose.runtime.Composable public static void DropdownMenu-iBtHMRc(kotlin.jvm.functions.Function0<kotlin.Unit> toggle, boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier toggleModifier, optional long dropdownOffset, optional androidx.compose.ui.Modifier dropdownModifier, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> dropdownContent);
+ method @androidx.compose.runtime.Composable public static void DropdownMenu-k5nJks8(kotlin.jvm.functions.Function0<kotlin.Unit> toggle, boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier toggleModifier, optional long dropdownOffset, optional androidx.compose.ui.Modifier dropdownModifier, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> dropdownContent);
method @androidx.compose.runtime.Composable public static void DropdownMenuItem(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.InteractionState interactionState, kotlin.jvm.functions.Function0<kotlin.Unit> content);
}
diff --git a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt
index 0dcc59c..009a3b3e 100644
--- a/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt
+++ b/compose/material/material/integration-tests/material-demos/src/main/java/androidx/compose/material/demos/MenuDemo.kt
@@ -36,7 +36,7 @@
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import kotlin.math.roundToInt
@@ -85,7 +85,7 @@
expanded = expanded,
onDismissRequest = { expanded = false },
toggle = iconButton,
- dropdownOffset = Position(24.dp, 0.dp),
+ dropdownOffset = DpOffset(24.dp, 0.dp),
toggleModifier = modifier
) {
options.forEach {
diff --git a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt
index aff45d5..d048f77 100644
--- a/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt
+++ b/compose/material/material/src/androidAndroidTest/kotlin/androidx/compose/material/MenuTest.kt
@@ -40,7 +40,7 @@
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
@@ -134,7 +134,7 @@
val popupSize = IntSize(50, 80)
val ltrPosition = DropdownMenuPositionProvider(
- Position(offsetX.dp, offsetY.dp),
+ DpOffset(offsetX.dp, offsetY.dp),
density
).calculatePosition(
IntBounds(anchorPosition, anchorSize),
@@ -151,7 +151,7 @@
)
val rtlPosition = DropdownMenuPositionProvider(
- Position(offsetX.dp, offsetY.dp),
+ DpOffset(offsetX.dp, offsetY.dp),
density
).calculatePosition(
IntBounds(anchorPosition, anchorSize),
@@ -182,7 +182,7 @@
val popupSize = IntSize(150, 80)
val ltrPosition = DropdownMenuPositionProvider(
- Position(offsetX.dp, offsetY.dp),
+ DpOffset(offsetX.dp, offsetY.dp),
density
).calculatePosition(
IntBounds(anchorPosition, anchorSize),
@@ -199,7 +199,7 @@
)
val rtlPosition = DropdownMenuPositionProvider(
- Position(offsetX.dp, offsetY.dp),
+ DpOffset(offsetX.dp, offsetY.dp),
density
).calculatePosition(
IntBounds(anchorPositionRtl, anchorSize),
@@ -231,7 +231,7 @@
val verticalMargin = with(density) { MenuVerticalMargin.toIntPx() }
val position = DropdownMenuPositionProvider(
- Position(0.dp, 0.dp),
+ DpOffset(0.dp, 0.dp),
density
).calculatePosition(
IntBounds(anchorPosition, anchorSize),
@@ -260,7 +260,7 @@
var obtainedParentBounds = IntBounds(0, 0, 0, 0)
var obtainedMenuBounds = IntBounds(0, 0, 0, 0)
DropdownMenuPositionProvider(
- Position(offsetX.dp, offsetY.dp),
+ DpOffset(offsetX.dp, offsetY.dp),
density
) { parentBounds, menuBounds ->
obtainedParentBounds = parentBounds
diff --git a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Menu.kt b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Menu.kt
index 30cbd64..c0ba658 100644
--- a/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Menu.kt
+++ b/compose/material/material/src/commonMain/kotlin/androidx/compose/material/Menu.kt
@@ -51,7 +51,7 @@
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.unit.Position
+import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.height
import androidx.compose.ui.unit.width
@@ -94,7 +94,7 @@
expanded: Boolean,
onDismissRequest: () -> Unit,
toggleModifier: Modifier = Modifier,
- dropdownOffset: Position = Position(0.dp, 0.dp),
+ dropdownOffset: DpOffset = DpOffset(0.dp, 0.dp),
dropdownModifier: Modifier = Modifier,
dropdownContent: @Composable ColumnScope.() -> Unit
) {
@@ -289,7 +289,7 @@
// TODO(popam): Investigate if this can/should consider the app window size rather than screen size
@Immutable
internal data class DropdownMenuPositionProvider(
- val contentOffset: Position,
+ val contentOffset: DpOffset,
val density: Density,
val onPositionCalculated: (IntBounds, IntBounds) -> Unit = { _, _ -> }
) : PopupPositionProvider {
diff --git a/compose/ui/ui-unit/api/current.txt b/compose/ui/ui-unit/api/current.txt
index 1a4ba07..4bcdad1 100644
--- a/compose/ui/ui-unit/api/current.txt
+++ b/compose/ui/ui-unit/api/current.txt
@@ -117,11 +117,11 @@
}
public final class DpKt {
- method @androidx.compose.runtime.Stable public static inline long Position-ioHfwGI(float x, float y);
+ method @androidx.compose.runtime.Stable public static inline long DpOffset-ioHfwGI(float x, float y);
+ method @Deprecated @androidx.compose.runtime.Stable public static inline long Position-ioHfwGI(float x, float y);
method @androidx.compose.runtime.Stable public static inline float coerceAtLeast-ioHfwGI(float, float minimumValue);
method @androidx.compose.runtime.Stable public static inline float coerceAtMost-ioHfwGI(float, float maximumValue);
method @androidx.compose.runtime.Stable public static inline float coerceIn-qYQSm_w(float, float minimumValue, float maximumValue);
- method @androidx.compose.runtime.Stable public static float getDistance-IsWn59c(long);
method public static inline float getDp(int);
method public static inline float getDp(double);
method public static inline float getDp(float);
@@ -130,8 +130,8 @@
method public static inline boolean isFinite-0680j_4(float);
method public static inline boolean isSpecified-0680j_4(float);
method public static inline boolean isUnspecified-0680j_4(float);
- method @androidx.compose.runtime.Stable public static long lerp-2vlZtig(long start, long stop, float fraction);
method @androidx.compose.runtime.Stable public static float lerp-7oHWEOI(float start, float stop, float fraction);
+ method @androidx.compose.runtime.Stable public static long lerp-O0PuQT4(long start, long stop, float fraction);
method @androidx.compose.runtime.Stable public static inline float max-ioHfwGI(float a, float b);
method @androidx.compose.runtime.Stable public static inline float min-ioHfwGI(float a, float b);
method public static inline float takeOrElse-RiydCdY(float, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.Dp> block);
@@ -140,6 +140,26 @@
method @androidx.compose.runtime.Stable public static inline operator float times-NnR5yEA(float, float other);
}
+ @androidx.compose.runtime.Immutable public final inline class DpOffset {
+ ctor public DpOffset();
+ method public static long constructor-impl(long packedValue);
+ method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-D9Ej5fM(long $this);
+ method public static float getY-D9Ej5fM(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.DpOffset.Companion Companion;
+ }
+
+ public static final class DpOffset.Companion {
+ method public long getZero-RKDOV3M();
+ property public final long Zero;
+ }
+
@androidx.compose.runtime.Immutable public final inline class Duration implements java.lang.Comparable<androidx.compose.ui.unit.Duration> {
ctor public Duration();
method @androidx.compose.runtime.Stable public int compareTo-WUeva1s(long p);
@@ -296,24 +316,6 @@
enum_constant public static final androidx.compose.ui.unit.LayoutDirection Rtl;
}
- @androidx.compose.runtime.Immutable public final inline class Position {
- ctor public Position();
- method public static long constructor-impl(long packedValue);
- method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
- method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
- method public static boolean equals-impl0(long p1, long p2);
- method public static float getX-D9Ej5fM(long $this);
- method public static float getY-D9Ej5fM(long $this);
- method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
- method @androidx.compose.runtime.Stable public static inline operator long minus-IsWn59c(long $this, long other);
- method @androidx.compose.runtime.Stable public static inline operator long plus-IsWn59c(long $this, long other);
- method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
- field public static final androidx.compose.ui.unit.Position.Companion Companion;
- }
-
- public static final class Position.Companion {
- }
-
@androidx.compose.runtime.Immutable public final inline class PxCubed implements java.lang.Comparable<androidx.compose.ui.unit.PxCubed> {
ctor public PxCubed();
method @androidx.compose.runtime.Stable public operator int compareTo-830ceAw(float p);
diff --git a/compose/ui/ui-unit/api/public_plus_experimental_current.txt b/compose/ui/ui-unit/api/public_plus_experimental_current.txt
index 1a4ba07..4bcdad1 100644
--- a/compose/ui/ui-unit/api/public_plus_experimental_current.txt
+++ b/compose/ui/ui-unit/api/public_plus_experimental_current.txt
@@ -117,11 +117,11 @@
}
public final class DpKt {
- method @androidx.compose.runtime.Stable public static inline long Position-ioHfwGI(float x, float y);
+ method @androidx.compose.runtime.Stable public static inline long DpOffset-ioHfwGI(float x, float y);
+ method @Deprecated @androidx.compose.runtime.Stable public static inline long Position-ioHfwGI(float x, float y);
method @androidx.compose.runtime.Stable public static inline float coerceAtLeast-ioHfwGI(float, float minimumValue);
method @androidx.compose.runtime.Stable public static inline float coerceAtMost-ioHfwGI(float, float maximumValue);
method @androidx.compose.runtime.Stable public static inline float coerceIn-qYQSm_w(float, float minimumValue, float maximumValue);
- method @androidx.compose.runtime.Stable public static float getDistance-IsWn59c(long);
method public static inline float getDp(int);
method public static inline float getDp(double);
method public static inline float getDp(float);
@@ -130,8 +130,8 @@
method public static inline boolean isFinite-0680j_4(float);
method public static inline boolean isSpecified-0680j_4(float);
method public static inline boolean isUnspecified-0680j_4(float);
- method @androidx.compose.runtime.Stable public static long lerp-2vlZtig(long start, long stop, float fraction);
method @androidx.compose.runtime.Stable public static float lerp-7oHWEOI(float start, float stop, float fraction);
+ method @androidx.compose.runtime.Stable public static long lerp-O0PuQT4(long start, long stop, float fraction);
method @androidx.compose.runtime.Stable public static inline float max-ioHfwGI(float a, float b);
method @androidx.compose.runtime.Stable public static inline float min-ioHfwGI(float a, float b);
method public static inline float takeOrElse-RiydCdY(float, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.Dp> block);
@@ -140,6 +140,26 @@
method @androidx.compose.runtime.Stable public static inline operator float times-NnR5yEA(float, float other);
}
+ @androidx.compose.runtime.Immutable public final inline class DpOffset {
+ ctor public DpOffset();
+ method public static long constructor-impl(long packedValue);
+ method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-D9Ej5fM(long $this);
+ method public static float getY-D9Ej5fM(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.DpOffset.Companion Companion;
+ }
+
+ public static final class DpOffset.Companion {
+ method public long getZero-RKDOV3M();
+ property public final long Zero;
+ }
+
@androidx.compose.runtime.Immutable public final inline class Duration implements java.lang.Comparable<androidx.compose.ui.unit.Duration> {
ctor public Duration();
method @androidx.compose.runtime.Stable public int compareTo-WUeva1s(long p);
@@ -296,24 +316,6 @@
enum_constant public static final androidx.compose.ui.unit.LayoutDirection Rtl;
}
- @androidx.compose.runtime.Immutable public final inline class Position {
- ctor public Position();
- method public static long constructor-impl(long packedValue);
- method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
- method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
- method public static boolean equals-impl0(long p1, long p2);
- method public static float getX-D9Ej5fM(long $this);
- method public static float getY-D9Ej5fM(long $this);
- method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
- method @androidx.compose.runtime.Stable public static inline operator long minus-IsWn59c(long $this, long other);
- method @androidx.compose.runtime.Stable public static inline operator long plus-IsWn59c(long $this, long other);
- method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
- field public static final androidx.compose.ui.unit.Position.Companion Companion;
- }
-
- public static final class Position.Companion {
- }
-
@androidx.compose.runtime.Immutable public final inline class PxCubed implements java.lang.Comparable<androidx.compose.ui.unit.PxCubed> {
ctor public PxCubed();
method @androidx.compose.runtime.Stable public operator int compareTo-830ceAw(float p);
diff --git a/compose/ui/ui-unit/api/restricted_current.txt b/compose/ui/ui-unit/api/restricted_current.txt
index 79c6020..62019ab 100644
--- a/compose/ui/ui-unit/api/restricted_current.txt
+++ b/compose/ui/ui-unit/api/restricted_current.txt
@@ -117,11 +117,11 @@
}
public final class DpKt {
- method @androidx.compose.runtime.Stable public static inline long Position-ioHfwGI(float x, float y);
+ method @androidx.compose.runtime.Stable public static inline long DpOffset-ioHfwGI(float x, float y);
+ method @Deprecated @androidx.compose.runtime.Stable public static inline long Position-ioHfwGI(float x, float y);
method @androidx.compose.runtime.Stable public static inline float coerceAtLeast-ioHfwGI(float, float minimumValue);
method @androidx.compose.runtime.Stable public static inline float coerceAtMost-ioHfwGI(float, float maximumValue);
method @androidx.compose.runtime.Stable public static inline float coerceIn-qYQSm_w(float, float minimumValue, float maximumValue);
- method @androidx.compose.runtime.Stable public static float getDistance-IsWn59c(long);
method public static inline float getDp(int);
method public static inline float getDp(double);
method public static inline float getDp(float);
@@ -130,8 +130,8 @@
method public static inline boolean isFinite-0680j_4(float);
method public static inline boolean isSpecified-0680j_4(float);
method public static inline boolean isUnspecified-0680j_4(float);
- method @androidx.compose.runtime.Stable public static long lerp-2vlZtig(long start, long stop, float fraction);
method @androidx.compose.runtime.Stable public static float lerp-7oHWEOI(float start, float stop, float fraction);
+ method @androidx.compose.runtime.Stable public static long lerp-O0PuQT4(long start, long stop, float fraction);
method @androidx.compose.runtime.Stable public static inline float max-ioHfwGI(float a, float b);
method @androidx.compose.runtime.Stable public static inline float min-ioHfwGI(float a, float b);
method public static inline float takeOrElse-RiydCdY(float, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.Dp> block);
@@ -140,6 +140,26 @@
method @androidx.compose.runtime.Stable public static inline operator float times-NnR5yEA(float, float other);
}
+ @androidx.compose.runtime.Immutable public final inline class DpOffset {
+ ctor public DpOffset();
+ method public static long constructor-impl(long packedValue);
+ method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-D9Ej5fM(long $this);
+ method public static float getY-D9Ej5fM(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.DpOffset.Companion Companion;
+ }
+
+ public static final class DpOffset.Companion {
+ method public long getZero-RKDOV3M();
+ property public final long Zero;
+ }
+
@androidx.compose.runtime.Immutable public final inline class Duration implements java.lang.Comparable<androidx.compose.ui.unit.Duration> {
ctor public Duration();
method @androidx.compose.runtime.Stable public int compareTo-WUeva1s(long p);
@@ -296,24 +316,6 @@
enum_constant public static final androidx.compose.ui.unit.LayoutDirection Rtl;
}
- @androidx.compose.runtime.Immutable public final inline class Position {
- ctor public Position();
- method public static long constructor-impl(long packedValue);
- method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
- method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
- method public static boolean equals-impl0(long p1, long p2);
- method public static float getX-D9Ej5fM(long $this);
- method public static float getY-D9Ej5fM(long $this);
- method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
- method @androidx.compose.runtime.Stable public static inline operator long minus-IsWn59c(long $this, long other);
- method @androidx.compose.runtime.Stable public static inline operator long plus-IsWn59c(long $this, long other);
- method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
- field public static final androidx.compose.ui.unit.Position.Companion Companion;
- }
-
- public static final class Position.Companion {
- }
-
@androidx.compose.runtime.Immutable public final inline class PxCubed implements java.lang.Comparable<androidx.compose.ui.unit.PxCubed> {
ctor public PxCubed();
method @androidx.compose.runtime.Stable public operator int compareTo-830ceAw(float p);
diff --git a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Dp.kt b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Dp.kt
index bb24b51..96e2908 100644
--- a/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Dp.kt
+++ b/compose/ui/ui-unit/src/commonMain/kotlin/androidx/compose/ui/unit/Dp.kt
@@ -27,7 +27,6 @@
import androidx.compose.ui.util.unpackFloat2
import kotlin.math.max
import kotlin.math.min
-import kotlin.math.sqrt
/**
* Dimension value representing device-independent pixels (dp). Component APIs specify their
@@ -249,70 +248,81 @@
// Structures using Dp
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+@Deprecated(
+ "Use DpOffset",
+ ReplaceWith("DpOffset", "androidx.compose.ui.unit.DpOffset")
+)
+typealias Position = DpOffset
+
/**
- * A two-dimensional position using [Dp] for units
+ * A two-dimensional offset using [Dp] for units
*/
@OptIn(ExperimentalUnsignedTypes::class)
@Suppress("EXPERIMENTAL_FEATURE_WARNING")
@Immutable
-inline class Position(@PublishedApi internal val packedValue: Long) {
+inline class DpOffset(@PublishedApi internal val packedValue: Long) {
/**
- * The horizontal aspect of the position in [Dp]
+ * The horizontal aspect of the offset in [Dp]
*/
@Stable
/*inline*/ val x: Dp
get() = unpackFloat1(packedValue).dp
/**
- * The vertical aspect of the position in [Dp]
+ * The vertical aspect of the offset in [Dp]
*/
@Stable
/*inline*/ val y: Dp
get() = unpackFloat2(packedValue).dp
/**
- * Returns a copy of this Position instance optionally overriding the
+ * Returns a copy of this [DpOffset] instance optionally overriding the
* x or y parameter
*/
- fun copy(x: Dp = this.x, y: Dp = this.y): Position = Position(x, y)
+ fun copy(x: Dp = this.x, y: Dp = this.y): DpOffset = DpOffset(x, y)
/**
- * Subtract a [Position] from another one.
+ * Subtract a [DpOffset] from another one.
*/
@Stable
- inline operator fun minus(other: Position) =
- Position(x - other.x, y - other.y)
+ inline operator fun minus(other: DpOffset) =
+ DpOffset(x - other.x, y - other.y)
/**
- * Add a [Position] to another one.
+ * Add a [DpOffset] to another one.
*/
@Stable
- inline operator fun plus(other: Position) =
- Position(x + other.x, y + other.y)
+ inline operator fun plus(other: DpOffset) =
+ DpOffset(x + other.x, y + other.y)
@Stable
override fun toString(): String = "($x, $y)"
- companion object
+ companion object {
+ /**
+ * A [DpOffset] with 0 DP [x] and 0 DP [y] values.
+ */
+ val Zero = DpOffset(0.dp, 0.dp)
+ }
}
/**
- * Constructs a [Position] from [x] and [y] position [Dp] values.
+ * Constructs a [DpOffset] from [x] and [y] position [Dp] values.
*/
@OptIn(ExperimentalUnsignedTypes::class)
@Stable
-inline fun Position(x: Dp, y: Dp): Position = Position(packFloats(x.value, y.value))
+inline fun DpOffset(x: Dp, y: Dp): DpOffset = DpOffset(packFloats(x.value, y.value))
-/**
- * The magnitude of the offset represented by this [Position].
- */
+@Deprecated(
+ "Use DpOffset",
+ ReplaceWith("DpOffset(x, y)", "androidx.compose.ui.unit.DpOffset")
+)
+@OptIn(ExperimentalUnsignedTypes::class)
@Stable
-fun Position.getDistance(): Dp {
- return Dp(sqrt(x.value * x.value + y.value * y.value))
-}
+inline fun Position(x: Dp, y: Dp): DpOffset = DpOffset(packFloats(x.value, y.value))
/**
- * Linearly interpolate between two [Position]s.
+ * Linearly interpolate between two [DpOffset]s.
*
* The [fraction] argument represents position on the timeline, with 0.0 meaning
* that the interpolation has not started, returning [start] (or something
@@ -323,8 +333,8 @@
* 1.0, so negative values and values greater than 1.0 are valid.
*/
@Stable
-fun lerp(start: Position, stop: Position, fraction: Float): Position =
- Position(lerp(start.x, stop.x, fraction), lerp(start.y, stop.y, fraction))
+fun lerp(start: DpOffset, stop: DpOffset, fraction: Float): DpOffset =
+ DpOffset(lerp(start.x, stop.x, fraction), lerp(start.y, stop.y, fraction))
/**
* A four dimensional bounds using [Dp] for units
diff --git a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt
index 519afcb..1fac81c 100644
--- a/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt
+++ b/compose/ui/ui-unit/src/test/kotlin/androidx/compose/ui/unit/DpTest.kt
@@ -162,34 +162,28 @@
}
@Test
- fun positionDistance() {
- val position = Position(3.dp, 4.dp)
- assertEquals(5.dp, position.getDistance())
- }
-
- @Test
fun lerpPosition() {
- val a = Position(3.dp, 10.dp)
- val b = Position(5.dp, 8.dp)
- assertEquals(Position(4.dp, 9.dp), lerp(a, b, 0.5f))
- assertEquals(Position(3.dp, 10.dp), lerp(a, b, 0f))
- assertEquals(Position(5.dp, 8.dp), lerp(a, b, 1f))
+ val a = DpOffset(3.dp, 10.dp)
+ val b = DpOffset(5.dp, 8.dp)
+ assertEquals(DpOffset(4.dp, 9.dp), lerp(a, b, 0.5f))
+ assertEquals(DpOffset(3.dp, 10.dp), lerp(a, b, 0f))
+ assertEquals(DpOffset(5.dp, 8.dp), lerp(a, b, 1f))
}
@Test
fun positionMinus() {
- val a = Position(3.dp, 10.dp)
- val b = Position(5.dp, 8.dp)
- assertEquals(Position(-2.dp, 2.dp), a - b)
- assertEquals(Position(2.dp, -2.dp), b - a)
+ val a = DpOffset(3.dp, 10.dp)
+ val b = DpOffset(5.dp, 8.dp)
+ assertEquals(DpOffset(-2.dp, 2.dp), a - b)
+ assertEquals(DpOffset(2.dp, -2.dp), b - a)
}
@Test
fun positionPlus() {
- val a = Position(3.dp, 10.dp)
- val b = Position(5.dp, 8.dp)
- assertEquals(Position(8.dp, 18.dp), a + b)
- assertEquals(Position(8.dp, 18.dp), b + a)
+ val a = DpOffset(3.dp, 10.dp)
+ val b = DpOffset(5.dp, 8.dp)
+ assertEquals(DpOffset(8.dp, 18.dp), a + b)
+ assertEquals(DpOffset(8.dp, 18.dp), b + a)
}
@Test
@@ -206,13 +200,13 @@
@Test
fun testPositionCopy() {
- val position = Position(12.dp, 27.dp)
+ val position = DpOffset(12.dp, 27.dp)
assertEquals(position, position.copy())
}
@Test
fun testPositionCopyOverwriteX() {
- val position = Position(15.dp, 32.dp)
+ val position = DpOffset(15.dp, 32.dp)
val copy = position.copy(x = 59.dp)
assertEquals(59.dp, copy.x)
assertEquals(32.dp, copy.y)
@@ -220,7 +214,7 @@
@Test
fun testPositionCopyOverwriteY() {
- val position = Position(19.dp, 42.dp)
+ val position = DpOffset(19.dp, 42.dp)
val copy = position.copy(y = 67.dp)
assertEquals(19.dp, copy.x)
assertEquals(67.dp, copy.y)