com.esri.arcgis.display
Class IDynamicCompoundMarker2Proxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.display.IDynamicCompoundMarkerProxy
          extended by com.esri.arcgis.display.IDynamicCompoundMarker2Proxy
All Implemented Interfaces:
IDynamicCompoundMarker, IDynamicCompoundMarker2, Externalizable, Serializable

public class IDynamicCompoundMarker2Proxy
extends IDynamicCompoundMarkerProxy
implements IDynamicCompoundMarker2, 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.

See Also:
Serialized Form

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

Constructor Detail

IDynamicCompoundMarker2Proxy

public IDynamicCompoundMarker2Proxy()

IDynamicCompoundMarker2Proxy

public IDynamicCompoundMarker2Proxy(Object obj)
                             throws IOException
Throws:
IOException

IDynamicCompoundMarker2Proxy

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

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class IDynamicCompoundMarkerProxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class IDynamicCompoundMarkerProxy
Throws:
IOException

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.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class IDynamicCompoundMarkerProxy
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class IDynamicCompoundMarkerProxy
Throws:
IOException
ClassNotFoundException