                                  - TOC-   1 -





 GvFonts ..............................................................      1
 TFontDialog-Objekt (Unit GVFonts) ....................................      1
 TFontDialog.GetFont (Methode) ........................................      2
 TFontDialog.HandleEvent (Methode) ....................................      2
 TFontDialog.HideScales ...............................................      2
 TFontDialog.Init (Konstruktor) .......................................      2
 TFont.Face-Feld ......................................................      3
 TFont.Scaling-Feld ...................................................      3
 TFont-Objekt  (Unit GvFonts) .........................................      3
 TTTOptions-Typ  (Unit GvFonts) .......................................      3
 TFont.Attr-Feld ......................................................      4
 TFont.Handle-Feld ....................................................      4
 TFont.Init-Konstruktor ...............................................      4
 TFont.InitByFace-Konstruktor .........................................      4
 TFont.InitByFont-Konstruktor .........................................      4
 TFont.TTOptions-Feld .................................................      4
 TFont.Done-Destruktor ................................................      5
 TFont.GetFontHandle-Methode ..........................................      5
 TFont.Load-Konstruktor ...............................................      5
 TFont.Store-Methode ..................................................      5
 TFontFace-Objekt  (Unit GvFonts) .....................................      5
 TFontFace.BestScale-Methode ..........................................      6
 TFontFace.Done-Destruktor ............................................      6
 TFontFace.FileName-Feld ..............................................      6
 TFontFace.FontType-Feld ..............................................      6
 TFontFace.Init-Konstruktor ...........................................      6
 TFontFace.Name-Feld ..................................................      6
 TFontFace.Scales-Feld ................................................      6
 TFontFaceList.Init-Konstruktor .......................................      7
 TFontFace.LastBestScale ..............................................      7
 TFontFaceList.StdScales-Feld .........................................      7
 TFontFaceList-Objekt  (Unit GvFonts) .................................      7
 TFontFaceList.Compare-Methode ........................................      8
 TFontFaceList-Destruktor .............................................      8
 TFontFaceList.InsertBGIFonts-Methode .................................      8
 TFontFaceList.InsertBiosFonts-Methode ................................      8
 TFontFaceList.InsertCpiFonts-Methode .................................      8
 TFontFaceList.InsertStdScales-Methode ................................      8
 TFontFaceList.InsertWinFonts-Methode .................................      8
 TFontFaceList.LookUpFace-Methode .....................................      8
 TCharList.CharsPerLine-Feld ..........................................      9
 TCharList.Font-Feld ..................................................      9
 TFontFaceList.GetFace-Methode ........................................      9
 TFontFaceList.PutFace-Methode ........................................      9
 TCharList-Objekt  (Unit GvFonts) .....................................      9
 TCharList.CalcParams-Methode .........................................     10
 TCharList.ChangeBounds-Methode .......................................     10
 TCharList.CharDistance-Feld ..........................................     10
 TCharList.Done-Destruktor ............................................     10
 TCharList.FirstChar-Feld .............................................     10
 TCharList.Init-Konstruktor ...........................................     10
 TCharList.LastChar-Feld ..............................................     10
 TCharMapWindow.CharList-Feld .........................................     11
 TCharList.DrawItemText-Methode .......................................     11



                                  - TOC-   1 -
                                  - TOC-   2 -





 TCharList.GetItemRect-Methode ........................................     11
 TCharMapWindow.HandleEvent-Methode ...................................     11
 TCharMapWindow.Init-Konstruktor ......................................     11
 TCharList.SetFont-Methode ............................................     11
 TCharMapWindow .......................................................     11
 TPaddedStringCollection.Compare-Methode ..............................     12
 TFontFaceListBox.FocusItem-Methode ...................................     12
 TFontFaceListBox.GetKey-Methode ......................................     12
 TFontFaceListBox.GetText-Methode .....................................     12
 TAttrCluster-Objekt  (Unit GvFonts) ..................................     12
 TFontFaceListBox-Objekt  (Unit GvFonts) ..............................     12
 TPaddedStringCollection-Objekt  (Unit GvFonts) .......................     12
 TScrollValidator.Init-Konstruktor ....................................     13
 TScrollValidator.IsValid-Methode .....................................     13
 TAttrCluster.Press-Methode ...........................................     13
 TScrollInputLine.Scrollbar-Feld ......................................     13
 Scrollbar,TScrollValidator ...........................................     13
 TScrollInputLine-Objekt  (Unit GvFonts) ..............................     13
 TScrollValidator-Objekt  (Unit GvFonts) ..............................     13
 TScrollInputLine.HandleEvent-Methode .................................     14
 TScrollInputLine.Init-Konstruktor ....................................     14
 TScrollInputLine.MappedMax-Feld ......................................     14
 TScrollInputLine.MappedMin-Feld ......................................     14
 TFontDialogData ......................................................     14
 Kommandos von GvFonts ................................................     14
 FontFaceList-Variable  (Unit GvFonts) ................................     15
 GetFontFaceList-Funktion  (Unit GvFonts) .............................     15
 PixelToScaling-Funktion  (Unit GvFonts) ..............................     15





























                                  - TOC-   2 -
                                    -    1 -






