Skip to content

Commit bb3ec1f

Browse files
authored
Adopt upstream deprecations in ui-graphics (JetBrains#2802)
[CMP-9776](https://youtrack.jetbrains.com/issue/CMP-9776) Adapt the sources for expect class NativePaint deprecation ## Release Notes ### Migration Notes - Multiple Platforms - `androidx.compose.ui.graphics.NativePaint` and `androidx.compose.ui.graphics.NativeCanvas` typealiases are deprecated, use direct references to native types instead. - `Paint.asFrameworkPaint()` was replaced to `Paint.nativePaint` extension to avoid exposing a platform type into `commonMain` sourceset via `typealias`
1 parent ba5a8d6 commit bb3ec1f

15 files changed

Lines changed: 244 additions & 133 deletions

File tree

compose/ui/ui-graphics/api/desktop/ui-graphics.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,7 @@ public final class androidx/compose/ui/graphics/SkiaBackedCanvas_skikoKt {
997997
public final class androidx/compose/ui/graphics/SkiaBackedPaint_skikoKt {
998998
public static final fun Paint ()Landroidx/compose/ui/graphics/Paint;
999999
public static final fun asComposePaint (Lorg/jetbrains/skia/Paint;)Landroidx/compose/ui/graphics/Paint;
1000+
public static final fun getNativePaint (Landroidx/compose/ui/graphics/Paint;)Lorg/jetbrains/skia/Paint;
10001001
public static final fun isSupported-s9anfk8 (I)Z
10011002
}
10021003

compose/ui/ui-graphics/api/ui-graphics.klib.api

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2024,6 +2024,8 @@ final val androidx.compose.ui.graphics/isUnspecified // androidx.compose.ui.grap
20242024
final inline fun (androidx.compose.ui.graphics/Color).<get-isUnspecified>(): kotlin/Boolean // androidx.compose.ui.graphics/isUnspecified.<get-isUnspecified>|<get-isUnspecified>@androidx.compose.ui.graphics.Color(){}[0]
20252025
final val androidx.compose.ui.graphics/nativeCanvas // androidx.compose.ui.graphics/nativeCanvas|@androidx.compose.ui.graphics.Canvas{}nativeCanvas[0]
20262026
final fun (androidx.compose.ui.graphics/Canvas).<get-nativeCanvas>(): org.jetbrains.skia/Canvas // androidx.compose.ui.graphics/nativeCanvas.<get-nativeCanvas>|<get-nativeCanvas>@androidx.compose.ui.graphics.Canvas(){}[0]
2027+
final val androidx.compose.ui.graphics/nativePaint // androidx.compose.ui.graphics/nativePaint|@androidx.compose.ui.graphics.Paint{}nativePaint[0]
2028+
final fun (androidx.compose.ui.graphics/Paint).<get-nativePaint>(): org.jetbrains.skia/Paint // androidx.compose.ui.graphics/nativePaint.<get-nativePaint>|<get-nativePaint>@androidx.compose.ui.graphics.Paint(){}[0]
20272029
final val androidx.compose.ui.graphics/reverseDifference // androidx.compose.ui.graphics/reverseDifference|@androidx.compose.ui.graphics.PathOperation.Companion{}reverseDifference[0]
20282030
final fun (androidx.compose.ui.graphics/PathOperation.Companion).<get-reverseDifference>(): androidx.compose.ui.graphics/PathOperation // androidx.compose.ui.graphics/reverseDifference.<get-reverseDifference>|<get-reverseDifference>@androidx.compose.ui.graphics.PathOperation.Companion(){}[0]
20292031
final val androidx.compose.ui.graphics/union // androidx.compose.ui.graphics/union|@androidx.compose.ui.graphics.PathOperation.Companion{}union[0]

compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopColorFilter.desktop.kt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,24 @@
1616

1717
package androidx.compose.ui.graphics
1818

19-
import org.jetbrains.skia.ColorFilter as SkiaColorFilter
19+
import org.jetbrains.skia.ColorFilter as SkColorFilter
2020

2121
/**
2222
* Obtain a reference to the desktop ColorFilter type
2323
*/
24-
@Deprecated("Use asSkiaColorFilter()", replaceWith = ReplaceWith("asSkiaColorFilter()"))
25-
fun ColorFilter.asDesktopColorFilter(): SkiaColorFilter = nativeColorFilter
24+
@Deprecated(
25+
message = "Use asSkiaColorFilter()",
26+
replaceWith = ReplaceWith("asSkiaColorFilter()"),
27+
level = DeprecationLevel.ERROR,
28+
)
29+
fun ColorFilter.asDesktopColorFilter(): SkColorFilter = nativeColorFilter
2630

2731
/**
2832
* Obtain a [org.jetbrains.skia.ColorFilter] instance from this [ColorFilter]
2933
*/
30-
@Deprecated("Use asComposeColorFilter()", replaceWith = ReplaceWith("asComposeColorFilter()"))
31-
fun SkiaColorFilter.toComposeColorFilter(): ColorFilter = ColorFilter(this)
34+
@Deprecated(
35+
message = "Use asComposeColorFilter()",
36+
replaceWith = ReplaceWith("asComposeColorFilter()"),
37+
level = DeprecationLevel.ERROR,
38+
)
39+
fun SkColorFilter.toComposeColorFilter(): ColorFilter = ColorFilter(this)

compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageAsset.desktop.kt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,32 @@ import org.jetbrains.skia.Image
2626
* not create a copy of the original [Bitmap] and changes to it
2727
* will modify the returned [ImageBitmap]
2828
*/
29-
@Deprecated("Use asComposeImageBitmap", replaceWith = ReplaceWith("asComposeImageBitmap()"))
29+
@Deprecated(
30+
message = "Use asComposeImageBitmap",
31+
replaceWith = ReplaceWith("asComposeImageBitmap()"),
32+
level = DeprecationLevel.ERROR,
33+
)
3034
fun Bitmap.asImageBitmap(): ImageBitmap = asComposeImageBitmap()
3135

3236
/**
3337
* Create an [ImageBitmap] from the given [Image].
3438
*/
35-
@Deprecated("Use toComposeImageBitmap", replaceWith = ReplaceWith("toComposeImageBitmap()"))
39+
@Deprecated(
40+
message = "Use toComposeImageBitmap",
41+
replaceWith = ReplaceWith("toComposeImageBitmap()"),
42+
level = DeprecationLevel.ERROR,
43+
)
3644
fun Image.asImageBitmap(): ImageBitmap = toComposeImageBitmap()
3745

3846
/**
3947
* @Throws UnsupportedOperationException if this [ImageBitmap] is not backed by an
4048
* org.jetbrains.skia.Image
4149
*/
42-
@Deprecated("Use asSkiaBitmap()", replaceWith = ReplaceWith("asSkiaBitmap()"))
50+
@Deprecated(
51+
message = "Use asSkiaBitmap()",
52+
replaceWith = ReplaceWith("asSkiaBitmap()"),
53+
level = DeprecationLevel.ERROR,
54+
)
4355
fun ImageBitmap.asDesktopBitmap(): Bitmap = asSkiaBitmap()
4456

4557
internal actual fun ByteArray.putBytesInto(array: IntArray, offset: Int, length: Int) {

compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopImageConverters.desktop.kt

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,11 @@ import org.jetbrains.skia.ImageInfo
4848
* functions. Don't mutate [BufferedImage] after converting it to [Painter], it will lead to
4949
* undefined behavior.
5050
*/
51-
@Deprecated("Use toPainter", replaceWith = ReplaceWith("toPainter()"))
51+
@Deprecated(
52+
message = "Use toPainter",
53+
replaceWith = ReplaceWith("toPainter()"),
54+
level = DeprecationLevel.ERROR,
55+
)
5256
fun BufferedImage.asPainter(): Painter = BufferedImagePainter(this)
5357

5458
/**
@@ -89,7 +93,8 @@ private class BufferedImagePainter(val image: BufferedImage) : Painter() {
8993
*/
9094
@Deprecated(
9195
"Use toAwtImage",
92-
replaceWith = ReplaceWith("toAwtImage(density, layoutDirection, size)")
96+
replaceWith = ReplaceWith("toAwtImage(density, layoutDirection, size)"),
97+
level = DeprecationLevel.ERROR,
9398
)
9499
fun Painter.asAwtImage(
95100
density: Density,
@@ -204,7 +209,11 @@ private class PainterImage(
204209
* Convert Compose [ImageBitmap] to AWT [BufferedImage]
205210
*/
206211

207-
@Deprecated("use toAwtImage", replaceWith = ReplaceWith("toAwtImage"))
212+
@Deprecated(
213+
message = "use toAwtImage",
214+
replaceWith = ReplaceWith("toAwtImage"),
215+
level = DeprecationLevel.ERROR,
216+
)
208217
fun ImageBitmap.asAwtImage(): BufferedImage = toAwtImage()
209218

210219
/**
@@ -231,7 +240,11 @@ fun ImageBitmap.toAwtImage(): BufferedImage {
231240
/**
232241
* Convert AWT [BufferedImage] to Compose [ImageBitmap]
233242
*/
234-
@Deprecated("use toComposeImageBitmap()", replaceWith = ReplaceWith("toComposeImageBitmap()"))
243+
@Deprecated(
244+
message = "use toComposeImageBitmap()",
245+
replaceWith = ReplaceWith("toComposeImageBitmap()"),
246+
level = DeprecationLevel.ERROR,
247+
)
235248
fun BufferedImage.toComposeBitmap(): ImageBitmap = toComposeImageBitmap()
236249

237250
/**

compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPath.desktop.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,9 @@
1717
package androidx.compose.ui.graphics
1818

1919
@Suppress("NOTHING_TO_INLINE")
20-
@Deprecated("Use asSkiaPath()", replaceWith = ReplaceWith("asSkiaPath()"))
20+
@Deprecated(
21+
message = "Use asSkiaPath()",
22+
replaceWith = ReplaceWith("asSkiaPath()"),
23+
level = DeprecationLevel.ERROR,
24+
)
2125
inline fun Path.asDesktopPath(): org.jetbrains.skia.Path = asSkiaPath()

compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPathEffect.desktop.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,9 @@ import org.jetbrains.skia.PathEffect as SkPathEffect
2121
/**
2222
* Obtain a reference to the desktop PathEffect type
2323
*/
24-
@Deprecated("Use asSkiaPathEffect()", replaceWith = ReplaceWith("asSkiaPathEffect()"))
24+
@Deprecated(
25+
message = "Use asSkiaPathEffect()",
26+
replaceWith = ReplaceWith("asSkiaPathEffect()"),
27+
level = DeprecationLevel.ERROR,
28+
)
2529
fun PathEffect.asDesktopPathEffect(): SkPathEffect = asSkiaPathEffect()

compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/RenderEffect.desktop.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,9 @@ package androidx.compose.ui.graphics
1818

1919
import org.jetbrains.skia.ImageFilter
2020

21-
@Deprecated("Use asSkiaImageFilter()", replaceWith = ReplaceWith("asSkiaImageFilter()"))
21+
@Deprecated(
22+
message = "Use asSkiaImageFilter()",
23+
replaceWith = ReplaceWith("asSkiaImageFilter()"),
24+
level = DeprecationLevel.ERROR,
25+
)
2226
fun RenderEffect.asDesktopImageFilter(): ImageFilter = asSkiaImageFilter()

0 commit comments

Comments
 (0)