VisContent: 1.1 VisContent Instance Data: The VCNI_attrs Field

Up: GEOS SDK TechDocs | Up | Prev: 1 VisContent Instance Data | Next: 1.2 Fields That Affect the View
VCNI_attrs, MSG_VIS_CONTENT_SET_ATTRS, MSG_VIS_CONTENT_GET_ATTRS

The VCNI_attrs field is a record of VisContentAttrs that contains several attributes which affect how the content object interacts with the view and with the visible object tree. You can set these attributes with MSG_VIS_CONTENT_SET_ATTRS dynamically, and you can retrieve them with MSG_VIS_CONTENT_GET_ATTRS .

The flags in this field are shown below. None of them is set by default.

VCNA_SAME_WIDTH_AS_VIEW
This flag indicates that the content's width should follow the width of the view window, if possible. Most likely, you will want to set this if the view is not horizontally scrollable.
VCNA_SAME_HEIGHT_AS_VIEW
This flag indicates that the content's height should follow the height of the view window, if possible. Most likely you will want to set this flag if the view is not vertically scrollable.
VCNA_LARGE_DOCUMENT_MODEL
This flag indicates that the content object manages a large document (32-bit coordinates rather than the standard 16-bit coordinates). For information on how this affects the content and its children, see the VisClass chapter.

VCNA_WINDOW_COORDINATE_MOUSE_EVENTS
This flag must be set if VCNA_LARGE_DOCUMENT_MODEL is set. It indicates that the associated GenView will pass input events with window coordinates rather than document coordinates. The default handlers in the content object will then automatically translate the events into document coordinates.

VCNA_ACTIVE_MOUSE_GRAB_REQUIRES_LARGE_EVENTS
This flag indicates that the object that currently has the active mouse grab requires mouse input events to carry large document coordinates rather than the standard document coordinates. This flag is set and reset with the message MSG_VIS_VUP_ALTER_INPUT_FLOW . Large content objects should not set this flag in their Goc declarations.
VCNA_VIEW_DOC_BOUNDS_SET_MANUALLY
Not often used, this flag indicates that the content should not send its document bounds off to the view during a geometry update. The GenView's document bounds must be set manually, most likely with the GenView message MSG_GEN_VIEW_SET_DOC_BOUNDS .
VCNA_VIEW_DOES_NOT_WIN_SCROLL
This flag indicates that the view does not scroll but instead sends MSG_META_CONTENT_VIEW_ORIGIN_CHANGED to the content when the user interacts with the scroller. The UI will use this flag to invalidate the correct region of the content. This should be set when ATTR_GEN_VIEW_DO_NOT_WIN_SCROLL is set in the GenView. See the GenView chapter for full information on view scrolling.

MSG_VIS_CONTENT_SET_ATTRS

void	MSG_VIS_CONTENT_SET_ATTRS(
        VisContentAttrs attrsToSet,
        VisContentAttrs attrsToClear);

This message sets the VCNI_attrs field of the content object according to the passed values.

Source: Unrestricted.

Destination: Any VisContent object.

Parameters: attrsToSet This is a record of VisContentAttrs to set. A flag set in this field will be set in the object's VCNI_attrs field.

attrsToClear This is a record of VisContentAttrs to clear. A flag set in this field will be cleared in the object's VCNI_attrs field. This parameter takes precedence over attrsToSet ; that is, if a flag is set in both parameters, it will end up cleared.

Return: Nothing.

Interception: Unlikely.

MSG_VIS_CONTENT_GET_ATTRS

VisContentAttrs MSG_VIS_CONTENT_GET_ATTRS();

This message returns the current contents of the object's VCNI_attrs field, a record of VisContentAttrs .

Source: Unrestricted.

Destination: Any VisContent object.

Parameters: None.

Return: A record of VisContentAttrs reflecting the flags currently set in the object's VCNI_attrs field.

Interception: Unlikely.


Up: GEOS SDK TechDocs | Up | Prev: 1 VisContent Instance Data | Next: 1.2 Fields That Affect the View