|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.carto.DynamicDisplay
public class DynamicDisplay
Dynamic display class, used by the dynamic map.
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 |
---|
public DynamicDisplay(Object obj) throws IOException
obj
to DynamicDisplay
. *
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
IOException
- if there are interop problems
DynamicDisplay theDynamicDisplay = (DynamicDisplay) obj;
Method Detail |
---|
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public IDynamicGlyphFactory getDynamicGlyphFactory() throws IOException, AutomationException
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.
getDynamicGlyphFactory
in interface IDynamicDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawMultipleMarkers(IPointCollection pointCollection) throws IOException, AutomationException
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.
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
drawMultipleMarkers
in interface IDynamicDisplay
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawMarker(IPoint point) throws IOException, AutomationException
The marker will be rendered according to the current Dynamic Marker Symbol attributes, as described in esriDynamicSymbolType constants.
drawMarker
in interface IDynamicDisplay
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawPolygon(IPointCollection pointCollection) throws IOException, AutomationException
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
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.
drawPolygon
in interface IDynamicDisplay
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawMultipleLines(IPointCollection pointCollection) throws IOException, AutomationException
The lines will be rendered according to the current Dynamc Line Symbol attributes, as described in esriDynamicSymbolType constants.
drawMultipleLines
in interface IDynamicDisplay
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawLine(IPoint startPoint, IPoint endPoint) throws IOException, AutomationException
The line will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.
drawLine
in interface IDynamicDisplay
startPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)endPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawPolyline(IPointCollection pointCollection) throws IOException, AutomationException
The lines will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.
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
drawPolyline
in interface IDynamicDisplay
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawRectangle(IEnvelope envelope) throws IOException, AutomationException
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.
drawRectangle
in interface IDynamicDisplay
envelope
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawText(IPoint point, String text) throws IOException, AutomationException
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.
drawText
in interface IDynamicDisplay
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)text
- The text (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isSupportStaticDrawing() throws IOException, AutomationException
isSupportStaticDrawing
in interface IDynamicDisplay2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSupportStaticDrawing(boolean staticDrawing) throws IOException, AutomationException
setSupportStaticDrawing
in interface IDynamicDisplay2
staticDrawing
- The staticDrawing (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IArray locate(int xView, int yView, int selectionMode, Object data) throws IOException, AutomationException
locate
in interface IDynamicDisplay2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSelectionIdentifier() throws IOException, AutomationException
getSelectionIdentifier
in interface IDynamicDisplay2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void insertDynamicDrawing(IDynamicDrawing pDynamicDrawing, int lPosition) throws IOException, AutomationException
insertDynamicDrawing
in interface IDynamicDisplay2
pDynamicDrawing
- A reference to a com.esri.arcgis.display.IDynamicDrawing (in)lPosition
- The lPosition (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteDynamicDrawing(IDynamicDrawing pDynamicDrawing) throws IOException, AutomationException
deleteDynamicDrawing
in interface IDynamicDisplay2
pDynamicDrawing
- A reference to a com.esri.arcgis.display.IDynamicDrawing (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenMultipleMarkers(IPointCollection pointCollection) throws IOException, AutomationException
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.
drawScreenMultipleMarkers
in interface IDynamicDrawScreen
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenMarker(IPoint point) throws IOException, AutomationException
The marker will be rendered according to the currentDynamic Marker Symbol attributes, as described in esriDynamicSymbolType constants.
drawScreenMarker
in interface IDynamicDrawScreen
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenPolygon(IPointCollection pointCollection) throws IOException, AutomationException
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.
drawScreenPolygon
in interface IDynamicDrawScreen
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenMultipleLines(IPointCollection pointCollection) throws IOException, AutomationException
The lines will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.
drawScreenMultipleLines
in interface IDynamicDrawScreen
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenLine(IPoint startPoint, IPoint endPoint) throws IOException, AutomationException
The line will be rendered according to the current Dynamic Line Symbol attributes, as described in esriDynamicSymbolType constants.
drawScreenLine
in interface IDynamicDrawScreen
startPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)endPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenPolyline(IPointCollection pointCollection) throws IOException, AutomationException
The lines will be rendered according to the current Dynamic Line Symbol attributes as described in esriDynamicSymbolType constants.
drawScreenPolyline
in interface IDynamicDrawScreen
pointCollection
- A reference to a com.esri.arcgis.geometry.IPointCollection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenRectangle(IEnvelope envelope) throws IOException, AutomationException
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.
drawScreenRectangle
in interface IDynamicDrawScreen
envelope
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenText(IPoint point, String text) throws IOException, AutomationException
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.
drawScreenText
in interface IDynamicDrawScreen
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)text
- The text (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void init(IScreenDisplay screenDisplay) throws IOException, AutomationException
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.
init
in interface IDynamicGlyphFactory
screenDisplay
- A reference to a com.esri.arcgis.display.IScreenDisplay (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDynamicGlyph createDynamicGlyph(ISymbol symbol) throws IOException, AutomationException
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.
createDynamicGlyph
in interface IDynamicGlyphFactory
symbol
- A reference to a com.esri.arcgis.display.ISymbol (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteDynamicGlyph(IDynamicGlyph glyph) throws IOException, AutomationException
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.
deleteDynamicGlyph
in interface IDynamicGlyphFactory
glyph
- A reference to a com.esri.arcgis.display.IDynamicGlyph (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDynamicGlyph createDynamicGlyphFromFile(int glyphType, String fileName, IColor transparencyColor) throws IOException, AutomationException
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).
createDynamicGlyphFromFile
in interface IDynamicGlyphFactory
glyphType
- A com.esri.arcgis.display.esriDynamicGlyphType constant (in)fileName
- The fileName (in)transparencyColor
- A reference to a com.esri.arcgis.display.IColor (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int loadDynamicGlyphsGroup(String fileName) throws IOException, AutomationException
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.
loadDynamicGlyphsGroup
in interface IDynamicGlyphFactory
fileName
- The fileName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void unloadDynamicGlyphsGroup(int groupId) throws IOException, AutomationException
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.
unloadDynamicGlyphsGroup
in interface IDynamicGlyphFactory
groupId
- The groupId (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDynamicGlyph getDynamicGlyph(int groupId, int glyphType, int index) throws IOException, AutomationException
getDynamicGlyph
in interface IDynamicGlyphFactory
groupId
- The groupId (in)glyphType
- A com.esri.arcgis.display.esriDynamicGlyphType constant (in)index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getCreatedDynamicGlyphSize(int glyphType, int[] sizeX, int[] sizeY) throws IOException, AutomationException
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.
getCreatedDynamicGlyphSize
in interface IDynamicGlyphFactory2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setCreatedDynamicGlyphSize(int glyphType, int sizeX, int sizeY) throws IOException, AutomationException
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.
setCreatedDynamicGlyphSize
in interface IDynamicGlyphFactory2
glyphType
- A com.esri.arcgis.display.esriDynamicGlyphType constant (in)sizeX
- The sizeX (in)sizeY
- The sizeY (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDynamicGlyph createDynamicGlyphFromBitmap(int glyphType, int hBmp, boolean preserveAlphaChannel, IColor transparencyColor) throws IOException, AutomationException
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).
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.
createDynamicGlyphFromBitmap
in interface IDynamicGlyphFactory2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDynamicGlyph getDynamicGlyph(int dynamicSymbolType) throws IOException, AutomationException
getDynamicGlyph
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDynamicGlyphByRef(int dynamicSymbolType, IDynamicGlyph dynamicGlyph) throws IOException, AutomationException
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.
setDynamicGlyphByRef
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)dynamicGlyph
- A reference to a com.esri.arcgis.display.IDynamicGlyph (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getScale(int dynamicSymbolType, float[] scaleX, float[] scaleY) throws IOException, AutomationException
Gets the current relative scale for the specified dynamic symbol (text, marker, line, fill).
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.
getScale
in interface IDynamicSymbolProperties
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setScale(int dynamicSymbolType, float scaleX, float scaleY) throws IOException, AutomationException
Sets the current relative scale for the specified dynamic symbol (text, marker, line, fill).
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.
setScale
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)scaleX
- The scaleX (in)scaleY
- The scaleY (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getColor(int dynamicSymbolType, float[] red, float[] green, float[] blue, float[] alpha) throws IOException, AutomationException
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.
getColor
in interface IDynamicSymbolProperties
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setColor(int dynamicSymbolType, float red, float green, float blue, float alpha) throws IOException, AutomationException
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.
setColor
in interface IDynamicSymbolProperties
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getRotationAlignment(int dynamicSymbolType) throws IOException, AutomationException
getRotationAlignment
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRotationAlignment(int dynamicSymbolType, int dynamicSymbolRotationAlignment) throws IOException, AutomationException
setRotationAlignment
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)dynamicSymbolRotationAlignment
- A com.esri.arcgis.display.esriDynamicSymbolRotationAlignment constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public float getHeading(int dynamicSymbolType) throws IOException, AutomationException
getHeading
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setHeading(int dynamicSymbolType, float heading) throws IOException, AutomationException
setHeading
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)heading
- The heading (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isSmooth(int dynamicSymbolType) throws IOException, AutomationException
isSmooth
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSmooth(int dynamicSymbolType, boolean smooth) throws IOException, AutomationException
setSmooth
in interface IDynamicSymbolProperties
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)smooth
- The smooth (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTextVerticalAlignment() throws IOException, AutomationException
This property affects the anchor point of the text.
getTextVerticalAlignment
in interface IDynamicSymbolProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextVerticalAlignment(int verticalAlignment) throws IOException, AutomationException
This property affects the anchor point of the text.
setTextVerticalAlignment
in interface IDynamicSymbolProperties
verticalAlignment
- A com.esri.arcgis.display.esriTextVerticalAlignment constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTextHorizontalAlignment() throws IOException, AutomationException
This property affects the anchor point of the text.
getTextHorizontalAlignment
in interface IDynamicSymbolProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextHorizontalAlignment(int horizontalAlignment) throws IOException, AutomationException
This property affects the anchor point of the text.
setTextHorizontalAlignment
in interface IDynamicSymbolProperties
horizontalAlignment
- A com.esri.arcgis.display.esriTextHorizontalAlignment constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getOffset(int dynamicSymbolType, float[] offsetX, float[] offsetY) throws IOException, AutomationException
getOffset
in interface IDynamicSymbolProperties2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setOffset(int dynamicSymbolType, float offsetX, float offsetY) throws IOException, AutomationException
setOffset
in interface IDynamicSymbolProperties2
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)offsetX
- The offsetX (in)offsetY
- The offsetY (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isUseReferenceScale(int dynamicSymbolType) throws IOException, AutomationException
isUseReferenceScale
in interface IDynamicSymbolProperties2
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setUseReferenceScale(int dynamicSymbolType, boolean useReferenceScale) throws IOException, AutomationException
setUseReferenceScale
in interface IDynamicSymbolProperties2
dynamicSymbolType
- A com.esri.arcgis.display.esriDynamicSymbolType constant (in)useReferenceScale
- The useReferenceScale (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getTextBoxMargins(float[] left, float[] top, float[] right, float[] bottom) throws IOException, AutomationException
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.
getTextBoxMargins
in interface IDynamicSymbolProperties2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextBoxMargins(float left, float top, float right, float bottom) throws IOException, AutomationException
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.
setTextBoxMargins
in interface IDynamicSymbolProperties2
left
- The left (in)top
- The top (in)right
- The right (in)bottom
- The bottom (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTextBoxHorizontalAlignment() throws IOException, AutomationException
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).
getTextBoxHorizontalAlignment
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextBoxHorizontalAlignment(int textBoxHorizontalAlignment) throws IOException, AutomationException
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).
setTextBoxHorizontalAlignment
in interface IDynamicSymbolProperties2
textBoxHorizontalAlignment
- A com.esri.arcgis.display.esriTextHorizontalAlignment constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isTextBoxUseDynamicFillSymbol() throws IOException, AutomationException
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.
isTextBoxUseDynamicFillSymbol
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextBoxUseDynamicFillSymbol(boolean use) throws IOException, AutomationException
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.
setTextBoxUseDynamicFillSymbol
in interface IDynamicSymbolProperties2
use
- The use (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isTextBoxUseDynamicLineSymbol() throws IOException, AutomationException
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.
isTextBoxUseDynamicLineSymbol
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextBoxUseDynamicLineSymbol(boolean use) throws IOException, AutomationException
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.
setTextBoxUseDynamicLineSymbol
in interface IDynamicSymbolProperties2
use
- The use (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public float getTextLeading() throws IOException, AutomationException
Text Leading specifies the spacing in pixels, between the multiple lines of a text box, when drawing text.
getTextLeading
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextLeading(float leading) throws IOException, AutomationException
Text Leading specifies the spacing in pixels, between the multiple lines of a text box, when drawing text.
setTextLeading
in interface IDynamicSymbolProperties2
leading
- The leading (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public float getTextCharacterSpacing() throws IOException, AutomationException
getTextCharacterSpacing
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextCharacterSpacing(float characterSpacing) throws IOException, AutomationException
setTextCharacterSpacing
in interface IDynamicSymbolProperties2
characterSpacing
- The characterSpacing (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public float getTextWordSpacing() throws IOException, AutomationException
getTextWordSpacing
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextWordSpacing(float wordSpacing) throws IOException, AutomationException
setTextWordSpacing
in interface IDynamicSymbolProperties2
wordSpacing
- The wordSpacing (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isTextRightToLeft() throws IOException, AutomationException
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.
isTextRightToLeft
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextRightToLeft(boolean rightToLeft) throws IOException, AutomationException
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.
setTextRightToLeft
in interface IDynamicSymbolProperties2
rightToLeft
- The rightToLeft (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getTextSize(String text, float[] sizeX, float[] sizeY) throws IOException, AutomationException
Returns the size of a given text, according to the current state of the internal Dynamic Symbols.
getTextSize
in interface IDynamicSymbolProperties2
text
- The text (in)sizeX
- The sizeX (in/out: use single element array)sizeY
- The sizeY (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setLineContinuePattern(boolean continuePattern) throws IOException, AutomationException
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.
setLineContinuePattern
in interface IDynamicSymbolProperties2
continuePattern
- The continuePattern (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isLineContinuePattern() throws IOException, AutomationException
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.
isLineContinuePattern
in interface IDynamicSymbolProperties2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getMarkerToTextOffset(float[] xOffset, float[] yOffset) throws IOException, AutomationException
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.
getMarkerToTextOffset
in interface IDynamicCompoundMarker
xOffset
- The xOffset (in/out: use single element array)yOffset
- The yOffset (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMarkerToTextOffset(float xOffset, float yOffset) throws IOException, AutomationException
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.
setMarkerToTextOffset
in interface IDynamicCompoundMarker
xOffset
- The xOffset (in)yOffset
- The yOffset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawCompoundMarker1(IPoint point, String textTop) throws IOException, AutomationException
Draws a marker with a text label on top
drawCompoundMarker1
in interface IDynamicCompoundMarker
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)textTop
- The textTop (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawCompoundMarker2(IPoint point, String textTop, String textBottom) throws IOException, AutomationException
Draws a marker with 2 text labels: 1-top and 1-bottom
drawCompoundMarker2
in interface IDynamicCompoundMarker
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)textTop
- The textTop (in)textBottom
- The textBottom (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawCompoundMarker4(IPoint point, String textTop, String textBottom, String textLeft, String textRight) throws IOException, AutomationException
Draws a marker with 4 text labels: 1-top, 1-bottom, 1-left, 1-right
drawCompoundMarker4
in interface IDynamicCompoundMarker
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawCompoundMarker6(IPoint point, String textTop, String textBottom, String textLeft1, String textLeft2, String textRight1, String textRight2) throws IOException, AutomationException
Draws a marker with 6 text labels: 1-top, 1-bottom, 2-left, 2-right
drawCompoundMarker6
in interface IDynamicCompoundMarker
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.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 a marker with 8 text labels: 1-top, 1-bottom, 3-left, 3-right
drawCompoundMarker8
in interface IDynamicCompoundMarker
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.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 a marker with 10 text labels: 1-top, 1-bottom, 4-left, 4-right
drawCompoundMarker10
in interface IDynamicCompoundMarker
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getMarkerToTextOffset2(float[] markerToTop, float[] markerToBottom, float[] markerToLeft, float[] markerToRight) throws IOException, AutomationException
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.
getMarkerToTextOffset2
in interface IDynamicCompoundMarker2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMarkerToTextOffset2(float markerToTop, float markerToBottom, float markerToLeft, float markerToRight) throws IOException, AutomationException
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.
setMarkerToTextOffset2
in interface IDynamicCompoundMarker2
markerToTop
- The markerToTop (in)markerToBottom
- The markerToBottom (in)markerToLeft
- The markerToLeft (in)markerToRight
- The markerToRight (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getTextSpacing(float[] textSpacingX, float[] textSpacingY) throws IOException, AutomationException
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.
getTextSpacing
in interface IDynamicCompoundMarker2
textSpacingX
- The textSpacingX (in/out: use single element array)textSpacingY
- The textSpacingY (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextSpacing(float textSpacingX, float textSpacingY) throws IOException, AutomationException
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.
setTextSpacing
in interface IDynamicCompoundMarker2
textSpacingX
- The textSpacingX (in)textSpacingY
- The textSpacingY (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isTextAutoAdjust() throws IOException, AutomationException
When TextAutoAdjust is set to true, the text labels along with their text boxes, are realigned so that they will not overlap.
isTextAutoAdjust
in interface IDynamicCompoundMarker2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTextAutoAdjust(boolean autoAdjust) throws IOException, AutomationException
When TextAutoAdjust is set to true, the text labels along with their text boxes, are realigned so that they will not overlap.
setTextAutoAdjust
in interface IDynamicCompoundMarker2
autoAdjust
- The autoAdjust (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawArrayMarker(IPoint point, String[] textCenter, String[] textLeft, String[] textRight, String[] textTop, String[] textBottom) throws IOException, AutomationException
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.
drawArrayMarker
in interface IDynamicCompoundMarker2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawScreenArrayMarker(IPoint point, String[] textCenter, String[] textLeft, String[] textRight, String[] textTop, String[] textBottom) throws IOException, AutomationException
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.
drawScreenArrayMarker
in interface IDynamicCompoundMarker2
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum) throws IOException, AutomationException
IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
enumConnectionPoints
in interface IConnectionPointContainer
ppEnum
- A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP) throws IOException, AutomationException
IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
findConnectionPoint
in interface IConnectionPointContainer
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void contentsChanged(IActiveViewEventsContentsChangedEvent theEvent) throws IOException, AutomationException
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.
contentsChanged
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IActiveView.contentsChanged()
public void contentsCleared(IActiveViewEventsContentsClearedEvent theEvent) throws IOException, AutomationException
contentsCleared
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void itemAdded(IActiveViewEventsItemAddedEvent theEvent) throws IOException, AutomationException
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.
itemAdded
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void itemDeleted(IActiveViewEventsItemDeletedEvent theEvent) throws IOException, AutomationException
The PageLayout object fires this event whenever elements are deleted from the layout.
The Map object fires this event when a layer is removed.
itemDeleted
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void itemReordered(IActiveViewEventsItemReorderedEvent theEvent) throws IOException, AutomationException
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.
itemReordered
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void selectionChanged(IActiveViewEventsSelectionChangedEvent theEvent) throws IOException, AutomationException
selectionChanged
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void viewRefreshed(IActiveViewEventsViewRefreshedEvent theEvent) throws IOException, AutomationException
Method that gets fired in response to IActiveView::Refresh and IActiveView::PartialRefresh.
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.
viewRefreshed
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void afterDraw(IActiveViewEventsAfterDrawEvent theEvent) throws IOException, AutomationException
afterDraw
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void afterItemDraw(IActiveViewEventsAfterItemDrawEvent theEvent) throws IOException, AutomationException
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.
afterItemDraw
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void focusMapChanged(IActiveViewEventsFocusMapChangedEvent theEvent) throws IOException, AutomationException
focusMapChanged
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void spatialReferenceChanged(IActiveViewEventsSpatialReferenceChangedEvent theEvent) throws IOException, AutomationException
spatialReferenceChanged
in interface IActiveViewEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void boundsUpdated(ITransformEventsBoundsUpdatedEvent theEvent) throws IOException, AutomationException
boundsUpdated
in interface ITransformEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void visibleBoundsUpdated(ITransformEventsVisibleBoundsUpdatedEvent theEvent) throws IOException, AutomationException
visibleBoundsUpdated
in interface ITransformEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deviceFrameUpdated(ITransformEventsDeviceFrameUpdatedEvent theEvent) throws IOException, AutomationException
deviceFrameUpdated
in interface ITransformEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void resolutionUpdated(ITransformEventsResolutionUpdatedEvent theEvent) throws IOException, AutomationException
resolutionUpdated
in interface ITransformEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rotationUpdated(ITransformEventsRotationUpdatedEvent theEvent) throws IOException, AutomationException
rotationUpdated
in interface ITransformEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void unitsUpdated(ITransformEventsUnitsUpdatedEvent theEvent) throws IOException, AutomationException
unitsUpdated
in interface ITransformEvents
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |