Commit Graph

976 Commits

Author SHA1 Message Date
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
c076c1e545 implement DateUtils.formatDateTime() 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
ae58d29336 BitmapDrawable: support intrinsic sizes 2024-12-22 10:24:55 +01:00
Julian Winkler
e8a08f3d28 implement HtcAlertDialog for Teeter 2024-12-22 10:24:55 +01:00
Julian Winkler
bf610d3504 implement Activity.isInMultiWindowMode() 2024-12-22 10:24:54 +01:00
Julian Winkler
f9db8faebd ImageButton: set the defStyleAttr 2024-12-22 10:24:54 +01:00
Julian Winkler
2e11934bcf Animator: add delay before calling onAnimationEnd()
This fixes a crash in NewPipe's Download Activity
2024-12-20 08:12:48 +01:00
Mis012
078006f7fb LayoutInflater: prettyprint debug messages 2024-12-20 00:14:30 +01:00
Mis012
060ea72f94 AssetManager: use AndroidManifest.xml to identify apks
resources.arsc may be missing in rare cases
2024-12-20 00:12:01 +01:00
Mis012
58745f23ea api-impl: misc stubs, additions and fixes 2024-12-20 00:11:06 +01:00
Mis012
df5390db5e main-executable: don't crash on NULL app_icon_path 2024-12-20 00:02:18 +01:00
Mis012
4acd99f1e2 GridView: import from AOSP 2024-12-20 00:00:19 +01:00
Julian Winkler
42fad0cfa6 WindowManagerImpl: set view.parent 2024-12-17 22:41:51 +01:00
Julian Winkler
167d3856e9 HACK: prevent window height of 0
For some reason some apps like LibreSudoku try to create Dialog and
Popup windows with height = 0. Prevent this on the window side until the
measurement error is fixed.
2024-12-17 22:41:51 +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
0e078894ce make K-9 Mail launch 2024-12-16 17:54:15 +01:00
Benedikt Wildenhain
17713781d0 doc/Build.md: fix a typo
If you distro ships this already -> If your …
2024-12-15 17:57:38 +00: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