•  Back 
  •  Die Objekt-Struktur 
  •  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.2.4.1  Objektarten des AES                                       TOS

Folgende Objektarten stehen zur Auswahl:

 Art              Bedeutung

 G_BOX (20)       Rechteckiger Kasten. ob_spec enthält verschiedene 
                  Informationen über Rahmenstärke, Farbe und 
                  ähnliches.

 G_TEXT (21)      Grafiktext, ob_spec zeigt auf TEDINFO-Struktur.

 G_BOXTEXT (22)   rechteckiger Kasten mit Grafiktext, ob_spec zeigt 
                  auf TEDINFO-Struktur.

 G_IMAGE (23)     Bild, ob_spec zeigt auf BITBLK-Struktur.

 G_USERDEF (24)   Benutzerdefinierte Funktion zum Zeichnen eines 
                  eigenen Objekts. ob_spec verweist auf eine USERBLK 
                  Struktur.

 G_IBOX (25)      Transparentes Rechteck, das nur gesehen werden kann, 
                  wenn die Umrandung nicht die Dicke Null hat. ob_spec 
                  enthält weitere Informationen über das Aussehen.

 G_BUTTON (26)    Text mit Rahmen für Optionsauswahl. ob_spec zeigt 
                  auf eine Zeichenkette mit dem Text, der in dem Knopf 
                  erscheinen soll.

                  Neu ab MagiC-Version 3.0:
                  Ist das Objektflag WHITEBAK gesetzt, und Bit-15 im 
                  Objektstatus = 0, so wird der Button unterstrichen; 
                  dabei gilt: (Highbyte&0xf) von ob_state ist die 
                  gewünschte Unterstreichposition. Falls hingegen 
                  Bit-15 = 1 ist, so handelt es sich um einen 
                  Sonderbutton (Radio-Button oder Checkbox).

                  Weitere Besonderheiten: WHITEBAK=1, Bit-15 = 1 und 
                  in ob_state

                   Highbyte = -2      Gruppenrahmen
                   Highbyte = -1      Sonderbutton, nicht unterstr.
                   Highbyte != -1,-2  Sonderbutton, unterstr.

                  (dabei ist wieder (Highbyte&0xf) von ob_state die 
                  Unterstreichposition). Das Vorhandensein dieser 
                  Features sollte am besten über die Funktion 
                  appl_getinfo (Opcode 13) ermittelt werden.

 G_BOXCHAR (27)   Rechteck, mit einem Zeichen. In ob_spec wird nicht 
                  nur das Aussehen der Umrandung, sondern auch das 
                  Zeichen definiert.

 G_STRING (28)    Zeichenkette, ob_spec zeigt auf den String.

                  Neu ab MagiC-Version 3.0:
                  Ist das Objektflag WHITEBAK gesetzt, und das 
                  Highbyte von ob_state != -1, so wird der String 
                  unterstrichen; die Unterstreich-Position wird dabei 
                  durch (Highbyte & 0xf) von ob_state geregelt.

                  Bei gesetztem WHITEBAK-Flag und Highbyte von 
                  ob_state = -1, wird der komplette String 
                  unterstrichen. Das Vorhandensein dieser Features 
                  sollte am besten per appl_getinfo (Opcode 13) 
                  ermittelt werden.

 G_FTEXT (29)     Formatierter Grafiktext, ob_spec zeigt auf TEDINFO- 
                  Struktur

 G_FBOXTEXT (30)  Rechteck mit formatiertem Grafiktext, ob_spec zeigt 
                  auf TEDINFO-Struktur.

 G_ICON (31)      Icon-Symbol, ob_spec zeigt auf die ICONBLK-Struktur.

 G_TITLE (32)     Titel eines Drop-Down-Menüs, ob_spec zeigt auf den 
                  String.

                  Ab MagiC-2 kann dabei auch ein Buchstabe 
                  unterstrichen werden. Dies geht wie folgt:

                  WHITEBAK in ob_state setzen

                   (ob_state >> 8) & 0xf = Position des Unterstrichs
                   (ob_state >> 8) & 0xf0 ist 0

 G_CICON (33)     Farb-Icon, ob_spec zeigt auf die CICONBLK-Struktur.

 G_CLRICN (33)    Colour icon, ob_spec zeigt auf die ICONBLK-Struktur. 
                  Supported in the ViewMAX/3 beta and in FreeGEM

 G_SWBUTTON (34)  Cycle-Button (d.h. ein Button, der beim Anklicken 
                  seinen Text zyklisch ändert), ob_spec zeigt auf eine 
                  SWINFO-Struktur. Das Vorhandensein dieses Objekttyps 
                  sollte per appl_getinfo (Opcode 13) erfragt werden.

 G_DTMFDB (34)    For internal AES use only: desktop image. The 
                  ob_spec is a pointer to a MFDB structure. Supported 
                  in the ViewMAX/3 beta and in FreeGEM.

 G_POPUP (35)     PopUp-Menü, ob_spec zeigt auf eine POPINFO-Struktur. 
                  Falls das Menü mehr als 16 Einträge umfaßt, so ist 
                  dieses scrollbar. Das Vorhandensein dieses 
                  Objekttyps sollte per appl_getinfo (Opcode 13) 
                  erfragt werden. Hinweis: G_POPUP sieht wie G_BUTTON 
                  aus, die Zeichenkette wird jedoch nicht zentriert, 
                  um möglichst mit den Zeichenketten im Menü auf einer 
                  Linie zu liegen.

 G_WINTITLE (36)  Diese Objektnummer wird von MagiC intern dazu 
                  verwendet, Fenstertitel darzustellen. Der Aufbau 
                  dieses Objekttyps kann sich jederzeit ändern und 
                  wird daher nicht dokumentiert.

 G_EDIT (37)      Ab MagiC 5.20 steht ein in einer Shared-Library 
                  implementiertes Editobjekt zur Verfügung. ob_spec 
                  verweist auf das Objekt. Achtung: Dieser Typ wird 
                  von den Funktionen form_do, form_xdo, form_button, 
                  form_keybd, objc_edit, wdlg_evnt und wdlg_do z.Zt. 
                  noch nicht unterstützt, d.h. die entsprechenden 
                  Ereignisse müssen selbst (per edit_evnt) an das 
                  Objekt weitergeleitet werden.

 G_SHORTCUT (38)  Dieser Typ wird ähnlich wie G_STRING behandelt, ein 
                  vorhandenes Tastaturkürzel wird jedoch abgespalten 
                  und rechtsbündig ausgegeben. Das Vorhandensein 
                  dieses Objekttyps sollte per appl_getinfo (Opcode 
                  13) erfragt werden.

                  Die Einführung proportionaler AES-Zeichensätze 
                  machte eine neue Strategie für die Ausrichtung der 
                  Menüeinträge erforderlich. Um Tastaturkürzel 
                  rechtsbündig ausrichten zu können, werden Objekte 
                  vom Typ G_STRING innerhalb eines Menüs entsprechend 
                  in Kommando und Kürzel aufgespalten. Diese Strategie 
                  versagt jedoch bei Menüs, die vom Programm selbst, 
                  z.B. innerhalb eines Fensters oder eines Popup- 
                  Menüs, verwaltet werden. Um auch hier eine 
                  brauchbare Ausrichtung zu erreichen, mußte dieser 
                  neue Objekttyp eingeführt werden.

 G_SLIST (39)     XaAES extended object - scrolling list

