Zum Inhalt

Q_GraphicsContext

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.

Q_GraphicsContext

Schnittstellenstruktur

Ereignis-Eingänge

  • INIT: Initialisierungsanforderung (mit Objekt-ID)
  • REQ: Konfigurationsanforderung (mit Sub-Command und Parametern)

Ereignis-Ausgänge

  • INITO: Initialisierungsbestätigung
  • CNF: 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): Betriebsstatusmeldung
  • u8OldSubCommandID (USINT): Vorherige Sub-Befehls-ID
  • u8OldParaList (USINT[5]): Vorherige Parameterliste
  • u16OldLenBytes (UINT): Vorherige Parameterlänge
  • s16result (INT): ISO-konformer Ergebniscode

Funktionsweise

  1. Initialisierung:
  2. INIT mit Grafik-Kontext Objekt-ID
  3. INITO bestätigt Betriebsbereitschaft

  4. Konfiguration:

  5. REQ mit Sub-Befehls-ID und Parameterliste
  6. Konfiguriert Grafik-Kontext Eigenschaften
  7. CNF liefert Ergebnisstatus und vorherige Konfiguration

  8. Fehlerbehandlung:

  9. ISO-standardisierte Fehlercodes
  10. 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