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