Hinweis: Für G_BOX, G_IBOX und G_BOXCHAR zeigt die Komponente ob_spec 
der OBJECT-Struktur nicht auf eine andere Datenstruktur, sondern 
enthält weitere Informationen zum Aussehen des Objektes. Dabei gilt:

 Bits Bedeutung

 24..31 darzustellendes Zeichen (nur bei G_BOXCHAR)
 16..23
     0       = Rahmendicke
     1..128  = Rahmen liegt 1..128 Pixel im inneren des Objekts
    -1..-127 = Rahmen liegt 1..127 Pixel außerhalb des Objekts
 12..15 Rahmenfarbe (0..15)
 08..11 Textfarbe (0..15)
 7 Text transparent (0) oder deckend (1)
 04..06
    0 = hohl
    1 = ansteigende Intensität
    2
    .
    .
    7 = solide Fläche
 00..03 Innenfarbe (0..15)

Das Hibyte wird vom AES nur für Submenüs verwendet. Ist das höchste 
Bit von ob_type 0x8000, sowie das Bit SUBMENU in ob_flags gesetzt, so 
geben die Bits 8..14 an, welches Submenü mit dem Menüeintrag gekoppelt 
ist. Jede Applikation kann daher maximal 128 Submenüs haben. MagiC 
liest aus ob_type stets nur das Lowbyte aus, außer für die Submenü- 
Behandlung. TOS reagiert auf unbekannte Objekttypen (z.B. die reinen 
MagiC-Typen G_SWBUTTON usw.) sauber, d.h. die Objekte werden nicht 
gezeichnet.

Querverweis: Objektstruktur im AES   Objektfarben des AES