GvFonts
 
Die Unit GvFonts erlaubt Ihnen die Verwendung von Schriftarten
in Ihren Graphics-Vision- Programmen auf einem hohen Abstraktionsniveau.

Graphics Vision durchsucht Ihr System nach verfgbaren nutzbaren
Schriftarten und verwaltet eine Datenbank dieser Schriftschnitte.
Verwendet werden BIOS-Schriftarten, skalierbare Hershey-Schriftarten
(*.CHR), Windows-Schriftarten (*.FON) und TrueType-Schriftarten (*.TTF).

Ihre Views knnen logische Schriftarten erstellen. Der in
Graphics Vision eingebaute Font-Mapper entscheidet anhand der gewnschten
Parameter (insbesondere Skalierung und Schrift-Name), welche physische
verfgbare Schriftart am besten pat, ldt diese Schriftart und
stellt Ihnen ein physisches Schrifthandle zur Verfgung, welches Sie
in Ihren Views zur Text-Ausgabe mittels der MyFonts-Unit verwenden knnen.

Ferner bietet Ihnen die Unit GvFonts einen Standard- Schriftartdialog
sowie ein Zeichentabellen-Objekt an.

 Typen:

 TFontDialogData
 TTTOptions

 Objekte:

 TFont
 TFontFace
 TFontFaceList
 TPaddedStringCollection
 TScrollValidator

 Views:

 TAttrCluster
 TCharList
 TCharMapWindow
 TFontDialog
 TFontFaceListBox
 TScrollInputLine

 Variablen:

 FontFaceList

 Funktionen:

 GetFontFaceList
 PixelToScaling

 Konstanten:

 cmXXXXXXX

TFontDialog-Objekt (Unit GVFonts)
 
TFontDialog ist ein spezialisiertes Dialogfenster, welches Ihnen
die Auswahl einer logischen Schriftart (reprsentiert durch



                  gvfonts, Page #   1   Date 22-7-1996 Monday
                                    -    2 -





ein TFont-Objekt) erlaubt.

 Methoden:

 Init
 GetFont
 HandleEvent
 HideScales

 Felder:


 Feld           Typ                   Bedeutung
     
 FontList       PFontFaceListBox      Face-Listbox
 ScaleList      PStringLookUpListBox  Skalierungs-Listbox
 ScaleInput     PInputLine            Skalierungs-Eingabezeile
 ScaleLabel     PLabel                Skalierungs-Label
 AttrCluster    PGView                Attribut-Schaltfeld
 OptionsButton  PGView                Optionen-Schalter
 TTOptions      TTTOptions            TrueType-Optionen-Verbund


TFontDialog.Init (Konstruktor)
 
 Deklaration:
constructor Init(ATitle: string; LastFont: PFont);

Initialisiert ein neues TFontDialog-Objekt. Es wird der
Dialogtitel ATitle vorgegeben. Hier sollten Sie
aussagekrftige Bezeichnungen verwenden, z.B. "Schriftart
der Digitaluhr".

Mit dem Parameter LastFont knnen Sie eine
logische Schriftart vorgeben, z.B. die letzte Auswahl.
Ist dieser Parameter nil, so werden Standardeinstellungen
verwendet.

TFontDialog.GetFont (Methode)
 
 Deklaration:
function GetFont: PFont;

Diese Funktion ermittelt die vom Nutzer im Dialog
ausgewhlte logische Schriftart.

TFontDialog.HandleEvent (Methode)
 
 Deklaration:
procedure HandleEvent(var Event: TEvent); virtual;

