com.esri.arcgis.carto
Class DynamicDisplay

java.lang.Object
  extended by com.esri.arcgis.carto.DynamicDisplay
All Implemented Interfaces:
IActiveViewEvents, IConnectionPointContainer, IDynamicCompoundMarker, IDynamicCompoundMarker2, IDynamicDisplay, IDynamicDisplay2, IDynamicDrawScreen, IDynamicGlyphFactory, IDynamicGlyphFactory2, IDynamicSymbolProperties, IDynamicSymbolProperties2, ITransformEvents, com.esri.arcgis.interop.RemoteObjRef, Serializable, EventListener

public class DynamicDisplay
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IDynamicDisplay, IDynamicDisplay2, IDynamicDrawScreen, IDynamicGlyphFactory, IDynamicGlyphFactory2, IDynamicSymbolProperties, IDynamicSymbolProperties2, IDynamicCompoundMarker, IDynamicCompoundMarker2, IConnectionPointContainer, IActiveViewEvents, ITransformEvents

Dynamic display class, used by the dynamic map.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
DynamicDisplay(Object obj)
          Construct a DynamicDisplay using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void afterDraw(IActiveViewEventsAfterDrawEvent theEvent)
          Fired after the specified phase is drawn.
 void afterItemDraw(IActiveViewEventsAfterItemDrawEvent theEvent)
          Fired after an individual view item is drawn.
 void boundsUpdated(ITransformEventsBoundsUpdatedEvent theEvent)
          Notifies clients when the bounds is updated.
 void contentsChanged(IActiveViewEventsContentsChangedEvent theEvent)
          Fired when the contents of the view changes.
 void contentsCleared(IActiveViewEventsContentsClearedEvent theEvent)
          Fired when the contents of the view is cleared.
 IDynamicGlyph createDynamicGlyph(ISymbol symbol)
          Creates a dynamic glyph from a symbol.
 IDynamicGlyph createDynamicGlyphFromBitmap(int glyphType, int hBmp, boolean preserveAlphaChannel, IColor transparencyColor)
          Create a dynamic glyph from a bitmap handle.
 IDynamicGlyph createDynamicGlyphFromFile(int glyphType, String fileName, IColor transparencyColor)
          Creates a dynamic glyph from a file.
 void deleteDynamicDrawing(IDynamicDrawing pDynamicDrawing)
          Delete a dynamic drawing.
 void deleteDynamicGlyph(IDynamicGlyph glyph)
          Deletes the dynamic glyph's resource.
 void deviceFrameUpdated(ITransformEventsDeviceFrameUpdatedEvent theEvent)
          Notifies clients when the device frame is updated.
 void drawArrayMarker(IPoint point, String[] textCenter, String[] textLeft, String[] textRight, String[] textTop, String[] textBottom)
          Draws a marker in a specific point on the map with text matricies around it.
 void drawCompoundMarker1(IPoint point, String textTop)
          Draws specified point on the dynamic display with one string above it.
 void drawCompoundMarker10(IPoint point, String textTop, String textBottom, String textLeft1, String textLeft2, String textLeft3, String textLeft4, String textRight1, String textRight2, String textRight3, String textRight4)
          Draws specified point on the dynamic display with one string on the top of the marker, one string on the bottom and four strings on each side of the marker (left and right).
 void drawCompoundMarker2(IPoint point, String textTop, String textBottom)
          Draws specified point on the dynamic display with a string above and below.
 void drawCompoundMarker4(IPoint point, String textTop, String textBottom, String textLeft, String textRight)
          Draws specified point on the dynamic display with a text string on each side of the marker (top, bottom, left and right).
 void drawCompoundMarker6(IPoint point, String textTop, String textBottom, String textLeft1, String textLeft2, String textRight1, String textRight2)
          Draws specified point on the dynamic display with one string on the top of the marker, one string on the bottom and two strings on each side of the marker (left and right).
 void drawCompoundMarker8(IPoint point, String textTop, String textBottom, String textLeft1, String textLeft2, String textLeft3, String textRight1, String textRight2, String textRight3)
          Draws specified point on the dynamic display with one string on the top of the marker, one string on the bottom and three strings on each side of the marker (left and right).
 void drawLine(IPoint startPoint, IPoint endPoint)
          Draws a line between the specified points on the dynamic display.
 void drawMarker(IPoint point)
          Draws a marker at the specified point on the dynamic display.
 void drawMultipleLines(IPointCollection pointCollection)
          Draws specified lines on the dynamic display.
 void drawMultipleMarkers(IPointCollection pointCollection)
          Draws a marker at the specified points on the dynamic display.
 void drawPolygon(IPointCollection pointCollection)
          Draws specified polygon with fill and line on the dynamic display.
 void drawPolyline(IPointCollection pointCollection)
          Draws specified polyline on the dynamic display.
 void drawRectangle(IEnvelope envelope)
          Draws specified rectangle with fill and line on the dynamic display.
 void drawScreenArrayMarker(IPoint point, String[] textCenter, String[] textLeft, String[] textRight, String[] textTop, String[] textBottom)
          Draws a marker in a specific point on the screen with text matricies around it.
 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 drawText(IPoint point, String text)
          Draws text at the specified point on the dynamic display.
 void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
          enumConnectionPoints
 boolean equals(Object o)
          Compare this object with another
 void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP)
          findConnectionPoint
 void focusMapChanged(IActiveViewEventsFocusMapChangedEvent theEvent)
          Fired when a new map is made active.
 void getColor(int dynamicSymbolType, float[] red, float[] green, float[] blue, float[] alpha)
          Indicates the color for the specified dynamic symbol.
 void getCreatedDynamicGlyphSize(int glyphType, int[] sizeX, int[] sizeY)
          Indicates the texture size of the created dynamic glyph.
 IDynamicGlyph getDynamicGlyph(int dynamicSymbolType)
          Indicates the dynamic glyph for the specified dynamic symbol.
 IDynamicGlyph getDynamicGlyph(int groupId, int glyphType, int index)
          Retrieves a dynamic glyph from a glyph group.
 IDynamicGlyphFactory getDynamicGlyphFactory()
          Retrieves the dynamic glyph factory.
 float getHeading(int dynamicSymbolType)
          Indicates the heading for the specified dynamic symbol, relative to the rotation alignment.
 void getMarkerToTextOffset(float[] xOffset, float[] yOffset)
          The offset of the text from the marker in pixels.
 void getMarkerToTextOffset2(float[] markerToTop, float[] markerToBottom, float[] markerToLeft, float[] markerToRight)
          Indicates the offset of the text from the marker on each direction.
 void getOffset(int dynamicSymbolType, float[] offsetX, float[] offsetY)
          Offsets the dynamic symbol.
 int getRotationAlignment(int dynamicSymbolType)
          Indicates the rotation alignment for the specified dynamic symbol.
 void getScale(int dynamicSymbolType, float[] scaleX, float[] scaleY)
          Scales the dynamic symbol.
 int getSelectionIdentifier()
          Allocate a unique index to be used with dynamic selection.
 int getTextBoxHorizontalAlignment()
          Indicates the text box horizontal alignment for the dynamic text symbol.
 void getTextBoxMargins(float[] left, float[] top, float[] right, float[] bottom)
          Indicates the text box margins for the dynamic text symbol.
 float getTextCharacterSpacing()
          Indicates an additional space that is added to each character beyond what is defined by its character box in the TextGlyph.
 int getTextHorizontalAlignment()
          Indicates the horizontal alignment for the dynamic text symbol.
 float getTextLeading()
          Indicates the text leading for the dynamic text symbol.
 void getTextSize(String text, float[] sizeX, float[] sizeY)
          The text size in pixel screen coordinates.
 void getTextSpacing(float[] textSpacingX, float[] textSpacingY)
          Indicates the spacing between each two adjacent text boxes.
 int getTextVerticalAlignment()
          Indicates the vertical alignment for the dynamic text symbol.
 float getTextWordSpacing()
          Indicates an additional space that is added between words of the text string.
 int hashCode()
          the hashcode for this object
 void init(IScreenDisplay screenDisplay)
          Initialize the dynamic glyph factory.
 void insertDynamicDrawing(IDynamicDrawing pDynamicDrawing, int lPosition)
          Add a dynamic drawing to the display at the specified Z order.
 boolean isLineContinuePattern()
          Indicates whether the line pattern is continued or restarted, for multi parts lines drawing.
 boolean isSmooth(int dynamicSymbolType)
          Indicates whether the specified dynamic symbol will be smooth.
 boolean isSupportStaticDrawing()
          Indicates whether display supports static drawing such as lables and graphics.
 boolean isTextAutoAdjust()
          Indicates whether the text boxes are to be auto ajdusted.
 boolean isTextBoxUseDynamicFillSymbol()
          Indicates whether to use the dynamic fill symbol when drawing the text.
 boolean isTextBoxUseDynamicLineSymbol()
          Indicates whether to use the dynamic line symbol when drawing the text.
 boolean isTextRightToLeft()
          Indicates whether the text is drawn from right to left for the dynamic text symbol.
 boolean isUseReferenceScale(int dynamicSymbolType)
          Indicates whether the specified dynamic symbol will conform to map reference scale.
 void itemAdded(IActiveViewEventsItemAddedEvent theEvent)
          Fired when an item is added to the view.
 void itemDeleted(IActiveViewEventsItemDeletedEvent theEvent)
          Fired when an item is deleted from the view.
 void itemReordered(IActiveViewEventsItemReorderedEvent theEvent)
          Fired when a view item is reordered.
 int loadDynamicGlyphsGroup(String fileName)
          Loads a dynamic glyph group from files.
 IArray locate(int xView, int yView, int selectionMode, Object data)
          Locate named objects in the display.
 void resolutionUpdated(ITransformEventsResolutionUpdatedEvent theEvent)
          Notifies clients when the resolution is updated.
 void rotationUpdated(ITransformEventsRotationUpdatedEvent theEvent)
          Notifies clients when the rotation angle is updated.
 void selectionChanged(IActiveViewEventsSelectionChangedEvent theEvent)
          Call this function to fire the selection changed event.
 void setColor(int dynamicSymbolType, float red, float green, float blue, float alpha)
          Indicates the color for the specified dynamic symbol.
 void setCreatedDynamicGlyphSize(int glyphType, int sizeX, int sizeY)
          Indicates the texture size of the created dynamic glyph.
 void setDynamicGlyphByRef(int dynamicSymbolType, IDynamicGlyph dynamicGlyph)
          Indicates the dynamic glyph for the specified dynamic symbol.
 void setHeading(int dynamicSymbolType, float heading)
          Indicates the heading for the specified dynamic symbol, relative to the rotation alignment.
 void setLineContinuePattern(boolean continuePattern)
          Indicates whether the line pattern is continued or restarted, for multi parts lines drawing.
 void setMarkerToTextOffset(float xOffset, float yOffset)
          The offset of the text from the marker in pixels.
 void setMarkerToTextOffset2(float markerToTop, float markerToBottom, float markerToLeft, float markerToRight)
          Indicates the offset of the text from the marker on each direction.
 void setOffset(int dynamicSymbolType, float offsetX, float offsetY)
          Offsets the dynamic symbol.
 void setRotationAlignment(int dynamicSymbolType, int dynamicSymbolRotationAlignment)
          Indicates the rotation alignment for the specified dynamic symbol.
 void setScale(int dynamicSymbolType, float scaleX, float scaleY)
          Scales the dynamic symbol.
 void setSmooth(int dynamicSymbolType, boolean smooth)
          Indicates whether the specified dynamic symbol will be smooth.
 void setSupportStaticDrawing(boolean staticDrawing)
          Indicates whether display supports static drawing such as lables and graphics.
 void setTextAutoAdjust(boolean autoAdjust)
          Indicates whether the text boxes are to be auto ajdusted.
 void setTextBoxHorizontalAlignment(int textBoxHorizontalAlignment)
          Indicates the text box horizontal alignment for the dynamic text symbol.
 void setTextBoxMargins(float left, float top, float right, float bottom)
          Indicates the text box margins for the dynamic text symbol.
 void setTextBoxUseDynamicFillSymbol(boolean use)
          Indicates whether to use the dynamic fill symbol when drawing the text.
 void setTextBoxUseDynamicLineSymbol(boolean use)
          Indicates whether to use the dynamic line symbol when drawing the text.
 void setTextCharacterSpacing(float characterSpacing)
          Indicates an additional space that is added to each character beyond what is defined by its character box in the TextGlyph.
 void setTextHorizontalAlignment(int horizontalAlignment)
          Indicates the horizontal alignment for the dynamic text symbol.
 void setTextLeading(float leading)
          Indicates the text leading for the dynamic text symbol.
 void setTextRightToLeft(boolean rightToLeft)
          Indicates whether the text is drawn from right to left for the dynamic text symbol.
 void setTextSpacing(float textSpacingX, float textSpacingY)
          Indicates the spacing between each two adjacent text boxes.
 void setTextVerticalAlignment(int verticalAlignment)
          Indicates the vertical alignment for the dynamic text symbol.
 void setTextWordSpacing(float wordSpacing)
          Indicates an additional space that is added between words of the text string.
 void setUseReferenceScale(int dynamicSymbolType, boolean useReferenceScale)
          Indicates whether the specified dynamic symbol will conform to map reference scale.
 void spatialReferenceChanged(IActiveViewEventsSpatialReferenceChangedEvent theEvent)
          Fired when the spatial reference is changed.
 void unitsUpdated(ITransformEventsUnitsUpdatedEvent theEvent)
          Notifies clients when the units are updated.
 void unloadDynamicGlyphsGroup(int groupId)
          Unloads a dynamic glyph group, and any corresponding resources.
 void viewRefreshed(IActiveViewEventsViewRefreshedEvent theEvent)
          Fired when view is refreshed before draw happens.
 void visibleBoundsUpdated(ITransformEventsVisibleBoundsUpdatedEvent theEvent)
          Notifies clients when the visible bounds is updated.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

