Commit Graph

53 Commits

Author SHA1 Message Date
Julian Winkler
6e6e9a3be8 api-impl: misc fixes and additions to make Telegram launch 2025-07-14 16:32:28 +02:00
Mis012
3a3366abfa Paint: treat stroke width 0 as 1 until we implement special handling for it 2025-06-10 00:59:37 +02:00
Mis012
65a7e34871 Path: add arcTo and addArc, minor cleanup 2025-06-10 00:48:41 +02:00
Julian Winkler
4a4b4a4722 api-impl: misc stubs and fixes for several apps including F-Droid and AuroraStore 2025-03-25 23:34:56 +01:00
Julian Winkler
24f839f556 make android.text.Layout.draw() compatible custom Canvas classes
TextAndroidCanvas is a proxy canvas class which prevents us from
accessing the GtkSnapshot of the real canvas. To solve this problem, we
call Canvas.drawText() for each line.
2025-02-24 21:49:46 +01:00
Julian Winkler
4bb5dfd86e Paint: implement textAlign and text bounds 2025-02-24 21:45:36 +01:00
Mis012
899805f23f Canvas: add drawLines 2025-02-15 21:42:21 +01:00
Julian Winkler
fb2cba8572 fix Matrix.getValues() being transposed
This makes more CTS tests pass
2025-02-13 06:56:31 +01:00
Julian Winkler
87b254156d Drawable: queue up invalidate() calls, because GTK can't invalidate from inside draw()
This is analogous to wrapper_widget_queue_draw().
2025-02-10 21:55:14 +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
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
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
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
9023e2963b ImageView: implement tint attribute 2024-12-15 07:39:25 +01:00
Julian Winkler
1955522b28 android.text.Layout: actually measure text sizes 2024-12-13 22:32:04 +01:00
Julian Winkler
1398125eb5 api-impl: stubs and fixes for Compose Stopwatch and LibreSudoku 2024-12-13 22:32:02 +01:00
Julian Winkler
d0952101a6 implement some Canvas methods needed for composeUI 2024-12-01 14:15:00 +00:00