Die HandleEvent-Methode behandelt zustzlich die internen
Kommandos cmSetScales, cmSetOptions und cmFontOptions.

 Siehe auch:

 cmXXXXXXX

TFontDialog.HideScales
 
procedure HideScales;  (siehe Pascal-Dokumentation)
Diese Methode versteckt in einem initialisierten TFontDialog-Objekt
alle Views, die die Kontrolle der Skalierung erlauben.



                  gvfonts, Page #   2   Date 22-7-1996 Monday
                                    -    3 -





Verwenden Sie HideScales, wenn lediglich Face und Attribute
ausgewhlt werden sollen.

TTTOptions-Typ  (Unit GvFonts)
 
 Deklaration:

type
  PTTOptions = ^TTTOptions;
  TTTOptions = record
    ItalicizationAngle: LongInt;
    RotationAngle: LongInt
  end;

Dieser Verbund kontrolliert zustzliche Einstellungen fr
TrueType-Schriftarten. Mittels des Winkels ItalicizationAngle
knnen Sie gerade Schriftarten kursiv setzen lassen. Der Winkel
RotationAngle bewirkt eine Rotation der einzelnen Zeichen.

Alle Angaben sind in Altgrad vorzunehmen.

TFont-Objekt  (Unit GvFonts)
 
Dieses Objekt reprsentiert einen logischen Font. Es verfgt ber
mehrere komfortable Init-Konstruktoren und lt sich in einem
Stream speichern. Mit der Methode GetFontHandle knnen Sie eine
physische Schriftart erstellen lassen, in der Sie Schrift auszugeben
lassen knnen.

 Felder:

 Face
 Scaling
 Attr
 TTOptions
 Handle

 Methoden:

 Init
 InitByFace
 InitByFont
 Load
 Done
 GetFontHandle
 Store

TFont.Face-Feld
 
 Deklaration:
Face: PFontFace;

Dieses Feld speichert einen Zeiger auf eine TFontFace-
Datenstruktur, die einen Schriftschnitt (z.B. "Arial Fett") reprsentiert.

TFont.Scaling-Feld
 
 Deklaration:
Scaling: LongInt;

Dieses Feld speichert die Skalierung der Schriftart in typographischen



                  gvfonts, Page #   3   Date 22-7-1996 Monday
                                    -    4 -





Punkten (pt).

TFont.Attr-Feld
 
 Deklaration:
Attr: Word;

Dieses Feld speichert zu synthetisierende Schriftattribute (z.B. "fett").

TFont.TTOptions-Feld
 
 Deklaration:
TTOptions: TTTOptions;

Dieses Feld speichert zustzliche Optionen von TrueType-Schriftarten.
Zur Beschreibung siehe TTTOptions.

TFont.Handle-Feld
 
 Deklaration:
Handle: Integer;

Dieses Feld speichert ein physisches Schrift-Handle. Solange keine
physische Schrift erstellt worden ist, ist hier -1 gespeichert.
Nach einem Aufruf von GetFontHandle ist hier
ein Handle gespeichert. Sie sollten stets diese Methode, nie
direkte Zugriffe auf dieses Feld verwenden.

TFont.Init-Konstruktor
 
 Deklaration:

 constructor Init(FaceName: string; AScaling: LongInt;
   AnAttr: Word; Options: PTTOptions);

Dieser Konstruktor erstellt einen logischen Font nach Ihren Angaben
zum Namen FaceName des Schriftschnitts, der Skalierung AScaling,
den zu synthetisierenden Attributen AnAttr und den TrueType-Optionen
Options.

Zunchst wird die Schrift-Datenbank nach einem Schriftschnitt durchsucht,
die die Anforderungen an die Skalierung erfllt. Danach wird anhand
des Namens ein Schriftschnitt ausgewhlt.

Setzen Sie Options auf NIL fr Nicht-TrueType-Schriftarten.

TFont.InitByFace-Konstruktor
 
 Deklaration:

 constructor InitByFace(AFace: PFontFace; AScaling: LongInt;
   AnAttr: Word; Options: PTTOptions);

Dieser Konstruktor erstellt einen logischen Font. AFace ist ein
Zeiger auf eine Schriftschnitt-Datenstruktur (TFontFace).
AScaling gibt die Skalierung an. AnAttr beschreibt die
zu synthetisierenden Schriftattribute. Setzen Sie die
TrueType-Optionen Options auf NIL fr Nicht-TrueType-Schriftarten.

