Commit Graph

78 Commits

Author SHA1 Message Date
Julian Winkler
30b990f60a EditText: implement addTextChangedListener() 2023-09-01 16:05:26 +02:00
Julian Winkler
071538de02 FrameLayout: add missing removeView JNI function 2023-09-01 16:05:26 +02:00
Julian Winkler
6c2a3adae6 LinearLayout: default to horizontal orientation 2023-09-01 12:46:02 +02:00
Julian Winkler
295d9dfda3 LinearLayout: handle overwritten performClick() method
This is needed to make TabLayout functional
2023-09-01 12:19:45 +02:00
Julian Winkler
b861c86f0d FrameLayout: fix inserting child at last index 2023-08-23 14:52:56 +02:00
Julian Winkler
c4b7bdc63d ViewGroup: handle scroll events 2023-08-23 12:39:55 +02:00
Julian Winkler
960930a348 Add some stubs needed by android material library 2023-08-23 12:39:49 +02:00
Julian Winkler
ca975a0e7c add support for ViewGroups with custom onLayout()
A custom GtkLayoutManager is set to these objects, which calls into the
java handlers when measure or layout is requested.

Androids onMeasure method is quite different from GTKs measure method,
because Android already defines the final size during onMeasure.
Therefore, we call onMeasure from GTKs allocate callback instead of the
measure callback.
2023-08-23 12:39:10 +02:00
Julian Winkler
4434de4a58 implement android.widget.EditText using GtkEntry 2023-08-23 11:47:05 +02:00
Julian Winkler
f9a85017c1 implement android.widget.ImageButton using GtkButton 2023-08-23 11:47:05 +02:00
Julian Winkler
f2e71cd50f implement android.widget.Button using GtkButton 2023-08-23 11:47:05 +02:00
Julian Winkler
36b6132324 fix reference counting for GtkWidgets created from java
GtkWidgets extend GInitiallyUnowned and are automatically freed when
removing from parent widget. We need to add an extra reference, to make
sure the object keeps alive as long as the java widget has a reference
to it
2023-08-23 11:47:05 +02:00
Julian Winkler
4d90002ec6 Simplify native interface of widget implementations
Makes it easier to overwrite behavior in subclasses. Have a fallback
implementation for ViewGroup.
Save some _GET_LONG_FIELD / _SET_LONG_FIELD calls by directly passing
the native pointers to and from native methods.
2023-08-22 15:53:09 +02:00
Julian Winkler
82744e9e5e add bunch of new java APIs: mostly stubs or copied from AOSP
Many of these classes are only needed to be subclassed by androidx
support library, which is used in many android apps
2023-08-22 15:53:09 +02:00
Julian Winkler
def91a688d handle overwritten onDraw function in WrapperWidget
This makes it easy to support for example ImageView with custom
onDraw function
2023-08-08 14:18:20 +02:00
Julian Winkler
8c1e98b09c GLSurfaceView: fix eglGetDisplay for Wayland only sessions
EGL_DEFAULT_DISPLAY always tries to use X11
2023-08-08 10:54:20 +02:00
Julian Winkler
1a8e198e05 make RelativeLayout vertical by default and vexpand GLSurfaceView 2023-06-18 11:31:03 +02:00
Julian Winkler
c21d8532bc ImageView: use GtkPicture and actually show the image
GtkImage is intended for icons GtkPicture fits better
2023-06-18 11:28:40 +02:00
Mis012
34858d2fa6 remove incorrect offset correction from GLSurfaceView; handle ATL_DISABLE_WINDOW_DECORATIONS env 2023-01-09 14:50:17 +01:00
Mis012
eabfaeaeba GLSurfaceView: handle touch events in addition to mouse clicks 2023-01-07 19:16:09 +01:00
Mis012
63d7427d0e GLSurfaceView: call SurfaceHolderCallback.surfaceCreated in case the app expects that; compensate for mismatch between touch input and the rendering area 2022-12-27 17:11:59 +01:00
Mis012
bf0cd46647 SQM: src/api-impl-jni/widgets/android_view_SurfaceView.c: fix typo 2022-11-24 15:49:55 +01:00
Mis012
7d3cefafef api-impl: add initial support for NativeAcivity 2022-11-04 19:28:46 +01:00
Mis012
c0e136cdfe src/api-impl-jni/widgets/android_opengl_GLSurfaceView.c: handle missing glEGLImageTargetTexture2DOES export on some builds of Mesa 2022-11-02 16:28:08 +01:00
Mis012
6a1d2f4ed4 replace use of glfw for SurfaceView with use of wayland subsurface positioned over a Gtk widget 2022-11-02 14:37:34 +01:00