GEOS SDK TechDocs
|
|
6.2 Hints to the Specific UI
|
7 Special Message Passing
MSG_META_ADD_VAR_DATA, MSG_META_DELETE_VAR_DATA, MSG_GEN_ADD_GEOMETRY_HINT, MSG_GEN_REMOVE_GEOMETRY_HINT
You must use special kernel routines and
MetaClass
messages to access, add, or remove entries within an object's instance fields.
ObjVarScanData()
This routine scans an object's vardata and calls routines listed in the variable data handler table. This routine is useful for processing several HINTs and ATTRs at one time.
MSG_META_ADD_VAR_DATA
You can use this message to add a vardata entry to an object. The object must first be set not usable before adding the entry. Set the object usable again after you have added the vardata entry.
MSG_META_DELETE_VAR_DATA
Use this message to delete a vardata entry from an object. The object must first be set not usable before removing the entry. Set the object usable again after you have removed the vardata entry.
ObjVarFindData()
This routine checks the object for the passed type and returns a pointer to its data. The message returns
true
if the entry is present,
false
if it is not. This routine is useful for processing a single vardata entry.
In addition to these routines and messages, two messages specific to
GenClass
allow you to add or remove hints dynamically:
MSG_GEN_ADD_GEOMETRY_HINT
and
MSG_GEN_REMOVE_GEOMETRY_HINT
. These messages allow geometry and window positioning hints to be added or removed while the object is on-screen. Sending a GS_USABLE object one of these messages with a valid geometry hint forces that object to redraw itself according to the new geometry.
void MSG_GEN_ADD_GEOMETRY_HINT(
word hint,
word hintArgument,
VisUpdateMode updateMode);
This message adds a geometry hint to a generic object. The object may be GS_USABLE at the time, in which case the object is redrawn according to the new geometry configuration.
Source: Unrestricted.
Destination: Any generic object.
Parameters: hint The hint to add to the object's instance data
VisUpdateMode
to determine when the object will be redrawn.Interception: Generally not intercepted.
void MSG_GEN_REMOVE_GEOMETRY_HINT(
word hint,
VisUpdateMode updateMode);
This message removes a geometry hint from an object's instance data. The object may be GS_USABLE at the time, in which case it will be redrawn according to the new geometry configuration.
Source: Unrestricted.
Destination: Any generic object.
Parameters: hint The hint to remove.
VisUpdateMode
to determine when the object will be redrawn.Interception: Generally not intercepted.
GEOS SDK TechDocs
|
|
6.2 Hints to the Specific UI
|
7 Special Message Passing