com.esri.arcgis.display
Class IDynamicDrawScreenProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.display.IDynamicDrawScreenProxy
All Implemented Interfaces:
IDynamicDrawScreen, Externalizable, Serializable

public class IDynamicDrawScreenProxy
extends com.esri.arcgis.interop.Dispatch
implements IDynamicDrawScreen, 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.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IDynamicDrawScreenProxy()
           
  IDynamicDrawScreenProxy(Object obj)
           
protected IDynamicDrawScreenProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IDynamicDrawScreenProxy

public IDynamicDrawScreenProxy()

IDynamicDrawScreenProxy

public IDynamicDrawScreenProxy(Object obj)
                        throws IOException
Throws:
IOException

IDynamicDrawScreenProxy

protected IDynamicDrawScreenProxy(Object obj,
                                  String iid)
                           throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

drawScreenMultipleMarkers

public 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.

Specified by:
drawScreenMultipleMarkers in interface IDynamicDrawScreen
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

public 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.

Specified by:
drawScreenMarker in interface IDynamicDrawScreen
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

public 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.

Specified by:
drawScreenPolygon in interface IDynamicDrawScreen
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

public 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.

Specified by:
drawScreenMultipleLines in interface IDynamicDrawScreen
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

public 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.

Specified by:
drawScreenLine in interface IDynamicDrawScreen
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

public 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.

Specified by:
drawScreenPolyline in interface IDynamicDrawScreen
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

public 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.

Specified by:
drawScreenRectangle in interface IDynamicDrawScreen
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

public 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.

Specified by:
drawScreenText in interface IDynamicDrawScreen
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.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException