com.esri.arcgis.display
Class SimpleDisplay

java.lang.Object
  extended by com.esri.arcgis.display.SimpleDisplay
All Implemented Interfaces:
IConnectionPointContainer, IDisplay, IDisplayFiltersControl, IDraw, ITimeDisplay, ITimeDisplay2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class SimpleDisplay
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IDisplay, IDisplayFiltersControl, IDraw, IConnectionPointContainer, ITimeDisplay, ITimeDisplay2

Display class for drawing to any HDC.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
SimpleDisplay()
          Constructs a SimpleDisplay using ArcGIS Engine.
SimpleDisplay(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SimpleDisplay theSimpleDisplay = (SimpleDisplay) obj;
 
Method Summary
 void addIDisplayEventsListener(IDisplayEvents theListener)
          addIDisplayEventsListener.
 void addITimeDisplayEventsListener(ITimeDisplayEvents theListener)
          addITimeDisplayEventsListener.
 void draw(IGeometry geometry)
          Draws the specified shape.
 void drawMultipoint(IGeometry multipoint)
          Draws specified multipoint on the display.
 void drawPoint(IGeometry point)
          Draws specified point on the display.
 void drawPolygon(IGeometry polygon)
          Draws specified polygon on the display.
 void drawPolyline(IGeometry polyline)
          Draws specified line on the display.
 void drawRectangle(IEnvelope rectangle)
          Draws specified rectangle on the display.
 void drawText(IGeometry shape, String text)
          Draws specified text on the display.
 void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
          enumConnectionPoints
 boolean equals(Object o)
          Compare this object with another
 void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP)
          findConnectionPoint
 void finishDrawing()
          Completes drawing.
 IEnvelope getClipEnvelope()
          The bounds of the invalid region.
 ISet getClipEnvelopes()
          The invalid region as a set of envelopes.
 IGeometry getClipGeometry()
          User-specified clip shape.
 IGeometry getClipRegion()
          Clipping region (polygon or envelope).
static String getClsid()
          getClsid.
 IDisplayFilter getCurrentFilter()
          Gets current Display filter.
 Object getCustomProperty()
          Custom property.
 IDisplayTransformation getDisplayTransformation()
          The transformation used by the display.
 IDisplayFilter getFilter()
          Display filter.
 int getHDC()
          The device context that the display is currently drawing to.
 int getHPalette()
          Palette.
 IIlluminationProps getIlluminationProps()
          Illumination properties used by the display.
 ITimeReference getTimeReference()
          Time reference using which the data has to be displayed.
 int getTimeRelation()
          Time relation for the time query.
 ITimeValue getTimeValue()
          Time Extent for which the data has to be displayed.
 int hashCode()
          the hashcode for this object
 boolean isSuppressEvents()
          Indicates if display object suppresses events.
 void popFilter()
          Pops last Display filter.
 void progress(int vertexCount)
          Call frequently during drawing process.
 void pushFilter(IDisplayFilter filter)
          Pushes and activates the Display filter.
 void removeIDisplayEventsListener(IDisplayEvents theListener)
          removeIDisplayEventsListener.
 void removeITimeDisplayEventsListener(ITimeDisplayEvents theListener)
          removeITimeDisplayEventsListener.
 void setClipGeometry(IGeometry geometry)
          User-specified clip shape.
 void setCustomProperty(Object customProperty)
          Custom property.
 void setDisplayTransformation(IDisplayTransformation displayTransformation)
          The transformation used by the display.
 void setFilterByRef(IDisplayFilter filter)
          Display filter.
 void setHPalette(int hPalette)
          Palette.
 void setIlluminationProps(IIlluminationProps illuminationProps)
          Illumination properties used by the display.
 void setSuppressEvents(boolean suppressEvents)
          Indicates if display object suppresses events.
 void setSymbol(ISymbol sym)
          Sets the symbol used for drawing.
 void setTimeReference(ITimeReference timeReference)
          Time reference using which the data has to be displayed.
 void setTimeRelation(int relation)
          Time relation for the time query.
 void setTimeValue(ITimeValue timeExtent)
          Time Extent for which the data has to be displayed.
 void startDrawing(int hDC, short cacheID)
          Prepare the display for drawing.
 
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

SimpleDisplay

public SimpleDisplay()
              throws IOException,
                     UnknownHostException
Constructs a SimpleDisplay using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

SimpleDisplay

public SimpleDisplay(Object obj)
              throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SimpleDisplay theSimpleDisplay = (SimpleDisplay) obj;

Construct a SimpleDisplay using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to SimpleDisplay.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

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

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

addIDisplayEventsListener

public void addIDisplayEventsListener(IDisplayEvents theListener)
                               throws IOException
addIDisplayEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.display.IDisplayEvents interface.
Throws:
IOException - If there are communications problems.

removeIDisplayEventsListener

