Mis012
81797c2667
api-impl: add misc stubs/impls
2024-06-13 21:00:06 +02:00
Julian Winkler
c5e0f8a7fd
View.draw(): draw background, content, children in same order as AOSP
2024-05-27 16:37:49 +00:00
Julian Winkler
6f02565920
GskCanavas: draw default content when custom View calls super.onDraw()
2024-05-27 16:37:49 +00:00
Julian Winkler
dd3965df8a
WrapperWidget: create SkArea also for Views with custom draw() method
...
Previously we only handled custom onDraw() methods
2024-05-20 08:12:02 +02:00
Julian Winkler
2324418813
View.getMatrix(): always return identity matrix
...
The returned Matrix should only represent rotation and scaling of the
view and should not depend on the position. Since we don't support
rotation and scaling yet, just always return identity
2024-05-20 08:12:02 +02:00
Julian Winkler
de9ea3655e
implement View.getHitRect()
2024-05-19 15:30:09 +02:00
Julian Winkler
c167e183be
add more View methods
2024-05-19 15:30:09 +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
Julian Winkler
2f4cd3917f
implement some APIs needed for OctoDroid
2024-04-09 18:19:13 +02:00
Mis012
1e64babfd4
borrow AnimationDrawable from AOSP
2024-04-03 01:55:03 +02: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
9b9e046d68
implement View.getLocationInWindow() and MotionEvent.offsetLocation()
...
This is needed for NestedScrollViews to detect and correct parent scroll offset
2024-03-28 20:50:05 +01:00
Julian Winkler
494605932c
implement more APIs
2024-03-22 21:02:22 +01:00
Mis012
0592b71489
View: basic implementation for performHapticFeedback
...
we currently ignore the feedbackConstant and simply vibrate for 10ms
2024-03-22 14:04:17 +01:00
Mis012
6839f8b651
View: requestLayout: post with Looper to avoid stack exhaustion
2024-03-21 21:05:20 +01:00
Julian Winkler
276b5ca7ef
add more APIs needed for NewPipe
2024-03-17 20:02:50 +01:00
Julian Winkler
c8e70d49be
implement View.getLocationOnScreen() properly
2024-03-15 19:51:02 +01:00
Julian Winkler
796742c0fc
implement android.graphics.Matrix and View.getMatrix()
...
This is needed for androidx CoordinatorLayout and will also be required
for VectorDrawables
2024-03-15 18:57:49 +01:00
Julian Winkler
f852c2bbc9
remove View.haveComplexMeasure as it is redundant with haveCustomMeasure
...
Makes haveCustomMeasure true by default. And disable it for widgets
which previously set haveComplexMeasure
2024-03-15 18:57:49 +01:00
Julian Winkler
c0bc875c11
ScrollView: implement custom onMeasure()
2024-03-15 18:57:49 +01:00
Mis012
4e3b180dd7
android/view/View: clean up retrieval of id
2024-03-07 15:48:53 +01:00
Julian Winkler
efa61afc71
implement View.OnLongClickListener as GtkGestureLongPress
2024-02-27 22:02:36 +01:00
Julian Winkler
dd839e5a04
View.isNestedScrollingEnabled() default to false
...
RecyclerView overrides this method to return true
2024-02-27 22:02:36 +01:00
Julian Winkler
ddc36f5ccc
postOnAnimation: add minimum delay of 1/60 s
...
This fixes smooth animations like kinetic scrolling
2024-02-27 22:02:36 +01:00
Julian Winkler
8dafa41ea9
implement View.onInterceptTouchEvent() callback
...
This is needed to support nested scrolling
A second GtkEventControllerLegacy gets registerd with GTK_PHASE_CAPTURE
2024-02-25 18:18:45 +01:00