Commit Graph

22 Commits

Author SHA1 Message Date
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
Mis012
b801f0fb3c implement some stuff to make exaple SDL app run
NOTE: the main addition in this commit is WIP support for apps which
render on an EGL surface obtained using ANativeWindow_fromSurface

currently, this EGL surface is obtained by creating a 700x700 pixel
window with GLFW (the 700x700 size is hardcoded in several places)
and only Wayland is supported

ideally, we'd want to use a wayland subsurface to position the EGL
surface above the Surface widget it's associated with (and do
whatever for X11)
2022-10-26 18:39:04 +02:00
Mis012
8b049385c3 change gles include from GLES to GLES3, since either works for us and the latter is much more commonly packaged 2022-10-12 17:54:21 +02:00
Mis012
449090143e refactor source tree organization, switch to meson 2022-10-09 22:59:16 +02:00