DynamicDisplay

public DynamicDisplay(Object obj)
               throws IOException
Construct a DynamicDisplay using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to DynamicDisplay.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
DynamicDisplay o = (DynamicDisplay)obj; // will not work

DynamicDisplay o = new DynamicDisplay(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems DynamicDisplay theDynamicDisplay = (DynamicDisplay) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getDynamicGlyphFactory

public IDynamicGlyphFactory getDynamicGlyphFactory()
                                            throws IOException,
                                                   AutomationException
Retrieves the dynamic glyph factory.

Remarks

Use the dynamic glyph factory object in order to create and delete dynamic glyphs. The dynamic glyphs can be used with the Dynamic Symbols in order to render Dynamic Items.

The Dynamic Glyphs Factory is a singleton object; therefore you can always co-create it in order to use it to create and delete dynamic glyphs.
Performance wise, it is preferable to create the dynamic glyphs in the context of the IDynamicLayer’s DrawDynamicLayer method, in the esriDDPImmediate dynamic-draw-phase, or in the context of the IDynamicMapEvents BeofreDynamicDraw method, in the esriDMDPDynamicLayers dynamic-map-draw-phase, while casting the passed in IDynamicDisplay interface to IDynamicGlyphFactory.

Product Availability

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

Specified by:
getDynamicGlyphFactory in interface IDynamicDisplay
Returns:
A reference to a com.esri.arcgis.display.IDynamicGlyphFactory
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawMultipleMarkers

public void drawMultipleMarkers(IPointCollection pointCollection)
                         throws IOException,
                                AutomationException
Draws a marker at the specified points on the dynamic display.

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

In order to manage your dynamic items you should keep them in arrays of WKSPoint and have an instance of a Multipoint class (as IPointCollection). In order efficiently update the items you should be using IGeometryBridge2 interface

Specified by:
drawMultipleMarkers in interface IDynamicDisplay
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.

drawMarker

public void drawMarker(IPoint point)
                throws IOException,
                       AutomationException
Draws a marker at the specified point on the dynamic display.

Remarks

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

Product Availability

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

Specified by:
drawMarker in interface IDynamicDisplay
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.

drawPolygon

public void drawPolygon(IPointCollection pointCollection)
                 throws IOException,
                        AutomationException
Draws specified polygon with fill and line on the dynamic display.

Remarks

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

Product Availability

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

In order to manage your dynamic polygon, you should keep it as an array of WKSPoint (do not forget to copy the first point at the end of the array) and have an instance of a Polygon geometry class in your application (as IPointCollection). In order efficiently update the polygon geometry you should be using IGeometryBridge2 interface.

Specified by:
drawPolygon in interface IDynamicDisplay
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.

drawMultipleLines

public void drawMultipleLines(IPointCollection pointCollection)
                       throws IOException,
                              AutomationException
Draws specified lines on the dynamic display.

Remarks

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

Product Availability

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

Specified by:
drawMultipleLines in interface IDynamicDisplay
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.

drawLine

public void drawLine(IPoint startPoint,
                     IPoint endPoint)
              throws IOException,
                     AutomationException
Draws a line between the specified points on the dynamic display.

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:
drawLine in interface IDynamicDisplay
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.

drawPolyline

public void drawPolyline(IPointCollection pointCollection)
                  throws IOException,
                         AutomationException
Draws specified polyline on the dynamic display.

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.

In order to manage your dynamic polyline, you should keep it as an array of WKSPoint and have an instance of a Polyline geometry class in your application (as IPointCollection). In order efficiently update the polyline geometry you should be using IGeometryBridge2 interface

Specified by:
drawPolyline in interface IDynamicDisplay
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.

drawRectangle

public void drawRectangle(IEnvelope envelope)
                   throws IOException,
                          AutomationException
Draws specified rectangle with fill and line on the dynamic display.

Remarks

Similar to the 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:
drawRectangle in interface IDynamicDisplay
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.

drawText

public void drawText(IPoint point,
                     String text)
              throws IOException,
                     AutomationException
Draws text at the specified point on the dynamic display.

Remarks

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

Using the Dynamic Text Symbol, you can set the text to have a text box that will use the Dynamic Fill Symbol for Background fill, and the Dynamic Line Symbol 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:
drawText in interface IDynamicDisplay
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.

isSupportStaticDrawing

public boolean isSupportStaticDrawing()
                               throws IOException,
                                      AutomationException
Indicates whether display supports static drawing such as lables and graphics.

Product Availability

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

Specified by:
isSupportStaticDrawing in interface IDynamicDisplay2
Returns:
The staticDrawing
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSupportStaticDrawing

public void setSupportStaticDrawing(boolean staticDrawing)
                             throws IOException,
                                    AutomationException
Indicates whether display supports static drawing such as lables and graphics.

Product Availability

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

Specified by:
setSupportStaticDrawing in interface IDynamicDisplay2
Parameters:
staticDrawing - The staticDrawing (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locate

public IArray locate(int xView,
                     int yView,
                     int selectionMode,
                     Object data)
              throws IOException,
                     AutomationException
Locate named objects in the display. Provides a mechanism for hit-test, selection etc.

Product Availability

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

Specified by:
locate in interface IDynamicDisplay2
Parameters:
xView - The xView (in)
yView - The yView (in)
selectionMode - A com.esri.arcgis.display.esriDynamicSelectionMode constant (in)
data - A reference to another Object (IUnknown) (in)
Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelectionIdentifier

public int getSelectionIdentifier()
                           throws IOException,
                                  AutomationException
Allocate a unique index to be used with dynamic selection.

Product Availability

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

Specified by:
getSelectionIdentifier in interface IDynamicDisplay2
Returns:
The identifier
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertDynamicDrawing

public void insertDynamicDrawing(IDynamicDrawing pDynamicDrawing,
                                 int lPosition)
                          throws IOException,
                                 AutomationException
Add a dynamic drawing to the display at the specified Z order.

Product Availability

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

Specified by:
insertDynamicDrawing in interface IDynamicDisplay2
Parameters:
pDynamicDrawing - A reference to a com.esri.arcgis.display.IDynamicDrawing (in)
lPosition - The lPosition (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteDynamicDrawing

public void deleteDynamicDrawing(IDynamicDrawing pDynamicDrawing)
                          throws IOException,
                                 AutomationException
Delete a dynamic drawing.

Product Availability

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

Specified by:
deleteDynamicDrawing in interface IDynamicDisplay2
Parameters:
pDynamicDrawing - A reference to a com.esri.arcgis.display.IDynamicDrawing (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

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.

init

public void init(IScreenDisplay screenDisplay)
          throws IOException,
                 AutomationException
Initialize the dynamic glyph factory.

Remarks

This method should only be used after co-creating a Dynamic Glyph Factory. There is no need to init a Dynamic Glyph Factory that was retrieved from a Dynamic Display object.

Product Availability

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

Specified by:
init in interface IDynamicGlyphFactory
Parameters:
screenDisplay - A reference to a com.esri.arcgis.display.IScreenDisplay (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createDynamicGlyph

public IDynamicGlyph createDynamicGlyph(ISymbol symbol)
                                 throws IOException,
                                        AutomationException
Creates a dynamic glyph from a symbol.

Remarks

For monochromatic symbols (symbols that consist of only one color and might even have fixed black pixels), it is advisable to set the Symbol color to white before passing it into the method. When rendering the Dynamic Symbol, using the Dynamic Glyph created using this method, you should then set the color to the desired color. That will result in coloring the white pixels to the desired color, while leaving the black colors black.

Product Availability

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

Specified by:
createDynamicGlyph in interface IDynamicGlyphFactory
Parameters:
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Returns:
A reference to a com.esri.arcgis.display.IDynamicGlyph
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteDynamicGlyph

public void deleteDynamicGlyph(IDynamicGlyph glyph)
                        throws IOException,
                               AutomationException
Deletes the dynamic glyph's resource.

Remarks

It is important to call this method in order to release the Dynamic Glyph’s resources. A Dynamic Glyph object that is destroyed without calling this method might result in memory leaks on the graphic card memory. Also, it is recommended to delete unused Dynamic Glyphs in order to free up Graphic Card memory.

Product Availability

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

Specified by:
deleteDynamicGlyph in interface IDynamicGlyphFactory
Parameters:
glyph - A reference to a com.esri.arcgis.display.IDynamicGlyph (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createDynamicGlyphFromFile

public IDynamicGlyph createDynamicGlyphFromFile(int glyphType,
                                                String fileName,
                                                IColor transparencyColor)
                                         throws IOException,
                                                AutomationException
Creates a dynamic glyph from a file.

Remarks

Creates a dynamic glyph from an image file. If the image file consists of an alpha channel, the method will honor the alpha values in the alpha channel, otherwise the alpha values will be set to be opaque (255). If the transparency color is not NULL, each pixel that matches the transparencyColor parameter will be transparent (its alpha values in the glyph will be set to 0).

Product Availability

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

Specified by:
createDynamicGlyphFromFile in interface IDynamicGlyphFactory
Parameters:
glyphType - A com.esri.arcgis.display.esriDynamicGlyphType constant (in)
fileName - The fileName (in)
transparencyColor - A reference to a com.esri.arcgis.display.IColor (in)
Returns:
A reference to a com.esri.arcgis.display.IDynamicGlyph
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

loadDynamicGlyphsGroup

public int loadDynamicGlyphsGroup(String fileName)
                           throws IOException,
                                  AutomationException
Loads a dynamic glyph group from files.

Remarks

The fileName points to an XML file. This XML file holds information regarding the image files that should be used in order to load the group image, and a database that describes the identity, location, and size of the glyphs in the group.

On success, the method returns the ID of the loaded group. This ID can be used to get a dynamic glyph from the group, using the get property IDynamicGlyphFactory.DynamicGlyph, or unload the glyphs group, using the method IDynamicGlyphFactory.UnloadDynamicGlyphsGroup.

Product Availability

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

Specified by:
loadDynamicGlyphsGroup in interface IDynamicGlyphFactory
Parameters:
fileName - The fileName (in)
Returns:
The groupId
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unloadDynamicGlyphsGroup

public void unloadDynamicGlyphsGroup(int groupId)
                              throws IOException,
                                     AutomationException
Unloads a dynamic glyph group, and any corresponding resources.

Remarks

When the Dynamic Glyphs Group is no longer needed, it is important to call this method in order to release the Group’s resources.

Unused Dynamic Glyph Groups that are not unloaded might result in memory leaks on the graphic card memory.

Product Availability

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

Specified by:
unloadDynamicGlyphsGroup in interface IDynamicGlyphFactory
Parameters:
groupId - The groupId (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDynamicGlyph

public IDynamicGlyph getDynamicGlyph(int groupId,
                                     int glyphType,
                                     int index)
                              throws IOException,
                                     AutomationException
Retrieves a dynamic glyph from a glyph group.

Product Availability

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

Specified by:
getDynamicGlyph in interface IDynamicGlyphFactory
Parameters:
groupId - The groupId (in)
glyphType - A com.esri.arcgis.display.esriDynamicGlyphType constant (in)
index - The index (in)
Returns:
A reference to a com.esri.arcgis.display.IDynamicGlyph
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCreatedDynamicGlyphSize

public void getCreatedDynamicGlyphSize(int glyphType,
                                       int[] sizeX,
                                       int[] sizeY)
                                throws IOException,
                                       AutomationException
Indicates the texture size of the created dynamic glyph.

Remarks

The Created Dynamic Glyph Size values determine the size of the texture that will be created when the CreateDynamicGlyph method will be used. These values need to be a power of two (2, 4, 8, 16, 32, 64, 128, 256, etc). If they are not a power of two, the values will be snapped to the lower power of two values. For example, a value of 33 will be adjusted to be 32.

Product Availability

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

Specified by:
getCreatedDynamicGlyphSize in interface IDynamicGlyphFactory2
Parameters:
glyphType - A com.esri.arcgis.display.esriDynamicGlyphType constant (in)
sizeX - The sizeX (in/out: use single element array)
sizeY - The sizeY (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCreatedDynamicGlyphSize

public void setCreatedDynamicGlyphSize(int glyphType,
                                       int sizeX,
                                       int sizeY)
                                throws IOException,
                                       AutomationException
Indicates the texture size of the created dynamic glyph.

Remarks

The Created Dynamic Glyph Size values determine the size of the texture that will be created when the CreateDynamicGlyph method will be used. These values need to be a power of two (2, 4, 8, 16, 32, 64, 128, 256, etc). If they are not a power of two, the values will be snapped to the lower power of two values. For example, a value of 33 will be adjusted to be 32.

Product Availability

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

Specified by:
setCreatedDynamicGlyphSize in interface IDynamicGlyphFactory2
Parameters:
glyphType - A com.esri.arcgis.display.esriDynamicGlyphType constant (in)
sizeX - The sizeX (in)
sizeY - The sizeY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createDynamicGlyphFromBitmap

public IDynamicGlyph createDynamicGlyphFromBitmap(int glyphType,
                                                  int hBmp,
                                                  boolean preserveAlphaChannel,
                                                  IColor transparencyColor)
                                           throws IOException,
                                                  AutomationException
Create a dynamic glyph from a bitmap handle.

Remarks

Creates a dynamic glyph from a handle to a bitmap. If preserveAlphaChannel parameter is set, the method will honor the alpha values in the alpha channel, otherwise the alpha values will be set to to be opaque (255). If the transparency color parameter is not NULL, each pixel that matches the transparencyColor will be transparent (its alpha values in the glyph will be set to 0).

Product Availability

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

To get a handle to the bitmap (hBmp) you can use RasterPicture::loadPicture() or BasicRasterPicture::loadPicture(). These methods return an IPicture which has a getHandle() method that can be used to get the handle.

Specified by:
createDynamicGlyphFromBitmap in interface IDynamicGlyphFactory2
Parameters:
glyphType - A com.esri.arcgis.display.esriDynamicGlyphType constant (in)
hBmp - The hBmp (A COM typedef) (in)
preserveAlphaChannel - The preserveAlphaChannel (in)
transparencyColor - A reference to a com.esri.arcgis.display.IColor (in)
Returns:
A reference to a com.esri.arcgis.display.IDynamicGlyph
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDynamicGlyph

public IDynamicGlyph getDynamicGlyph(int dynamicSymbolType)
                              throws IOException,
                                     AutomationException
Indicates the dynamic glyph for the specified dynamic symbol.

Product Availability

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

Specified by:
getDynamicGlyph in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
Returns:
A reference to a com.esri.arcgis.display.IDynamicGlyph
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDynamicGlyphByRef

public void setDynamicGlyphByRef(int dynamicSymbolType,
                                 IDynamicGlyph dynamicGlyph)
                          throws IOException,
                                 AutomationException
Indicates the dynamic glyph for the specified dynamic symbol.

Remarks

Dynamic Glyph is a handle to a graphic resource that can be used in order to render the Dynamic Symbol.Use the Dynamic Glyph Factory in order to create and delete Dynamic Glyphs.

Product Availability

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

Specified by:
setDynamicGlyphByRef in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
dynamicGlyph - A reference to a com.esri.arcgis.display.IDynamicGlyph (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getScale

public void getScale(int dynamicSymbolType,
                     float[] scaleX,
                     float[] scaleY)
              throws IOException,
                     AutomationException
Scales the dynamic symbol.

Description

Gets the current relative scale for the specified dynamic symbol (text, marker, line, fill).

Remarks

The scale attribute can be used in order to reuse a glyph, and render it in different sizes, rather than creating a different glyph for each different size. This is recommended in order to minimize graphic resources usage.

Product Availability

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

Specified by:
getScale in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
scaleX - The scaleX (in/out: use single element array)
scaleY - The scaleY (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScale

public void setScale(int dynamicSymbolType,
                     float scaleX,
                     float scaleY)
              throws IOException,
                     AutomationException
Scales the dynamic symbol.

Description

Sets the current relative scale for the specified dynamic symbol (text, marker, line, fill).

Remarks

The scale attribute can be used in order to reuse a glyph, and render it in different sizes, rather than creating a different glyph for each different size. This is recommended in order to minimize graphic resources usage.

Product Availability

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

Specified by:
setScale in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
scaleX - The scaleX (in)
scaleY - The scaleY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getColor

public void getColor(int dynamicSymbolType,
                     float[] red,
                     float[] green,
                     float[] blue,
                     float[] alpha)
              throws IOException,
                     AutomationException
Indicates the color for the specified dynamic symbol.

Remarks

The color attribute can be used in order to reuse a glyph, and render it in different colors, if possible, rather than creating a different glyph for each color. This is recommended in order to minimize graphic resources usage, and is possible with monochromatic symbols.

For monochromatic symbols (symbols that consist of only one color and might even have fixed black pixels), it is advisable to create a white-and-black dynamic glyph, and then set the DynamicSymbol’s color to the desired color. That will result in coloring the white pixels to the desired color, while leaving the black colors black. That method enables you to reuse a white-and-black glyph to draw different colors of the same glyph.

For multicolor symbols (symbols that contain more than just white and black colors in them), it is advisable to create the multicolor glyph, and then set the DynamicSymbol’s color to white. That will result in rendering the original colors of the glyph’s pixels.Use the alpha value in order to affect the Dynamic Symbol’s transparency level.

The target pixel color is being calculated by multiplying the Glyph’s color value with the value of the Color Property. For example - a white opaque color (R=1, G=1, B=1, A=1) will result in rendering the pixels with the original glyph’s color values, with the same transparency level.

Product Availability

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

Specified by:
getColor in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
red - The red (in/out: use single element array)
green - The green (in/out: use single element array)
blue - The blue (in/out: use single element array)
alpha - The alpha (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setColor

public void setColor(int dynamicSymbolType,
                     float red,
                     float green,
                     float blue,
                     float alpha)
              throws IOException,
                     AutomationException
Indicates the color for the specified dynamic symbol.

Remarks

The color attribute can be used in order to reuse a glyph, and render it in different colors, if possible, rather than creating a different glyph for each color. This is recommended in order to minimize graphic resources usage, and is possible with monochromatic symbols.

For monochromatic symbols (symbols that consist of only one color and might even have fixed black pixels), it is advisable to create a white-and-black dynamic glyph, and then set the DynamicSymbol’s color to the desired color. That will result in coloring the white pixels to the desired color, while leaving the black colors black. That method enables you to reuse a white-and-black glyph to draw different colors of the same glyph.

For multicolor symbols (symbols that contain more than just white and black colors in them), it is advisable to create the multicolor glyph, and then set the DynamicSymbol’s color to white. That will result in rendering the original colors of the glyph’s pixels.Use the alpha value in order to affect the Dynamic Symbol’s transparency level.

The target pixel color is being calculated by multiplying the Glyph’s color value with the value of the Color Property. For example - a white opaque color (R=1, G=1, B=1, A=1) will result in rendering the pixels with the original glyph’s color values, with the same transparency level.

Product Availability

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

Specified by:
setColor in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
red - The red (in)
green - The green (in)
blue - The blue (in)
alpha - The alpha (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRotationAlignment

public int getRotationAlignment(int dynamicSymbolType)
                         throws IOException,
                                AutomationException
Indicates the rotation alignment for the specified dynamic symbol.

Product Availability

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

Specified by:
getRotationAlignment in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
Returns:
A com.esri.arcgis.display.esriDynamicSymbolRotationAlignment constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRotationAlignment

public void setRotationAlignment(int dynamicSymbolType,
                                 int dynamicSymbolRotationAlignment)
                          throws IOException,
                                 AutomationException
Indicates the rotation alignment for the specified dynamic symbol.

Product Availability

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

Specified by:
setRotationAlignment in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
dynamicSymbolRotationAlignment - A com.esri.arcgis.display.esriDynamicSymbolRotationAlignment constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHeading

public float getHeading(int dynamicSymbolType)
                 throws IOException,
                        AutomationException
Indicates the heading for the specified dynamic symbol, relative to the rotation alignment.

Product Availability

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

Specified by:
getHeading in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
Returns:
The heading
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHeading

public void setHeading(int dynamicSymbolType,
                       float heading)
                throws IOException,
                       AutomationException
Indicates the heading for the specified dynamic symbol, relative to the rotation alignment.

Product Availability

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

Specified by:
setHeading in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
heading - The heading (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSmooth

public boolean isSmooth(int dynamicSymbolType)
                 throws IOException,
                        AutomationException
Indicates whether the specified dynamic symbol will be smooth.

Product Availability

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

Specified by:
isSmooth in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
Returns:
The smooth
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSmooth

public void setSmooth(int dynamicSymbolType,
                      boolean smooth)
               throws IOException,
                      AutomationException
Indicates whether the specified dynamic symbol will be smooth.

Product Availability

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

Specified by:
setSmooth in interface IDynamicSymbolProperties
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
smooth - The smooth (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextVerticalAlignment

public int getTextVerticalAlignment()
                             throws IOException,
                                    AutomationException
Indicates the vertical alignment for the dynamic text symbol.

Remarks

This property affects the anchor point of the text.

Product Availability

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

Specified by:
getTextVerticalAlignment in interface IDynamicSymbolProperties
Returns:
A com.esri.arcgis.display.esriTextVerticalAlignment constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextVerticalAlignment

public void setTextVerticalAlignment(int verticalAlignment)
                              throws IOException,
                                     AutomationException
Indicates the vertical alignment for the dynamic text symbol.

Remarks

This property affects the anchor point of the text.

Product Availability

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

Specified by:
setTextVerticalAlignment in interface IDynamicSymbolProperties
Parameters:
verticalAlignment - A com.esri.arcgis.display.esriTextVerticalAlignment constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextHorizontalAlignment

public int getTextHorizontalAlignment()
                               throws IOException,
                                      AutomationException
Indicates the horizontal alignment for the dynamic text symbol.

Remarks

This property affects the anchor point of the text.

Product Availability

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

Specified by:
getTextHorizontalAlignment in interface IDynamicSymbolProperties
Returns:
A com.esri.arcgis.display.esriTextHorizontalAlignment constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextHorizontalAlignment

public void setTextHorizontalAlignment(int horizontalAlignment)
                                throws IOException,
                                       AutomationException
Indicates the horizontal alignment for the dynamic text symbol.

Remarks

This property affects the anchor point of the text.

Product Availability

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

Specified by:
setTextHorizontalAlignment in interface IDynamicSymbolProperties
Parameters:
horizontalAlignment - A com.esri.arcgis.display.esriTextHorizontalAlignment constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOffset

public void getOffset(int dynamicSymbolType,
                      float[] offsetX,
                      float[] offsetY)
               throws IOException,
                      AutomationException
Offsets the dynamic symbol.

Product Availability

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

Specified by:
getOffset in interface IDynamicSymbolProperties2
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
offsetX - The offsetX (in/out: use single element array)
offsetY - The offsetY (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOffset

public void setOffset(int dynamicSymbolType,
                      float offsetX,
                      float offsetY)
               throws IOException,
                      AutomationException
Offsets the dynamic symbol.

Product Availability

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

Specified by:
setOffset in interface IDynamicSymbolProperties2
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
offsetX - The offsetX (in)
offsetY - The offsetY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseReferenceScale

public boolean isUseReferenceScale(int dynamicSymbolType)
                            throws IOException,
                                   AutomationException
Indicates whether the specified dynamic symbol will conform to map reference scale.

Product Availability

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

Specified by:
isUseReferenceScale in interface IDynamicSymbolProperties2
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
Returns:
The useReferenceScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseReferenceScale

public void setUseReferenceScale(int dynamicSymbolType,
                                 boolean useReferenceScale)
                          throws IOException,
                                 AutomationException
Indicates whether the specified dynamic symbol will conform to map reference scale.

Product Availability

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

Specified by:
setUseReferenceScale in interface IDynamicSymbolProperties2
Parameters:
dynamicSymbolType - A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
useReferenceScale - The useReferenceScale (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextBoxMargins

public void getTextBoxMargins(float[] left,
                              float[] top,
                              float[] right,
                              float[] bottom)
                       throws IOException,
                              AutomationException
Indicates the text box margins for the dynamic text symbol.

Remarks

The Text Box Margins values, indicates a margin around the text in all four directions.

This also affects the anchor point of the text, along with the TextHorizontalAlignment and TextVerticalAlignment properties.

Product Availability

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

Specified by:
getTextBoxMargins in interface IDynamicSymbolProperties2
Parameters:
left - The left (in/out: use single element array)
top - The top (in/out: use single element array)
right - The right (in/out: use single element array)
bottom - The bottom (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextBoxMargins

public void setTextBoxMargins(float left,
                              float top,
                              float right,
                              float bottom)
                       throws IOException,
                              AutomationException
Indicates the text box margins for the dynamic text symbol.

Remarks

The Text Box Margins values, indicates a margin around the text in all four directions.

This also affects the anchor point of the text, along with the TextHorizontalAlignment and TextVerticalAlignment properties.

Product Availability

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

Specified by:
setTextBoxMargins in interface IDynamicSymbolProperties2
Parameters:
left - The left (in)
top - The top (in)
right - The right (in)
bottom - The bottom (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextBoxHorizontalAlignment

public int getTextBoxHorizontalAlignment()
                                  throws IOException,
                                         AutomationException
Indicates the text box horizontal alignment for the dynamic text symbol.

Remarks

This property controls the Horizontal Alignment of the text inside the text box, while supporting multi lines text (using carriage return on each line end).

Product Availability

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

Specified by:
getTextBoxHorizontalAlignment in interface IDynamicSymbolProperties2
Returns:
A com.esri.arcgis.display.esriTextHorizontalAlignment constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextBoxHorizontalAlignment

public void setTextBoxHorizontalAlignment(int textBoxHorizontalAlignment)
                                   throws IOException,
                                          AutomationException
Indicates the text box horizontal alignment for the dynamic text symbol.

Remarks

This property controls the Horizontal Alignment of the text inside the text box, while supporting multi lines text (using carriage return on each line end).

Product Availability

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

Specified by:
setTextBoxHorizontalAlignment in interface IDynamicSymbolProperties2
Parameters:
textBoxHorizontalAlignment - A com.esri.arcgis.display.esriTextHorizontalAlignment constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isTextBoxUseDynamicFillSymbol

public boolean isTextBoxUseDynamicFillSymbol()
                                      throws IOException,
                                             AutomationException
Indicates whether to use the dynamic fill symbol when drawing the text.

Remarks

When true, text will be rendered with a background Fill, using the current internal Dynamic Fill Symbol State.

When false, text will be rendered with no background Fill.

Product Availability

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

Specified by:
isTextBoxUseDynamicFillSymbol in interface IDynamicSymbolProperties2
Returns:
The use
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextBoxUseDynamicFillSymbol

public void setTextBoxUseDynamicFillSymbol(boolean use)
                                    throws IOException,
                                           AutomationException
Indicates whether to use the dynamic fill symbol when drawing the text.

Remarks

When true, text will be rendered with a background Fill, using the current internal Dynamic Fill Symbol State.

When false, text will be rendered with no background Fill.

Product Availability

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

Specified by:
setTextBoxUseDynamicFillSymbol in interface IDynamicSymbolProperties2
Parameters:
use - The use (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isTextBoxUseDynamicLineSymbol

public boolean isTextBoxUseDynamicLineSymbol()
                                      throws IOException,
                                             AutomationException
Indicates whether to use the dynamic line symbol when drawing the text.

Remarks

When true, text will be rendered with an outline around the text box, using the current internal Dynamic Line Symbol State.

When false, text will be rendered with no outline around the text box.

Product Availability

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

Specified by:
isTextBoxUseDynamicLineSymbol in interface IDynamicSymbolProperties2
Returns:
The use
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextBoxUseDynamicLineSymbol

public void setTextBoxUseDynamicLineSymbol(boolean use)
                                    throws IOException,
                                           AutomationException
Indicates whether to use the dynamic line symbol when drawing the text.

Remarks

When true, text will be rendered with an outline around the text box, using the current internal Dynamic Line Symbol State.

When false, text will be rendered with no outline around the text box.

Product Availability

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

Specified by:
setTextBoxUseDynamicLineSymbol in interface IDynamicSymbolProperties2
Parameters:
use - The use (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextLeading

public float getTextLeading()
                     throws IOException,
                            AutomationException
Indicates the text leading for the dynamic text symbol.

Remarks

Text Leading specifies the spacing in pixels, between the multiple lines of a text box, when drawing text.

Product Availability

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

Specified by:
getTextLeading in interface IDynamicSymbolProperties2
Returns:
The leading
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextLeading

public void setTextLeading(float leading)
                    throws IOException,
                           AutomationException
Indicates the text leading for the dynamic text symbol.

Remarks

Text Leading specifies the spacing in pixels, between the multiple lines of a text box, when drawing text.

Product Availability

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

Specified by:
setTextLeading in interface IDynamicSymbolProperties2
Parameters:
leading - The leading (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextCharacterSpacing

public float getTextCharacterSpacing()
                              throws IOException,
                                     AutomationException
Indicates an additional space that is added to each character beyond what is defined by its character box in the TextGlyph.

Product Availability

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

Specified by:
getTextCharacterSpacing in interface IDynamicSymbolProperties2
Returns:
The characterSpacing
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextCharacterSpacing

public void setTextCharacterSpacing(float characterSpacing)
                             throws IOException,
                                    AutomationException
Indicates an additional space that is added to each character beyond what is defined by its character box in the TextGlyph.

Product Availability

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

Specified by:
setTextCharacterSpacing in interface IDynamicSymbolProperties2
Parameters:
characterSpacing - The characterSpacing (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextWordSpacing

public float getTextWordSpacing()
                         throws IOException,
                                AutomationException
Indicates an additional space that is added between words of the text string.

Product Availability

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

Specified by:
getTextWordSpacing in interface IDynamicSymbolProperties2
Returns:
The wordSpacing
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextWordSpacing

public void setTextWordSpacing(float wordSpacing)
                        throws IOException,
                               AutomationException
Indicates an additional space that is added between words of the text string.

Product Availability

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

Specified by:
setTextWordSpacing in interface IDynamicSymbolProperties2
Parameters:
wordSpacing - The wordSpacing (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isTextRightToLeft

public boolean isTextRightToLeft()
                          throws IOException,
                                 AutomationException
Indicates whether the text is drawn from right to left for the dynamic text symbol.

Remarks

RightToLeft defines whether the text is to be displayed in a right to left manner. The default value is false, meaning Left To Right manner.

Product Availability

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

Specified by:
isTextRightToLeft in interface IDynamicSymbolProperties2
Returns:
The rightToLeft
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextRightToLeft

public void setTextRightToLeft(boolean rightToLeft)
                        throws IOException,
                               AutomationException
Indicates whether the text is drawn from right to left for the dynamic text symbol.

Remarks

RightToLeft defines whether the text is to be displayed in a right to left manner. The default value is false, meaning Left To Right manner.

Product Availability

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

Specified by:
setTextRightToLeft in interface IDynamicSymbolProperties2
Parameters:
rightToLeft - The rightToLeft (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextSize

public void getTextSize(String text,
                        float[] sizeX,
                        float[] sizeY)
                 throws IOException,
                        AutomationException
The text size in pixel screen coordinates.

Remarks

Returns the size of a given text, according to the current state of the internal Dynamic Symbols.

Product Availability

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

Specified by:
getTextSize in interface IDynamicSymbolProperties2
Parameters:
text - The text (in)
sizeX - The sizeX (in/out: use single element array)
sizeY - The sizeY (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLineContinuePattern

public void setLineContinuePattern(boolean continuePattern)
                            throws IOException,
                                   AutomationException
Indicates whether the line pattern is continued or restarted, for multi parts lines drawing.

Remarks

Taking drawing a polyline as an example, if you need to render a continuous pattern, and can’t have the pattern restarted in each of the polyline’s vertices, you should set this property to true.

Product Availability

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

Specified by:
setLineContinuePattern in interface IDynamicSymbolProperties2
Parameters:
continuePattern - The continuePattern (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isLineContinuePattern

public boolean isLineContinuePattern()
                              throws IOException,
                                     AutomationException
Indicates whether the line pattern is continued or restarted, for multi parts lines drawing.

Remarks

Taking drawing a polyline as an example, if you need to render a continuous pattern, and can’t have the pattern restarted in each of the polyline’s vertices, you should set this property to true.

Product Availability

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

Specified by:
isLineContinuePattern in interface IDynamicSymbolProperties2
Returns:
The continuePattern
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMarkerToTextOffset

public void getMarkerToTextOffset(float[] xOffset,
                                  float[] yOffset)
                           throws IOException,
                                  AutomationException
The offset of the text from the marker in pixels.

Remarks

Offset is the distance between the marker and the text labels.
X refers to the left and right offsets. Y refers to the top and bottom offsets.

Product Availability

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

Specified by:
getMarkerToTextOffset in interface IDynamicCompoundMarker
Parameters:
xOffset - The xOffset (in/out: use single element array)
yOffset - The yOffset (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMarkerToTextOffset

public void setMarkerToTextOffset(float xOffset,
                                  float yOffset)
                           throws IOException,
                                  AutomationException
The offset of the text from the marker in pixels.

Remarks

Offset is the distance between the marker and the text labels.
X refers to the left and right offsets. Y refers to the top and bottom offsets.

Product Availability

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

Specified by:
setMarkerToTextOffset in interface IDynamicCompoundMarker
Parameters:
xOffset - The xOffset (in)
yOffset - The yOffset (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawCompoundMarker1

public void drawCompoundMarker1(IPoint point,
                                String textTop)
                         throws IOException,
                                AutomationException
Draws specified point on the dynamic display with one string above it.

Remarks

Draws a marker with a text label on top

Product Availability

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

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

drawCompoundMarker2

public void drawCompoundMarker2(IPoint point,
                                String textTop,
                                String textBottom)
                         throws IOException,
                                AutomationException
Draws specified point on the dynamic display with a string above and below.

Remarks

Draws a marker with 2 text labels: 1-top and 1-bottom

Product Availability

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

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

drawCompoundMarker4

public void drawCompoundMarker4(IPoint point,
                                String textTop,
                                String textBottom,
                                String textLeft,
                                String textRight)
                         throws IOException,
                                AutomationException
Draws specified point on the dynamic display with a text string on each side of the marker (top, bottom, left and right).

Remarks

Draws a marker with 4 text labels: 1-top, 1-bottom, 1-left, 1-right

Product Availability

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

Specified by:
drawCompoundMarker4 in interface IDynamicCompoundMarker
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
textTop - The textTop (in)
textBottom - The textBottom (in)
textLeft - The textLeft (in)
textRight - The textRight (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawCompoundMarker6

public void drawCompoundMarker6(IPoint point,
                                String textTop,
                                String textBottom,
                                String textLeft1,
                                String textLeft2,
                                String textRight1,
                                String textRight2)
                         throws IOException,
                                AutomationException
Draws specified point on the dynamic display with one string on the top of the marker, one string on the bottom and two strings on each side of the marker (left and right).

Remarks

Draws a marker with 6 text labels: 1-top, 1-bottom, 2-left, 2-right

Product Availability

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

Specified by:
drawCompoundMarker6 in interface IDynamicCompoundMarker
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
textTop - The textTop (in)
textBottom - The textBottom (in)
textLeft1 - The textLeft1 (in)
textLeft2 - The textLeft2 (in)
textRight1 - The textRight1 (in)
textRight2 - The textRight2 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawCompoundMarker8

public void drawCompoundMarker8(IPoint point,
                                String textTop,
                                String textBottom,
                                String textLeft1,
                                String textLeft2,
                                String textLeft3,
                                String textRight1,
                                String textRight2,
                                String textRight3)
                         throws IOException,
                                AutomationException
Draws specified point on the dynamic display with one string on the top of the marker, one string on the bottom and three strings on each side of the marker (left and right).

Remarks

Draws a marker with 8 text labels: 1-top, 1-bottom, 3-left, 3-right

Product Availability

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

Specified by:
drawCompoundMarker8 in interface IDynamicCompoundMarker
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
textTop - The textTop (in)
textBottom - The textBottom (in)
textLeft1 - The textLeft1 (in)
textLeft2 - The textLeft2 (in)
textLeft3 - The textLeft3 (in)
textRight1 - The textRight1 (in)
textRight2 - The textRight2 (in)
textRight3 - The textRight3 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawCompoundMarker10

public void drawCompoundMarker10(IPoint point,
                                 String textTop,
                                 String textBottom,
                                 String textLeft1,
                                 String textLeft2,
                                 String textLeft3,
                                 String textLeft4,
                                 String textRight1,
                                 String textRight2,
                                 String textRight3,
                                 String textRight4)
                          throws IOException,
                                 AutomationException
Draws specified point on the dynamic display with one string on the top of the marker, one string on the bottom and four strings on each side of the marker (left and right).

Remarks

Draws a marker with 10 text labels: 1-top, 1-bottom, 4-left, 4-right

Product Availability

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

Specified by:
drawCompoundMarker10 in interface IDynamicCompoundMarker
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
textTop - The textTop (in)
textBottom - The textBottom (in)
textLeft1 - The textLeft1 (in)
textLeft2 - The textLeft2 (in)
textLeft3 - The textLeft3 (in)
textLeft4 - The textLeft4 (in)
textRight1 - The textRight1 (in)
textRight2 - The textRight2 (in)
textRight3 - The textRight3 (in)
textRight4 - The textRight4 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMarkerToTextOffset2

public void getMarkerToTextOffset2(float[] markerToTop,
                                   float[] markerToBottom,
                                   float[] markerToLeft,
                                   float[] markerToRight)
                            throws IOException,
                                   AutomationException
Indicates the offset of the text from the marker on each direction.

Remarks

Offset is the distance between the marker and the text labels, in each of the four directions—top, bottom, left, right.

Each text label gets an offset according to its region: top, bottom, left, right. The center text labels remain without an offset.

Product Availability

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

Specified by:
getMarkerToTextOffset2 in interface IDynamicCompoundMarker2
Parameters:
markerToTop - The markerToTop (in/out: use single element array)
markerToBottom - The markerToBottom (in/out: use single element array)
markerToLeft - The markerToLeft (in/out: use single element array)
markerToRight - The markerToRight (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMarkerToTextOffset2

public void setMarkerToTextOffset2(float markerToTop,
                                   float markerToBottom,
                                   float markerToLeft,
                                   float markerToRight)
                            throws IOException,
                                   AutomationException
Indicates the offset of the text from the marker on each direction.

Remarks

Offset is the distance between the marker and the text labels, in each of the four directions – top, bottom, left, right.
Each text label gets an offset according to its region: top, bottom, left, right. The center text labels remain without an offset.

Product Availability

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

Specified by:
setMarkerToTextOffset2 in interface IDynamicCompoundMarker2
Parameters:
markerToTop - The markerToTop (in)
markerToBottom - The markerToBottom (in)
markerToLeft - The markerToLeft (in)
markerToRight - The markerToRight (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextSpacing

public void getTextSpacing(float[] textSpacingX,
                           float[] textSpacingY)
                    throws IOException,
                           AutomationException
Indicates the spacing between each two adjacent text boxes.

Remarks

Text spacing is the spacing between the text labels in each region (center, top, bottom, left, right). Y is the vertical spacing between each two adjacent text labels in a column. X is the horizontal spacing between each two columns of the same region.

Product Availability

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

Specified by:
getTextSpacing in interface IDynamicCompoundMarker2
Parameters:
textSpacingX - The textSpacingX (in/out: use single element array)
textSpacingY - The textSpacingY (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextSpacing

public void setTextSpacing(float textSpacingX,
                           float textSpacingY)
                    throws IOException,
                           AutomationException
Indicates the spacing between each two adjacent text boxes.

Remarks

Text spacing is the spacing between the text labels in each region (center, top, bottom, left, right). Y is the vertical spacing between each two adjacent text labels in a column. X is the horizontal spacing between each two columns of the same region.

Product Availability

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

Specified by:
setTextSpacing in interface IDynamicCompoundMarker2
Parameters:
textSpacingX - The textSpacingX (in)
textSpacingY - The textSpacingY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isTextAutoAdjust

public boolean isTextAutoAdjust()
                         throws IOException,
                                AutomationException
Indicates whether the text boxes are to be auto ajdusted.

Remarks

When TextAutoAdjust is set to true, the text labels along with their text boxes, are realigned so that they will not overlap.

Product Availability

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

Specified by:
isTextAutoAdjust in interface IDynamicCompoundMarker2
Returns:
The autoAdjust
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextAutoAdjust

public void setTextAutoAdjust(boolean autoAdjust)
                       throws IOException,
                              AutomationException
Indicates whether the text boxes are to be auto ajdusted.

Remarks

When TextAutoAdjust is set to true, the text labels along with their text boxes, are realigned so that they will not overlap.

Product Availability

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

Specified by:
setTextAutoAdjust in interface IDynamicCompoundMarker2
Parameters:
autoAdjust - The autoAdjust (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawArrayMarker

public void drawArrayMarker(IPoint point,
                            String[] textCenter,
                            String[] textLeft,
                            String[] textRight,
                            String[] textTop,
                            String[] textBottom)
                     throws IOException,
                            AutomationException
Draws a marker in a specific point on the map with text matricies around it.

Remarks

Draws an array of text labels column on each of the five marker’s regions: center, left, right, top, bottom. The location of the marker is given in map coordinates.

Product Availability

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

Specified by:
drawArrayMarker in interface IDynamicCompoundMarker2
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
textCenter - The textCenter (in)
textLeft - The textLeft (in)
textRight - The textRight (in)
textTop - The textTop (in)
textBottom - The textBottom (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawScreenArrayMarker

public void drawScreenArrayMarker(IPoint point,
                                  String[] textCenter,
                                  String[] textLeft,
                                  String[] textRight,
                                  String[] textTop,
                                  String[] textBottom)
                           throws IOException,
                                  AutomationException
Draws a marker in a specific point on the screen with text matricies around it.

Remarks

Draw an array of text labels column on each of the five marker’s regions: center, left, right, top, bottom. The location of the marker is given in screen (pixel) coordinates. 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 up.

Product Availability

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

Specified by:
drawScreenArrayMarker in interface IDynamicCompoundMarker2
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
textCenter - The textCenter (in)
textLeft - The textLeft (in)
textRight - The textRight (in)
textTop - The textTop (in)
textBottom - The textBottom (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

enumConnectionPoints

public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
                          throws IOException,
                                 AutomationException
enumConnectionPoints

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
enumConnectionPoints in interface IConnectionPointContainer
Parameters:
ppEnum - A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findConnectionPoint

public void findConnectionPoint(GUID riid,
                                IConnectionPoint[] ppCP)
                         throws IOException,
                                AutomationException
findConnectionPoint

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findConnectionPoint in interface IConnectionPointContainer
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
ppCP - A reference to a com.esri.arcgis.display.IConnectionPoint (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

contentsChanged

public void contentsChanged(IActiveViewEventsContentsChangedEvent theEvent)
                     throws IOException,
                            AutomationException
Fired when the contents of the view changes.

Remarks

The Map object fires this event when a new document is loaded. Adding a new layer to a Map does not trigger this event.

The PageLayout object fires the event when IGraphicsContainer::DeleteAllElements in called and when a new document is loaded.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
contentsChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IActiveView.contentsChanged()

contentsCleared

public void contentsCleared(IActiveViewEventsContentsClearedEvent theEvent)
                     throws IOException,
                            AutomationException
Fired when the contents of the view is cleared.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
contentsCleared in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

itemAdded

public void itemAdded(IActiveViewEventsItemAddedEvent theEvent)
               throws IOException,
                      AutomationException
Fired when an item is added to the view.

Remarks

The Map fires the event every time a new layer is added.

The PageLayout fires this event whenever a new element is added to the layout. Elements include not only graphics but data frames as well.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
itemAdded in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

itemDeleted

public void itemDeleted(IActiveViewEventsItemDeletedEvent theEvent)
                 throws IOException,
                        AutomationException
Fired when an item is deleted from the view.

Remarks

The PageLayout object fires this event whenever elements are deleted from the layout.

The Map object fires this event when a layer is removed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
itemDeleted in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

itemReordered

public void itemReordered(IActiveViewEventsItemReorderedEvent theEvent)
                   throws IOException,
                          AutomationException
Fired when a view item is reordered.

Remarks

The Map objects only fire this event whenever IMap::MoveLayer is called. In the ArcMap application, this occurs when you reorder layers in the table of contents. The Map will also fire this event when new layers are added.

The PageLayout object fires this event when changing the order of graphics. For example, IGraphicsContainer::BringToFront, PutElementOrder, SendToBack, SendBackward, and BringForward all fire this event. These functions are on ArcMap's Drawing menu under the Order pull right menu. Although the Map object is also a graphics container, it does not fire this event when its graphics are reordered.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
itemReordered in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectionChanged

public void selectionChanged(IActiveViewEventsSelectionChangedEvent theEvent)
                      throws IOException,
                             AutomationException
Call this function to fire the selection changed event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectionChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

viewRefreshed

public void viewRefreshed(IActiveViewEventsViewRefreshedEvent theEvent)
                   throws IOException,
                          AutomationException
Fired when view is refreshed before draw happens.

Description

Method that gets fired in response to IActiveView::Refresh and IActiveView::PartialRefresh.

Remarks

This event is useful in the case where you're watching for something to change in the view and there aren't any specific events for that change (e.g. ContentsChanged, ItemAdded). You can always listen for this method as a last resort. Care must be taken however to be very efficient in your implementation of this event because it will be called quite often.

The event parameters directly coincide with the arguments to IActiveView::PartialRefresh. For additional information about the arguments, see the help for that method.

If the event object connects to both the layout and a map, then the view parameter tells you which object initiated the event.

In an implementation of this method you typically want to check the phase and respond to only one. Otherwise, your code will execute multiple times per drawing sequence.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
viewRefreshed in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

afterDraw

public void afterDraw(IActiveViewEventsAfterDrawEvent theEvent)
               throws IOException,
                      AutomationException
Fired after the specified phase is drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
afterDraw in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

afterItemDraw

public void afterItemDraw(IActiveViewEventsAfterItemDrawEvent theEvent)
                   throws IOException,
                          AutomationException
Fired after an individual view item is drawn. Example: view items include layers in a map or elements in a page layout.

Remarks

AfterItemDraw can be used to execute after each individual item has drawn. Event firing can be an expensive operation (time consuming) when there are many layers in a map, however. As a result, the AfterItemDraw event is only fired when the IViewManger::VerboseEvents property is set to True. By default this property is False.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
afterItemDraw in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

focusMapChanged

public void focusMapChanged(IActiveViewEventsFocusMapChangedEvent theEvent)
                     throws IOException,
                            AutomationException
Fired when a new map is made active.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
focusMapChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

spatialReferenceChanged

public void spatialReferenceChanged(IActiveViewEventsSpatialReferenceChangedEvent theEvent)
                             throws IOException,
                                    AutomationException
Fired when the spatial reference is changed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
spatialReferenceChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

boundsUpdated

public void boundsUpdated(ITransformEventsBoundsUpdatedEvent theEvent)
                   throws IOException,
                          AutomationException
Notifies clients when the bounds is updated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
boundsUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

visibleBoundsUpdated

public void visibleBoundsUpdated(ITransformEventsVisibleBoundsUpdatedEvent theEvent)
                          throws IOException,
                                 AutomationException
Notifies clients when the visible bounds is updated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
visibleBoundsUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deviceFrameUpdated

public void deviceFrameUpdated(ITransformEventsDeviceFrameUpdatedEvent theEvent)
                        throws IOException,
                               AutomationException
Notifies clients when the device frame is updated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deviceFrameUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

resolutionUpdated

public void resolutionUpdated(ITransformEventsResolutionUpdatedEvent theEvent)
                       throws IOException,
                              AutomationException
Notifies clients when the resolution is updated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
resolutionUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotationUpdated

public void rotationUpdated(ITransformEventsRotationUpdatedEvent theEvent)
                     throws IOException,
                            AutomationException
Notifies clients when the rotation angle is updated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotationUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unitsUpdated

public void unitsUpdated(ITransformEventsUnitsUpdatedEvent theEvent)
                  throws IOException,
                         AutomationException
Notifies clients when the units are updated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
unitsUpdated in interface ITransformEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.