Julian Winkler
176405ed45
NinePatchPaintable: new GdkPaintable class to render .9.png files
2023-12-30 23:38:56 +01:00
Julian Winkler
ca3c17d773
implement DrawableContainer and copy StateListDrawable from AOSP
2023-12-30 23:38:56 +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
0614e6c245
add some stubs needed since we now handle onMeasure() for more Views
2023-12-29 11:40:52 +01:00
Julian Winkler
757d689689
unify View construction and measurement
...
No longer allow constructing Views without Context.
Lets have only one onMeasure() method to unify behaviour
2023-12-29 11:40:52 +01:00
Julian Winkler
b0fdf53f9b
implement android.widget.ProgressBar using GtkProgressBar
2023-11-12 12:16:23 +01:00
Julian Winkler
987058f55d
implement AudioTrack.pause()
2023-11-12 12:16:23 +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
72a8b3a047
add more stubs
2023-11-12 12:16:23 +01:00
Julian Winkler
d025fd3ce3
FrameLayout: replace with AOSPs implementation
...
There are many Widgets extending FrameLayout and adding custom behaviour
on top. For example NavigationView. This didn't realy work with our
custom implementation
2023-11-08 22:44:39 +01:00
Julian Winkler
6ef1e523cc
View: relayout on visibility changes
2023-11-08 22:44:39 +01:00
Julian Winkler
ac5a547360
AndroidLayout: provide default width and height
...
setLayoutParams() will never be called on the contentView of the
Window. So make sure we have default values
2023-11-08 22:44:39 +01:00
Julian Winkler
bcfb384ba4
implement EditText.setOnEditorActionListener()
...
This makes the NewPipe search work again
2023-11-08 22:44:39 +01:00
Julian Winkler
7bb5a1e33a
computeScroll: move the allocation instead of only the snapshot
2023-11-04 23:32:29 +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
29e88b08d8
AndroidLayout: ignore exceptions during measure
...
This fixes a crash with the Flower Finder test apk, where
ActionBarContextView doesn't allow MEASURE_SPEC_UNSPECIFIED
2023-11-04 08:49:58 +01:00
Julian Winkler
5813f9741d
AndroidLayout: implement get_request_mode
...
Also add stubs in Matrix and Paint class
2023-11-04 08:49:58 +01:00
Julian Winkler
385f6dcf0b
android_layout_measure: reuse old MeasureSpec for missing dimension
...
This should fix the SurfaceView in NewPipe not resizing automatically
2023-11-04 08:49:58 +01:00
Mis012
837ad31c3f
api-impl-jni/media/android_media_MediaCodec.c: resize the viewport in sync with the dummy widget
2023-11-03 23:21:43 +01:00
Julian Winkler
4bce3544dd
WrapperWidget: handle View.computeScroll()
...
Currently the scrolling is purely visual.
2023-11-02 23:30:21 +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