TFont.InitByFont-Konstruktor
 
 Deklaration:




                  gvfonts, Page #   4   Date 22-7-1996 Monday
                                    -    5 -





 constructor InitByFont(AFont: PFont; AScaling: LongInt;
   AnAttr: Word; Options: PTTOptions);

Dieser Konstruktor erstellt einen logischen Font im gleichen Schriftschnitt
wie der angegebene logische Font AFont.
AScaling gibt die Skalierung an. AnAttr beschreibt die
zu synthetisierenden Schriftattribute. Setzen Sie die
TrueType-Optionen Options auf NIL fr Nicht-TrueType-Schriftarten.

TFont.Load-Konstruktor
 
 Deklaration:
constructor Load(var S: TStream);

Dieser Konstruktor ldt ein TFont-Objekt aus dem angegebenen Stream.
Die gespeicherten Informationen werden mit der Schrift-Datenbank
abgeglichen, um eine mglichst originalgetreuen Schriftart zu erstellen.

TFont.Done-Destruktor
 
 Deklaration:
destructor Done; virtual;

Dieser Destruktor zerstrt das TFont-Objekt. Wenn ein physisches
Font-Handle erstellt worden war, wird auch dieses zerstrt.

TFont.GetFontHandle-Methode
 
 Deklaration:
function GetFontHandle: Integer;

Diese Funktion erstellt ein physisches Font-Handle aus den gespeicherten
logischen Schrift-Informationen. Sie knnen dieses Font-Handle mit
der MyFonts-Routine SetTextParams verwenden.

Sobald der logische Font zerstrt wird, ist auch das Font-Handle ungltig.
Aufeinanderfolgende Aufrufe von GetFontHandle ermitteln stets das gleiche
Font-Handle.

TFont.Store-Methode
 
 Deklaration:
procedure Store(var S: TStream);

Diese Methode speichert den logischen Font in den angegebenen Stream.
Dies geschieht vllig gerteunabhngig, so da die logische Schriftart auch
auf einem anderen Gert eingelesen werden kann.

TFontFace-Objekt  (Unit GvFonts)
 
Ein TFontFace-Objekt reprsentiert einen im System gefundenen
verwendbaren Schriftschnitt. Sie werden nicht direkt mit diesem
Objekt umgehen mssen.

 Felder:

 Name
 Scales
 FileName
 FontType
 LastBestScale

 Methoden:




                  gvfonts, Page #   5   Date 22-7-1996 Monday
                                    -    6 -





 Init
 Done
 BestScale

TFontFace.Init-Konstruktor
 
 Deklaration:

  constructor Init(aName: string; AScales: PStringCollection;
    aFileName: string; AType: Word);

Dieser Konstruktor ruft zunchst TObject.Init auf, um das
Objekt zu belegen. Dann belegt er das Feld Name mit
einer dynamischen Kopie von AName,
Scales mit AScales,
das Feld FileName mit einer dynamischen Kopie
von AFileName sowie FontType mit AType.

TFontFace.Done-Destruktor
 
Dieser Destruktor entfernt zunchst die dynamisch angelegten Strukturen
Name, Scales und FileName
vom Heap und ruft dann TObject.Done auf.

TFontFace.BestScale-Methode
 
 Deklaration:
function BestScale(Scaling: LongInt): LongInt;

Diese Funktion ermittelt anhand der Skalierungsliste Scales
die der erforderten Skalierung Scaling nchste erzielbare Skalierung.
Diese Angaben verwendet der Schrift-Mapper von Graphics Vision,
um sich fr die beste Schriftart zu entscheiden.

Das Funktionsergebnis wird zustzlich in dem Feld
LastBestScale gespeichert, um doppelte
Berechnungen whrend des Mappens zu vermeiden.

TFontFace.Name-Feld
 
 Deklaration:
Name: PString;

Dieses Feld speichert den Namen des Schriftschnitts,
z.B. "Arial Fett (TrueType)".

TFontFace.Scales-Feld
 
 Deklaration:
Scales: PStringCollection;

Dieses Feld speichert eine Liste der untersttzten Skalierungen.
Es ist NIL, falls der Schriftschnitt frei skalierbar ist.

TFontFace.FileName-Feld
 
 Deklaration:
FileName: PString;

Dieses Feld speichert den Namen der Schriftartdatei, aus der
der Schriftschnitt gewonnen werden kann.