public void removeIDisplayEventsListener(IDisplayEvents theListener)
                                  throws IOException
removeIDisplayEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.display.IDisplayEvents interface.
Throws:
IOException - If there are communications problems.

addITimeDisplayEventsListener

public void addITimeDisplayEventsListener(ITimeDisplayEvents theListener)
                                   throws IOException
addITimeDisplayEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.display.ITimeDisplayEvents interface.
Throws:
IOException - If there are communications problems.

removeITimeDisplayEventsListener

public void removeITimeDisplayEventsListener(ITimeDisplayEvents theListener)
                                      throws IOException
removeITimeDisplayEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.display.ITimeDisplayEvents interface.
Throws:
IOException - If there are communications problems.

getDisplayTransformation

public IDisplayTransformation getDisplayTransformation()
                                                throws IOException,
                                                       AutomationException
The transformation used by the display.

Remarks

Each display object, like ScreenDisplay for example, manages (CoCreates) a DisplayTransformation object to convert coordinates between map units and device units. Use this property to get a reference to the DisplayTransformation object associated with this display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDisplayTransformation

public void setDisplayTransformation(IDisplayTransformation displayTransformation)
                              throws IOException,
                                     AutomationException
The transformation used by the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClipEnvelope

public IEnvelope getClipEnvelope()
                          throws IOException,
                                 AutomationException
The bounds of the invalid region. Use after StartDrawing and before FinishDrawing.

Remarks

The ClipEnvelope is the is the display transformation's fitted bounds (IDisplayTransformation::FittedBounds) intersected with the ClipGeometry if one exists.
This property is mostly used during drawing operations, for example, IDisplay's drawing functions clip (ITopologicalOperator::Clip) the object they are drawing against the ClipEnvelope to ensure that only the visible parts of the object are drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipEnvelope in interface IDisplay
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipEnvelopes

public ISet getClipEnvelopes()
                      throws IOException,
                             AutomationException
The invalid region as a set of envelopes. Use after StartDrawing and before FinishDrawing.

Remarks

Use ISet::Reset and ISet::Next methods to iterate through the returned set of objects.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipEnvelopes in interface IDisplay
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipGeometry

public IGeometry getClipGeometry()
                          throws IOException,
                                 AutomationException
User-specified clip shape. This shape is merged with the invalid region to arrive at the actual clip region. Must be specified before StartDrawing.

Remarks

Use the ClipGeometry property to shape the area data is drawn in. For example, if you had a map of the United States that contained many layers, you could set the ClipGeometry property on the focus Map's ScreenDisplay object equal to the geometry of a particular state thereby telling the map to only draw the data falling within the particular state's area. The ClipGeometry is used to cookie-cut all data before it is drawn.

See IMap::ClipGeometry for a more information and a sample.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipGeometry in interface IDisplay
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setClipGeometry

public void setClipGeometry(IGeometry geometry)
                     throws IOException,
                            AutomationException
User-specified clip shape. This shape is merged with the invalid region to arrive at the actual clip region. Must be specified before StartDrawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setClipGeometry in interface IDisplay
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSuppressEvents

public boolean isSuppressEvents()
                         throws IOException,
                                AutomationException
Indicates if display object suppresses events.

Remarks

Use SuppressEvents to prevent the following events from being fired.

For example, IScreenDisplay::StartDrawing sets SuppressEvents to TRUE and FinishDrawing sets it back to FALSE, this prevents all transform events from firing during the drawing.

SuppressEvents is set to FALSE by default.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSuppressEvents in interface IDisplay
Returns:
The suppressEvents
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSuppressEvents

public void setSuppressEvents(boolean suppressEvents)
                       throws IOException,
                              AutomationException
Indicates if display object suppresses events.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFilter

public IDisplayFilter getFilter()
                         throws IOException,
                                AutomationException
Display filter. Must call while in a StartDrawing-FinishDrawing sequence. Set Filter to 0 to resume normal drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setFilterByRef

public void setFilterByRef(IDisplayFilter filter)
                    throws IOException,
                           AutomationException
Display filter. Must call while in a StartDrawing-FinishDrawing sequence. Set Filter to 0 to resume normal drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getHPalette

public int getHPalette()
                throws IOException,
                       AutomationException
