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)
This commit is contained in:
Mis012
2022-10-26 18:39:04 +02:00
parent 3627f35bd5
commit b801f0fb3c
26 changed files with 1552 additions and 161 deletions

View File

@@ -33,6 +33,7 @@ libtranslationlayer_so = shared_library('translation_layer_main', [
'src/api-impl-jni/widgets/WrapperWidget.c',
'src/api-impl-jni/widgets/android_widget_TextView.c',
'src/api-impl-jni/widgets/android_widget_LinearLayout.c',
'src/api-impl-jni/widgets/android_view_SurfaceView.c',
'src/api-impl-jni/views/android_view_View.c',
'src/api-impl-jni/views/android_view_ViewGroup.c',
'src/api-impl-jni/android_graphics_Bitmap.c'
@@ -60,11 +61,18 @@ executable('android-translation-layer', [
# libandroid
shared_library('android', [
'src/libandroid/asset_manager.c',
'src/libandroid/media.c',
'src/libandroid/misc.c',
'src/libandroid/asset_manager.c'
'src/libandroid/native_window.c',
'src/libandroid/sensor.c',
'src/libandroid/looper.c'
],
install: true,
soversion: 0,)
soversion: 0,
dependencies: [
dependency('gtk4'), dependency('jni'), dependency('glfw3')
])
# hax_arsc_parser.dex (named as classes2.dex so it works inside a jar)
subdir('src/arsc_parser')