TFontFace.FontType-Feld



                  gvfonts, Page #   6   Date 22-7-1996 Monday
                                    -    7 -





 
 Deklaration:
FontType: Word;

Dieses Feld speichert das Format der Schriftartdatei. Es kann folgende
Werte annehmen:


 Wert          Bedeutung
   
 ftCPI         CPI-Datei oder BIOS-Schrift
 ftBGI         Skalierbare Hershey-Schrift (*.CHR)
 ftWin         Windows-Schriftart (*.FON)
 ftWinHuge     TrueType-Schriftart (*.TTF)


TFontFace.LastBestScale
 
 Deklaration:
LastBestScale: LongInt;

Dieses Feld speichert das Ergebnis des letzten Aufrufs von
BestScale.

TFontFaceList-Objekt  (Unit GvFonts)
 
Dieses Objekt reprsentiert die Schriftdatenbank von Graphics Vision.
Sie verwaltet smtliche verfgbaren verwendbaren Schriftschnitte und
untersttzt die Suche nach geeigneten Schriftschnitten.

 Felder:

 StdScales

 Methode:

 Init
 Done
 Compare
 InsertBGIFonts
 InsertBiosFonts
 InsertCpiFonts
 InsertStdScales
 InsertWinFonts
 LookUpFace
 GetFace
 PutFace

TFontFaceList.StdScales-Feld
 
 Deklaration:
StdScales: PStringCollection;

Dieses Feld speichert eine Liste der Standard-Skalierungen, welche
fr frei skalierbare Schriftarten angeboten werden.

TFontFaceList.Init-Konstruktor
 
 Deklaration:
constructor Init;

Dieser Konstruktor ruft zunchst TSortedCollection.Init auf.
Dann wird das Feld StdScales als
TPaddedStringCollection-Objekt erstellt.



                  gvfonts, Page #   7   Date 22-7-1996 Monday
                                    -    8 -





Schlielich werden durch Aufrufe der Methoden
InsertStdScales,
InsertBGIFonts,
InsertBiosFonts,
InsertCpiFonts und
InsertWinFonts
die Standard-Skalierungen erstellt bzw. das System nach
Schriftschnitten der jeweiligen Typen durchsucht.

TFontFaceList-Destruktor
 
 Deklaration:
destructor Done; virtual;

Dieser Destruktor entfernt zunchst das
StdScales-Objekt vom Heap und
ruft dann TSortedCollection.Done auf.

TFontFaceList.Compare-Methode
 
 Deklaration:
function Compare(Key1, Key2: pointer): Integer; virtual;

Diese Funktion vergleicht zwei Schriftschnitte anhand ihres Namens.

TFontFaceList.InsertBGIFonts-Methode
 
 Deklaration:
procedure InsertBGIFonts; virtual;

Diese Prozedur durchsucht das System nach skalierbaren Hershey-Schriften
im BGI-Format und fgt sie der Liste hinzu.

TFontFaceList.InsertBiosFonts-Methode
 
 Deklaration:
procedure InsertBiosFonts; virtual;

Diese Prozedur fgt die in jedem VGA-System verfgbaren Pixelschriften
im Format 8x8, 8x14, 8x16 der Liste hinzu.

TFontFaceList.InsertCpiFonts-Methode
 
 Deklaration:
procedure InsertCpiFonts; virtual;

Diese pseudo-abstrakte Methode ist dafr vorgesehen, codepage-spezifische
Pixelschriften der Liste hinzuzufgen. Diese werden aber nur fr
Spezialanwendungen bentigt; deshalb tut diese Methode gar nichts.
berschreiben Sie sie, wenn Sie CPI-Dateien verwenden wollen.

TFontFaceList.InsertStdScales-Methode
 
 Deklaration:
procedure InsertStdScales; virtual;

Diese Prozedur fgt der Liste StdScales
die gebruchlichen Skalierungen 8pt, 10pt, 12pt, 14pt, 16pt, 20pt, 24pt,
36pt, 48pt, 72pt, 96pt, 128pt, 192pt und 256pt hinzu.

TFontFaceList.InsertWinFonts-Methode
 
 Deklaration:
procedure InsertWinFonts; virtual;

Diese Prozedur durchsucht das System nach Windows- und
TrueType- Schriftarten und fgt sie der Liste hinzu.




                  gvfonts, Page #   8   Date 22-7-1996 Monday
                                    -    9 -





