GEOS SDK TechDocs
|
|
|
2 The Visible Class Tree
|
4 Using VisClass
VisClass
has seven different instance data fields as shown in VisClass Instance Data
. Each of these fields is discussed in detail in the following sections, and each may be set or reset during execution by sending the visible object certain messages.
Several of the instance fields will never be used by the application programmer. Most likely, you will work directly with the
VI_bounds
field and perhaps the
VI_attrs
or
VI_geoAttrs
fields. It's unlikely you will need to use the others unless you're doing something quite unusual.
Code Display 15-1 VisClass Instance Data
/* This is the definition of the VisClass instance data fields with some comments * as to their use. */
/* VI_bounds * VI_bounds is a Rectangle structure defining the outermost boundaries of * the visible object. */
@instance Rectangle VI_bounds = {0, 0, 0, 0};
/* VI_typeFlags * VI_typeFlags is a record containing eight flags that determine the * type of the visible object. None are set by default. */
@instance VisTypeFlags VI_typeFlags = 0; /* Possible flags: * VTF_IS_COMPOSITE VTF_IS_WINDOW * VTF_IS_PORTAL VTF_IS_WIN_GROUP * VTF_IS_CONTENT VTF_IS_INPUT_NODE * VTF_IS_GEN VTF_CHILDREN_OUTSIDE_PORTAL_WIN */
/* VI_attrs * VI_attrs is a record that contains eight attribute flags for the * object. Those set by default are shown. */
@instance VisAttrs VI_attrs = (VA_MANAGED | VA_DRAWABLE | VA_DETECTABLE | VA_FULLY_ENABLED); /* Possible flags: * VA_VISIBLE VA_FULLY_ENABLED * VA_MANAGED VA_DRAWABLE * VA_DETECTABLE VA_BRANCH_NOT_MINIMIZABLE * VA_OLD_BOUNDS_SAVED VA_REALIZED */
/* VI_optFlags * VI_optFlags is a record containing eight window update flags. * The flags set by default are shown. */
@instance VisOptFlags VI_optFlags = (VOF_GEOMETRY_INVALID | VOF_GEO_UPDATE_PATH | VOF_WINDOW_INVALID | VOF_WINDOW_UPDATE_PATH | VOF_IMAGE_INVALID | VOF_IMAGE_UPDATE_PATH); /* Possible flags: * VOF_GEOMETRY_INVALID VOF_GEO_UPDATE_PATH * VOF_IMAGE_INVALID VOF_IMAGE_UPDATE_PATH * VOF_WINDOW_INVALID VOF_WINDOW_UPDATE_PATH * VOF_UPDATE_PENDING VOF_EC_UPDATING */
/* VI_geoAttrs * VI_geoAttrs is a record of eight geometry management flags. */
@instance VisGeoAttrs VI_geoAttrs = 0; /* Possible flags: * VGA_GEOMETRY_CALCULATED VGA_NO_SIZE_HINTS * VGA_NOTIFY_GEOMETRY_VALID VGA_DONT_CENTER * VGA_USE_VIS_SET_POSITION VGA_USE_VIS_CENTER * VGA_ALWAYS_RECALC_SIZE VGA_ONLY_RECALC_SIZE_WHEN_INVALID
/* VI_specAttrs * VI_specAttrs is a record containing eight flags used when the visible * object is part of a specific UI library. This field is rarely if ever * used by applications. */
@instance SpecAttrs VI_specAttrs = 0; /* Possible flags: * SA_ATTACHED SA_REALIZABLE * SA_BRANCH_MINIMIZED SA_USES_DUAL_BUILD * SA_CUSTOM_VIS_PARENT SA_SIMPLE_GEN_OBJ * SA_CUSTOM_VIS_PARENT_FOR_CHILD * SA_TREE_BUILT_BUT_NOT_REALIZED */
/* VI_link * VI_link contains an object pointer to the visible object's next sibling * in the tree. Note that VisClass has no corresponding @composite field; * if the object is to have children, it must be of class VisCompClass.
@instance @link VI_link;
GEOS SDK TechDocs
|
|
|
2 The Visible Class Tree
|
4 Using VisClass