Commit Graph

247 Commits

Author SHA1 Message Date
Mis012
f52a221c73 android_os_MessageQueue: move looper prototypes to header, fix incorrect prototype 2024-04-15 23:12:58 +02:00
Mis012
e1abceee85 api-impl: more stubs to make OsmAnd launch
with latest bionic_translation, OsmAnd doesn't crash in native code
2024-04-14 15:15:42 +02:00
Julian Winkler
d5c2c122fc MediaCodec: make use of GtkGraphicsOffload when gtk >= 4.14
This replaces our custom subsurface implementation and has the
advantages, that the subsurface gets repositioned automatically and it
also supports underlay surfaces, so that the application can put control
widgets on top of the SurfaceView.

Our custom subsurface implementation will still be used for GL rendering
2024-04-13 15:25:39 +02:00
Mis012
2802aaa28d api-impl: add stubs / simple stuff for OsmAnd
without native libs present, launches and renders white square
in map view; with native libs present, segfaults in bundled skia
2024-04-13 15:22:38 +02:00
Mis012
fefd2f108b ImageView: handle setScaleType where it maps trivially to Gtk 2024-04-10 23:48:11 +02:00
Mis012
25325ca4e5 Paint: implement setAntiAlias, handle ANTI_ALIAS_FLAG 2024-04-09 18:58:05 +02:00
Julian Winkler
3d9eb9611f GskCanvas: implement drawPath, rotate, translate, save, restore
This is enough to make DrawerArrowDrawable functional.

drawPath() only draws line segments for now.
2024-04-09 18:19:18 +02:00
Julian Winkler
74bedcc93c implement Drawable.invalidateSelf() 2024-04-09 18:19:18 +02:00
Julian Winkler
ae58d2b319 implement TextView.setCompoundDrawables()
This adds an additional GtkBox for every TextView
2024-04-09 18:19:18 +02:00
Julian Winkler
849701c5c4 Drawable: call getIntrinsic{Width/Height} 2024-04-09 18:19:18 +02:00
Julian Winkler
2f4cd3917f implement some APIs needed for OctoDroid 2024-04-09 18:19:13 +02:00
Mis012
b229d83ad8 GskCanvas: implement drawRect 2024-04-07 23:23:30 +02:00
Mis012
e94a78fd14 ImageView: remove 'broken image icon' hack
most drawables should work now, and we need to support empty drawables
2024-04-03 01:55:03 +02:00
Markuss Broks
7fae1f5bb7 AssetManager: implement android.content.res.AssetManager.list 2024-04-01 19:41:06 +00:00
Julian Winkler
654d551377 View.setTranslationY(): queue allocate when called on CoordinatorLayout
androidx adjusts the translation a little bit and immediately
reverts it to trigger a layout pass on the CoordinatorLayout.

Calling gtk_widget_queue_allocate here makes CoordinatorLayout behave
correctly, but it causes strange issues with other Views. Therefore, it is
done only for CoordinatorLayouts for now.
2024-03-28 20:50:05 +01:00
Julian Winkler
66e5d77959 View: clear canceled_event pointer
This is needed, as GdkEvent pointers are not guaranteed to be unique
2024-03-28 20:50:05 +01:00
Julian Winkler
e477b56dec OnTouchListener: attach event controllers to WrapperWidget
otherwise, the touch event positions would depend on the scroll offset.
This fixes the glitchy vertical scrolling in ViewPager
2024-03-25 19:50:29 +01:00
Mis012
df0b5bc1ca graphics: Path: implement (r)quadTo 2024-03-24 22:54:21 +01:00
Julian Winkler
8eb0c0a3c1 implement ColorFilter in GskCanvas
This is needed to make icons follow night mode setting
2024-03-24 22:13:28 +01:00
Julian Winkler
ad266c7821 add support for custom Java Drawables
This is made possible, by adding a second Canvas implementation which
can be used to render directly to GdkSnapshot objects

For now the only implemented method is drawBitmap(), this is already
enough to make VectorDrawableCompat functional
2024-03-24 22:13:28 +01:00
Julian Winkler
3d9468aa9f implement android.graphics.Path using skia 2024-03-24 22:13:28 +01:00
Julian Winkler
35f26faa90 ImageButton: implement setDrawable() 2024-03-24 22:13:28 +01:00
Julian Winkler
93b88ad0c3 implement more android.graphics.Matrix methods 2024-03-24 22:13:28 +01:00
Julian Winkler
494605932c implement more APIs 2024-03-22 21:02:22 +01:00
Julian Winkler
7ee4effb86 implement android.widget.Spinner using GtkDropDown
Helper classes from ListView implementation are reused. The declarations
have been moved to a new header file AdaperView.h
2024-03-22 21:02:22 +01:00