DG Kernel Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
Overview of the software
What is new
Licensing
Collapse ModelsModels
Collapse DG Kernel ComponentsDG Kernel Components
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Collapse ModelModel
Collapse ViewView
Collapse General ComputingGeneral Computing
Collapse Samples and TutorialsSamples and Tutorials
Collapse GraphicsGraphics
Collapse Math ObjectsMath Objects
Collapse DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation Links Search Documentation


Dual mode of DG Kernel Component

When transparent background is requested or the component's parent has WS_EX_COMPOSITED extended window style on load the component enters a special Dual mode. This mode is required because the operating system does not provide sufficient support for the features.

Notice: Dual mode is only available on Windows Vista or later

In dual mode the component has some limitations. It provides the normal viewing functionality and all interfaces for programmatic model and view manipulation are supported. What is missing is the functionality of handling the advanced user input via the view. For example the context menu is not available and mouse events are treated little differently. See below. View manipulation (zoom/pan/rotate) is working as normal.

In the dual mode the Visible property of the DG Kernel component must be set to false. For native applications this is done automatically by the component itself. .NET applications must set the Visible property to false in form editor at design time. To hide the component at runtime, when it is in dual mode set the transparent background property to false.

In the dual mode the regular MouseDown, MouseMove and MouseUp mouse eventa are not raised. Instead, if requested, the application receives the Extended Mouse Event. The eventType parameter indicates the specific event type.

To request LMouseDown and RMouseDown events call RequestEvent(EDIEvent.eEventMouseSimple, true). In this case the handler for the Extended Mouse Event will be called with eventType parameter EDIEvent.eEventMouseLButtonDown or EDIEvent.eEventMouseRButtonDown. Call RequestEvent(EDIEvent.eEventMouseMove, true) to request MouseMove event. In this case the handler for the Extended Mouse Event will be called with EDIEvent.eEventMouseMove parameter

Please contact us to request any of the missing functionality

Apart from the above limitations the dual mode is supposed to behave as normal DG Kernel component. To find out wether the component is running in dual mode at runtime query DualMode property from the DG Kernel Component Context (not to be confused with Initialisation Context)

See also: Cannon sample