|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
Extension: .CVG
Eine CALAMUS 1.0 CVG Datei beginnt mit einem Header:
10 BYTEs | File ID - 'CALAMUSCVG' |
WORD | $03e8 für v.1.0 oder $044c für v.1.1 SL |
WORD | Seitengröße - $0003 |
WORD | X Position der oberen linken Ecke |
WORD | Y Position der oberen linken Ecke |
WORD | ? (Breite) |
WORD | ? (Höhe) |
Anschließend folgen die Daten mit den Objektbeschreibungen und Gruppen. Jede dieser Beschreibungen wird durch eine ID eingeleitet. Da die Beschreibungen ihre Länge enthalten, kann ein Programm neue, unbekannte Elemente leicht überlesen.
Am Ende der Beschreibungen folgt die folgend Struktur.
WORD | ID für Seitenende - $0030 |
WORD | Dateiende - $ffff |
Eine Gruppe wird durch die folgende Struktur beschrieben:
WORD | ID für die Objektgruppe - $0020 |
LONG | Länge der Gruppe in Bytes |
WORD | x Position der oberen linken Ecke (relativ zur Gruppe/Seite) |
WORD | y Position der oberen linken Ecke (relativ zur Gruppe/Seite) |
WORD | ? (Breite) |
WORD | ? (Höhe) |
Anschließend folgen die zu dieser Gruppe gehörenden Objekte. Das Ende der Gruppe wird durch die folgende Struktur beschrieben:
WORD | Ende der Gruppe - $0021 |
LONG | ? - (00000006) |
Ein Objekt wird durch die folgende Struktur beschrieben:
WORD | ID des Objekts - $0004 |
LONG | Länge des Objekts in Bytes |
WORD | x Position der oberen linken Ecke (relativ zur Gruppe/Seite) |
WORD | y Position der oberen linken Ecke (relativ zur Gruppe/Seite) |
WORD | ? (Breite) |
WORD | ? (Höhe) |
LONG | Füllfarbe - 00xxxxxx
(v.1.0 - 000110xx mit xx Graustufe in %) (v.1.1 - 00rrggbb mit rgb in bytes) |
LONG | Farbe der Linie - 00xxxxxx (Codierung wie Füllfarbe) |
WORD | Gibt an, ob Umrisslinie und/oder Füllfarbe gezeichnet werden
0080 - Beides (Umrisslinie und Füllung) 0100 - nur Umrusslinie 0200 - nur Füllung |
WORD | Dicke der Linie (0000-4000) |
Anschließend folgen die Vektorpfade. Das Ende des Objekts wird mit der folgenden Struktur beschrieben:
WORD | ID für das Ende des Objekts - $000f |
Ein Vektorpfad wird wie folgt beschrieben:
0000 | = Start eines neuen Pfads |
0001 | = Der Punkt wird durch eine gerade Linie verbunden |
0002 | = Der Punkt wird durch eine Bezierkurve verbunden
Es folgen zwei Stützpunkte. |
Anschließend folgt ein Punkt. Ein Beispiel für einen Pfad aus 2 Linienzügen kann damit wie folgt aussehen:
0000, x1, y1, 0001, x2, y2, 0001, x3, y3, 0002, c1x, c1y, c2x, c2y, x4, y4, 0000, x5, y5 ...
English version not yet available. |