TFontFaceList.LookUpFace-Methode
 
 Deklaration:
function LookUpFace(AFaceName: string; AScaling: LongInt): PFontFace;

Diese Funktion beinhaltet den Schrift- Mapping- Algorithmus von
Graphics Vision. Zu einem Namen eines Schriftschnitts und einer
Skalierung gibt sie den am besten passenden Schriftschnitt zurck.
Graphics Vision untersucht zunchst, welche Schriftschnitte am besten
die gewnschte Skalierung untersttzen. Dann wird anhand des Namens
entschieden, welcher Schriftschnitt gewhlt wird.

TFontFaceList.GetFace-Methode
 
 Deklaration:
function GetFace(var S: TStream): PFontFace;

Diese Funktion ldt einen Schriftschnitt aus dem Stream S, indem
wichtige gespeicherte Schrift-Daten gelesen werden und mittels
LookUpFace ein mglichst gut passender
Schriftschnitt aus der Schriftdatenbank gewhlt wird.

TFontFaceList.PutFace-Methode
 
 Deklaration:
procedure PutFace(var S: TStream; Face: PFontFace; AScaling: LongInt);

Diese Prozedur speichert die Daten des Schriftschnitts Face in den
Stream S. Mittels GetFace kann der
Schriftschnitt wieder eingelesen werden. Zustzlich angegeben werden
mu die Skalierung AScaling.

TCharList-Objekt  (Unit GvFonts)
 
Dieses Objekt (ein TListViewer-Nachkomme)
realisiert eine einfache Zeichentabelle fr eine
beliebige logische Schriftart.

 Felder:

 Font
 CharsPerLine
 CharDistance
 FirstChar
 LastChar

 Methoden:

 Init
 Done
 CalcParams
 ChangeBounds
 DrawItemText
 GetItemRect
 SetFont

TCharList.Font-Feld
 
 Deklaration:
Font: PFont;

Dieses Feld speichert die logische Schriftart, deren Zeichen
dargestellt werden sollen.




                  gvfonts, Page #   9   Date 22-7-1996 Monday
                                    -   10 -





TCharList.CharsPerLine-Feld
 
 Deklaration:
CharsPerLine: Integer;

Dieses Feld wird von CalcParams belegt
uns speichert die Zahl der Zeichen pro Listenzeile.

TCharList.CharDistance-Feld
 
 Deklaration:
CharDistance: Integer;

Dieses Feld wird von CalcParams belegt
und speichert die Breite einer Zeichenzelle.

TCharList.FirstChar-Feld
 
 Deklaration:
FirstChar: Char;

Dieses Feld wird von CalcParams belegt
und speichert das erste darstellbare Zeichen.

TCharList.LastChar-Feld
 
 Deklaration:
LastChar: Char;

Dieses Feld wird von CalcParams belegt
und speichert das letzte darstellbare Zeichen.

TCharList.Init-Konstruktor
 
 Deklaration:
constructor Init(var Bounds: TRect; AScrollBar: PScrollBar; AFont: PFont);

Dieser Konstruktor ruft zunchst TListViewer.Init auf.
Wenn AFont NIL ist, wird ein BIOS-Font vorgegeben. Ansonsten wird
SetFont aufgerufen, um die Schriftart zu setzen.

TCharList.Done-Destruktor
 
 Deklaration:
destructor Done; virtual;

Dieser Destruktor entfernt zunchst die aktuelle Schriftart und
ruft dann TObject.Done auf.

TCharList.CalcParams-Methode
 
 Deklaration:
procedure CalcParams;

Diese Methode berechnet fr die aktuelle logische Schriftart und
die aktuelle View-Ausdehnung die Parameter
CharsPerLine,
CharDistance,
FirstChar und
LastChar.
Anschlieend wird DrawView aufgerufen,
um das Objekt neu darzustellen.

TCharList.ChangeBounds-Methode
 
 Deklaration:
procedure ChangeBounds(var Bounds: TRect); virtual;

Diese Methode ruft zunchst TListViewer.ChangeBounds auf, um die
Gre der View zu ndern. Danach wird CalcParams



                  gvfonts, Page #  10   Date 22-7-1996 Monday
                                    -   11 -





aufgerufen, um die Parameter neu zu berechnen.

TCharList.DrawItemText-Methode
 
 Deklaration:
procedure DrawItemText(Item: Integer; R: TRect); virtual;

