Commit Graph

82 Commits

Author SHA1 Message Date
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
Julian Winkler
3486d59e81 ListView: observe dataset changes 2024-02-18 10:08:44 +01:00
Julian Winkler
9c684ee906 implement PopupWindow using GtkPopover 2024-02-18 10:08:43 +01:00
Julian Winkler
b9b28619dd AdapterView: implement setAdapter / getAdapter() properly 2024-02-18 10:08:43 +01:00
Julian Winkler
2d6694d695 implement CompoundButton using GtkSwitch 2024-02-16 20:46:55 +01:00
Julian Winkler
3aed86b83a implement ListView using GtkListView
There is not much difference between GTKs ListView and Androids
ListView. So, we use GTKs implementation instead of copying from AOSP
2024-02-16 15:28:04 +01:00