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
Bit 1: Farbe (0=FG/BG Attribute, 1=Line/Font/Fill Attr).

[17]

Transparency Colour

Integer

1

0 – 255

34

Transparenzfarbe (wenn Options Bit 0 gesetzt).

Funktionsweise und Struktur

Das GCO besteht aus zwei Hauptkomponenten:

  1. Canvas: Ein persistenter Grafikspeicher (Bitmap) mit definierter Größe (Canvas Width/Height). Der Inhalt bleibt erhalten, auch wenn das Objekt nicht angezeigt wird.

  2. 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/Y kann 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.