902 lines
21 KiB
Odin
902 lines
21 KiB
Odin
// GENERATED by jnigen from the JNI spec. Do not edit.
|
|||
|
|
//
|
||
|
|
// Every binding returns `ok` -- false means the class, method or field
|
||
|
|
// failed to resolve, or the call raised a Java exception (already printed
|
||
|
|
// to logcat and cleared). Class and method IDs resolve once and are cached.
|
||
|
|
package main
|
||
|
|
|
||
|
|
import "shared:android"
|
||
|
|
import "jni"
|
||
|
|
|
||
|
|
//
|
||
|
|
// Object types
|
||
|
|
//
|
||
|
|
|
||
|
|
// android/content/Context
|
||
|
|
Context :: distinct android.jobject
|
||
|
|
|
||
|
|
// android/widget/Toast
|
||
|
|
Toast :: distinct android.jobject
|
||
|
|
|
||
|
|
// java/lang/StringBuilder
|
||
|
|
StringBuilder :: distinct android.jobject
|
||
|
|
|
||
|
|
// android/os/Looper
|
||
|
|
Looper :: distinct android.jobject
|
||
|
|
|
||
|
|
// android/app/Activity
|
||
|
|
Activity :: distinct android.jobject
|
||
|
|
|
||
|
|
// android/view/Window
|
||
|
|
Window :: distinct android.jobject
|
||
|
|
|
||
|
|
// android/view/View
|
||
|
|
View :: distinct android.jobject
|
||
|
|
|
||
|
|
// android/view/WindowInsets
|
||
|
|
WindowInsets :: distinct android.jobject
|
||
|
|
|
||
|
|
// android/graphics/Insets
|
||
|
|
Insets :: distinct android.jobject
|
||
|
|
|
||
|
|
// java/lang/System.currentTimeMillis()J
|
||
|
|
system_current_time_millis :: proc() -> (result: i64, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "java/lang/System")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.static_method_id(env, cls, "currentTimeMillis", "()J")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallStaticLongMethodA(env, cls, mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i64(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/widget/Toast.makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
|
||
|
|
toast_make_text :: proc(ctx: Context, text: string, duration: i32) -> (result: Toast, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/widget/Toast")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.static_method_id(env, cls, "makeText", "(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
args := [3]android.jvalue{}
|
||
|
|
args[0].l = android.jobject(ctx)
|
||
|
|
_a1 := jni.to_jstring(env, text)
|
||
|
|
defer jni.free_local(env, android.jobject(_a1))
|
||
|
|
args[1].l = android.jobject(_a1)
|
||
|
|
args[2].i = android.jint(duration)
|
||
|
|
|
||
|
|
_ret := env^^.CallStaticObjectMethodA(env, cls, mid, raw_data(args[:]))
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = Toast(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/os/Looper.prepare()V
|
||
|
|
looper_prepare :: proc() -> (ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/os/Looper")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.static_method_id(env, cls, "prepare", "()V")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
env^^.CallStaticVoidMethodA(env, cls, mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/os/Looper.myLooper()Landroid/os/Looper;
|
||
|
|
looper_my_looper :: proc() -> (result: Looper, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/os/Looper")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.static_method_id(env, cls, "myLooper", "()Landroid/os/Looper;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallStaticObjectMethodA(env, cls, mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = Looper(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/widget/Toast.show()V
|
||
|
|
toast_show :: proc(self: Toast) -> (ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/widget/Toast")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "show", "()V")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
env^^.CallVoidMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// java/lang/StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
sb_append :: proc(self: StringBuilder, s: string) -> (result: StringBuilder, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "java/lang/StringBuilder")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
args := [1]android.jvalue{}
|
||
|
|
_a0 := jni.to_jstring(env, s)
|
||
|
|
defer jni.free_local(env, android.jobject(_a0))
|
||
|
|
args[0].l = android.jobject(_a0)
|
||
|
|
|
||
|
|
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, raw_data(args[:]))
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = StringBuilder(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// java/lang/StringBuilder.toString()Ljava/lang/String;
|
||
|
|
sb_to_string :: proc(self: StringBuilder, allocator := context.allocator) -> (result: string, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "java/lang/StringBuilder")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "toString", "()Ljava/lang/String;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
defer jni.free_local(env, _ret)
|
||
|
|
result = jni.from_jstring(env, android.jstring(_ret), allocator)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// new java/lang/StringBuilder()V
|
||
|
|
sb_new :: proc() -> (result: StringBuilder, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "java/lang/StringBuilder")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "<init>", "()V")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.NewObjectA(env, cls, mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = StringBuilder(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/os/Build$VERSION.SDK_INT : I (get)
|
||
|
|
build_sdk_int :: proc() -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/os/Build$VERSION")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) fid: android.jfieldID
|
||
|
|
if fid == nil {
|
||
|
|
fid = jni.static_field_id(env, cls, "SDK_INT", "I")
|
||
|
|
if fid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.GetStaticIntField(env, cls, fid)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/os/Build.MODEL : Ljava/lang/String; (get)
|
||
|
|
build_model :: proc(allocator := context.allocator) -> (result: string, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/os/Build")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) fid: android.jfieldID
|
||
|
|
if fid == nil {
|
||
|
|
fid = jni.static_field_id(env, cls, "MODEL", "Ljava/lang/String;")
|
||
|
|
if fid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.GetStaticObjectField(env, cls, fid)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
defer jni.free_local(env, _ret)
|
||
|
|
result = jni.from_jstring(env, android.jstring(_ret), allocator)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// java/util/Arrays.sort([I)V
|
||
|
|
arrays_sort :: proc(vals: []i32) -> (ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "java/util/Arrays")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.static_method_id(env, cls, "sort", "([I)V")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
args := [1]android.jvalue{}
|
||
|
|
_a0 := jni.to_i32_array(env, vals)
|
||
|
|
defer jni.free_local(env, android.jobject(_a0))
|
||
|
|
args[0].l = android.jobject(_a0)
|
||
|
|
|
||
|
|
env^^.CallStaticVoidMethodA(env, cls, mid, raw_data(args[:]))
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/os/Build.SUPPORTED_ABIS : [Ljava/lang/String; (get)
|
||
|
|
build_supported_abis :: proc(allocator := context.allocator) -> (result: []string, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/os/Build")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) fid: android.jfieldID
|
||
|
|
if fid == nil {
|
||
|
|
fid = jni.static_field_id(env, cls, "SUPPORTED_ABIS", "[Ljava/lang/String;")
|
||
|
|
if fid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.GetStaticObjectField(env, cls, fid)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
defer jni.free_local(env, _ret)
|
||
|
|
result = jni.from_string_array(env, android.jobjectArray(_ret), allocator)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/app/Activity.getWindow()Landroid/view/Window;
|
||
|
|
activity_get_window :: proc(self: Activity) -> (result: Window, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/app/Activity")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getWindow", "()Landroid/view/Window;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = Window(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/Window.getDecorView()Landroid/view/View;
|
||
|
|
window_get_decor_view :: proc(self: Window) -> (result: View, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/Window")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getDecorView", "()Landroid/view/View;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = View(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/View.getRootWindowInsets()Landroid/view/WindowInsets;
|
||
|
|
view_get_root_window_insets :: proc(self: View) -> (result: WindowInsets, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/View")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getRootWindowInsets", "()Landroid/view/WindowInsets;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = WindowInsets(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets$Type.systemBars()I
|
||
|
|
insets_type_system_bars :: proc() -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets$Type")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.static_method_id(env, cls, "systemBars", "()I")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallStaticIntMethodA(env, cls, mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets$Type.displayCutout()I
|
||
|
|
insets_type_display_cutout :: proc() -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets$Type")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.static_method_id(env, cls, "displayCutout", "()I")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallStaticIntMethodA(env, cls, mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets.getInsetsIgnoringVisibility(I)Landroid/graphics/Insets;
|
||
|
|
window_insets_get_ignoring_visibility :: proc(self: WindowInsets, type_mask: i32) -> (result: Insets, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getInsetsIgnoringVisibility", "(I)Landroid/graphics/Insets;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
args := [1]android.jvalue{}
|
||
|
|
args[0].i = android.jint(type_mask)
|
||
|
|
|
||
|
|
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, raw_data(args[:]))
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = Insets(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets.getInsets(I)Landroid/graphics/Insets;
|
||
|
|
window_insets_get :: proc(self: WindowInsets, type_mask: i32) -> (result: Insets, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getInsets", "(I)Landroid/graphics/Insets;")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
args := [1]android.jvalue{}
|
||
|
|
args[0].i = android.jint(type_mask)
|
||
|
|
|
||
|
|
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, raw_data(args[:]))
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = Insets(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/graphics/Insets.left : I (get)
|
||
|
|
insets_left :: proc(self: Insets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/graphics/Insets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) fid: android.jfieldID
|
||
|
|
if fid == nil {
|
||
|
|
fid = jni.field_id(env, cls, "left", "I")
|
||
|
|
if fid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.GetIntField(env, android.jobject(self), fid)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/graphics/Insets.top : I (get)
|
||
|
|
insets_top :: proc(self: Insets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/graphics/Insets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) fid: android.jfieldID
|
||
|
|
if fid == nil {
|
||
|
|
fid = jni.field_id(env, cls, "top", "I")
|
||
|
|
if fid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.GetIntField(env, android.jobject(self), fid)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/graphics/Insets.right : I (get)
|
||
|
|
insets_right :: proc(self: Insets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/graphics/Insets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) fid: android.jfieldID
|
||
|
|
if fid == nil {
|
||
|
|
fid = jni.field_id(env, cls, "right", "I")
|
||
|
|
if fid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.GetIntField(env, android.jobject(self), fid)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/graphics/Insets.bottom : I (get)
|
||
|
|
insets_bottom :: proc(self: Insets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/graphics/Insets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) fid: android.jfieldID
|
||
|
|
if fid == nil {
|
||
|
|
fid = jni.field_id(env, cls, "bottom", "I")
|
||
|
|
if fid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.GetIntField(env, android.jobject(self), fid)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets.getSystemWindowInsetLeft()I
|
||
|
|
window_insets_sys_left :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getSystemWindowInsetLeft", "()I")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets.getSystemWindowInsetTop()I
|
||
|
|
window_insets_sys_top :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getSystemWindowInsetTop", "()I")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets.getSystemWindowInsetRight()I
|
||
|
|
window_insets_sys_right :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getSystemWindowInsetRight", "()I")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// android/view/WindowInsets.getSystemWindowInsetBottom()I
|
||
|
|
window_insets_sys_bottom :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
|
||
|
|
env := jni.env()
|
||
|
|
if env == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
@(static) cls: android.jclass
|
||
|
|
if cls == nil {
|
||
|
|
cls = jni.class_ref(env, "android/view/WindowInsets")
|
||
|
|
if cls == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@(static) mid: android.jmethodID
|
||
|
|
if mid == nil {
|
||
|
|
mid = jni.method_id(env, cls, "getSystemWindowInsetBottom", "()I")
|
||
|
|
if mid == nil {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
|
||
|
|
if jni.failed(env) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
result = i32(_ret)
|
||
|
|
ok = true
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|