Topic : TOS - das Betriebssystem
Author :
Version : tos.hyp (5. März 2013)
Subject : Programmieren/Atari
Nodes : 3001
Index Size : 93602
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Titel
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File15.13.3.1.3 Die Kontrollflags TOSÜber die Kontrollflags kann das Verhalten des Fontselektors beeinflußt
werden.
Name Wert Bedeutung
CC_WINDOW 0x0001 Fontselektor als Fenster
CC_APPMODAL 0x0002 Fontselektor ist applikationsmodal
CC_FIX31 0x0004 alle Größenangaben in 1/65536 Punkt
CC_FAKESTYLE 0x0008 Schnitte simulieren (nur Bitmapfonts)
CC_CLOSER 0x0010 Fenster mit Closer, kein OK-Button
CC_NOSIZE 0x0100 Größe nicht ändern
CC_NOCOLOR 0x0200 Farbe nicht ändern
CC_NOATTR 0x0400 Attribute nicht ändern
CC_NOWIDTH 0x0800 Breite nicht ändern
CC_NOKERN 0x1000 Kerning nicht ändern
CC_NOSKEW 0x2000 Skewing nicht ändern
CC_NOALIGN 0x4000 Ausrichtung nicht ändern
CC_NOROTATION 0x8000 Textrotation nicht ändern
CC_DFLTSIZE 0x10000 Schriftgröße "Default"
CC_INVSTYLE 0x20000 Attribut "Invers"
Die Funktion der einzelnen Flags sollte sich schon aus den Namen und
den Kurzbeschreibungen ergeben. Hier noch einige Anmerkungen:
∙ CC_APPMODAL
"Applikationsmodal" heißt, daß das Programm in einen Modus ver-
setzt wird, in dem nur noch der Fontselektor bearbeitet werden
kann. Im wesentlichen bedeutet das, daß der Fontselektor alle
WM_TOPPED-Nachrichten für andere Fenster des aufrufenden
Programms abfängt und nicht weiterleitet, sondern sich statt-
dessen selbst zum obersten Fenster macht. Damit soll dem Anwender
signalisiert werden, daß er zuerst den Fontselektor bearbeiten
soll, bevor er eine andere Aktion im Programm auslösen kann.
Der Aufrufer sollte in diesem Modus natürlich darauf verzichten,
eigene Fenster selbst mit wind_set(WF_TOP) zum obersten Fenster
zu machen.
∙ CC_FAKESTYLE
Dies ist eine Spezialität, die z.Z. nur Calvino anbietet: Bei
denjenigen Bitmapfonts, bei denen keine leichten, kursiven bzw.
fetten Schnitte vorliegen, werden die jeweils fehlenden Schnitte
mit der VDI-Funktion vst_effects() simuliert.
∙ CC_CLOSER
Wenn dieses Flag und CC_WINDOW gesetzt sind, wird der
Fontselektor mit einem Closer versehen, während der OK- und der
Abbruch-Button versteckt werden. Gedacht ist dies für die Fälle,
in denen der Fontselektor als reiner Drag&Drop-Selektor
eingesetzt werden soll.
∙ CC_NO...
Über diese Flags kann bestimmt werden, welche Einstellungen nicht
verändert werden sollen. Beispielsweise könnte ein Programm
verhindern wollen, daß die Größe eines Zeichensatzes geändert
wird, während eine Änderung des Fonts selbst ermöglicht werden
soll. Dann muß der Aufrufer nur das Flag CC_NOSIZE setzen.
Beachten Sie aber, daß Sie trotz gesetztem CC_NO...-Flag immer
einen gültigen Wert übergeben müssen. Die Bedeutung dieser Flags
ist also, daß die vorgegebenen Werte nicht verändert werden
können und nicht, daß die Werte nicht von Interesse sind.
Bitte beachten: Nicht alle Fontselektoren unterstützen auch alle
Kontrollflags! Wenn ein Fontselektor ein Flag nicht unterstützt, so
wird er es einfach ignorieren. Bei einem erfolgreichen(!) xfsl_init-
Aufruf wird der Fontselektor diejenigen Flags im Element `control' der
xFSL_PAR-Struktur löschen, die er nicht versteht.