Palette.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getHPalette in interface IDisplay
Returns:
The hPalette (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHPalette

public void setHPalette(int hPalette)
                 throws IOException,
                        AutomationException
Palette.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setHPalette in interface IDisplay
Parameters:
hPalette - The hPalette (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startDrawing

public void startDrawing(int hDC,
                         short cacheID)
                  throws IOException,
                         AutomationException
Prepare the display for drawing. Specify the device context and the cache to draw to (normally esriNoScreenCache). The ScreenDisplay coclass will automatically create a window device context if you specify hdc = 0.

Remarks

StartDrawing and FinishDrawing are used to manage clipping, symbols, and caching. Call StartDrawing and FinishDrawing anytime you want to draw to a device such as a display, printer, or cache (bitmap). However, if you are drawing in response to IActiveViewEvents::AfterDraw, the Map object automatically makes these calls for you.

StartDrawing has two parameters: hDc and cacheID. The hDc parameter specifies the target device where drawing will occur, usually a display, printer, or bitmap. The cacheID parameter activates a specific cache. In most cases, esriNoScreenCache should be used.

Specifying a cache sets it as the screen's active cache. When esriNoScreenCache is used, it sets the display's active cache to zero and drawing occurs directly in the device. Specify a cache when you don't want to draw to a screen directly and you instead want to draw to a cache (bitmap) that may ultimately be copied to the screen. For example, when ArcMap draws geography, it draws it to a specific cache and then the cache is copied to the screen. When the screen repaints, instead of drawing all the data from scratch again, the software checks if the cache is dirty or not and simply redraws the bitmap to save time if it can. When drawing to a cache, the hDc parameter should be the device context of the bitmap, use the IScreenDisplay::CacheMemDC property to get a particular cache's hDC.

Each time you need to change the cache you are drawing to, you must do so inside a new StartDrawing / FinishDrawing block. For example, ArcMap usually creates three caches: one for geography layers, one for graphics and annotation, and one for selections. ArcMap draws each of these phases within a separate StartDrawing / FinishDrawing block.

There are times when may need to draw shapes directly to screen without having them become part of a display cache. For example, drawing moving objects. In these cases, use IScreenDisplay::WindowDC to get the device context of the display and esriNoScreenCache as the cacheID.

If a zero is specified for the hDc parameter, the Windows API function GetDC is used to populate IScreenDisplay::WindowDC with the hDC of the main display and drawing is sent here.

As mentioned above, if you drawing in response to the IActiveView::AfterDraw event, the Map object calls StartDrawing and StopDrawing for you. Also, if the draw phase you are drawing after is cached, your drawings will be cached as well.
StartDrawing fires the IDisplayEvents::DisplayStarted event.

Example:

The following java code gives you an example drawing sequence.

<font face=”Courier New” size=2>
<pre>
IScreenDisplay pScreen;
boolean isCacheDirty = pScreen.isCacheDirty(esriScreenRecording);
if (isCacheDirty) // draw from scratch
{
IDisplay pIDisplay = new IDisplayProxy(pScreen);
pScreen.startRecording();
pIDisplay.startDrawing((int)hPaintDC, esriNoScreenCache);
DrawContents();
pScreen.finishDrawing();
pScreen.stopRecording();
} else // draw from offscreen bitmap
{
pScreen.drawCache((int)hPaintDC, esriScreenRecording, 0, 0);
}
</pre>
</font>

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startDrawing in interface IDisplay
Specified by:
startDrawing in interface IDraw
Parameters:
hDC - The hDC (A COM typedef) (in)
cacheID - The cacheID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.finishDrawing()

getHDC

public int getHDC()
           throws IOException,
                  AutomationException
The device context that the display is currently drawing to. Only valid between calls to StartDrawing and FinishDrawing.

Remarks

Returns the device context specified to StartDrawing. This may be the device context of a display, cache (bitmap), or some other device such as a printer. As StartDrawing is called frequently throughout the drawing pipeline, the hDc property continually changes and is therefore safe to use only within a single StartDrawing / FinishDrawing block.

This property does not provide a value to pass to IDisplay::StartDrawing. Instead, call IDisplay::StartDrawing with a value of 0 for the hDC as this will automatically use the Windows API function GetDC to populate IScreenDisplay::WindowDC with the hDC of the main display and drawing will occur there.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getHDC in interface IDisplay
Returns:
The hDC (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

finishDrawing

public void finishDrawing()
                   throws IOException,
                          AutomationException
Completes drawing.

Remarks

When FinishDrawing is called, all the caches get flushed to the screen.
FinishDrawing must be called before StartDrawing can be called again.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
finishDrawing in interface IDisplay
Specified by:
finishDrawing in interface IDraw
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

progress

public void progress(int vertexCount)
              throws IOException,
                     AutomationException
Call frequently during drawing process.

Remarks

Progress is called from the draw methods.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

drawPoint

public void drawPoint(IGeometry point)
               throws IOException,
                      AutomationException
Draws specified point on the display.

Remarks

DrawPoint draws a Point object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawPoint in interface IDisplay
Parameters:
point - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawMultipoint

public void drawMultipoint(IGeometry multipoint)
                    throws IOException,
                           AutomationException
Draws specified multipoint on the display.

Remarks

DrawMultipoint draws a Multipoint object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawMultipoint in interface IDisplay
Parameters:
multipoint - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawRectangle

public void drawRectangle(IEnvelope rectangle)
                   throws IOException,
                          AutomationException
Draws specified rectangle on the display.

Remarks

DrawRectangle draws a Envelope object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawRectangle in interface IDisplay
Parameters:
rectangle - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawPolyline

public void drawPolyline(IGeometry polyline)
                  throws IOException,
                         AutomationException
Draws specified line on the display.

Remarks

DrawPolyline draws a Polyline object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawPolyline in interface IDisplay
Parameters:
polyline - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawPolygon

public void drawPolygon(IGeometry polygon)
                 throws IOException,
                        AutomationException
Draws specified polygon on the display.

Remarks

DrawPolygon draws a Polygon object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawPolygon in interface IDisplay
Parameters:
polygon - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawText

public void drawText(IGeometry shape,
                     String text)
              throws IOException,
                     AutomationException
Draws specified text on the display.

Remarks

DrawText draws a text string with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawText in interface IDisplay
Parameters:
shape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

setSymbol

public void setSymbol(ISymbol sym)
               throws IOException,
                      AutomationException
Sets the symbol used for drawing. Four different symbols can be specified simultaneously: Marker, Line, Fill, Text.

Remarks

Call this method before calling one of the Draw methods to set the symbol for the object about to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbol in interface IDisplay
Specified by:
setSymbol in interface IDraw
Parameters:
sym - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIlluminationProps

public IIlluminationProps getIlluminationProps()
                                        throws IOException,
                                               AutomationException
Illumination properties used by the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setIlluminationProps

public void setIlluminationProps(IIlluminationProps illuminationProps)
                          throws IOException,
                                 AutomationException
Illumination properties used by the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

pushFilter

public void pushFilter(IDisplayFilter filter)
                throws IOException,
                       AutomationException
Pushes and activates the Display filter. Must call while in a StartDrawing-FinishDrawing sequence.

Product Availability

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

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

popFilter

public void popFilter()
               throws IOException,
                      AutomationException
Pops last Display filter. Must call while in a StartDrawing-FinishDrawing sequence.

Product Availability

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

Specified by:
popFilter in interface IDisplayFiltersControl
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrentFilter

public IDisplayFilter getCurrentFilter()
                                throws IOException,
                                       AutomationException
Gets current Display filter. Must call while in a StartDrawing-FinishDrawing sequence.

Product Availability

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

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

draw

public void draw(IGeometry geometry)
          throws IOException,
                 AutomationException
Draws the specified shape.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IDraw
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomProperty

public Object getCustomProperty()
                         throws IOException,
                                AutomationException
Custom property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCustomProperty in interface IDraw
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCustomProperty

public void setCustomProperty(Object customProperty)
                       throws IOException,
                              AutomationException
Custom property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCustomProperty in interface IDraw
Parameters:
customProperty - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipRegion

public IGeometry getClipRegion()
                        throws IOException,
                               AutomationException
Clipping region (polygon or envelope). Use after StartDrawing and before FinishDrawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipRegion in interface IDraw
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

enumConnectionPoints

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

Description

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

findConnectionPoint

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

Description

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getTimeValue

public ITimeValue getTimeValue()
                        throws IOException,
                               AutomationException
Time Extent for which the data has to be displayed.

Product Availability

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

Specified by:
getTimeValue in interface ITimeDisplay
Returns:
A reference to a com.esri.arcgis.system.ITimeValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeValue

public void setTimeValue(ITimeValue timeExtent)
                  throws IOException,
                         AutomationException
Time Extent for which the data has to be displayed.

Product Availability

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

Specified by:
setTimeValue in interface ITimeDisplay
Parameters:
timeExtent - A reference to a com.esri.arcgis.system.ITimeValue (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeReference

public ITimeReference getTimeReference()
                                throws IOException,
                                       AutomationException
Time reference using which the data has to be displayed.

Product Availability

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

Specified by:
getTimeReference in interface ITimeDisplay
Returns:
A reference to a com.esri.arcgis.system.ITimeReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeReference

public void setTimeReference(ITimeReference timeReference)
                      throws IOException,
                             AutomationException
Time reference using which the data has to be displayed.

Product Availability

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

Specified by:
setTimeReference in interface ITimeDisplay
Parameters:
timeReference - A reference to a com.esri.arcgis.system.ITimeReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeRelation

public int getTimeRelation()
                    throws IOException,
                           AutomationException
Time relation for the time query.

Product Availability

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

Specified by:
getTimeRelation in interface ITimeDisplay2
Returns:
A com.esri.arcgis.system.esriTimeRelation constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeRelation

public void setTimeRelation(int relation)
                     throws IOException,
                            AutomationException
Time relation for the time query.

Product Availability

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

Specified by:
setTimeRelation in interface ITimeDisplay2
Parameters:
relation - A com.esri.arcgis.system.esriTimeRelation constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.