Q_GraphicsContext¶

Einleitung¶
Der Q_GraphicsContext ist ein standardkonformer Funktionsbaustein zur Steuerung von Grafik-Kontextobjekten in Virtual Terminals, entwickelt unter EPL-2.0 Lizenz. Die Version 1.0 implementiert die ISO 11783-6 (Teil 6 - F.56) Spezifikation für VT-Systeme ab Version 4.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
INIT: Initialisierungsanforderung (mit Objekt-ID)REQ: Konfigurationsanforderung (mit Sub-Command und Parametern)
Ereignis-Ausgänge¶
INITO: InitialisierungsbestätigungCNF: Konfigurationsbestätigung (mit Status und vorherigen Werten)
Daten-Eingänge¶
u16ObjId(UINT): Grafik-Kontext Objekt-ID (16-bit)u8SubCommandID(USINT): Sub-Befehls-ID (8-bit)u8ParaList(USINT[5]): Parameterliste (5 Byte Array)u16LenBytes(UINT): Parameterlänge in Bytes
Daten-Ausgänge¶
STATUS(STRING): Betriebsstatusmeldungu8OldSubCommandID(USINT): Vorherige Sub-Befehls-IDu8OldParaList(USINT[5]): Vorherige Parameterlisteu16OldLenBytes(UINT): Vorherige Parameterlänges16result(INT): ISO-konformer Ergebniscode
Funktionsweise¶
- Initialisierung:
INITmit Grafik-Kontext Objekt-ID-
INITObestätigt Betriebsbereitschaft -
Konfiguration:
REQmit Sub-Befehls-ID und Parameterliste- Konfiguriert Grafik-Kontext Eigenschaften
-
CNFliefert Ergebnisstatus und vorherige Konfiguration -
Fehlerbehandlung:
- ISO-standardisierte Fehlercodes
- Pufferüberlauf-Prüfung
Technische Besonderheiten¶
✔ ISO 11783-6 konform (F.56) ✔ Exklusiv für VT Version 4+ ✔ Flexible Parametrisierung (5-Byte Parameterarray) ✔ Rückverfolgbarkeit (Vorherige Konfiguration)
Sub-Befehls Referenz¶
| ID | Befehl | Parameterbeschreibung |
|---|---|---|
| 0x01 | Linienstil | [0]=Stärke, [1]=Typ |
| 0x02 | Füllmuster | [0]=Muster-ID |
| 0x03 | Transparenz | [0]=Alpha-Wert (0-255) |
| 0x04 | Clip-Bereich | [0-3]=X,Y,W,H Koordinaten |
| 0x05 | Transformationsmatrix | [0-4]=Matrixparameter |
Rückgabecodes (s16result)¶
| Code | Konstante | Bedeutung |
|---|---|---|
| 0 | VT_E_NO_ERR | Erfolgreiche Ausführung |
| -6 | VT_E_OVERFLOW | Parameterpuffer zu klein |
| -8 | VT_E_NOACT | VT nicht bereit |
| -21 | VT_E_NO_INSTANCE | Kein VT-Client verfügbar |
| -129 | VT_E_ISO_INSTANCE_INVALID | Ungültige VT-Instanz |
| -130 | VT_E_NOT_ALIVE | VT nicht aktiv |
Anwendungsszenarien¶
- Grafikrendering: Linien- und Füllstile
- Benutzeroberflächen: Transparenzeffekte
- Diagramme: Clip-Bereiche für Ausschnitte
- Animationen: Transformationsmatrizen
Sicherheitshinweise¶
⚠ Puffergröße beachten:
Parameterlisten dürfen nicht länger als ISO_VTC_CMD_STR_MAX_LENGTH sein
⚠ Sub-Command Validierung:
Unbekannte Befehls-IDs können zu unerwartetem Verhalten führen
Fazit¶
Der Q_GraphicsContext-Baustein bietet leistungsstarke Grafiksteuerung:
- Präzise Kontrolle: Über alle Grafikattribute
- Rückverfolgbar: Vorherige Zustandsicherung
- Performant: Optimierte Befehlslast
Essential für: - Hochwertige Grafikdarstellungen - Dynamische Visualisierungen - Komplexe Benutzeroberflächen