Julian Winkler
f2a32dae61
update android_content_res_AssetManager.h
2025-01-11 23:23:53 +01:00
Julian Winkler
e6a22df315
AudioTrack: recover underruns properly
2025-01-11 23:23:53 +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
Mis012
7d59407138
AssetManager: implement resolveAttrs
2025-01-02 22:18:45 +01:00
Julian Winkler
c16feb72e5
MessageQueue: fix integer overflow when converting ms to us
2025-01-01 11:33:16 +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
09a38f9a28
AudioTrack: set buffer size and period size correctly
...
Android buffer size is in bytes, but ALSA buffer size is in frames. Also
the period size was not set previously.
This fixes several audio issues on postmarketOS and probably other
distributions that still use PulseAudio instead of PipeWire.
2024-12-30 09:47:14 +01:00
Julian Winkler
b4f7c64cef
Context.updateConfig(): handle XDG-portal unvavailablility
...
The XDG-portal DBus instance is not available to applications launched
from SSH on postmarketOS.
2024-12-30 09:46:52 +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
0dfcb9324f
drop GTK < 4.14 ifdefs
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
2f122cbad7
SurfaceView.unlockCanvasAndPost(): create GSK renderer without surface
...
This is needed to allow using the renderer on non UI threads.
2024-12-22 10:24:55 +01:00
Julian Winkler
bf610d3504
implement Activity.isInMultiWindowMode()
2024-12-22 10:24:54 +01:00
Mis012
58745f23ea
api-impl: misc stubs, additions and fixes
2024-12-20 00:11:06 +01:00
Julian Winkler
47fc749018
implement WindowManager for composeUI popups
...
currently everything is created as GtkPopover which is not ideal for
toplevel windows, so print a warning in that case.
2024-12-17 22:38:09 +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
967e6e9b94
AndroidLayout: prevent unnecessary measurements between two JavaWidgets
...
GTK sometimes calls widget_measure() from widget_allocate(). This is
unnecessary if the parent and child are both JavaWidgets and these
unexpected measurements can confuse Views.
2024-12-15 18:06:58 +01:00
Julian Winkler
9023e2963b
ImageView: implement tint attribute
2024-12-15 07:39:25 +01:00
Julian Winkler
b087b82616
implement WallpaperManager.setBitmap() using XDG Portal
2024-12-13 22:32:04 +01:00
Julian Winkler
5150564a5b
implement Window.setLayout()
2024-12-13 22:32:04 +01:00