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

Alle Units · Alle Steuerelemente · Vega VCL


Konstanten

Name Typ Wert Bedeutung
LXEV_KEY int64 1 Ereignis vom Compositor: Taste
LXEV_RESIZE int64 2 Ereignis: Größe geändert
LXEV_MOUSE_MOVE int64 3 Ereignis: Zeiger bewegt
LXEV_MOUSE_DOWN int64 4 Ereignis: Maustaste gedrückt
LXEV_MOUSE_UP int64 5 Ereignis: Maustaste losgelassen
LXEV_CLOSE 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: Vega.Types · Standardbibliothek: std.io

Wird importiert von: Vega.Backend.LyxOS

Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus Vega/Backend/LyxCall.lyx erhoben.