Commit Graph

45 Commits

Author SHA1 Message Date
Julian Winkler
95be104d5a View: use WrapperWidget when computing transforms to avoid scroll offset 2024-03-15 18:57:49 +01:00
Julian Winkler
a67b973e67 MotionEvent: implement getRawX() / getRawY() properly 2024-03-15 18:57:49 +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
75e42e6bff onInterceptTouchEvent: don't self propagate cancel
This is needed, to make Gravity Defied keyboard work again
2024-03-12 17:56:17 +01:00
Julian Winkler
1a97841579 onInterceptTouchEvent: propagate ACTION_CANCEL to child widgets 2024-02-27 22:02:36 +01:00
Julian Winkler
efa61afc71 implement View.OnLongClickListener as GtkGestureLongPress 2024-02-27 22:02:36 +01:00
Julian Winkler
bcf252d3a6 implement MotionView.eventTime and VelocityTracker
This is needed to make androidx ViewPager work with touch input
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
Mis012
72d6ad9914 Drawable: stub 'ripple' as transparent ColorDrawable, fix view.setBackgroundColor for buttons 2024-02-18 00:30:36 +01:00
Julian Winkler
50ba9b952a make invisible widgets insensitive
Otherwise they would still intercept event handling
2024-02-10 10:28:48 +01:00
Julian Winkler
182c7cfb87 refactor View.native_measure()
It now respects gtk_widget_get_request_mode() when not specified
otherwise
2024-02-10 10:28:48 +01:00
Mis012
b40a76fcfb api-impl-jni: fix CheckJNI error for View.onClick 2024-01-29 00:37:32 +01:00
Julian Winkler
8c7dbf6ceb start implementing Drawable using underlying GdkPaintable 2023-12-30 23:38:48 +01:00
Julian Winkler
1b03fa6e1a merge View and ViewGroup constructor
Introduce empy JavaWidget to replace confusing usage of GtkBox and GtkDrawingArea.
gtk_widget_set_name() is called with the Java class name
2023-12-29 12:16:10 +01:00
Julian Winkler
bff62a6e77 View: implement visibility and alpha properly 2023-11-12 12:16:23 +01:00
Julian Winkler
c0804c3329 WrapperWidget: overwrite measured size if layout size is fixed 2023-11-12 12:16:23 +01:00
Julian Winkler
36d7a1cc44 support layout margins
This makes the menu in Gravity Defied not get behind the keyboard.
Also makes the TabLayout in NewPipe not get behing the titlebar.
2023-11-12 12:16:23 +01:00
Julian Winkler
6ef1e523cc View: relayout on visibility changes 2023-11-08 22:44:39 +01:00
Julian Winkler
585d934483 View: use gdk_event_get_modifier_state() for onTouch handling
previous implementation did not update num_clicks, when the
mouse was released outside the widget
2023-11-04 23:31:40 +01:00
Julian Winkler
0a8b8a3874 use AndroidLayout class also in View implementation
drop the onMeasure hack from WrapperWidget
2023-11-02 08:20:19 +01:00
Julian Winkler
3c03223085 android_layout_measure(): refactor to respect LayoutParams
This is needed when a Java widget gets measured from GTK
2023-11-02 08:20:13 +01:00
Julian Winkler
3de842b1d8 enable onTouchEvent for ViewGroups and add some stubs 2023-11-01 17:54:59 +01:00
Mis012
065fd96308 api-impl-jni: make invalidate() work inside the draw callback
this lets us remove the tick callback, and only call onDraw
when it's actually necessary
2023-10-31 23:14:52 +01:00
Mis012
bcd588446d api-impl-jni/views/android_view_View.c: handle replacing existing onclick/ontouch listener 2023-10-31 16:00:35 +01:00