====== Vega.Backend — Der Vertrag zum Betriebssystem ====== Die Hardware-Abstraktion — der **einzige** Ort, an dem Vega das Betriebssystem berührt. Der Vertrag ist absichtlich winzig: jede Methode muss viermal geschrieben werden (X11, Win32, Lyx OS, Null), kostet also vierfach und ist vierfach eine Fehlerquelle. Was sich mit den vorhandenen Mitteln im geteilten Teil erledigen lässt, kommt nicht hierher. Quelldatei: ''Vega/Backend.lyx'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|Vega VCL]] ---- ===== Schnittstellen ===== ^ Name ^ Zweck ^ | ''IVegaBackend'' | Der Vertrag: Fenster anlegen, Ereignisse holen, Puffer anzeigen, Zeiger setzen | ===== Aufzählungen ===== ^ Enum ^ Werte ^ Zweck ^ | ''TCursorKind'' | ''CUR_DEFAULT'' (0), ''CUR_ARROW'' (1), ''CUR_HAND'' (2), ''CUR_IBEAM'' (3), ''CUR_WAIT'' (4), ''CUR_SIZE_WE'' (5), ''CUR_SIZE_NS'' (6), ''CUR_CROSS'' (7) | Zeigerformen, die jedes Backend kennen muss | ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Bedeutung ^ | ''VEGA_NO_WINDOW'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''0'' | Kein Fenster — Rückgabe, wenn das Anlegen scheitert | ---- ===== Zu beachten ===== * Das Backend liefert **keine** Zeichenbefehle: es bekommt am Ende einen fertigen BGRA-Puffer aus [[lyx_-_programmiersprache:vega:units:canvas|Vega.Canvas]]. * Welches Backend ''BackendAuto'' liefert, entscheidet der Include-Pfad beim Übersetzen (''-I platform/linux'' … ), nicht ein Schalter im Code. * Ereignisse werden als [[lyx_-_programmiersprache:vega:units:events|TEvent]] gemeldet — ohne jeden Bezug zu Steuerelementen. ---- ===== Abhängigkeiten ===== **Importiert:** [[lyx_-_programmiersprache:vega:units:types|Vega.Types]], [[lyx_-_programmiersprache:vega:units:events|Vega.Events]], [[lyx_-_programmiersprache:vega:units:strings|Vega.Strings]] **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:backend_lyxos|Vega.Backend.LyxOS]], [[lyx_-_programmiersprache:vega:units:backend_null|Vega.Backend.Null]], [[lyx_-_programmiersprache:vega:units:backend_win32|Vega.Backend.Win32]], [[lyx_-_programmiersprache:vega:units:backend_x11|Vega.Backend.X11]], [[lyx_-_programmiersprache:vega:units:edits|Vega.Edits]], [[lyx_-_programmiersprache:vega:units:forms|Vega.Forms]], [[lyx_-_programmiersprache:vega:units:lfmload|Vega.LfmLoad]], [[lyx_-_programmiersprache:vega:units:lfmsave|Vega.LfmSave]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/Backend.lyx'' erhoben.