VisContent: 1 VisContent Instance Data

Up: GEOS SDK TechDocs | Up | Down | Prev: VisContent | Next: 2 Basic VisContent Usage

The VisContent has many instance data fields above and beyond those defined in VisClass and VisCompClass . These new instance fields deal with such topics as content attributes, the way the content interacts with the view, the document described by the content, and how the content handles input.

All the instance fields defined by VisContentClass and their definitions are shown in VisContent Instance Data Fields . Each field is described later in this section.

Code Display 17-1 VisContent Instance Data Fields

/* All the instance fields defined in VisContentClass are described below. You
 * will likely use very few of them, if any; see the later sections of this
 * chapter for specific information about each field. */
	/* The following fields deal with the GenView and the view window. */
    @instance optr				 VCNI_view = 0;
    @instance WindowHandle				 VCNI_window = 0;
    @instance word				 VCNI_viewHeight = 0;
    @instance word				 VCNI_viewWidth = 0;
	/* VCNI_attrs determines the content's attributes. */
    @instance  VisContentAttrs				 VCNI_attrs = 0;
	/* The possible flags for VCNI_attrs are
	 *	VCNA_SAME_WIDTH_AS_VIEW						0x80
	 *	VCNA_SAME_HEIGHT_AS_VIEW						0x40
	 *	VCNA_LARGE_DOCUMENT_MODEL						0x20
	 *	VCNA_WINDOW_COORDINATE_MOUSE_EVENTS						0x10
	 *	VCNA_ACTIVE_MOUSE_GRAB_REQUIRES_LARGE_EVENTS						0x08
	 *	VCNA_VIEW_DOC_BOUNDS_SET_MANUALLY						0x04	 */
	/* The following fields determine features of the content's document. */
    @instance PointDWord				 VCNI_docOrigin = {0, 0};
    @instance PointWWFixed				 VCNI_scaleFactor = {{0, 1}, {0, 1}};
	 /* The following fields deal with how the content handles input. */
    @instance ChunkHandle				VCNI_prePassiveMouseGrabList = 0;
    @instance VisMouseGrab				VCNI_impliedMouseGrab =
				    {0, 0, {0, 0}, (VIFGF_MOUSE | VIFGF_PTR), 0};
    @instance VisMouseGrab				VCNI_activeMouseGrab =
				    {0, 0, {0, 0}, 0, 0};
    @instance ChunkHandle				VCNI_postPassiveMouseGrabList = 0;
    @instance KbdGrab				VCNI_kbdGrab = {0, 0};
    @instance FTVMCGrab				VCNI_focusExcl = {0, MAEF_FOCUS};
    @instance FTVMCGrab				VCNI_targetExcl = {0, MAEF_TARGET};
    @instance Handle				VCNI_holdUpInputQueue = 0;
    @instance word				VCNI_holdUpInputCount = 0;
    @instance byte				VCNI_holdUpInputFlags = 0;
	/* The type flags of the content are special and should not be altered. */
    @default		VI_typeFlags =		VTF_IS_COMPOSITE | VTF_IS_WINDOW |
				VTF_IS_CONTENT | VTF_IS_WIN_GROUP |
				VTF_IS_INPUT_NODE;

Up: GEOS SDK TechDocs | Up | Down | Prev: VisContent | Next: 2 Basic VisContent Usage