com.esri.arcgis.display
Interface IDynamicDrawScreen

All Superinterfaces:
Serializable
All Known Implementing Classes:
DynamicDisplay, IDynamicDrawScreenProxy

public interface IDynamicDrawScreen
extends Serializable

Provides access to Dynamic Screen Draw.

Description

The IDynamicScreenDisplay interface gives access to the drawing methods that render dynamic items using screen (pixel) coordinates.

Remarks

Use this interface to draw items when you need to specify the item’s coordinates in screen units (pixels) rather than in map units. The origin of the screen is the lower left corner of the screen, while x values are growing towards the right, and y values are growing towards the top.

The IDynamicScreenDisplay interface can be retrieved by casting from the IDynamicDisplay interface that is passed in to the callback draw methods: IDynamicLayer.DrawDynamicLayer, IDynamicMapEvents.BeforeDynamicDraw, and IDynamicMapEvents.AfterDynamicDraw.

The drawing methods can only be used in one of the callback draw methods with the following specific context:

  1. In the IDynamicLayer.DrawDynamicLayer method.
    It is recommended to use the DynamicGlyphFactory in the esriDynamicDrawPhase.esriDDPImmediate dynamic-draw-phase.
  2. IDynamicMapEvents.AfterDynamicDraw method (event handler).
    Only with the dynamic-map-draw-phase esriDynamicMapDrawPhase.esriDMDPDynamicLayers.
  3. IDynamicMapEvents.BeforeDynamicDraw method (event handler).
    Only with the dynamic-map-draw-phase esriDynamicMapDrawPhase.esriDMDPDynamicLayers.

Any usage of the DynamicDisplay drawing API (or OpenGL API) in any other context will result in an unknown behavior.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 void drawScreenLine(IPoint startPoint, IPoint endPoint)
          Draws a line between the specified points on the screen.
 void drawScreenMarker(IPoint point)
          Draws a marker at the specified point on the screen.
 void drawScreenMultipleLines(IPointCollection pointCollection)
          Draws specified lines on the screen.
 void drawScreenMultipleMarkers(IPointCollection pointCollection)
          Draws a marker at the specified points on the screen.
 void drawScreenPolygon(IPointCollection pointCollection)
          Draws specified polygon with fill and line on the screen.
 void drawScreenPolyline(IPointCollection pointCollection)
          Draws specified polyline on the screen.
 void drawScreenRectangle(IEnvelope envelope)
          Draws specified rectangle with fill and line on the screen.
 void drawScreenText(IPoint point, String text)
          Draws text at the specified point on the screen.
 

Method Detail

drawScreenMultipleMarkers

void drawScreenMultipleMarkers(IPointCollection pointCollection)
                               throws IOException,
                                      AutomationException
Draws a marker at the specified points on the screen.

Remarks

The markers will be rendered according to the current Dynamic Marker Symbol attributes as described in esriDynamicSymbolType constants.

Using this method is useful when you need to draw multiple markers that looks the same, in different locations, for example drawing indication markers on a polyline’s or a polygon’s vertices.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenMarker

void drawScreenMarker(IPoint point)
                      throws IOException,
                             AutomationException
Draws a marker at the specified point on the screen.

Remarks

The marker will be rendered according to the currentDynamic Marker Symbol attributes, as described in esriDynamicSymbolType constants.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenPolygon

void drawScreenPolygon(IPointCollection pointCollection)
                       throws IOException,
                              AutomationException
Draws specified polygon with fill and line on the screen.

Remarks

The fill will be rendered according to the current Dynamic Fill Symbol attributes, and the lines will be rendered according to the current Dynamic Line Symbol attributes as described in esriDynamicSymbolType constants.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenMultipleLines

void drawScreenMultipleLines(IPointCollection pointCollection)
                             throws IOException,
                                    AutomationException
Draws specified lines on the screen.

Remarks

The lines will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenLine

void drawScreenLine(IPoint startPoint,
                    IPoint endPoint)
                    throws IOException,
                           AutomationException
Draws a line between the specified points on the screen.

Remarks

The line will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
startPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
endPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenPolyline

void drawScreenPolyline(IPointCollection pointCollection)
                        throws IOException,
                               AutomationException
Draws specified polyline on the screen.

Remarks

The lines will be rendered according to the current Dynamic Line Symbol attributes as described in esriDynamicSymbolType constants.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenRectangle

void drawScreenRectangle(IEnvelope envelope)
                         throws IOException,
                                AutomationException
Draws specified rectangle with fill and line on the screen.

Remarks

Similar to DrawPolygon method, the fill will be rendered according to the current Dynamic Fill Symbol attributes, and the lines will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
envelope - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenText

void drawScreenText(IPoint point,
                    String text)
                    throws IOException,
                           AutomationException
Draws text at the specified point on the screen.

Remarks

The text will be rendered according to the current DynamicTextSymbol attributes.
Using the DynamicTextSymbol, you can set the text to have a text box that will use the DynamicFillSymbol for Background fill, and the DynamicLineSymbol for outline. Please refer to IDynamicSymbolProperties2.TextBoxUseDynamicFillSymbol and IDynamicSymbolProperties2.TextBoxUseDynamicLineSymbol boolean properties.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.