Diese Methode gibt eine Zeile mit Zeichen des Zeichensatzes aus,
anstatt (wie TListViewer.DrawItemText) ber
TListViewer.GetText einen Text zu ermitteln und ihn in der
Systemschriftart auszugeben.

TCharList.GetItemRect-Methode
 
 Deklaration:
procedure GetItemRect(Item: Integer; var R: TRect); virtual;

Gibt in R den Bildschirmbereich zurck, der zu dem Eintrag mit der Nummer
Item gehrt. Die Koordinaten beziehen sich auf den Origin des Objektes.
Die Hhe der Listenzeilen wird der logischen Schriftart entsprechend
gewhlt.

TCharList.SetFont-Methode
 
 Deklaration:
procedure SetFont(aFont: PFont);

Diese Methode setzt eine neue logische Schriftart. Die alte logische
Schriftart wird entfernt. Anschlieend wird CalcParams
aufgerufen, um die Parameter zu berechnen und das Objekt neu darzustellen.

TCharMapWindow
 
Dieses Objekt implementiert ein einfaches Fenster, welches eine
Zeichentabelle und einen Schalter zum Wechseln der Schriftart enthlt.

 Felder:

 CharList

 Methoden:

 Init
 HandleEvent

TCharMapWindow.CharList-Feld
 
 Deklaration:
CharList: PCharList;

Dieses Feld speichert einen Zeiger auf die Zeichentabelle.

TCharMapWindow.Init-Konstruktor
 
 Deklaration:
constructor Init(var Bounds: TRect);

Dieser Konstruktor ruft zunchst TWindow.Init auf
und fgt dann ein TCharList-Objekt in das Fenster ein
und speichert einen Zeiger auf dieses Objekt in dem Feld
CharList.
Schlielich wird ein Schalter mit dem Kommando cmChooseFont
eingefgt.

TCharMapWindow.HandleEvent-Methode
 



                  gvfonts, Page #  11   Date 22-7-1996 Monday
                                    -   12 -





 Deklaration:
procedure HandleEvent(var Event: TEvent); virtual;

Diese Methode behandelt zustzlich das Kommando cmChooseFont,
indem sie einen TFontDialog ffnet.

TFontFaceListBox-Objekt  (Unit GvFonts)
 
Dieser TSortedListBox-Nachkomme ist auf die
Behandlung einer Schriftschnitt-Liste spezialisiert.

 Methoden:

 FocusItem
 GetKey
 GetText

TFontFaceListBox.FocusItem-Methode
 
 Deklaration:
procedure FocusItem(Item: Integer); virtual;

Diese Methode ruft zunchst TListViewer auf. Dann
sendet es an seinen GOwner die
Botschaften cmSetScales und cmSetOptions.

TFontFaceListBox.GetKey-Methode
 
 Deklaration:
function GetKey(var S: String): Pointer; virtual;

Diese Methode gibt (fr die alphabetisch- inkrementelle Suche)
einen Schlsseleintrag zurck, der sich wie S in die Liste einordnet.

TFontFaceListBox.GetText-Methode
 
 Deklaration:
function GetText(Item: Integer; MaxLen: Integer): String; virtual;

Diese Methode ermittelt den Text zu dem Eintrag Item,
indem sie das Feld Name des aufgelisteten
TFontFace-Objekts zurckgibt.

TPaddedStringCollection-Objekt  (Unit GvFonts)
 
Dieses Objekt ist ein TStringCollection-Nachfolger.
Es besitzt eine spezialisierte Compare-Methode, die zwei
Strings rechtsbndig ausrichtet und dann vergleicht.

 Methoden:

 Compare

TPaddedStringCollection.Compare-Methode
 
 Deklaration:
function Compare(Key1, Key2: Pointer): Integer; virtual;

Diese Funktion richtet die beiden Schlsselstrings
rechtsbndig aus und vergleicht sie dann.

TAttrCluster-Objekt  (Unit GvFonts)
 
Dieser TCheckBoxes-Nachkomme ist auf Schriftattribute
spezialisiert und verhindert widersprchliche Einstellungen durch
gezieltes Ausschalten von Schaltern.



                  gvfonts, Page #  12   Date 22-7-1996 Monday
                                    -   13 -






 Methoden:

 Press

TAttrCluster.Press-Methode
 
 Deklaration:
procedure Press(Item: Integer); virtual;

