mirror of
https://github.com/odin-lang/Odin.git
synced 2026-10-31 00:34:56 -04:00
74 lines
3.3 KiB
Odin
74 lines
3.3 KiB
Odin
// Generated by core/sys/android/_gen/generate.py from the Android NDK headers. DO NOT EDIT.
|
|
// Source: <android/native_window.h>, <android/native_window_jni.h> (NDK r30, 30.0.16248370)
|
|
#+build linux
|
|
package android
|
|
|
|
import "core:c"
|
|
|
|
foreign import libandroid "system:android"
|
|
foreign import libnativewindow "system:nativewindow"
|
|
|
|
ANativeWindow_LegacyFormat :: enum c.int {
|
|
RGBA_8888 = 1,
|
|
RGBX_8888 = 2,
|
|
RGB_565 = 4,
|
|
}
|
|
|
|
ANativeWindowTransform :: enum c.int {
|
|
IDENTITY = 0x00,
|
|
MIRROR_HORIZONTAL = 0x01,
|
|
MIRROR_VERTICAL = 0x02,
|
|
ROTATE_90 = 0x04,
|
|
ROTATE_180 = 0x3,
|
|
ROTATE_270 = 0x7,
|
|
}
|
|
|
|
ANativeWindow :: struct {}
|
|
|
|
ANativeWindow_Buffer :: struct {
|
|
width: i32,
|
|
height: i32,
|
|
stride: i32,
|
|
format: AHardwareBuffer_Format,
|
|
bits: rawptr,
|
|
reserved: [6]u32,
|
|
}
|
|
|
|
ANativeWindow_FrameRateCompatibility :: enum i8 {
|
|
DEFAULT = 0,
|
|
FIXED_SOURCE = 1,
|
|
AT_LEAST = 2,
|
|
}
|
|
|
|
ANativeWindow_ChangeFrameRateStrategy :: enum i8 {
|
|
ONLY_IF_SEAMLESS = 0,
|
|
ALWAYS = 1,
|
|
}
|
|
|
|
@(default_calling_convention="c")
|
|
foreign libandroid {
|
|
ANativeWindow_fromSurface :: proc(env: ^JNIEnv, surface: jobject) -> ^ANativeWindow ---
|
|
ANativeWindow_toSurface :: proc(env: ^JNIEnv, window: ^ANativeWindow) -> jobject ---
|
|
}
|
|
|
|
@(default_calling_convention="c")
|
|
foreign libnativewindow {
|
|
ANativeWindow_acquire :: proc(window: ^ANativeWindow) ---
|
|
ANativeWindow_release :: proc(window: ^ANativeWindow) ---
|
|
ANativeWindow_getWidth :: proc(window: ^ANativeWindow) -> i32 ---
|
|
ANativeWindow_getHeight :: proc(window: ^ANativeWindow) -> i32 ---
|
|
ANativeWindow_getFormat :: proc(window: ^ANativeWindow) -> AHardwareBuffer_Format ---
|
|
ANativeWindow_setBuffersGeometry :: proc(window: ^ANativeWindow, width: i32, height: i32, format: AHardwareBuffer_Format) -> i32 ---
|
|
ANativeWindow_lock :: proc(window: ^ANativeWindow, outBuffer: ^ANativeWindow_Buffer, inOutDirtyBounds: ^ARect) -> i32 ---
|
|
ANativeWindow_unlockAndPost :: proc(window: ^ANativeWindow) -> i32 ---
|
|
ANativeWindow_setBuffersTransform :: proc(window: ^ANativeWindow, transform: ANativeWindowTransform) -> i32 ---
|
|
ANativeWindow_setBuffersDataSpace :: proc(window: ^ANativeWindow, dataSpace: ADataSpace) -> i32 ---
|
|
ANativeWindow_getBuffersDataSpace :: proc(window: ^ANativeWindow) -> ADataSpace ---
|
|
ANativeWindow_getBuffersDefaultDataSpace :: proc(window: ^ANativeWindow) -> ADataSpace --- // API level 34
|
|
ANativeWindow_setFrameRate :: proc(window: ^ANativeWindow, frameRate: f32, compatibility: ANativeWindow_FrameRateCompatibility) -> i32 --- // API level 30
|
|
ANativeWindow_tryAllocateBuffers :: proc(window: ^ANativeWindow) --- // API level 30
|
|
ANativeWindow_setFrameRateWithChangeStrategy :: proc(window: ^ANativeWindow, frameRate: f32, compatibility: ANativeWindow_FrameRateCompatibility, changeFrameRateStrategy: ANativeWindow_ChangeFrameRateStrategy) -> i32 --- // API level 31
|
|
ANativeWindow_setProducerThrottlingEnabled :: proc(window: ^ANativeWindow, enabled: bool) -> i32 --- // API level 37
|
|
ANativeWindow_isProducerThrottlingEnabled :: proc(window: ^ANativeWindow, outEnabled: ^bool) -> i32 --- // API level 37
|
|
}
|