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
5fdcff4419
put sk_area behind the widget
...
Most widgets want to draw something behind the default content.
If we replace SkArea with GskCanvas in the future, we could draw
the default content, when the super.onDraw() gets called.
2024-05-20 08:09:01 +02:00
Julian Winkler
b28e90a75c
implement SeekBar.getProgress()
2024-05-13 22:01:24 +02:00
Julian Winkler
f82af6ecb7
allocate transparent {WrapperWidget / JavaWidget} 0x0 and draw children in overflow area
...
This prevents overlay widgets from blocking touch events.
Androids ViewGroup.dispatchTouchEvent() loops over all children and only breaks if an eventhandler returns true. Gtk on the other hand stops at the first sensitive child. Even if the eventhandler returned false.
2024-05-11 07:07:24 +02:00
Julian Winkler
64411c75aa
fix build on Debian 12 / GTK 4.8
2024-05-06 07:28:56 +02:00
Mis012
31929d2253
ignore deprecation warnings for per-widget css, switch gtk_widget_translate_coordinates to gtk_widget_compute_point
2024-04-20 16:34:01 +02:00
Mis012
b52e08fd7a
ImageView/ImageButton: don't use deprecated gtk_picture_set_from_pixbuf, reduce code duplication
2024-04-20 00:08:09 +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
Julian Winkler
ae58d2b319
implement TextView.setCompoundDrawables()
...
This adds an additional GtkBox for every TextView
2024-04-09 18:19:18 +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
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
Julian Winkler
35f26faa90
ImageButton: implement setDrawable()
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
Julian Winkler
dda3063e79
PopupMenu: use AOSP MenuInflater and support item visibility
2024-03-22 21:02:22 +01:00
Julian Winkler
14217e8724
simple implementation of PopupMenu using GtkPopoverMenu
2024-03-17 22:39:13 +01:00
Julian Winkler
276b5ca7ef
add more APIs needed for NewPipe
2024-03-17 20:02:50 +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
Julian Winkler
9509289ee5
implement SeekBar using GtkScale
2024-03-10 23:00:42 +01:00
Julian Winkler
d22d083eb8
implement CheckBox and RadioButton using GtkCheckButton
2024-03-10 17:49:11 +01:00
Mis012
c430344bd7
TextView: implement more ways to obtain textColor, textSize; misc cleanup
...
also added a try/catch block to avoid regression
2024-02-28 01:49:23 +01:00
Julian Winkler
5f3f8a5e6c
ProgressBar: use GtkSpinner for indeterminate mode
2024-02-18 10:08:44 +01:00