Diese Prozedur ruft zunchst TCheckBoxes.Press auf. Dann
reagiert sie durch SetButtonState-Aufrufe auf vernderte Attributbits.

TScrollValidator-Objekt  (Unit GvFonts)
 
Dieser TGRangeValidator-Nachkomme realisiert
die Verknpfung einer Scrollbar mit einer numerischen Eingabezeile.

 Felder:

 Scrollbar

 Methoden:

 Init
 IsValid

Scrollbar,TScrollValidator
 
 Deklaration:
Scrollbar: PScrollbar;

Dieses Feld speichert einen Zeiger auf die assoziierte Scrollbar.

TScrollValidator.Init-Konstruktor
 
 Deklaration:
constructor Init(AScrollbar: PScrollbar; AMin, AMax: Longint);

Dieser Konstruktor ruft zunchst TRangeValidator.Init auf.
Dann weist er dem Feld Scrollbar den
Wert AScrollbar zu.

TScrollValidator.IsValid-Methode
 
 Deklaration:
function IsValid(const S: string): Boolean; virtual;

Diese Funktion ruft zunchst TRangeValidator.Init auf. Dann pat sie
die Position der Scrollbar entsprechend an.

TScrollInputLine-Objekt  (Unit GvFonts)
 
Dieser TInputLine-Nachkomme verknpft sich ber einen
TScrollValidator mit einer Scrollbar.

 Felder:

 Scrollbar
 MappedMin
 MappedMax

 Methoden:

 Init
 HandleEvent




                  gvfonts, Page #  13   Date 22-7-1996 Monday
                                    -   14 -





TScrollInputLine.Scrollbar-Feld
 
 Deklaration:
Scrollbar: PScrollbar;

Dieses Feld speichert die assoziierte Scrollbar.

TScrollInputLine.MappedMin-Feld
 
 Deklaration:
MappedMin: Integer;

Dieses Feld speichert den kleinsten Wert, den die Eingabezeile annehmen
darf.

TScrollInputLine.MappedMax-Feld
 
 Deklaration:
MappedMax: Integer;

Dieses Feld speichert den grten Wert, den die Eingabezeile annehmen
darf.

TScrollInputLine.Init-Konstruktor
 
 Deklaration:

 constructor Init(var Bounds: TRect; AMaxLen: Integer;
   AScrollbar: PScrollbar; AMappedMin, AMappedMax: Integer);

Dieser Konstruktor ruft zunchst TInputLine.Init auf.
Er erstellt ein TScrollValidator-Objekt und
verbindet es mit der Eingabezeile.
Dann wird AScrollbar in Scrollbar,
AMappedMin in MappedMin und
AMappedMax in MappedMax gespeichert.

TScrollInputLine.HandleEvent-Methode
 
 Deklaration:
procedure HandleEvent(var Event: TEvent); virtual;

Diese Methode behandelt zustzlich Broadcast-Nachrichten, die von
der assoziierten Scrollbar stammen.

TFontDialogData
 

  TFontDialogData = record
    Face: TListBoxRec;
    Scaling: LongInt;
    Scale: TListBoxRec;
    Attr: Word
  end;


Kommandos von GvFonts
 

const
  cmChooseFont = 70;
  cmSetScales = 71;
  cmSetOptions = 72;



                  gvfonts, Page #  14   Date 22-7-1996 Monday
                                    -   15 -





  cmFontOptions = 73;


FontFaceList-Variable  (Unit GvFonts)
 
 Deklaration:

const
  FontFaceList: PFontFaceList = nil;

Diese Variable speichert einen Zeiger auf die Schriftdatenbank
von Graphics Vision. Sie ist solange NIL, bis
GetFontFaceList
aufgerufen wird.

GetFontFaceList-Funktion  (Unit GvFonts)
 
 Deklaration:
function GetFontFaceList: PFontFaceList;

Falls FontFaceList NIL ist, erstellt diese Funktion eine
Liste der im System vorhandenen verwendbaren Schriftschnitt und speichert
diese in FontFaceList.

Der Rckgabewert ist der Wert der Variablen FontFaceList.

PixelToScaling-Funktion  (Unit GvFonts)
 
 Deklaration:
function PixelToScaling(Pixel: Integer): LongInt;

Diese Funktion ermittelt zu einem gegebenen Schriftma in Pixeln
die Skalierung in typographischen Punkten.





























                  gvfonts, Page #  15   Date 22-7-1996 Monday
