•  Back 
  •  Auskunftsfunktionen 
  •  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-File7.6.42  Bindings für vqt_ext_name                                  TOS

 C:         int16_t vqt_ext_name ( int16_t handle, int16_t index, 
            int8_t *name, uint16_t *font_format, uint16_t *flags );

 Umsetzung:

            int16_t vqt_ext_name (int16_t handle, int16_t index,
                                  int8_t *name, uint16_t *font_format,
                                  uint16_t *flags)
            {
               intin[0] = index;
               intin[1] = 0;         /* reserviert */
 
               contrl[0] = 130;
               contrl[1] = 0;
               contrl[3] = 2;
               contrl[5] = 1;
               contrl[6] = handle;
 
               vdi ();
 
               name[0..31]  = intout[1..32];
               name[32]     = intout[33];
               *flags       = (intout[34] >> 8) & 0xff;
               *font_format = intout[34] & 0xff;
 
               return ( intout[0] );
            }

 GEM-Arrays:

             Adresse    Feldelement    Belegung 
             contrl     contrl[0]      130   # Opcode der Funktion 
             contrl+2   contrl[1]      0     # Einträge in ptsin 
             contrl+4   contrl[2]      0     # Einträge in ptsout 
             contrl+6   contrl[3]      2     # Einträge in intin 
             contrl+8   contrl[4]      35    # Einträge in intout 
             contrl+10  contrl[5]      1     # Sub-Opcode 
             contrl+12  contrl[6]      handle 
             intin      intin[0]       index 
             intin+2    intin[1]       0 
             intout     intout[0]      Return-Wert 
             intout+2   intout[1..16]  name[0..31] 
             intout+64  intout[33]     name[32] 
             intout+66  intout[34]     flags/font_format 

            Hinweis: Im High-Byte von intout[34] wird flags 
            zurückgeliefert; im Low-Byte von intout[34] font_format.

            Um festzustellen, was für einen Font man vor sich hat, muß 
            man die Anzahl der Einträge in intout (contrl[4]) 
            beachten. Ist contrl[4] 33, so sind keine zusätzlichen 
            Informationen vorhanden und demzufolge muß es sich um 
            einen Bitmapfont handeln. Ist contrl[4] == 34, wird nur 
            zusätzlich in intout[33] (name[32]) mitgeteilt, ob es sich 
            um einen Vektorfont handelt. Nur wenn contrl[4] == 35 ist, 
            kann man mit intout[34] (flags) den Fonttyp genauer 
            feststellen und sofort erkennen, ob der Font äquidistant 
            (monospaced) ist.

            intout[34] wird nur zurückgeliefert, wenn contrl[3] > 1 
            und contrl[5] = 1!