====== std.android.native_window ====== ANativeWindow-Bindings: Surface-Handle für OpenGL ES-Rendering und direktes Pixel-Schreiben. Das ANativeWindow-Handle wird über die App-Glue-Callbacks (APP_CMD_INIT_WINDOW) bereitgestellt. → [[lyx_-_programmiersprache:units:android|std.android]] · [[lyx_-_programmiersprache:units:android:gles2|std.android.gles2]] · [[lyx_-_programmiersprache:units:android:app_glue|std.android.app_glue]] ---- ===== Verwendung ===== import std.android.native_window; // Fenstergröße abfragen var w: int64 := ANativeWindowGetWidth(app.window); var h: int64 := ANativeWindowGetHeight(app.window); // Format setzen (RGBA_8888) ANativeWindowSetBuffersGeometry(app.window, w, h, WINDOW_FORMAT_RGBA_8888); // Direkt in Puffer schreiben var buf: ANativeWindowBuffer; ANativeWindowLock(app.window, &buf, nil); // buf.bits enthält Zeiger auf Pixel-Daten ANativeWindowUnlockAndPost(app.window); ---- ===== Konstanten ===== ^ Konstante ^ Beschreibung ^ | ''WINDOW_FORMAT_RGBA_8888'' | 32-Bit RGBA (Standard) | | ''WINDOW_FORMAT_RGBX_8888'' | 32-Bit RGB (ohne Alpha) | | ''WINDOW_FORMAT_RGB_565'' | 16-Bit RGB | ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''ANativeWindowGetWidth(window: *ANativeWindow): int64'' | pub | Gibt Fensterbreite in Pixeln zurück | | ''ANativeWindowGetHeight(window: *ANativeWindow): int64'' | pub | Gibt Fensterhöhe in Pixeln zurück | | ''ANativeWindowGetFormat(window: *ANativeWindow): int64'' | pub | Gibt Pixelformat zurück | | ''ANativeWindowSetBuffersGeometry(window: *ANativeWindow, width: int64, height: int64, format: int64): int64'' | pub | Setzt Puffergröße und -format | | ''ANativeWindowLock(window: *ANativeWindow, outBuffer: *ANativeWindowBuffer, inOutDirtyBounds: pchar): int64'' | pub | Sperrt Fenster für direktes Schreiben | | ''ANativeWindowUnlockAndPost(window: *ANativeWindow): int64'' | pub | Entsperrt Fenster und zeigt Inhalt an | | ''ANativeWindowAcquire(window: *ANativeWindow): void'' | pub | Erhöht Referenzzähler | | ''ANativeWindowRelease(window: *ANativeWindow): void'' | pub | Verringert Referenzzähler (ggf. Freigabe) | Letzte Aktualisierung: 2026-05-22