Julian Winkler
1eb0a5074f
Canvas: fix NullPointerException in setBitmap()
2025-02-15 08:21:30 +01:00
Julian Winkler
5375f4b5fd
implement android.text.Layout using PangoLayout
...
This is needed to have proper line wrapping in composeUI apps.
In the CTS, android.text.cts.StaticLayoutTest passes all checks now.
2025-02-13 07:01:17 +01:00
Julian Winkler
829df70a9f
Canvas: fix some issues spotted by the CTS
2025-02-13 06:56:31 +01:00
Julian Winkler
1cf48085ff
api-impl: add misc APIs needed for AntennaPod
2025-02-10 21:55:27 +01:00
Julian Winkler
652715ee00
Canvas: add more Bitmap drawing methods
2025-02-10 21:55:14 +01:00
Julian Winkler
f69cff7113
implement Bitmap.compress()
2025-02-10 21:55:14 +01:00
Julian Winkler
e9769c1587
Bitmap: explicitly store whether it was recycled
2025-02-10 21:55:14 +01:00
Mis012
ab5b600bf1
run whitespace_format.py --add-new-line-marker-at-end-of-file --remove-trailing-whitespace --remove-trailing-empty-lines --new-line-marker=linux --normalize-non-standard-whitespace=remove on src/
2025-02-05 16:27:17 +01:00
Julian Winkler
111a90e554
add Bitmap.isMutable()
...
In our implementation all bitmaps are mutable
2025-01-26 22:27:43 +01:00
Julian Winkler
98e7989ccb
api-impl: fixes for apps using old support library
2025-01-13 14:17:40 +01:00
Julian Winkler
7700d8bf11
replace VectorDrawable with AOSP implementation from Android 6
...
This way, we can avoid librsvg which causes stack overflows on
Alpine/postmarketOS, because of musl's limited stack size.
2025-01-11 23:23:53 +01:00
Julian Winkler
57dd86fc98
api-impl: misc stubs for WhatsApp
2025-01-11 22:42:25 +01:00
Mis012
7354864e34
Path: stub out the rest of addRoundRect variants
2025-01-02 22:39:57 +01:00
Mis012
279c95becb
borrow relevant parts of AOSP commit dbee9bb342cdfaa5155b1918f90262c05e2464cb
...
Our SVG-based VectorDrawable implementation still relies on `getDefaultColor`
but exceptions are no longer thrown when parsing VectorDrawable xml files
which use gradients as colors.
2025-01-02 22:25:13 +01:00
Pierre-Hugues Husson
c81442321e
api-impl: stubs and fixes for latest WhatsApp version
2025-01-01 11:33:16 +01:00
Julian Winkler
bf923cfcfa
Bitmap: create Texture as GdkMemoryTexture if nothing has to be rendered
...
This improves OsmAnd V1 renderer performance.
2024-12-22 23:40:11 +01:00
Julian Winkler
260821d68c
Bitmap: implement pixel buffer access
...
For GPU textures, the GdkTextureDownloader will take care of format
conversions, so the application never sees the actual format.
If the application calls AndroidBitmap_unlockPixels(), the texture is
converted into a GdkMemoryTexture and can be accessed zero copy.
2024-12-22 23:40:11 +01:00
Julian Winkler
7695aadf91
implement Paint as combination of GDK, GSK and Pango attributes
2024-12-22 23:40:11 +01:00
Julian Winkler
ba302d87ec
add back graphics APIs for the previously working applications
2024-12-22 12:30:29 +01:00
Julian Winkler
f3bc468a1c
drop Skia dependency
...
Everything is implementede using GTK Scene Graph now. Skia is no longer
needed.
2024-12-22 12:30:29 +01:00
Julian Winkler
cd2c69cf73
reimplement Bitmap and Path using GdkTexture and GskPath
...
This allows us to use GskCanvas for Bitmap rendering
This increases the required GTK version to >= 4.14.
2024-12-22 12:30:29 +01:00
Julian Winkler
ae58d29336
BitmapDrawable: support intrinsic sizes
2024-12-22 10:24:55 +01:00
Mis012
58745f23ea
api-impl: misc stubs, additions and fixes
2024-12-20 00:11:06 +01:00
Julian Winkler
c8ed103516
implement Canvas.scale() for skia and GtkSnapshot
2024-12-16 17:54:15 +01:00
Julian Winkler
597c73f334
GskCanvas: implement RoundedRect filling
2024-12-16 17:54:15 +01:00