====== Vega.Backend.LyxCall — Brücke zu Lyx OS ====== Lyx OS ruft aus Ring 3 **keine** Syscalls unmittelbar. Stattdessen gibt es einen gemeinsamen Speicherblock: Nummer und Argumente hineinschreiben, auslösen, Ergebnis herauslesen. Der Block kommt über ''mmap'' mit negativer Größe — keine Zweckentfremdung, sondern die vorgesehene Sonderform. Quelldatei: ''Vega/Backend/LyxCall.lyx'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|Vega VCL]] ---- ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Bedeutung ^ | ''LXEV_KEY'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''1'' | Ereignis vom Compositor: Taste | | ''LXEV_RESIZE'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''2'' | Ereignis: Größe geändert | | ''LXEV_MOUSE_MOVE'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''3'' | Ereignis: Zeiger bewegt | | ''LXEV_MOUSE_DOWN'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''4'' | Ereignis: Maustaste gedrückt | | ''LXEV_MOUSE_UP'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''5'' | Ereignis: Maustaste losgelassen | | ''LXEV_CLOSE'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''6'' | Ereignis: Fenster schließen | ===== Freie Funktionen ===== ^ Signatur ^ Zweck ^ | ''LyxInit(): bool'' | Brücke einrichten | | ''LyxReady(): bool'' | Ist die Brücke nutzbar | | ''LyxWinCreate(x: int64, y: int64, w: int64, h: int64, flags: int64): int64'' | Fenster anlegen | | ''LyxWinDestroy(win: int64): void'' | Fenster abbauen | | ''LyxWinRaise(win: int64): void'' | Fenster nach vorn holen | | ''LyxWinMove(win: int64, x: int64, y: int64): void'' | Fenster verschieben | | ''LyxWinResize(win: int64, w: int64, h: int64): void'' | Fenstergröße ändern | | ''LyxWinGetFb(win: int64): int64'' | Adresse des Fensterpuffers | | ''LyxGetPid(): int64'' | Eigene Prozessnummer | | ''LyxYield(): void'' | Rechenzeit abgeben | | ''LyxTimeNs(): int64'' | Zeit in Nanosekunden | | ''LyxVsyncWait(): void'' | Auf den Bildwechsel warten | | ''LyxEventRecv(puffer: int64): int64'' | Nächstes Ereignis holen | | ''LyxEventRecvTimeout(pid: int64, puffer: int64, timeout_ms: int64): int64'' | Ereignis holen, höchstens so lange warten | ---- ===== Zu beachten ===== * Nur unter Lyx OS sinnvoll; unter Linux und Windows wird diese Unit gar nicht erst eingebunden. * ''LyxVsyncWait'' ist der Weg zu ruckelfreier Darstellung — ohne ihn zeichnet die Schleife gegen den Bildwechsel. ---- ===== Abhängigkeiten ===== **Importiert:** [[lyx_-_programmiersprache:vega:units:types|Vega.Types]] · Standardbibliothek: ''std.io'' **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:backend_lyxos|Vega.Backend.LyxOS]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/Backend/LyxCall.lyx'' erhoben.