•  Back 
  •  The object structure 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File8.2.4.4  AES object stati                                          TOS

The object status determines how an object will be displayed later on 
the screen. An object status can be of the following type:

 Status              Meaning



 NORMAL (0x0000)     Normal representation.

 SELECTED (0x0001)   Inverse representation, i.e. the object is 
                     selected (except for G_CICON, which will use its 
                     'selected' image).

 CROSSED (0x0002)    If the object type is BOX, the object will be 
                     drawn with a white diagonal cross over it 
                     (usually this state can be seen only over a 
                     selected or coloured object). See also below.

 CHECKED (0x0004)    A checkmark tick will be displayed at the left 
                     edge of the object.

 DISABLED (0x0008)   The object will be displayed greyed out and is no 
                     longer selectable.

 OUTLINED (0x0010)   The object gets a border.

 SHADOWED (0x0020)   A shadow is drawn under the object.

 WHITEBAK (0x0040)   With PC-GEM this causes the icon mask not to be 
                     drawn with the icon, which can speed up output is 
                     some circumstances.
                     As of MagiC 3 this controls the underscoring of 
                     character strings. This feature can be ascer- 
                     tained with appl_getinfo (opcode 13).

 DRAW3D (0x0080)     An object is to be drawn with a 3D effect. This 
                     flag is of interest only for PC-GEM, and will be 
                     ignored by the Atari AES (and also in MagiC).

 HIGHLIGHTED (0x0100) An object with this status will be surrounded by 
                     a dashed line that is drawn with MD_XOR. This 
                     status was introduced with ViewMAX beta.

 UNHIGHLIGHTED (0x0200) An object with this status will be drawn with 
                     the surround explicitly set by the status 
                     HIGHLIGHTED removed. For this one has to proceed 
                     as follows: First the status HIGHLIGHTED must be 
                     cleared, then the status UNHIGHLIGHTED set and 
                     following this the object must be redrawn with 
                     the function objc_draw. A redraw of the object 
                     without the status UNHIGHLIGHTED would not remove 
                     the surround, as it lies outside the area that 
                     the object occupies. After the redraw the status 
                     UNHIGHLIGHTED should be cleared again. This 
                     status was introduced with ViewMAX beta.

 UNDERLINE (0x0f00)  This opcode is available in MagiC from Version 
                     2.0 onwards, and sets the position and size of 
                     the underscore for objects of the type G_STRING, 
                     G_TITLE and G_BUTTON.

 XSTATE (0xf000)     This opcode is available in MagiC from Version 
                     2.0 onwards, and serves for switching for the 
                     various button types (G_STRING, G_TITLE and 
                     G_BUTTON).

In GEM/5, CROSSED makes the object draw in 3D:

   . If an object is both CROSSED and SELECTABLE, then it is drawn as 
     a checkbox.
   . If it is CROSSED, SELECTABLE and an RBUTTON, it is drawn as a 
     radio button.
   . If it is a button or a box and it is CROSSED, then it is drawn as 
     a raised 3D shape, similar to Motif.
   . If a button is CROSSED and DEFAULT, a "Return key" symbol appears 
     on it (rather like NEXTSTEP).
   . Boxes and text fields that are CROSSED and CHECKED appear sunken.

GEM/5 can be detected by calling vqt_name for font 1. If nothing is 
returned, GEM/5 is running.

Recent FreeGEM builds contain a system based on the GEM/5 one, but 
extended and backwards-compatible. The DRAW3D state is used instead of 
CROSSED:

   . If an object is both DRAW3D and SELECTABLE, then it is drawn as a 
     checkbox.
   . If it is DRAW3D, SELECTABLE and an RBUTTON, it is drawn as a 
     radio button.
   . If a button is DRAW3D and DEFAULT, a "Return key" symbol will be 
     on it.
   . If an object with a 3D border has the WHITEBAK state, then the 3D 
     border will not have a black edge.
   . If a radio button or checkbox has the WHITEBAK state, then it 
     will be drawn with a white background rather than in the colour 
     used by 3D objects.

To check for these abilities, use appl_init and check that bit 3 of 
xbuf.abilities is set.

See Also: Object structure in AES   AES object types