com.esri.arcgis.display
Interface IDynamicCompoundMarker2

All Superinterfaces:
IDynamicCompoundMarker, Serializable
All Known Implementing Classes:
DynamicDisplay, IDynamicCompoundMarker2Proxy

public interface IDynamicCompoundMarker2
extends IDynamicCompoundMarker, Serializable

Provides access to Dynamic Screen Draw.

Description

This interface is new at ArcGIS 9.3. It supersedes IDynamicCompoundMarker.

IDynamicCompoundMarker2 is a helper interface that optimizes the rendering of a marker along with some text labels around it.

Remarks

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

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

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

Use the DrawArrayMarker and DrawScreenArrayMarker methods in order to draw markers along with text labels around them. These methods can be used in order to draw an array of text labels column on each of the five marker’s regions: center, left, right, top, bottom:

ArrayMarker

Product Availability

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


Method Summary
 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 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 getMarkerToTextOffset2(float[] markerToTop, float[] markerToBottom, float[] markerToLeft, float[] markerToRight)
          Indicates the offset of the text from the marker on each direction.
 void getTextSpacing(float[] textSpacingX, float[] textSpacingY)
          Indicates the spacing between each two adjacent text boxes.
 boolean isTextAutoAdjust()
          Indicates whether the text boxes are to be auto ajdusted.
 void setMarkerToTextOffset2(float markerToTop, float markerToBottom, float markerToLeft, float markerToRight)
          Indicates the offset of the text from the marker on each direction.
 void setTextAutoAdjust(boolean autoAdjust)
          Indicates whether the text boxes are to be auto ajdusted.
 void setTextSpacing(float textSpacingX, float textSpacingY)
          Indicates the spacing between each two adjacent text boxes.
 
Methods inherited from interface com.esri.arcgis.display.IDynamicCompoundMarker
drawCompoundMarker1, drawCompoundMarker10, drawCompoundMarker2, drawCompoundMarker4, drawCompoundMarker6, drawCompoundMarker8, getMarkerToTextOffset, setMarkerToTextOffset
 

Method Detail

getMarkerToTextOffset2

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.

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

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.

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

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.

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

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.

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

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.

Returns:
The autoAdjust
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextAutoAdjust

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.

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

drawArrayMarker

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.

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

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.

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.