ID 36 – Graphics Context Object – ISO 11783-6 – B.18
Das Graphics Context Object (GCO) mit der ID 36 (ab VT Version 4) stellt einen dynamischen Grafikpuffer (Canvas) zur Verfügung, in den die ECU zur Laufzeit zeichnen kann. Es ist vergleichbar mit einer Bitmap, deren Inhalt pixelgenau verändert werden kann.
Attribute und Record Format (Tabelle B.59)
Die folgende Tabelle beschreibt den Aufbau des Graphics Context Objekts im Objektpool.
AID |
Name |
Typ |
Größe (Bytes) |
Bereich / Wert |
Record Byte |
Beschreibung |
|---|---|---|---|---|---|---|
- |
Object ID |
Integer |
2 |
0 – 65534 |
1 – 2 |
Eindeutige ID im Objektpool. |
[0] |
Type |
Integer |
1 |
36 |
3 |
Objekttyp = Graphics Context. |
[1] |
Viewport Width |
Integer |
2 |
0 – 32767 |
4 – 5 |
Breite des sichtbaren Fensters (Anzeige im VT). |
[2] |
Viewport Height |
Integer |
2 |
0 – 32767 |
6 – 7 |
Höhe des sichtbaren Fensters. |
[3] |
Viewport X |
Signed Integer |
2 |
-32768 bis +32767 |
8 – 9 |
X-Position des Viewports relativ zum Canvas (0 = Links). |
[4] |
Viewport Y |
Signed Integer |
2 |
-32768 bis +32767 |
10 – 11 |
Y-Position des Viewports relativ zum Canvas (0 = Oben). |
[5] |
Canvas Width |
Integer |
2 |
0 – 32767 |
12 – 13 |
Gesamtbreite des Grafikspeichers. |
[6] |
Canvas Height |
Integer |
2 |
0 – 32767 |
14 – 15 |
Gesamthöhe des Grafikspeichers. |
[7] |
Viewport Zoom |
Float |
4 |
-32.0 bis +32.0 |
16 – 19 |
Zoomfaktor des Viewports (siehe Tabelle F.1). |
[8] |
Graphics Cursor X |
Signed Integer |
2 |
-32768 bis +32767 |
20 – 21 |
Aktuelle X-Position des Zeichencursors. |
[9] |
Graphics Cursor Y |
Signed Integer |
2 |
-32768 bis +32767 |
22 – 23 |
Aktuelle Y-Position des Zeichencursors. |
[10] |
Foreground Colour |
Integer |
1 |
0 – 255 |
24 |
Vordergrundfarbe für Zeichenoperationen. |
[11] |
Background Colour |
Integer |
1 |
0 – 255 |
25 |
Hintergrundfarbe. Wird beim Parsen zum Füllen genutzt. |
[12] |
Font Attributes |
Integer |
2 |
0 – 65534, 65535 |
26 – 27 |
Referenz auf Font Attributes Objekt (für Textbefehle). |
[13] |
Line Attributes |
Integer |
2 |
0 – 65534, 65535 |
28 – 29 |
Referenz auf Line Attributes Objekt (für Linienbefehle). |
[14] |
Fill Attributes |
Integer |
2 |
0 – 65534, 65535 |
30 – 31 |
Referenz auf Fill Attributes Objekt (für Füllbefehle). |
[15] |
Format |
Integer |
1 |
0 – 2 |
32 |
Farbtiefe des Canvas: 0=1-Bit, 1=4-Bit, 2=8-Bit. |
[16] |
Options |
Bitmask |
1 |
0 – 3 |
33 |
Bit 0: Transparenz |
[17] |
Transparency Colour |
Integer |
1 |
0 – 255 |
34 |
Transparenzfarbe (wenn Options Bit 0 gesetzt). |
Funktionsweise und Struktur
Das GCO besteht aus zwei Hauptkomponenten:
Canvas: Ein persistenter Grafikspeicher (Bitmap) mit definierter Größe (
Canvas Width/Height). Der Inhalt bleibt erhalten, auch wenn das Objekt nicht angezeigt wird.Viewport: Ein „Fenster“, das einen Ausschnitt des Canvas anzeigt. Der Viewport definiert die Größe des Objekts auf der Maske. Durch Ändern von
Viewport X/Ykann der Inhalt gescrollt (gepannt) werden.
Graphics Context Commands
Die Manipulation des Canvas erfolgt über spezielle Befehle (siehe ISO 11783-6, Anhang F), wie z. B.:
Set Graphics Cursor: Setzt die Schreibposition.Draw Point / Line / Rectangle / Polygon / Ellipse: Zeichnet geometrische Formen.Draw Text: Schreibt Text an die Cursorposition.Copy Canvas: Kopiert Bereiche innerhalb des Canvas.
Ereignisse (Events - Tabelle B.58)
Das Graphics Context Objekt reagiert auf folgende Ereignisse:
On Change Attribute: Wird ausgelöst bei Änderungen von Attributen (z. B. Viewport-Position, Zoom). Das VT aktualisiert die Anzeige.
On Change Background Colour: Füllt das Objekt (den Canvas) mit der neuen Hintergrundfarbe. Achtung: Löscht den bisherigen Inhalt!
Anwendungsbeispiel
Typische Anwendungen sind GPS-Karten (Swath-Logging), bei denen die ECU kontinuierlich die gefahrene Spur als Linie in den GCO zeichnet.
Hinweis: Für detaillierte Spezifikationen wird auf die offizielle ISO 11783-6:2018, B.18 verwiesen.