include "/var/www/banner.php"; ?>
This is an old version from the tos.hyp. The new is on GitHub!
7.4 Attributfunktionen
Diese Bibliothek enthält Funktionen, die das Einstellen bestimmter
Attribute ermöglichen. Dabei stehen die folgenden Kategorien zur
Verfügung:
Hinweis: Die eingestellten Attribute gelten dabei für eine
einzelne Workstation, und behalten ihre Gültigkeit, bis das Programm
terminiert, oder die Attribute anders eingestellt werden.
Querverweis: Workstations des VDI Style-Guidelines
7.4.1 Bitmap-Attribute
Hinweis: Die eingestellten Attribute gelten dabei für eine
einzelne Workstation, und behalten ihre Gültigkeit, bis das Programm
terminiert, oder die Attribute anders eingestellt werden.
Querverweis:
Workstations des VDI Style-Guidelines Grundlagen des VDI
7.4.2 Fülltyp-Attribute
Diese Gruppe von Funktionen ermöglicht es, verschiedene Attribute
zum Füllen von Flächen zu manipulieren. Zu diesem Zweck stehen die
folgenden Routinen zur Verfügung:
Die eingestellten Attribute gelten dabei für eine einzelne
Workstation, und behalten ihre Gültigkeit, bis das Programm
terminiert, oder die Attribute anders eingestellt werden.
Querverweis:
Workstations des VDI Fülltyp und Musterindex Style-Guidelines Grundlagen des VDI
7.4.3 Linien-Attribute
Diese Gruppe von Funktionen ermöglicht es, verschiedene Attribute
zum Zeichnen von Linien zu manipulieren. Zu diesem Zweck stehen die
folgenden Routinen zur Verfügung:
Die eingestellten Attribute gelten dabei für eine einzelne
Workstation, und behalten ihre Gültigkeit, bis das Programm
terminiert, oder die Attribute anders eingestellt werden.
Querverweis:
Workstations des VDI Style-Guidelines
7.4.4 Markierungs-Attribute
Diese Gruppe von Funktionen ermöglicht es, verschiedene Attribute
zum Zeichnen von Markierungen zu manipulieren. Zu diesem Zweck stehen
die folgenden Routinen zur Verfügung:
Hinweis: Die eingestellten Attribute gelten dabei für eine
einzelne Workstation, und behalten ihre Gültigkeit, bis das Programm
terminiert, oder die Attribute anders eingestellt werden.
Querverweis: Workstations des VDI Style-Guidelines
7.4.5 Text-Attribute
Diese Gruppe von Funktionen ermöglicht es, verschiedene Attribute
des Text-Handlings zu manipulieren. Zu diesem Zweck stehen die
folgenden Routinen zur Verfügung:
Hinweis: Die eingestellten Attribute gelten dabei für eine
einzelne Workstation, und behalten ihre Gültigkeit, bis das Programm
terminiert, oder die Attribute anders eingestellt werden.
Querverweis: Workstations des VDI Style-Guidelines
7.4.6 übergeordnete Attribute
Diese Gruppe von Funktionen ermöglicht die Festlegung des
Schreibmodus sowie der Intenstität einer Farbe; sie umfaßt die
folgenden Routinen:
Hinweis: Die eingestellten Attribute gelten dabei für eine
einzelne Workstation, und behalten ihre Gültigkeit, bis das Programm
terminiert, oder die Attribute anders eingestellt werden.
Querverweis: Workstations des VDI Style-Guidelines
7.4.6.1 vsr_bg_color
Name: |
»Set Background Color« - Hintergrundfarbe setzen |
VDI-Nummer: |
201 (Unterfunktion 4) |
Deklaration: |
int16_t vsr_bg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Hintergrundfarbe für Bitmaps.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Hintergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Bitmap-Attribute |
Querverweis: |
Binding
|
7.4.6.2 Bindings für vsr_bg_color
7.4.6.3 vsr_fg_color
Name: |
»Set Foreground Color« - Vordergrundfarbe setzen |
VDI-Nummer: |
200 (Unterfunktion 4) |
Deklaration: |
int16_t vsr_fg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Vordergrundfarbe für Bitmaps.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Vordergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Bitmap-Attribute |
Querverweis: |
Binding
|
7.4.6.4 Bindings für vsr_fg_color
7.4.6.5 Grafische Übersicht von Fülltyp und Musterindex
Die folgende Abbildung zeigt die möglichen Kombinationen von
Fülltyp und Musterindex. Die erste Ziffer gibt dabei den Fülltyp, die
zweite den Index des Musters an.
Hinweis: Ein Fülltyp mit dem Wert 1, gefolgt von einem
beliebigen Musterindex, entspricht immer dem Fülltyp 2 mit Musterindex
8. Der Index 1 ist bei Mustern vom Typ 2 immer das Muster mit der
geringsten Intensität auf dem jeweiligen Ausgabegerät, und darüber
hinaus auch immer monochrom.
Querverweis: vsf_interior vsf_style
7.4.6.6 Beschreibung der VDI-Schreibmodi
Replace: In diesem Modus überschreibt das VDI den
Hintergrund mit der Vordergrundfarbe, falls das entsprechende Bit
gesetzt ist, bzw. mit der Farbe Weiß, wenn das entsprechende Bit den
Wert 0 besitzt. Die logische Verknüpfung lautet:
Neu := (Vordergrund AND Maske) OR (Hintergrund AND NOT Maske)
Übertragen auf das Arbeiten mit Bleistift und Papier kann man sich
dies wie folgt vorstellen: zunächst malt man eine Figur auf weißes
Papier, schneidet sie aus, und klebt sie dann auf die Grafik.
Transparent: In diesem Modus werden alle Bits der zu
zeichnenden Form die den Wert 0 besitzen (also nicht gesetzt sind) vom
VDI ignoriert. Es werden also nur die Bits ausgegeben, die gesetzt
sind. Die logische Verknüpfung lautet in diesem Fall:
Neu := (Vordergrund AND Maske) OR (Farbe AND NOT Maske)
Auch hier wieder der Vergleich beim Arbeiten mit Papier und
Bleistift: Dieser Modus entspricht dem Replace-Modus, nur daß nicht
auf normales Papier, sondern auf eine durchsichtige (transparente)
Folie gezeichnet wird.
XOR: In diesem Modus werden die Bits des Hintergrundes und
der zu zeichnenden Figur mit einem Exklusiv-ODER verknüpft, wobei eine
interessante und nützliche Eigenschaft auftritt:
Wird die Figur nämlich ein zweites Mal in diesem Modus gezeichnet,
so ist sie plötzlich wieder verschwunden. Begründung: Die
XOR-Verknüpfung eines Bits mit sich selbst ergibt immer den inversen
Wert. Deshalb läßt sich dieser Modus hervorragend für einfache
Animationen wie eine Gummibox einsetzen; das Kochrezept lautet:
1. |
Objekt einmal ausgeben |
2. |
Objekt erneut ausgeben (es ist nun wieder verschwunden) |
3. |
Objekt in der Größe oder Position verändern. |
4. |
Zurück zu Schritt 1.
|
Die logische Verknüpfung lautet: Neu := (Maske XOR Farbe)
Im allgemeinen läßt sich über diesen Modus nur aussagen, daß aus
der Farbe Schwarz die Farbe Weiß wird, und umgekehrt; alles andere ist
nicht fest definiert.
Reverse Transparent: In diesem Modus werden nur die Pixel
berücksichtigt, die im zu zeichnenden Bild auf den Wert 0 gesetzt
sind. Die logische Verknüpfung lautet in diesem Fall:
Neu := (Farbe AND Maske) OR (Vordergrund AND NOT Maske)
Auch dieser Modus bietet interessante Einsatzmöglichkeiten; so
kann er z.B. mit dem Transparent-Modus gemeinsam angewendet werden, um
Text mit einer zusätzlichen Hintergrundfarbe erscheinen zu lassen.
Die folgende Abbildung soll die unterschiedlichen
VDI-Schreibmodi noch einmal verdeutlichen:
Querverweis: vswr_mode
7.4.6.7 vsf_bg_color
Name: |
»Set Background Color« - Hintergrundfarbe setzen |
VDI-Nummer: |
201 (Unterfunktion 1) |
Deklaration: |
int16_t vsf_bg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktione setzt die Hintergrundfarbe für Objekte.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Hintergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding
|
7.4.6.8 Bindings für vsf_bg_color
7.4.6.9 vsf_color
Name: |
»Set Fill Color Index« - bestimmt die Farbe mit der ein Polygon
ausgefüllt wird. |
VDI-Nummer: |
25 |
Deklaration: |
int16_t vsf_color ( int16_t handle, int16_t color_index ); |
Beschreibung: |
Die Funktion legt die Füllfarbe für Polygone fest. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_index |
gewünschte Farbe
|
Hinweis: Die Farbindizes 0 und 1 sind immer verfügbar;
alle weiteren hängen vom jeweiligen Ausgabegerät ab. Ein ungültiger
Farbindex wird durch den Wert 1 ersetzt. Der Farbindex hat keine
Auswirkung auf mehrfarbige Muster; er sollte in diesem Fall auf 1
gesetzt werden. |
Ergebnis: |
Die Funktion liefert die tatsächlich eingestellte Farbe zurück. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding v_fillarea v_contourfill vr_recfl v_bar
v_pieslice v_circle v_ellipse v_ellpie v_rfbox vsf_udpat
|
7.4.6.10 Bindings für vsf_color
7.4.6.11 vsf_fg_color
Name: |
»Set Foreground Color« - Vordergrundfarbe setzen |
VDI-Nummer: |
200 (Unterfunktion 1) |
Deklaration: |
int16_t vsf_fg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Vordergrundfarbe für gefüllte
Objekt.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Vordergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding
|
7.4.6.12 Bindings für vsf_fg_color
7.4.6.13 vsf_interior
Name: |
»Set Fill Interior Style« - bestimmt den Füllmustertyp. |
VDI-Nummer: |
23 |
Deklaration: |
int16_t vsf_interior ( int16_t handle, int16_t style ); |
Beschreibung: |
Die Funktion bestimmt den Fülltyp. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
style |
gewünschter Fülltyp
0 = |
leer |
1 = |
deckend |
2 = |
gemustert |
3 = |
schraffiert |
4 = |
frei definierbar
|
|
Hinweis: Bei Übergabe eines ungültigen Typs wird der
Fülltyp leer angenommen. |
Ergebnis: |
Die Funktion liefert den tatsächlich ausgewählten Fülltyp
zurück. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding v_fillarea v_contourfill vr_recfl v_bar
v_pieslice v_circle v_ellipse v_ellpie v_rfbox vsf_style
vsf_udpat
|
7.4.6.14 Bindings für vsf_interior
7.4.6.15 vsf_perimeter
Name: |
»Set Fill Perimeter Visibility« - bestimmt, ob eine Umrandung
um Füllbereiche gezeichnet wird. |
VDI-Nummer: |
104 |
Deklaration: |
int16_t vsf_perimeter ( int16_t handle, int16_t per_vis ); |
Beschreibung: |
Die Funktion schaltet die automatische Umrahmung der Füllfläche
ein oder aus. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
per_vis |
gewünschter Modus
0 = |
keine Umrahmung |
<> 0 = |
Umrahmung
|
|
Hinweis: Der Rand wird bei aktivierter Umrahmung (default)
in der aktuellen Füllfarbe und als durchgehende Linie gezeichnet. |
Ergebnis: |
Die Funktion liefert den tatsächlich eingestellten Modus
zurück. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding vsf_xperimeter v_fillarea v_contourfill
vr_recfl v_bar v_pieslice v_circle v_ellipse v_ellpie
v_rfbox
|
7.4.6.16 Bindings für vsf_perimeter
7.4.6.17 vsf_style
Name: |
»Set Fill Style Index« - bestimmt das Füllmuster. |
VDI-Nummer: |
24 |
Deklaration: |
int16_t vsf_style ( int16_t handle, int16_t style_index ); |
Beschreibung: |
Die Funktion bestimmt das Füllmuster. Es gilt:
Hinweis: Die Funktion hat nur dann einen Sinn, wenn als
Fülltyp nicht leer, deckend oder frei definierbar gewählt
wurde. Nicht verfügbare Indizes werden durch den Musterindex 1
ersetzt. |
Ergebnis: |
Die Funktion liefert das tatsächlich eingestellte Füllmuster. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding v_fillarea v_contourfill vr_recfl v_bar
v_pieslice v_circle v_ellipse v_ellpie v_rfbox vsf_interior
|
7.4.6.18 Bindings für vsf_style
7.4.6.19 vsf_udpat
Name: |
»Set User Defined Fill Pattern« - definiert ein neues
Füllmuster. |
VDI-Nummer: |
112 |
Deklaration: |
void vsf_udpat ( int16_t handle, int16_t *pfill_pat, int16_t
planes ); |
Beschreibung: |
Die Funktion definiert ein neues Füllmüster. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
pfill_pat |
Zeiger auf ein Feld mit planes Zeilen zu je 16
Einträgen. |
planes |
Anzahl der Farbebenen
|
Hinweis: Jede Zeile gibt das Füllmuster für eine Farbebene
wieder. Der erste Eintrag in einer Zeile entspricht dabei der ersten
Zeile des Musters usw.
Mehrfarbige Muster werden im Standardformat übergeben und müssen
die gleiche Ebenenanzahl haben wie der Bildschirm. Die Ausnahme von
dieser Regel sind die Direct RGB-Modi (mehr als 8 Ebenen mit direkter
RGB-Zuordnung) wie True-Color. Hier wird das Muster immer als
True-Color Muster mit 32-Bit-Pixeln (xRGB) übergeben.
Bei Mehrfarbmustern sollte man die Füllfarbe auf 1 setzen und als
Schreibmodus REPLACE anwählen. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding vsf_interior
|
7.4.6.20 Bindings für vsf_udpat
C: |
void vsf_udpat ( int16_t handle, int16_t *pfill_pat, int16_t
planes ); |
Umsetzung: |
void vsf_udpat (int16_t handle, int16_t *pfill_pat,
int16_t planes)
{
intin[0..16n-1] = pfill_pat[0..16n-1];
contrl[0] = 112;
contrl[1] = 0;
contrl[3] = planes * 16;
contrl[6] = handle;
vdi ();
}
|
GEM-Arrays: |
|
7.4.6.21 vsf_xperimeter
Name: |
»Set Fill Perimeter Visibility« - bestimmt, ob eine Umrandung
um Füllbereiche gezeichnet wird. |
VDI-Nummer: |
104 |
Deklaration: |
int16_t vsf_xperimeter ( int16_t handle, int16_t on_off,
int16_t f_or_l ); |
Beschreibung: |
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
on_off |
gewünschter Modus
0 = |
Turn perimeter outlining off |
1 = |
Turn perimeter outlining on |
-1 = |
Do not change perimeter outlining
|
|
f_or_l |
Linientyp analog zu vsl_type
0 = |
Use normal fill color for perimeter |
1 = |
Use line style attributes for perimeter
|
|
|
Ergebnis: |
Die Funktion liefert den tatsächlich eingestellten Modus
zurück. |
Verfügbar: |
GEM/3 Release 3.1 |
Gruppe: |
Fülltyp-Attribute |
Querverweis: |
Binding vsf_perimeter v_fillarea v_contourfill vr_recfl
v_bar v_pieslice v_circle v_ellipse v_ellpie v_rfbox
|
7.4.6.22 Bindings für vsf_xperimeter
7.4.6.23 vsl_bg_color
Name: |
»Set Background Color« - Hintergrundfarbe setzen |
VDI-Nummer: |
201 (Unterfunktion 2) |
Deklaration: |
int16_t vsl_bg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Hintergrundfarbe für Linien.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Hintergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding
|
7.4.6.24 Bindings für vsl_bg_color
7.4.6.25 vsl_color
Name: |
»Set Polyline Color Index« - setzt die Linienfarbe. |
VDI-Nummer: |
17 |
Deklaration: |
int16_t vsl_color ( int16_t handle, int16_t color_index ); |
Beschreibung: |
Die Funktion wählt die Linien-Farbe. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_index |
Linienfarbe
|
Hinweis: Die Farb-Indizes 0 und 1 sind auf allen Geräten
verfügbar; alle anderen Werte hängen vom jeweiligen Ausgabegerät ab.
Bei ungültigem Index wird die Linienfarbe auf den Wert 1 gesetzt. |
Ergebnis: |
Die Funktion liefert die tatsächlich gesetzte Linienfarbe. |
Verfügbar: |
Vorhanden bei allen Treibern. |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding v_pline v_arc v_ellarc v_rbox
|
7.4.6.26 Bindings für vsl_color
7.4.6.27 vsl_ends
Name: |
»Set Polyline End Styles« - setzt die Form der Linienenden. |
VDI-Nummer: |
108 |
Deklaration: |
void vsl_ends ( int16_t handle, int16_t beg_style, int16_t
end_style ); |
Beschreibung: |
Die Funktion legt das Aussehen der Linien-Enden fest. Es gilt:
Parameter |
Bedeutung Symbole |
|
|
handle |
Kennung der Workstation |
beg_style |
Anfang der Linie
0 = |
eckig |
1 = |
Pfeilform |
2 = |
abgerundet
|
|
end_style |
Ende der Linie (analog)
|
Hinweis: Standardmäßig besitzen alle Linien einen eckigen
Abschluß. Das Ende der Linie ist bei der Pfeilspitze die Spitze
selbst, bei den abgerundeten Ecken jedoch das Zentrum des Halbkreises,
welches das Ende darstellt. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding v_pline v_arc v_ellarc v_rbox
|
7.4.6.28 Bindings für vsl_ends
C: |
void vsl_ends ( int16_t handle, int16_t beg_style, int16_t
end_style ); |
Umsetzung: |
void vsl_ends (int16_t handle, int16_t beg_style,
int16_t end_style)
{
intin[0] = beg_style;
intin[1] = end_style;
contrl[0] = 108;
contrl[1] = 0;
contrl[3] = 2;
contrl[6] = handle;
vdi ();
}
|
GEM-Arrays: |
|
7.4.6.29 vsl_fg_color
Name: |
»Set Foreground Color« - Vordergrundfarbe setzen |
VDI-Nummer: |
200 (Unterfunktion 2) |
Deklaration: |
int16_t vsl_fg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Vordergrundfarbe für Linien.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Vordergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding
|
7.4.6.30 Bindings für vsl_fg_color
7.4.6.31 vsl_type
Name: |
»Set Polyline Type« - setzt den Linientyp. |
VDI-Nummer: |
15 |
Deklaration: |
int16_t vsl_type ( int16_t handle, int16_t style ); |
Beschreibung: |
Die Funktion wählt die Liniendarstellung aus. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
style |
Stil der Linie
1 = |
durchgezogen |
2 = |
langer Strich |
3 = |
punktiert |
4 = |
Strich, Punkt |
5 = |
Strich |
6 = |
Strich, Punkt, Punkt |
7 = |
frei definierbar, vsl_udsty
|
|
Hinweis: Linienstile ab dem Wert 8 sind vom jeweiligen
Ausgabegerät abhängig. Ist ein gewählter Stil nicht verfügbar, so wird
der Linienstil 'durchgezogen' gewählt.
Über die Funktion vq_extnd können die vorhandenen Linientypen
ermittelt werden. |
Ergebnis: |
Die Funktion liefert den tatsächlich eingestellten Linientyp. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding v_pline v_arc v_ellarc v_rbox vsl_udsty
|
7.4.6.32 Bindings für vsl_type
7.4.6.33 vsl_udsty
Name: |
»Set User defined Line Style Pattern« - setzt den frei
definierten Linientyp. |
VDI-Nummer: |
113 |
Deklaration: |
void vsl_udsty ( int16_t handle, int16_t pattern ); |
Beschreibung: |
Die Funktion legt den frei-definierbaren Linientyp von vsl_type
fest. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
pattern |
Linienmuster
|
Hinweis: Das Bit-15 des Parameters pattern legt
den ersten Punkt der Linie fest. Der Standardwert ist eine komplett
durchgezogene Linie. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding vsl_type
|
7.4.6.34 Bindings für vsl_udsty
7.4.6.35 vsl_width
Name: |
»Set Polyline Width« - setzt die Linienbreite. |
VDI-Nummer: |
16 |
Deklaration: |
int16_t vsl_width ( int16_t handle, int16_t width ); |
Beschreibung: |
Die Funktion setzt die Linienbreite. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
width |
Linienbreite (ungerade)
|
Hinweis: Die Breite der Linie bezieht sich immer auf
Koordinaten in x-Richtung. Die tatsächlich gesetzte Breite ist kleiner
oder gleich der gewählten Breite. Die Funktion ist nicht auf
allen Ausgabegeräten verfügbar.
Linien die breiter als 1 Pixel sind werden von den meisten
Treibern nur ohne Muster gezeichnet. |
Ergebnis: |
Die Funktion liefert die tatsächlich eingestellte Strichstärke. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding v_pline v_arc v_ellarc v_rbox
|
7.4.6.36 Bindings für vsl_width
7.4.6.37 v_bez_qual
Name: |
»Set Bezier quality« - Qualität der Bezier-Spline-Erzeugung
setzen. |
VDI-Nummer: |
5 (Escape 99, Opcode 32) |
Deklaration: |
int16_t v_bez_qual ( int16_t handle, int16_t qual, int16_t
*set_qual ); |
Beschreibung: |
Die Funktion setzt einen neuen Faktor, der die Qualität und
Geschwindigkeit bestimmt, mit der Bezier-Splines gezeichnet werden. Es
gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
qual |
gewünschte Qualität in Prozent |
set_qual |
eingestellte Qualität in Prozent (Steht bei GEM/3 Release
3.1 nicht zur Verfügung).
|
Hinweis: Die Qualität der Beziers kann wie üblich in
Prozent (d.h. von 0 bis 100) eingestellt werden. |
Ergebnis: |
Die Funktion liefert den alten Qualitäts-Faktor zurück.
Das GEM/3 und NVDI Binding liefert set_qual zusätzlich
als Returnwert zurück. |
Verfügbar: |
ab GEM/3 Release 3.1, ab SpeedoGDOS 4.00 und ab NVDI 2.10. |
Gruppe: |
Linien-Attribute |
Querverweis: |
Binding v_bez_on v_bez_off v_bez v_bez_fill
v_set_app_buff
|
7.4.6.38 Bindings für v_bez_qual
7.4.6.39 vsm_bg_color
Name: |
»Set Background Color« - Hintergrundfarbe setzen |
VDI-Nummer: |
201 (Unterfunktion 3) |
Deklaration: |
int16_t vsm_bg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Hintergrundfarbe für Marker.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Hintergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Markierungs-Attribute |
Querverweis: |
Binding
|
7.4.6.40 Bindings für vsm_bg_color
7.4.6.41 vsm_color
Name: |
»Set Polymarker Color Index« - bestimmt die Farbe von
Markierungspunkten. |
VDI-Nummer: |
20 |
Deklaration: |
int16_t vsm_color ( int16_t handle, int16_t color_index ); |
Beschreibung: |
Die Funktion bestimmt die Farbe der Marker. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_index |
gewünschte Farbe
|
Hinweis: Die Farb-Indizes 0 und 1 sind immer verfügbar,
alle weiteren hängen vom jeweiligen Ausgabegerät ab. Ein ungültiger
Farbindex wird durch den Wert 1 ersetzt. |
Ergebnis: |
Die Funktion liefert den tatsächlich gewählten Farbindex. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
Markierungs-Attribute |
Querverweis: |
Binding v_pmarker
|
7.4.6.42 Bindings für vsm_color
7.4.6.43 vsm_fg_color
Name: |
»Set Foreground Color« - Vordergrundfarbe setzen |
VDI-Nummer: |
200 (Unterfunktion 3) |
Deklaration: |
int16_t vsm_fg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Vordergrundfarbe für Marker.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Vordergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Markierungs-Attribute |
Querverweis: |
Binding
|
7.4.6.44 Bindings für vsm_fg_color
7.4.6.45 vsm_height
Name: |
»Set Polymarker Height« - bestimmt die Höhe von
Markierungspunkten. |
VDI-Nummer: |
19 |
Deklaration: |
int16_t vsm_height ( int16_t handle, int16_t height ); |
Beschreibung: |
Die Funktion setzt die Höher der Marker. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
height |
Höhe der Marker bzgl. y-Richtung
|
Die Anzahl der verfügbaren Höhen kann beim Öffnen der virtuellen
Workstation per v_opnvwk ermittelt werden.
Hinweis: Die Breite der Marker wird automatisch angepaßt.
Bei einer ungültigen Höhe wird vom VDI die nächst passende gewählt.
Der Punkt kann in seiner Größe nicht verändert werden. |
Ergebnis: |
Die Funktion liefert die tatsächlich gewählte Größe. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
Markierungs-Attribute |
Querverweis: |
Binding v_pmarker
|
7.4.6.46 Bindings für vsm_height
C: |
int16_t vsm_height ( int16_t handle, int16_t height ); |
Umsetzung: |
int16_t vsm_height (int16_t handle, int16_t height)
{
ptsin[0] = 0;
ptsin[1] = height;
contrl[0] = 19;
contrl[1] = 1;
contrl[3] = 0;
contrl[6] = handle;
vdi ();
return ( ptsout[1] );
}
|
GEM-Arrays: |
Hinweis: Die Komponente set_height_x beschreibt
die ausgewählte Markerhöhe bzgl. der x-Richtung; in PC-GEM wird stets
der Wert 0 geliefert.
|
7.4.6.47 vsm_type
Name: |
»Set Polymarker Type« - bestimmt die Art der Markierungspunkte |
VDI-Nummer: |
18 |
Deklaration: |
int16_t vsm_type ( int16_t handle, int16_t typ ); |
Beschreibung: |
Die Funktion bestimmt das Aussehen der Marker. Es gilt:
Parameter |
Bedeutung Symbole |
|
|
handle |
Kennung der Workstation |
typ |
Typ des Markers
1 = |
Punkt (feste Größe) |
2 = |
Plus |
3 = |
Stern |
4 = |
Quadrat |
5 = |
Andreaskreuz |
6 = |
Raute
|
|
Hinweis: Bei Übergabe einer ungültigen Nummer wird der
dritte Typ gewählt. Der Punkt kann in seiner Größe nicht
verändert werden. Auf bestimmten Geräten können weitere Marker-Typen
existieren. |
Ergebnis: |
Die Funktion liefert die tatsächlich ausgewählte Markierung. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
Markierungs-Attribute |
Querverweis: |
Binding v_pmarker vsm_height
|
7.4.6.48 Bindings für vsm_type
7.4.6.49 vst_alignment
Name: |
»Set Graphic Text Alignment« - bestimmt die Ausrichtung für
Textausgaben. |
VDI-Nummer: |
39 |
Deklaration: |
void vst_alignment ( int16_t handle, int16_t hor_in, int16_t
vert_in, int16_t *hor_out, int16_t *vert_out ); |
Beschreibung: |
Die Funktion bestimmt die horizontale und vertikale Ausrichtung
eines Textes.
Beispiel:
Der Funktion werden folgende Parameter übergeben:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
hor_in |
horizontale Ausrichtung
0 = |
linksbündig (default) |
1 = |
zentriert |
2 = |
rechtsbündig
|
|
vert_in |
vertikale Ausrichtung
0 = |
Basislinie (default) |
1 = |
Halblinie |
2 = |
Zeichenoberkante |
3 = |
Zeichenzellenunterkante |
4 = |
Zeichenunterkante |
5 = |
Zeichenzellenoberkante
|
|
hor_out |
ausgewählte horizontale Ausrichtung |
vert_out |
ausgewählte vertikale Ausrichtung
|
Hinweis: Standardeinstellung ist der linke Rand der
Basislinie. Bei falscher Eingabe für die horizontale Ausrichtung wird der
Text linksjustiert. Eine fehlerhafte Angabe der vertikalen Ausrichtung
bewirkt Ausrichtung an der Basislinie. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding v_gtext v_justified
|
7.4.6.50 Bindings für vst_alignment
C: |
void vst_alignment ( int16_t handle, int16_t hor_in, int16_t
vert_in, int16_t *hor_out, int16_t *vert_out ); |
Umsetzung: |
void vst_alignment (int16_t handle, int16_t hor_in,
int16_t vert_in, int16_t *hor_out,
int16_t *vert_out)
{
intin[0] = hor_in;
intin[1] = vert_in;
contrl[0] = 39;
contrl[1] = 0;
contrl[3] = 2;
contrl[6] = handle;
vdi ();
*hor_out = intout[0];
*vert_out = intout[1];
}
|
GEM-Arrays: |
|
7.4.6.51 vst_arbpt
Name: |
»Set character cell height by arbitrary points« - Setzen der
Zeichenzellenhöhe in Punkten. |
VDI-Nummer: |
246 |
Deklaration: |
int16_t vst_arbpt ( int16_t handle, int16_t point, int16_t
*chwd, int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Beschreibung: |
Die Funktion setzt die aktuelle Zeichenhöhe in Printerpunkten.
Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
point |
gewünschte Zeichenhöhe |
chwd |
resultierende Zeichenbreite |
chht |
resultierende Zeichenhöhe |
cellwd |
resultierende Zeichenzellenbreite |
cellht |
resultierende Zeichenzellenhöhe
|
Hinweis: Im Gegensatz zu vst_point erlaubt die Funktion
die Skalierung in jeder Punktgröße, unabhängig davon, welche
Angaben in EXTEND.SYS stehen.
Wenn man negative Werte einstellt, werden die Zeichen an der
x-Achse gespiegelt. Bei den zurückgelieferten Zeichenbreiten handelt
es sich um gerundete Werte, die man nicht ohne weiteres zur
Breitenberechnung benutzen kann. |
Ergebnis: |
Die Funktion liefert die gesetzte Zeichenhöhe in Punkten
zurück. |
Verfügbar: |
Beim FSM-GDOS und SpeedoGDOS ab Version 4.00 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_arbpt32 vst_point vst_setsize SpeedoGDOS
NVDI
|
7.4.6.52 Bindings für vst_arbpt
C: |
int16_t vst_arbpt ( int16_t handle, int16_t point, int16_t
*chwd, int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Umsetzung: |
int16_t vst_arbpt (int16_t handle, int16_t point,
int16_t *chwd, int16_t *chht,
int16_t *cellwd, int16_t *cellht)
{
intin[0] = point;
contrl[0] = 246;
contrl[1] = 0;
contrl[3] = 2;
contrl[6] = handle;
vdi ();
*chwd = ptsout[0];
*chht = ptsout[1];
*cellwd = ptsout[2];
*cellht = ptsout[3];
return ( intout[0] );
}
|
GEM-Arrays: |
|
7.4.6.53 vst_arbpt32
Name: |
»Set character cell height by arbitrary points« - Setzen der
Zeichenzellenhöhe in Punkten. |
VDI-Nummer: |
246 |
Deklaration: |
fix31 vst_arbpt32 ( int16_t handle, fix31 point, int16_t *chwd,
int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Beschreibung: |
Die Funktion setzt die aktuelle Zeichenhöhe in Printerpunkten.
Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
point |
gewünschte Zeichenhöhe |
chwd |
resultierende Zeichenbreite |
chht |
resultierende Zeichenhöhe |
cellwd |
resultierende Zeichenzellenbreite |
cellht |
resultierende Zeichenzellenhöhe
|
Hinweis: Im Gegensatz zu vst_point erlaubt die Funktion
die Skalierung in jeder Punktgröße, unabhängig davon, welche
Angaben in EXTEND.SYS stehen.
Wenn man negative Werte einstellt, werden die Zeichen an der
x-Achse gespiegelt. Bei den zurückgelieferten Zeichenbreiten handelt
es sich um gerundete Werte, die man nicht ohne weiteres zur
Breitenberechnung benutzen kann. |
Ergebnis: |
Die Funktion liefert die gesetzte Zeichenhöhe in 1/65536
Punkten zurück.
Aus der SpeedoGDOS Dokumentation geht das nicht hervor. Es ist
möglich das hier nur die Zeichenhöhe in Punkte zurückgeliefert wird. |
Verfügbar: |
Beim FSM-GDOS, SpeedoGDOS ab Version 4.00 und ab NVDI 3.00. In
der Doku zu NVDI 3.00 wird die Funktion fälschlicherweise vst_arbpt
genannt. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_point vst_setsize SpeedoGDOS NVDI
|
7.4.6.54 Bindings für vst_arbpt32
C: |
fix31 vst_arbpt32 ( int16_t handle, fix31 point, int16_t *chwd,
int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Umsetzung: |
fix31 vst_arbpt32 (int16_t handle, fix31 point,
int16_t *chwd, int16_t *chht,
int16_t *cellwd, int16_t *cellht)
{
intin[0..1] = point;
contrl[0] = 246;
contrl[1] = 0;
contrl[3] = 2;
contrl[6] = handle;
vdi ();
*chwd = ptsout[0];
*chht = ptsout[1];
*cellwd = ptsout[2];
*cellht = ptsout[3];
return ( intout[0..1] );
}
|
GEM-Arrays: |
|
7.4.6.55 vst_bg_color
Name: |
»Set Background Color« - Hintergrundfarbe setzen |
VDI-Nummer: |
201 (Unterfunktion 0) |
Deklaration: |
int16_t vst_bg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Hintergrundfarbe für Text.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Hintergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding
|
7.4.6.56 Bindings für vst_bg_color
7.4.6.57 vst_charmap
Name: |
»Set character mapping mode« - wählt die Art der
Zeichensatzindizierung |
VDI-Nummer: |
236 |
Deklaration: |
void vst_charmap ( int16_t handle, int16_t mode ); |
Beschreibung: |
Die Funktion legt die Art der Zeichensatzindizierung fest. Es
gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
mode |
Art der Indizierung
0 = |
direktes Mapping, d.h. keine Umsetzung des Zeichen-Index |
1 = |
Zeichen-Index wird als ASCII-Wert interpretiert
|
|
Für SpeedoGDOS gilt:
mode |
Art der Indizierung
0 = |
Atari characters |
1 = |
Bitstream
|
|
Hinweis: Durch Umschalten auf direktes Mapping ändert sich
die Anzahl der vorhandenen Zeichen pro Font von 256 auf die
tatsächlich verfügbare Zahl an Zeichen.
Ab NVDI 4.00 gibt es einer erweiterte Version: vst_map_mode |
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück |
Verfügbar: |
SpeedoGDOS 4.0, NVDI 3.00 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_map_mode vqt_fontinfo ASCII-Tabelle
|
7.4.6.58 Bindings für vst_charmap
7.4.6.59 vst_color
Name: |
»Set Graphic Text Color Index« - bestimmt die Farbe der
Textausgaben. |
VDI-Nummer: |
22 |
Deklaration: |
int16_t vst_color ( int16_t handle, int16_t color_index ); |
Beschreibung: |
Die Funktion setzt die Text-Farbe. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_index |
gewünschte Textfarbe
|
Hinweis: Die Farb-Indizes 0 und 1 sind immer verfügbar;
alle weiteren sind vom verwendeten Ausgabegerät abhängig. Bei Angabe
eines ungültigen Indexes wird der Wert 1 angenommen. |
Ergebnis: |
Die Funktion liefert die tatsächlich eingestellte Farbe. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding v_gtext v_justified
|
7.4.6.60 Bindings für vst_color
7.4.6.61 vst_effects
Name: |
»Set Graphic Text Special Effects« - legt Spezialeffekte für
Textausgaben fest. |
VDI-Nummer: |
106 |
Deklaration: |
int16_t vst_effects ( int16_t handle, int16_t effect ); |
Beschreibung: |
Die Funktion legt verschiedene Texteffekte fest. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
effect |
Texteffekt in Bit-Darstellung
0x00 = |
normal |
0x01 = |
fett |
0x02 = |
hell |
0x04 = |
kursiv |
0x08 = |
unterstrichen |
0x10 = |
hohl |
0x20 = |
schattiert
|
|
Hinweis: Die Texteffekte können durch eine
Oder-Verknüpfung auch gemischt werden; nicht verfügbare Effekte werden
nicht gesetzt. |
Ergebnis: |
Die Funktion liefert den ausgewählten Texteffekt. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding v_gtext v_justified
|
7.4.6.62 Bindings für vst_effects
7.4.6.63 vst_error
Name: |
»Set Outline Font error mode« - Setzen der GDOS
Fehlerbehandlung. |
VDI-Nummer: |
245 |
Deklaration: |
void vst_error ( int16_t handle, int16_t mode, int16_t
*errorvar ); |
Beschreibung: |
Die Funktion bestimmt die Art der GDOS-Fehlerbehandlung. Es
gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
mode |
Art der Fehlerbehandlung
0 = |
Ausgabe in globale Variable |
1 = |
Ausgabe auf Bildschirm (default)
|
|
errorvar |
Adresse der Fehlervariablen, die mit Null initialisiert sein
sollte. Folgende Fehlercodes gelten für SpeedoGDOS 4.xx:
1 = |
Out of system memory (Misc cache) |
2 = |
Error opening font file |
3 = |
Error reading font file |
4 = |
Error while writiing out cache buffer |
5 = |
Font scaler error |
6 = |
(not implemented |
7 = |
Not enough memory for scratch buffer |
8 = |
Out of system memory (character cache) |
255 = |
Misc Speedo Error
|
Bei SpeedoGDOS 5.0 scheint sich die Bedeutung geändert zu haben:
1 = |
Nicht ausreichend Fontdaten geladen |
3 = |
Unzulässige Font-Spezifikationen angefordert |
4 = |
Fontformat-Fehler (Sehr häufig ein kundenspezifischer Font, der
nur für ein bestimmtes Programm lizensiert ist.) |
7 = |
Rules requested; not supported |
8 = |
Modus nicht verfügbar |
10 = |
Font nicht angegeben |
12 = |
Zeichen-Daten nicht verfügbar |
13 = |
Track-Kerning Daten nicht verfügbar |
14 = |
Paar-Kerning Daten nicht verfügbar
|
|
Hinweis: Die Fehlervariable errorvar sollte vor
dem Aufruf der folgenden GDOS-Funktionen abgefragt werden:v_gtext v_ftext
v_justified vst_point
vst_height vst_font
vst_arbpt vqt_advance
vst_setsize vqt_fontinfo
vqt_name vqt_width
vqt_extent vqt_f_extent
v_opnwk v_opnvwk
vst_load_fonts vst_unload_fonts
|
Ergebnis: |
Diese Funktion liefert kein Ergebnis. |
Verfügbar: |
Beim FSM-GDOS, Font-GDOS und SpeedoGDOS ab Version 4.00 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding GDOS SpeedoGDOS
|
7.4.6.64 Bindings für vst_error
7.4.6.65 vst_fg_color
Name: |
»Set Foreground Color« - Vordergrundfarbe setzen |
VDI-Nummer: |
200 (Unterfunktion 0) |
Deklaration: |
int16_t vst_fg_color ( int16_t handle, int32_t color_space,
COLOR_ENTRY *fg_color ); |
Beschreibung: |
Diese Funktionen setzen die Vordergrundfarbe für Text.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color_space |
Farbraum (z.Zt. nur 0 für eingestellten Farbraum oder
CSPACE_RGB) |
fg_color |
COLOR_ENTRY der Vordergrundfarbe
|
|
Ergebnis: |
-1 = falsche Unterfunktionsnummer
0 = Funktion nicht vorhanden
1 = alles in Ordnung |
Verfügbar: |
ab NVDI 5.00 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding
|
7.4.6.66 Bindings für vst_fg_color
7.4.6.67 vst_font
Name: |
»Set Text Face« - wählt einen Zeichensatz für die Textausgabe. |
VDI-Nummer: |
21 |
Deklaration: |
int16_t vst_font ( int16_t handle, int16_t font ); |
Beschreibung: |
Die Funktion wählt einen Zeichensatz für nachfolgende
Textausgaben aus. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
font |
Index des Zeichensatzes
|
Hinweis: Die Namen und Indizes der Zeichensätze können
über die Funktion vqt_name ermittelt werden. Ob Zeichensätze
unterstützt werden, hängt vom jeweiligen Ausgabegerät ab.
Sollte der Zeichensatz font nicht vorhanden sein, wird auf
den Systemzeichensatz umgeschaltet. |
Ergebnis: |
Die Funktion liefert die Nummer des tatsächlich gewählten
Zeichensatzes. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_load_fonts vqt_name v_gtext v_justified
|
7.4.6.68 Bindings für vst_font
7.4.6.69 vst_height
Name: |
»Set Character Height, absolute Mode« - bestimmt die
Zeichenhöhe bei Textausgaben. |
VDI-Nummer: |
12 |
Deklaration: |
void vst_height ( int16_t handle, int16_t height, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Beschreibung: |
Die Funktion legt die absolute Zeichenhöhe bei Textausgaben
fest. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
height |
Zeichenhöhe |
char_width |
gewählte Zeichenbreite |
char_height |
gewählte Zeichenhöhe |
cell_width |
Zeichenzellenbreite |
cell_height |
Zeichenzellenhöhe
|
Hinweis: Falls die gewünschte Zeichenhöhe nicht verfügbar
ist, wird automatisch die nächstkleinere gewählt. Bei
Proportionalfonts enthalten die Ausgabeparameter die Breite des
breitesten Zeichens im Zeichensatz.
Die meisten Bildschirmtreiber können bei dieser Funktion
vorhandene Zeichensätze beliebig verkleinern, oder auf das doppelte
vergrößern. Dies gilt insbesondere für den im ROM implementierten
Bildschirmtreiber.
Bei Vektorfonts stellen die ausgegebenen Breiten von
char_width und cell_width gerundete Werte dar. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding v_gtext v_justified vst_point
|
7.4.6.70 Bindings für vst_height
C: |
void vst_height ( int16_t handle, int16_t height, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Umsetzung: |
void vst_height (int16_t handle, int16_t height,
int16_t *char_width, int16_t *char_height,
int16_t *cell_width, int16_t *cell_height)
{
ptsin[0] = 0;
ptsin[1] = height;
contrl[0] = 12;
contrl[1] = 1;
contrl[3] = 0;
contrl[6] = handle;
vdi ();
*char_width = ptsout[0];
*char_height = ptsout[1];
*cell_width = ptsout[2];
*cell_height = ptsout[3];
}
|
GEM-Arrays: |
|
7.4.6.71 vst_kern
Name: |
»Set kerning mode« - Kerning Modus setzen |
VDI-Nummer: |
237 |
Deklaration: |
void vst_kern ( int16_t handle, int16_t tmode, int16_t pmode,
int16_t *tracks, int16_t *pairs ); |
Beschreibung: |
Die Funktion erlaubt das Setzen des gewünschten Kerning-Modus.
Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
tmode |
Track-Kerning
0 = |
kein Kerning |
1 = |
normales Kerning |
2 = |
enges Kerning |
3 = |
sehr enges Kerning
|
|
pmode |
Pair-Kerning
0 = |
ausschalten |
1 = |
einschalten
|
|
tracks |
gesetzter Track-Kerning Modus |
pairs |
Anzahl der Kerning-Paare im Zeichensatz
|
Hinweis: Informationen für Track-Kerning sind in den
meisten Speedo-Fonts enthalten. TrueType-Fonts bieten normalerweise
kein Track-Kerning; anders ist dies jedoch bei den neuen TrueType-GX-Fonts.
Unter NVDI kann per vst_track_offset ein selbstdefiniertes Track-Kerning
eingestellt werden. |
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: |
ab SpeedoGDOS 4.00 und ab NVDI 3.00 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vqt_pairkern vqt_trackkern vst_track_offset
|
7.4.6.72 Bindings für vst_kern
C: |
void vst_kern ( int16_t handle, int16_t tmode, int16_t pmode,
int16_t *tracks, int16_t *pairs ); |
Umsetzung: |
void vst_kern (int16_t handle, int16_t tmode, int16_t pmode,
int16_t *tracks, int16_t *pairs)
{
intin[0] = tmode;
intin[1] = pmode;
contrl[0] = 237;
contrl[1] = 0;
contrl[3] = 2;
contrl[6] = handle;
vdi ();
*tracks = intout[0];
*pairs = intout[1];
}
|
GEM-Arrays: |
|
7.4.6.73 vst_map_mode
Name: |
»Set character mapping mode« - wählt die Art der
Zeichensatzindizierung |
VDI-Nummer: |
236 |
Deklaration: |
int16_t vst_map_mode ( int16_t handle, int16_t mode ); |
Beschreibung: |
Die Funktion legt die Art der Zeichensatzindizierung fest. Es
gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
mode |
Art der Indizierung
0 = |
direktes Mapping, d.h. keine Umsetzung des Zeichen-Index |
1 = |
ASCII-Wert |
2 = |
Unicode
|
|
Hinweis: Durch Umschalten auf direktes Mapping ändert sich
die Anzahl der vorhandenen Zeichen pro Font von 256 auf die
tatsächlich verfügbare Zahl an Zeichen.
Wenn man Unicode anwählt und feststellen möchte, ob ein bestimmtes
Zeichen im eingestellten Font existiert, kann man vqt_width für dieses
Zeichen aufrufen. Sollte vqt_width als Index -1 zurückliefern, existiert
das Zeichen nicht. Alternativ zu vqt_width kann man auch vqt_char_index
aufrufen und den fraglichen Unicode in einen direkten Index wandeln
lassen. |
Ergebnis: |
Die Funktion liefert das ausgewählte Mapping. |
Verfügbar: |
NVDI 4.0 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_charmap vqt_fontinfo ASCII-Tabelle
|
7.4.6.74 Bindings für vst_map_mode
7.4.6.75 vst_name
Name: |
»Set text face by name« - Zeichensatz suchen und einstellen |
VDI-Nummer: |
230 (Opcode 0) |
Deklaration: |
int16_t vst_name ( int16_t handle, int16_t font_format, int8_t
*font_name, int8_t *ret_name ); |
Beschreibung: |
Die Funktion sucht einen Zeichensatz, und stellt ihn ein. Es
gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
font_format |
gewünschtes Zeichensatz-Format
1 = |
Bitmap-Font |
2 = |
Speedo |
4 = |
TrueType |
8 = |
Type-1
|
|
font_name |
gewünschter Zeichensatz-Name |
ret_name |
Name des eingestellten Fonts
|
Hinweis: Fehlende oder überschüssige Leerzeichen werden
bei der Suche ignoriert. Wenn in den angegebenen Formaten kein
Zeichensatz des gesuchten Namens vorhanden ist, wird der System-Font
gesetzt. |
Ergebnis: |
Die Funktion liefert die ID des eingestellten Zeichensatzes
zurück. |
Verfügbar: |
Die Funktion steht unter NVDI ab Version 3.02 zur Verfügung. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vqt_name vqt_xfntinfo
|
7.4.6.76 Bindings für vst_name
C: |
int16_t vst_name ( int16_t handle, int16_t font_format, int8_t
*font_name, int8_t *ret_name ); |
Umsetzung: |
int16_t vst_name (int16_t handle, int16_t font_format,
int8_t *font_name, int8_t *ret_name)
{
intin[0] = font_format;
intin[1..n] = font_name[0..n-1];
contrl[0] = 230;
contrl[1] = 0;
contrl[3] = n;
contrl[5] = 0;
contrl[6] = handle;
vdi ();
ret_name[0..m-1] = intout[1..m];
return ( intout[0] );
}
|
GEM-Arrays: |
|
7.4.6.77 vst_point
Name: |
»Set Character Height, Points Mode« - bestimmt die
Zeichenzellengröße bei Textausgaben. |
VDI-Nummer: |
107 |
Deklaration: |
int16_t vst_point ( int16_t handle, int16_t point, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Beschreibung: |
Die Funktion setzt die Zeichenzellengröße, d.h. den Abstand
zweier Basislinien. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
point |
Zeichenzellenhöhe |
char_width |
gewählte Zeichenbreite |
char_height |
gewählte Zeichenhöhe |
cell_width |
gewählte Zeichenzellenbreite |
cell_height |
gewählte Zeichenzellenhöhe
|
Der Abstand wird in Point gemessen. Hierunter versteht man 1/72
Zoll oder ca. 0.353mm.
Hinweis: Falls die gewünschte Zeichenhöhe nicht verfügbar
ist, wird die nächstkleinere gewählt. Bei proportionalen Zeichensätzen
werden für Breite/Höhe die maximal möglichen Werte zurückgeliefert.
Bei Vektorfonts kann man mit dieser Funktion nur die
vordefinierten Höhen anwählen (in der Regel sind das
8,9,10,11,12,14,18,24,36, und 48 pt).
Achtung: Der Bildschirmtreiber im ROM kann vorhandene
Zeichensätze auf die jeweils doppelte Größe skalieren, so daß es
nicht ohne weiteres möglich ist, zwischen skalierten und
tatsächlich vorhandenen Fonts zu unterscheiden. Man kann sich hier mit
einer Routine behelfen, die alle vorhandenen Punktgrößen
ermittelt, da vst_point bei Angabe einer falschen Größe die
nächstkleinere und vorhandene Größe wählt. Wenn man auf diese Art und
Weise feststellt, daß alle Punktgrößen vorhanden sind, liegt
offensichtlich ein Vektorfont vor. |
Ergebnis: |
Die Funktion liefert die Zeichenzellenhöhe in Point. |
Verfügbar: |
Supported by all drivers. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding v_gtext v_justified vst_height
|
7.4.6.78 Bindings für vst_point
C: |
int16_t vst_point ( int16_t handle, int16_t point, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Umsetzung: |
int16_t vst_point (int16_t handle, int16_t point,
int16_t *char_width, int16_t *char_height,
int16_t *cell_width, int16_t *cell_height)
{
intin[0] = point;
contrl[0] = 107;
contrl[1] = 0;
contrl[3] = 1;
contrl[6] = handle;
vdi ();
*char_width = ptsout[0];
*char_height = ptsout[1];
*cell_width = ptsout[2];
*cell_height = ptsout[3];
return ( intout[0] );
}
|
GEM-Arrays: |
|
7.4.6.79 vst_rotation
Name: |
»Set Character Baseline Vector« - Bestimmt die Ausrichtung der
Basislinie für Textausgaben. |
VDI-Nummer: |
13 |
Deklaration: |
int16_t vst_rotation ( int16_t handle, int16_t angle ); |
Beschreibung: |
Die Funktion legt die Ausrichtung der Basislinie für Textausgaben
fest. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
angle |
gewünschte Ausrichtung der Basislinie
|
Hinweis: Der Winkel wird in 1/10 Grad angegeben. Für
Bitmapfonts ist die Rotation nur in 90-Grad-Schritten möglich; bei
Vektorfonts stufenlos. Auf einigen Geräten ist diese Funktion
nicht verfügbar. |
Ergebnis: |
Die Funktion liefert den tatsächlich gewählten Winkel. |
Verfügbar: |
Supported by all drivers. For specific character rotation
abilities, check the values returned in vq_extnd(). |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding v_gtext v_justified
|
7.4.6.80 Bindings für vst_rotation
7.4.6.81 vst_scratch
Name: |
»Set scratch buffer allocation mode« - Scratch-Buffers |
VDI-Nummer: |
244 |
Deklaration: |
void vst_scratch ( int16_t handle, int16_t mode ); |
Beschreibung: |
Die Funktion legt die Art fest, mit der der Scratch-Buffers
angelegt werden soll. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
mode |
Art des Buffers
0 = |
Berücksichtigung von Bitmap- und Vektorfonts (default) |
1 = |
Größe richtet sich nach den Bitmap-Fonts. Auf Texteffekte für
Vektorfonts sollte verzichtet werden. |
2 = |
keinen Scratch-Buffer anlegen, und auf Texteffekte verzichten
|
|
Hinweis: Der Scratch-Buffer dient der Generierung von
Texteffekten. Da Vektor-Zeichensätze frei skalierbar sind, kann dem
Scratch-Buffer keine eindeutige Größe zugeordnet werden. |
Ergebnis: |
Diese Funktion liefert kein Ergebnis. |
Verfügbar: |
Beim FSM-GDOS und SpeedoGDOS ab Version 4.00. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding GDOS SpeedoGDOS vst_effects
|
7.4.6.82 Bindings für vst_scratch
7.4.6.83 vst_setsize
Name: |
»Set character cell width by arbitrary points« - Setzen der
Zeichenzellenbreite in Punkten. |
VDI-Nummer: |
252 |
Deklaration: |
int16_t vst_setsize ( int16_t handle, int16_t point, int16_t
*chwd, int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Beschreibung: |
Die Funktion setzt die Zeichenbreite in Pixel. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
point |
gewünschte Zeichenbreite |
chwd |
resultierende Zeichenbreite |
chht |
resultierende Zeichenhöhe |
cellwd |
resultierende Zeichenzellenbreite |
cellht |
resultierende Zeichenzellenhöhe
|
Hinweis: Durch einen Aufruf von vst_point, vst_arbpt oder
vst_height wird die durch den Funktionsaufruf gesetzte Breite wieder
aufgehoben, und die vom jeweiligen Zeichen verlangte Breite
eingestellt. Bei negativen Breiten werden die Zeichen an der y-Achse
gespiegelt. |
Ergebnis: |
Die Funktion liefert die gesetzte Zeichenzellenbreite in
Punkten zurück. |
Verfügbar: |
Beim FSM-GDOS und SpeedoGDOS ab Version 4.00. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_setsize32 vst_point vst_height vst_arbpt
|
7.4.6.84 Bindings für vst_setsize
C: |
int16_t vst_setsize ( int16_t handle, int16_t point, int16_t
*chwd, int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Umsetzung: |
int16_t vst_setsize (int16_t handle, int16_t point,
int16_t *chwd, int16_t *chht,
int16_t *cellwd, int16_t *cellht)
{
intin[0] = point;
contrl[0] = 252;
contrl[1] = 0;
contrl[3] = 1;
contrl[6] = handle;
vdi ();
*chwd = ptsout[0];
*chht = ptsout[1];
*cellwd = ptsout[2];
*cellht = ptsout[3];
return ( intout[0] );
}
|
GEM-Arrays: |
|
7.4.6.85 vst_setsize32
Name: |
»Set character cell width in arbitrary points« - Setzen der
Zeichenzellenbreite in Punkten. |
VDI-Nummer: |
252 |
Deklaration: |
fix31 vst_setsize32 ( int16_t handle, fix31 point, int16_t
*chwd, int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Beschreibung: |
Die Funktion setzt die Zeichenbreite in 1/65536 Punkten. Es
gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
point |
gewünschte Zeichenbreite |
chwd |
resultierende Zeichenbreite |
chht |
resultierende Zeichenhöhe |
cellwd |
resultierende Zeichenzellenbreite |
cellht |
resultierende Zeichenzellenhöhe
|
Hinweis: Durch einen Aufruf von vst_point, vst_arbpt oder
vst_height wird die durch den Funktionsaufruf gesetzte Breite wieder
aufgehoben, und die vom jeweiligen Zeichen verlangte Breite
eingestellt. Bei negativen Breiten werden die Zeichen an der y-Achse
gespiegelt. |
Ergebnis: |
Die Funktion liefert die gesetzte Zeichenzellenbreite in
1/65536 Punkten zurück. |
Verfügbar: |
ab SpeedoGDOS 4.00 und ab NVDI 3.00. In der Doku zu NVDI 3.00
wird die Funktion fälschlicherweise vst_setsize genannt. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_point vst_height vst_arbpt
|
7.4.6.86 Bindings für vst_setsize32
C: |
fix31 vst_setsize32 ( int16_t handle, fix31 point, int16_t
*chwd, int16_t *chht, int16_t *cellwd, int16_t *cellht ); |
Umsetzung: |
fix31 vst_setsize32 (int16_t handle, fix31 point,
int16_t *chwd, int16_t *chht,
int16_t *cellwd, int16_t *cellht)
{
intin[0..1] = point;
contrl[0] = 252;
contrl[1] = 0;
contrl[3] = 2;
contrl[6] = handle;
vdi ();
*chwd = ptsout[0];
*chht = ptsout[1];
*cellwd = ptsout[2];
*cellht = ptsout[3];
return ( intout[0..1] );
}
|
GEM-Arrays: |
|
7.4.6.87 vst_skew
Name: |
»Set outline font skew« - Setzen des Neigungsgrades für kursive
Schrift. |
VDI-Nummer: |
253 |
Deklaration: |
int16_t vst_skew ( int16_t handle, int16_t skew ); |
Beschreibung: |
Die Funktion setzt den Neigungsgrad für Kursivschrift. Es gilt:
Parameter |
Bedeutung |
handle |
Kennung der Workstation |
skew |
gewünschter Winkel
|
Hinweis: Der Winkel wird in zehntel Grad angegeben und
darf zwischen -90° und +90° variieren. Wie überall im VDI sind auch
hier die Winkel entgegen dem Uhrzeigersinn gerichtet. Positive Winkel
führen zu einer Neigung nach links, wogegen negative Winkel Zeichen
nach rechts neigen.
Diese Funktion kann eigentlich nur als nette Spielerei angesehen
werden, da die erzeugten Zeichen grundsätzlich schlechter aussehen,
als ein richtiger Italic Zeichensatz. |
Ergebnis: |
Die Funktion liefert den gesetzten Neigungsgrad zurück. |
Verfügbar: |
Beim FSM-GDOS, SpeedoGDOS ab Version 4.00 und ab NVDI 3.00. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_effects SpeedoGDOS NVDI
|
7.4.6.88 Bindings für vst_skew
7.4.6.89 vst_track_offset
Name: |
»Set track-kerning offset« - Offset für Trackkerning setzen |
VDI-Nummer: |
237 (Opcode 255) |
Deklaration: |
void vst_track_offset ( int16_t handle, fix31 offset, int16_t
pairmode, int16_t *tracks, int16_t *pairs ); |
Beschreibung: |
Die Funktion ermöglicht es, ein selbstdefiniertes Track-Kerning
einzustellen. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
offset |
gewünschter Abstand |
pairmode |
Pair-Kerning
0 = |
ausschalten |
1 = |
einschalten
|
|
tracks |
gesetzter Track-Kerning Modus |
pairs |
Anzahl der Kerning-Paare im Zeichensatz
|
|
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
Die Funktion steht unter NVDI ab Version 3.00 zur Verfügung. |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vqt_pairkern vqt_trackkern vst_kern
|
7.4.6.90 Bindings für vst_track_offset
7.4.6.91 vst_width
Name: |
»Set character width (absolute mode)« - Zeichenbreite in Pixeln
setzen |
VDI-Nummer: |
231 |
Deklaration: |
void vst_width ( int16_t handle, int16_t width, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Beschreibung: |
Die Funktion setzt die Zeichenbreite in Pixeln. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
width |
gewünschte Zeichenbreite |
char_width |
ausgewählte Zeichenbreite |
char_height |
ausgewählte Zeichenhöhe |
cell_width |
ausgewählte Zeichenzellenbreite |
cell_height |
ausgewählte Zeichenzellenhöhe
|
Hinweis: Durch den nächsten Aufruf von vst_height,
vst_point oder vst_arbpt32 wird die gesetzte Breite wieder
zurückgesetzt. Zum Einstellen des Breiten-Höhen Verhältnisses ist
vst_setsize32 besser geeignet, da diese Funktion eine feinere
Einstellung ermöglicht. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
ab SpeedoGDOS 4.20 und ab NVDI 3.00 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding vst_arbpt vst_height vst_point vst_setsize
|
7.4.6.92 Bindings für vst_width
C: |
void vst_width ( int16_t handle, int16_t width, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Umsetzung: |
void vst_width (int16_t handle, int16_t width,
int16_t *char_width, int16_t *char_height,
int16_t *cell_width, int16_t *cell_height)
{
ptsin[0] = width;
contrl[0] = 231;
contrl[1] = 1;
contrl[3] = 0;
contrl[6] = handle;
vdi ();
*char_width = ptsout[0];
*char_height = ptsout[1];
*cell_width = ptsout[2];
*cell_height = ptsout[3];
}
|
GEM-Arrays: |
|
7.4.6.93 v_topbot
Name: |
»Set Character Height, absolute Mode« - bestimmt die
Zeichenhöhe bei Textausgaben. |
VDI-Nummer: |
5 (Escape 18501) |
Deklaration: |
void v_topbot ( int16_t handle, int16_t height, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Beschreibung: |
This call is an alternative to vst_height. It uses top to
bottom distance for text scaling, instead of top to baseline distance.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
height |
Zeichenhöhe |
char_width |
gewählte Zeichenbreite |
char_height |
gewählte Zeichenhöhe |
cell_width |
Zeichenzellenbreite |
cell_height |
Zeichenzellenhöhe
|
Hinweis: Falls die gewünschte Zeichenhöhe nicht verfügbar
ist, wird automatisch die nächstkleinere gewählt. Bei
Proportionalfonts enthalten die Ausgabeparameter die Breite des
breitesten Zeichens im Zeichensatz.
Die meisten Bildschirmtreiber können bei dieser Funktion
vorhandene Zeichensätze beliebig verkleinern, oder auf das doppelte
vergrößern. Dies gilt insbesondere für den im ROM implementierten
Bildschirmtreiber.
Bei Vektorfonts stellen die ausgegebenen Breiten von
char_width und cell_width gerundete Werte dar. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
GEM/3 Release 3.1 |
Gruppe: |
Text-Attribute |
Querverweis: |
Binding v_gtext v_justified vst_point vst_height
|
7.4.6.94 Bindings für v_topbot
C: |
void v_topbot ( int16_t handle, int16_t height, int16_t
*char_width, int16_t *char_height, int16_t *cell_width, int16_t
*cell_height ); |
Umsetzung: |
void v_topbot (int16_t handle, int16_t height,
int16_t *char_width, int16_t *char_height,
int16_t *cell_width, int16_t *cell_height)
{
ptsin[0] = 0;
ptsin[1] = height;
contrl[0] = 5;
contrl[1] = 1;
contrl[3] = 0;
contrl[5] = 18501;
contrl[6] = handle;
vdi ();
*char_width = ptsout[0];
*char_height = ptsout[1];
*cell_width = ptsout[2];
*cell_height = ptsout[3];
}
|
GEM-Arrays: |
|
7.4.6.95 vswr_mode
7.4.6.96 Bindings für vswr_mode
7.4.6.97 vs_bkcolor
Name: |
»« - Setzen der Hintergrundfarbe. |
VDI-Nummer: |
5 (Escape 102) |
Deklaration: |
void vs_bkcolor ( int16_t handle, int16_t color ); |
Beschreibung: |
This call sets the background color for the device associated
with handle, usually a camera device.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
color |
Background color index
|
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: |
GEM/3 Release 3.1 |
Gruppe: |
übergeordnete Attribute |
Querverweis: |
Binding
|
7.4.6.98 Bindings für vs_bkcolor
7.4.6.99 vs_color
Name: |
»Set Color Representation« - legt die Farbintensität fest. |
VDI-Nummer: |
14 |
Deklaration: |
void vs_color ( int16_t handle, int16_t index, int16_t *rgb_in
); |
Beschreibung: |
Die Funktion wählt die Farbintensität zu den einzelnen
Farbregistern. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
index |
Farbnummer |
rgb_in[0] |
Rotanteil in Promille |
rgb_in[1] |
Grünanteil in Promille |
rgb_in[2] |
Blauanteil in Promille
|
Da nicht jedes Ausgabegerät über 1000 mögliche Farbabstufungen
verfügen muß, können für verschiedene Eingabeintensitäten der
RGB-Farben, die tatsächlich eingestellten Intensitäten gleich sein.
Hinweis: Die Funktion kann nur benutzt werden, falls eine
Lookup-Table Unterstützung vorhanden ist. Sollte eine ungültige
Farbnummer übergeben werden, wird der nächste erreichbare Wert
angenommen.
Bei Geräten mit einer CLUT (Grafiksysteme bis 8 Planes d.h. 256
Farben) wirken sich die Einstellungen sofort auf alle Punkte aus, die
bisher auf dem Bildschirm mit dem Farbindex index gezeichnet
wurden.
Wichtig: Aus diesem Grund sollten die ersten 16
Farbnummern nicht verändert werden, da diese vom AES benutzt werden.
Bei mehr als 256 gleichzeitig darstellbaren Farben benutzen
Grafiksysteme in der Regel keine CLUT sondern eine direkte
RGB-Zuordnung pro Pixel. Die einzelnen Pixel enthalten dann statt
eines Farbindex einen direkten RGB-Wert (z.B. je 8 Bit für R,G und B
und 8 Bit Overlay). Bei einer solchen Organisation stellt das VDI pro
Workstation 256 lokale Farbstifte und eine Pseudopalette zur
Verfügung, für die man mit vs_color() die Farbwerte setzen kann. Eine
Änderung wirkt sich also erst dann aus, wenn man wieder mit dem
Farbstift zeichnet und wirkt sich immer nur auf die mit handle
bezeichnete Workstation aus. |
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
Supported by all devices. |
Gruppe: |
übergeordnete Attribute |
Querverweis: |
Binding v_pline v_pmarker v_gtext v_fillarea
v_cellarray v_contourfill vr_recfl v_bar v_arc v_pieslice
v_circle v_ellarc v_ellpie v_ellipse v_rbox v_rfbox
v_justified vq_color vq_scrninfo
|
7.4.6.100 Bindings für vs_color
C: |
void vs_color ( int16_t handle, int16_t index, int16_t *rgb_in
); |
Umsetzung: |
void vs_color (int16_t handle, int16_t index, int16_t *rgb_in)
{
int16_t i;
intin[0] = index;
for (i=1; i<4; i++)
intin[i] = *rgb_in++;
contrl[0] = 14;
contrl[1] = 0;
contrl[3] = 4;
contrl[6] = handle;
vdi ();
}
|
GEM-Arrays: |
|
7.4.6.101 vs_color2
Name: |
»Set Color Representation-2« - Farbintensität und Farbe für
Attribute festlegen. |
VDI-Nummer: |
138 (Opcode 0,1,2) |
Deklaration: |
void vs_color2 ( int16_t handle, int16_t *rgb, int16_t index ); |
Beschreibung: |
Die Funktion legt die Farbintensität und Farbe für bestimmte
Attributfunktionen fest. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
rgb[0] |
Rotanteil in Promille |
rgb[1] |
Grünanteil in Promille |
rgb[2] |
Blauanteil in Promille |
index |
Farbnummer
|
Hinweis: Die Funktion steht direkt nur unter
PC-GEM zur Verfügung. Sie kann jedoch auf dem Atari nachgebildet
werden, was von einigen Applikationen (z.B. Kandinsky und GEM) auch
tatsächlich gemacht wird.
Sie arbeitet ähnlich wie vs_color, mit dem Unterschied, daß bei
einem Opcode von
0 |
die Textfarbe, |
1 |
die Füllfarbe, |
2 |
die Linienfarbe
|
geändert wird, und somit die entsprechenden Aufrufe von vsl_color
etc. nicht mehr notwendig sind. Ob der Name der Funktion (vs_color2)
wirklich stimmt, kann mangels Dokumentation leider nicht mit
Sicherheit gesagt werden. |
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: |
Obige Aussage kann nicht bestätigt werden. Es ist zu vermuten
das hier eigentlich die Funktion v_setrgb gemeint. Allerdings ist die
Übergabe der Parameter etwas anderst. |
Gruppe: |
übergeordnete Attribute |
Querverweis: |
Binding v_setrgb vs_color vswr_mode
|
7.4.6.102 Bindings für vs_color2
7.4.6.103 vs_grayoverride
Name: |
»Override gray level« |
VDI-Nummer: |
133 |
Deklaration: |
void vs_grayoverride ( int16_t handle, int16_t grayval ); |
Beschreibung: |
This call overrides the grey level specified with the vsf_style
call patterns 2,1 through 2,8. The application should specify the
closest index in the normal fill pattern set and follow it with a
vs_grayoverride call to "fine-tune" that gray level one devices that
support such fine tuning. This call is currently implemented in the
PostScript driver.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
grayval |
Gray value in tenths of a percent
0 white
1000 black
|
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: |
GEM/3 Release 3.1 |
Gruppe: |
übergeordnete Attribute |
Querverweis: |
Binding
|
7.4.6.104 Bindings für vs_grayoverride
7.4.6.105 v_ps_halftone
Name: |
»PostScript halftoning« - Set PostScript halftoning. |
VDI-Nummer: |
5 (Escape 32) |
Deklaration: |
void v_ps_halftone( int16_t handle, int16_t index, int16_t
angle, int16_t frequency ); |
Beschreibung: |
The call v_ps_halftone controls the parameters for PostScript
halftoning. It provides direct access to analogous PostScript language
parameters. It is implemented only for the PostScript driver.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
index |
Halftone type
0: Dot screen
1: Line screen
2: Ellipse screen
3: Custom (user-defined) |
angle |
Hallftone screen angle |
frequency |
Hallftone screen frequency
|
|
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
GEM/3 Release 3.1 |
Gruppe: |
übergeordnete Attribute |
Querverweis: |
Binding
|
7.4.6.106 Bindings für v_ps_halftone
7.4.6.107 v_setrgb
Name: |
»Set Color Representation« - legt die Farbintensität fest. |
VDI-Nummer: |
138 |
Deklaration: |
void v_setrgb( int16_t handle, int16_t type, int16_t r, int16_t
g, int16_t b ); |
Beschreibung: |
Die Funktion wählt die Farbintensität zu den einzelnen
Farbregistern. Es gilt:
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
type |
0: Textfarbe
1: Füllfarbe
2: Linienfarbe
3: Markerfarbe |
r |
Rotanteil in Promille |
g |
Grünanteil in Promille |
b |
Blauanteil in Promille
|
|
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
ab NVDI 5.00
Es handelt sich dabei angeblich um eine alte GEM/3-Funktion.
Allerdings konnte solch eine Funktion bis jetzt nicht gefunden werden. |
Gruppe: |
übergeordnete Attribute |
Querverweis: |
Binding
|
7.4.6.108 Bindings für v_setrgb
7.4.6.109 v_setrgbi
Name: |
»Set Color Representation« - legt die Farbintensität fest. |
VDI-Nummer: |
5 (Escape 18500) |
Deklaration: |
void v_setrgbi( int16_t handle, int16_t primtype, int16_t r,
int16_t g, int16_t b, int16_t i ); |
Beschreibung: |
This call overrides a previously set color specification with
an RGB triple (color devices) or intensity (monochrome devices). This
call is currently implemented only for the PostScript driver.
Parameter |
Bedeutung |
|
|
handle |
Kennung der Workstation |
primtype |
Primitive type:
17: line
20: marker
22: text
25: fill |
r |
Rotanteil in Promille |
g |
Grünanteil in Promille |
b |
Blauanteil in Promille |
i |
Intensity
|
|
Ergebnis: |
Die Funktion liefert kein Ergebnis. |
Verfügbar: |
GEM/3 Release 3.1 |
Gruppe: |
übergeordnete Attribute |
Querverweis: |
Binding v_setrgb
|
7.4.6.110 Bindings für v_setrgbi
C: |
void v_setrgbi( int16_t handle, int16_t primtype, int16_t r,
int16_t g, int16_t b, int16_t i ); |
Umsetzung: |
void v_setrgbi( int16_t handle, int16_t primtype,
int16_t r, int16_t g, int16_t b, int16_t i )
{
intin[0] = primtype;
intin[1] = r;
intin[2] = g;
intin[3] = b;
intin[4] = i;
contrl[0] = 5;
contrl[1] = 0;
contrl[3] = 5;
contrl[5] = 18500;
contrl[6] = handle;
vdi ();
}
|
GEM-Arrays: |
|