Fired before the specified phase is drawn.
[Visual Basic .NET] Public Sub BeforeDynamicDraw ( _ ByVal DynamicMapDrawPhase As esriDynamicMapDrawPhase, _ ByVal Display As IDisplay, _ ByVal dynamicDisplay As IDynamicDisplay _ )
[C#] public void BeforeDynamicDraw ( esriDynamicMapDrawPhase DynamicMapDrawPhase, IDisplay Display, IDynamicDisplay dynamicDisplay );
[C++]
HRESULT BeforeDynamicDraw(
esriDynamicMapDrawPhase DynamicMapDrawPhase,
IDisplay* Display,
IDynamicDisplay* dynamicDisplay
);
[C++]Parameters
DynamicMapDrawPhase [in]DynamicMapDrawPhase is a parameter of type esriDynamicMapDrawPhase
Display [in]Display is a parameter of type IDisplay
dynamicDisplay [in]dynamicDisplay is a parameter of type IDynamicDisplay
Product Availability
Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
Remarks
The BeforeDynamicDraw event is getting fired with two different phases (enum esriDynamicMapDrawPhase). Each phase has a different meaning and usage:
-
esriDMDPDynamicLayers
– This is getting fired on each dynamic cycle that the
Dynamic Map re-renders the scene. The BeforeDynamicDraw event is
fired just before the first layer is rendered, and AfterDynamicDraw
event is fired just after the last layer (including any Graphic
Layer) is rendered.
In this context, there is an active OpenGL Rendering context (with a preset rendering volume, viewport, etc).
Use this context to plug-in any custom dynamic drawings with the DynamicDisplay API as well as with the OpenGL API. This context can be useful in order to draw dynamic elements behind or on top of the Layers and Graphics, which do not need to be associated with a layer. -
esriDMDPLayers – When the Dynamic Map is sensing that it
needs to fetch tiles in order to be able to render the scene, the
BeforeDynamicDraw will get fired. When the last missing tile will
be available and rendered the AfterDynamicDraw event will get
fired.
Note that it is not valid to use the DynamicDisplay API, nor the OpenGL API in this context, since the OpenGL Rendering Context is not fully setup.
Use this context if you need to monitor when the Dynamic Map is still in a process of fetching tiles for rendering the display.