•  Back 
  •  AES-Strukturen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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-File8.22.45  TEDINFO                                                   TOS

Die TEDINFO-Struktur wird benutzt um ein Textobjekt näher zu 
beschreiben, und ist wie folgt definiert:

typedef struct
{
    int8_t    *te_ptext;          /* Zeiger auf einen String          */
    int8_t    *te_ptmplt;         /* Zeiger auf die Stringmaske       */
    int8_t    *te_pvalid;         /* Zeiger auf den Gültigkeitsstring */
    int16_t    te_font;           /* Zeichensatz                      */
    int16_t    te_fontid;         /* GDOS Font-ID                     */
    int16_t    te_just;           /* Justierung des Textes:
                                     0 = linksbündig
                                     1 = rechtsbündig
                                     2 = zentriert                    */
    int16_t    te_color;          /* Farbe                            */
    int16_t    te_fontsize;       /* GDOS Font-Größe in Punkten       */
    int16_t    te_thickness;      /* Rahmenbreite                     */
    int16_t    te_txtlen;         /* Maximale Länge des Textes        */
    int16_t    te_tmplen;         /* Länge der Stringmaske            */
} TEDINFO;

Dabei gilt es, die folgenden Einzelheiten zu beachten:

te_ptext: Wenn das erste Zeichen ein Klammeraffe (!) ist, werden 
     alle folgenden Zeichen als Platzhalter angesehen, und der 
     zunächst ausgegebene String besteht aus Leerzeichen. Folge: Der 
     Klammeraffe kann niemals am Anfang eines Edit-Feldes stehen!

te_ptmplt: Schablone (template). Sie wird nur bei G_FTEXT und 
     G_FBOXTEXT verwendet, d.h. bei G_TEXT und G_BOXTEXT kann hier ein 
     Null-Zeiger stehen. Bei der Ausgabe werden alle '_' Zeichen in 
     der Schablone sukzessive durch die Zeichen in te_ptext ersetzt, 
     d.h. es wird eine Misch-Zeichenkette gebildet. I.A. wird die 
     Schablone also soviele '_' Zeichen enthalten, wie der Puffer für 
     te_ptext lang ist (ohne abschließendes Nullbyte).

te_pvalid: String, der für jedes Zeichen in te_ptext eine 
     Zeichenkette enthält, die über die Gültigkeit verschiedener 
     Zeichen an dieser Stringposition Auskunft gibt. Es gilt:

      Zeichen  Bedeutung

      1 - 9    Accept any digit from 0 to that number. This is handy 
               for doing octal ('7') or binary ('1') validation. 
               (Geneva)
      9        nur Ziffern
      A        nur Großbuchstaben/Leerzeichen
      a        nur Buchstaben/Leerzeichen
      N        Großbuchstaben, Ziffern, Leerzeichen
      n        Buchstaben, Ziffern, Leerzeichen
      F        alle Zeichen, die zu einem Dateinamen gehören und '*', 
               '?' und ':'.
      f        alle Zeichen, die zu einem Dateinamen, ohne '*', '?' 
               und ':'.
      h        Hexadezimale Zeichen. (Geneva)
      H        Hexadezimal Zeichen. Kleinbuchstaben a - f werden in 
               Großbuchstaben A - F umgewandelt. (Geneva)
      P        alle Zeichen, die zu einem Pfadnamen gehören
      p        analog 'P', aber ohne die Zeichen '?' und '*'
      m        alle Zeichen, die für einen langen Dateinamen gültig 
               sind; d.h. alle Zeichen außer Steuerzeichen (ASCII < 
               32), sowie außer ':' und '\'. Dieser Code wird z.Zt. 
               nur von MagiC unterstützt.
      X        alle Zeichen
      x        alle Zeichen, Kleinbuchstaben werden automatisch in 
               Großbuchstaben umgewandelt. (Geneva)

te_font:
     3 = normal
     5 = kleiner Zeichensatz

     Für weiters siehe unten.

te_fontid:
     Für weiters siehe unten.

te_color: Für die Farbe des begrenzenden Rechteckes gilt die 
     folgende Belegung:

      Bit    Bedeutung

      12..15 Rahmenfarbe (0..15)
      08..11 Textfarbe (0..15)
       7     Text (0 = transparent, 1 = deckend)
       4.. 6 Intensität
              0    =  hohl
              1..6 =  ansteigende Intensität
              7    =  solide Fläche
       0.. 3 Innenfarbe (0..15)

te_thickness: Für den Rahmen sind folgende Werte gültig:

      Wert      Bedeutung 
       0        kein Rahmen 
       1.. 128  Rand liegt 1 bis 128 Pixel im Inneren 
      -1..-127  Rand liegt 1 bis 127 Pixel außerhalb des Objektes 

Hinweis: Die Komponenten te_fontid und te_fontsize waren bisher 
reserviert. Ab AES-Version 4.1 ist es möglich, beliebige GDOS-Fonts 
für TEDINFO-Objekte zu benutzen.

Dazu ist über die Komponente te_font die Art des Zeichensatzes zu 
spezifizieren:

 te_font  Bedeutung 
    0     SpeedoGDOS Font 
    1     SpeedoGDOS Font (monospaced) 
    2     GDOS Bitmap-Font 
    3     System-Zeichensatz 
    5     kleiner System-Zeichensatz 

Für Werte im Bereich 0..2 von te_font kann dann über die Komponenten 
te_fontid bzw. te_fontsize der gewünschte Zeichensatz und die 
gewünschte Punktgröße eingestellt werden.

Das Vorhandensein der neuen Möglichkeiten kann am einfachsten per 
appl_getinfo (Opcode 13) ermittelt werden.

Querverweis: AES   GEM   OBJECT   XTED   Scrollende Eingabefelder