Commit Graph

140 Commits

Author SHA1 Message Date
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
Julian Winkler
0e078894ce make K-9 Mail launch 2024-12-16 17:54:15 +01:00