com.esri.arcgis.display
Class ScreenDisplay

java.lang.Object
  extended bycom.esri.arcgis.display.ScreenDisplay
All Implemented Interfaces:
java.util.EventListener, IConnectionPointContainer, IDisplay, IDraw, IDynamicScreenDisplay, IScreenCacheManager, IScreenDisplay, IScreenDisplay2, IScreenDisplayZoom, IScreenInvalidate, ITransformEvents, java.io.Serializable

public class ScreenDisplay
extends java.lang.Object
implements IScreenDisplay, IScreenDisplay2, IScreenCacheManager, IScreenInvalidate, IDisplay, IDraw, ITransformEvents, IConnectionPointContainer, IDynamicScreenDisplay, IScreenDisplayZoom

Display class for drawing to window.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Remarks

The ScreenDisplay object is a display device that is associated with a window.  In addition to managing the display attributes for the screen, a ScreenDisplay also manages other issues specific to windows including backing stores (caches), scrolling, and invalidation.

Several objects manage (CoCreate) a ScreenDisplay object to help control their associated window.  For example, each active view, Map and PageLayout, has its own associated ScreenDisplay and so does the MapInsetWindow. The AppDisplay object does not instantiate a new ScreenDisplay object; instead, this object implements the IScreenDisplay interface which is also what the ScreenDisplay object does.

A reference to a ScreenDisplay object is typically obtained via IActiveView::ScreenDisplay for the active views or ILensWindow::ScreenDisplay for the MapInsetWindow.

The ScreenDisplay object is CoCreateable; one case when you may have to create a new ScreenDisplay object, is when creating a custom active view.

The ScreenDisplay object listens for and reacts to the following keyboard and mouse actions:

Mouse-Wheel: Pan up and down the display
Cntrl Mouse-Wheel : Zoom in and out of the display
Page Up Key : Pan up the display
Page Down Key : Pan down the display
Home Key : Pan to the far left of the display extent
End Key :  Pan to the far right of the display extent

See Also:
IActiveView, Serialized Form

Constructor Summary
ScreenDisplay()
          Constructs a ScreenDisplay using ArcGIS Engine.
ScreenDisplay(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
 
Method Summary
 short addCache()
          Creates a new cache and return its ID.
 void addIDisplayEventsListener(IDisplayEvents theListener)
           
 void boundsUpdated(ITransformEventsBoundsUpdatedEvent theEvent)
          Notifies clients when the bounds is updated.
 void deviceFrameUpdated(ITransformEventsDeviceFrameUpdatedEvent theEvent)
          Notifies clients when the device frame is updated.
 void doScroll(int xDelta, int yDelta, boolean updateScreen)
          Scrolls the screen by the specified amount.
 void draw(IGeometry geometry)
          Draws the specified shape.
 void drawCache(int hDC, short index, tagRECT deviceRect, tagRECT cacheRect)
          Draws the specified screen cache to the specified window device context.
 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, java.lang.String text)
          Draws specified text on the display.
 void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
          Supported Platforms
 boolean equals(java.lang.Object o)
          Compare this object with another
 void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP)
          Supported Platforms
 void finishDrawing()
          Completes drawing.
 void finishFeedback()
          Ends feedback drawing.
 void frameScrolled(int x, int y)
          Call on frame display when container is scrolled.
 short getActiveCache()
          Screen cache where drawing occurs.
 IConnectionPointContainer getAsIConnectionPointContainer()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IDisplay getAsIDisplay()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IDraw getAsIDraw()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IDynamicScreenDisplay getAsIDynamicScreenDisplay()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IScreenCacheManager getAsIScreenCacheManager()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IScreenDisplay getAsIScreenDisplay()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IScreenDisplay2 getAsIScreenDisplay2()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IScreenDisplayZoom getAsIScreenDisplayZoom()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IScreenInvalidate getAsIScreenInvalidate()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ITransformEvents getAsITransformEvents()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 int getBackgroundRGB()
          The RGB value of the background color.
 short getCacheCount()
          Number of screen caches.
 void getCacheFlags(short cacheID, int[] flags)
          Get special properties of specified cache.
 int getCacheMemDC(short index)
          Memory device context for the specified screen cache.
 short getCacheOrder(short cacheID)
          Sets or returns the order of the specified cache.
 ITrackCancel getCancelTracker()
          Cancel tracker that is associated with the display.
 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 java.lang.String getClsid()
           
 java.lang.Object getCustomProperty()
          Custom property.
 IDisplayTransformation getDisplayTransformation()
          The transformation used by the display.
 void getDrawingOffset(int[] x, int[] y)
          The offset between the device origin and the active cache origin.
 IDisplayFilter getFilter()
          Display filter.
 int getHDC()
          The device context that the display is currently drawing to.
 int getHPalette()
          Palette.
 int getHWnd()
          Associated window handle.
 IIlluminationProps getIlluminationProps()
          Illumination properties used by the display.
 IArea getInvalidArea()
          The bounds of the invalid region.
 IEnvelope getInvalidEnvelope()
          The bounds of the invalid region.
 int getWindowDC()
          Device context for the associated window.
 int hashCode()
          the hashcode for this object
 void invalidate(IEnvelope rect, boolean erase, short cacheIndex)
          Cause the specified area of the specified cache to redraw.
 void invalidateShape(IGeometry pGeometry, double symbolSizePoints, boolean erase, short cacheIndex)
          Cause the specified area of the specified cache to redraw.
 boolean isCacheDirty(short cacheIndex)
          Indicates if the specified cache needs refreshing.
 boolean isDynamicDisplayEnabled()
          Indicates if dynamic display is turn on or off.
 boolean isFirstCacheTransparent()
          Indicates if the bottom cache is transparent.
 boolean isFramed()
          Indicates if drawing occurs in a frame rather than on the whole window.
 boolean isScaleContents()
          Indicates if the contents of the screen scale when a resize occurs.
 boolean isSuppressEvents()
          Indicates if display object suppresses events.
 boolean isSuppressResize()
          Indicates if display resizing is suppressed.
 boolean isUseScrollbars()
          Indicates if scrollbars should appear.
 void modifyCacheFlags(short cacheID, int flagsToAdd, int flagsToRemove)
          Set special properties of specified cache.
 void panMoveTo(IPoint mouseLocation)
          Pans to a new point.
 void panStart(IPoint mouseLocation)
          Prepares display for panning.
 IEnvelope panStop()
          Stops panning and returns new visible bounds.
 void progress(int vertexCount)
          Call frequently during drawing process.
 void putCacheOrder(short cacheID, short order)
          Sets or returns the order of the specified cache.
 void removeAllCaches()
          Removes all caches.
 void removeCache(short cacheID)
          Removes the specified cache.
 void removeIDisplayEventsListener(IDisplayEvents theListener)
           
 void resolutionUpdated(ITransformEventsResolutionUpdatedEvent theEvent)
          Notifies clients when the resolution is updated.
 void rotateMoveTo(IPoint pPoint)
          Rotates to new point.
 void rotateStart(IPoint mousePt, IPoint centerPt)
          Prepares display for rotating.
 double rotateStop()
          Stops rotating and returns new angle.
 void rotateTimer()
          Draws the rotated display.
 void rotationUpdated(ITransformEventsRotationUpdatedEvent theEvent)
          Notifies clients when the rotation angle is updated.
 void setActiveCache(short index)
          Screen cache where drawing occurs.
 void setBackgroundRGB(int rGB)
          The RGB value of the background color.
 void setCancelTrackerByRef(ITrackCancel cancelTracker)
          Cancel tracker that is associated with the display.
 void setClipGeometry(IGeometry geometry)
          User-specified clip shape.
 void setCustomProperty(java.lang.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 setHWnd(int hWnd)
          Associated window handle.
 void setIlluminationProps(IIlluminationProps illuminationProps)
          Illumination properties used by the display.
 void setIsFirstCacheTransparent(boolean flag)
          Indicates if the bottom cache is transparent.
 void setIsFramed(boolean flag)
          Indicates if drawing occurs in a frame rather than on the whole window.
 void setScaleContents(boolean flag)
          Indicates if the contents of the screen scale when a resize occurs.
 void setScrollbarHandles(int hWndHorzScrollbar, int hWndVertScrollbar)
          Optionally specify application supplied scrollbars.
 void setSuppressEvents(boolean suppressEvents)
          Indicates if display object suppresses events.
 void setSuppressResize(boolean suppressResize)
          Indicates if display resizing is suppressed.
 void setSymbol(ISymbol sym)
          Sets the symbol used for drawing.
 void setUseScrollbars(boolean flag)
          Indicates if scrollbars should appear.
 void startDrawing(int hDC, short cacheID)
          Prepare the display for drawing.
 void startFeedback()
          Prepare the display for drawing selection/rubberbanding.
 void startRecording()
          Starts recording all output to the recording cache.
 void stopRecording()
          Stops recording to the recording cache.
 void trackPan()
          Interactively pans the screen.
 void trackRotate()
          Interactively rotates the screen.
 void trackZoom()
          Interactively Zooms the screen.
 void unitsUpdated(ITransformEventsUnitsUpdatedEvent theEvent)
          Notifies clients when the units are updated.
 void updateWindow()
          Forces a redraw.
 void validate(short cacheIndex)
          Clear dirty flag for specified cache.
 void visibleBoundsUpdated(ITransformEventsVisibleBoundsUpdatedEvent theEvent)
          Notifies clients when the visible bounds is updated.
 void zoomMoveTo(IPoint point)
          Zooms to a new extent.
 void zoomStart(IPoint point)
          Prepares display for zooming.
 IEnvelope zoomStop()
          Stops zooming and returns new visible bounds.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScreenDisplay

public ScreenDisplay()
              throws java.io.IOException,
                     java.net.UnknownHostException
Constructs a ScreenDisplay using ArcGIS Engine.

Throws:
java.io.IOException - if there are interop problems
java.net.UnknownHostException - if there are interop problems

ScreenDisplay

public ScreenDisplay(java.lang.Object obj)
              throws java.io.IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.

Construct a ScreenDisplay using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ScreenDisplay.
ScreenDisplay theScreenDisplay = (ScreenDisplay) obj;

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

getClsid

public static java.lang.String getClsid()

getAsIScreenDisplay

public IScreenDisplay getAsIScreenDisplay()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIScreenDisplay2

public IScreenDisplay2 getAsIScreenDisplay2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIScreenCacheManager

public IScreenCacheManager getAsIScreenCacheManager()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIScreenInvalidate

public IScreenInvalidate getAsIScreenInvalidate()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIDisplay

public IDisplay getAsIDisplay()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIDraw

public IDraw getAsIDraw()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsITransformEvents

public ITransformEvents getAsITransformEvents()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIConnectionPointContainer

public IConnectionPointContainer getAsIConnectionPointContainer()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIDynamicScreenDisplay

public IDynamicScreenDisplay getAsIDynamicScreenDisplay()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIScreenDisplayZoom

public IScreenDisplayZoom getAsIScreenDisplayZoom()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

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


hashCode

public int hashCode()
the hashcode for this object


addIDisplayEventsListener

public void addIDisplayEventsListener(IDisplayEvents theListener)
                               throws java.io.IOException
Throws:
java.io.IOException

removeIDisplayEventsListener

public void removeIDisplayEventsListener(IDisplayEvents theListener)
                                  throws java.io.IOException
Throws:
java.io.IOException

setHWnd

public void setHWnd(int hWnd)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IScreenDisplay
Associated window handle.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setHWnd in interface IScreenDisplay
Parameters:
hWnd - The hWnd (A COM typedef) (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHWnd

public int getHWnd()
            throws java.io.IOException,
                   AutomationException
Description copied from interface: IScreenDisplay
Associated window handle.

Supported Platforms

Windows, Solaris, Linux

Remarks

The hWnd property tells ScreenDisplay objects which window to draw in.  When a new view (a Map or PageLayout) is created and activated (IActiveView::Activate), a related ScreenDisplay is created and its hWnd is set to that of the main application.  Data windows, such as the MapInsetWindow, also have a related ScreenDisplay object and in this case the ScreenDisplay's hWnd property is set so that all drawing will occur in the data window and not the main application window.

Several Windows API calls require an hWnd in order to perform their operation; this property provides the hWnd for the ScreenDisplay object you are currently working with.  For example, several of ArcMap's zoom commands use the Windows API function 'GetClientRect' to get the coordinates of the main window's client area.  GetClientRect requires the hWnd of the window of interest and in ArcMap's case, IScreenDisplay::hWnd holds this.

Specified by:
getHWnd in interface IScreenDisplay
Returns:
The hWnd (A COM typedef)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWindowDC

public int getWindowDC()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IScreenDisplay
Device context for the associated window. Only use this between calls to StartDrawing and FinishDrawing.

Supported Platforms

Windows, Solaris, Linux

Remarks

This property is a Windows operating environment device context handle. The Windows operating environment manages the system display by assigning a device context for each window in the application. You can use the WindowDC property to refer to the handle for an object's device context.

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.

The value of the WindowDC property can change while an application runs, so do not store the value in a variable; instead, use the WindowDC property each time you need it.

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

addCache

public short addCache()
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IScreenDisplay
Creates a new cache and return its ID. The ID can be specified to StartDrawing to direct output to the cache. It can also be used with a number of other methods such as DrawCache and Invalidate.

Supported Platforms

Windows, Solaris, Linux

Remarks

ScreenDisplay objects make it possible for clients to create any number of caches.  A cache is an off screen bitmap representing the application's window.  Instead of drawing directly to the screen, graphics are drawn into caches, then the caches are drawn on the screen.  When the application's window is obscured and requires redrawing, it done so from the caches instead of from a database.  In this way, caches improve drawing performance - bitmap rendering is faster than reading and displaying data from a database.

In general, a Map object creates three caches: one for all the layers, another if there are annotation or graphics, and a third cache if there is a feature selection.  A layer can create its own private cache if it sets ILayer::Cached equal to TRUE.  In this case, the Map will create a separate cache for the layer and groups the layers above and below it into different caches.

The AppDisplay object has no implementation for this method.

Specified by:
addCache in interface IScreenDisplay
Returns:
The cacheID
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeCache

public void removeCache(short cacheID)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IScreenDisplay
Removes the specified cache.

Supported Platforms

Windows, Solaris, Linux

Remarks

Use this method to remove a cache that is no longer needed.  For example, calling the IActiveView::PartialRefresh method on a Map object will delete the Map's selection cache if one exists and there are no features selected.

The AppDisplay object has no implementation for this method.

Specified by:
removeCache in interface IScreenDisplay
Parameters:
cacheID - The cacheID (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCacheCount

public short getCacheCount()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IScreenDisplay
Number of screen caches.

Supported Platforms

Windows, Solaris, Linux

Remarks

Use this property to loop through all of the available screen caches.  For example, if you Invalidate using esriAllScreenCaches, this property is used to loop through all of the caches to invalidate each one.

The AppDisplay object has no implementation for this method.

Specified by:
getCacheCount in interface IScreenDisplay
Returns:
The count
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

removeAllCaches

public void removeAllCaches()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IScreenDisplay
Removes all caches.

Supported Platforms

Windows, Solaris, Linux

Remarks

Use this property to clear all of the screen caches the current object has.  For example, when a Map is deactivated (IActiveView::Deactivate) it uses this property to remove all of its caches.

The AppDisplay object has no implementation for this method.

Specified by:
removeAllCaches in interface IScreenDisplay
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheMemDC

public int getCacheMemDC(short index)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IScreenDisplay
Memory device context for the specified screen cache.

Supported Platforms

Windows, Solaris, Linux

Remarks

Each cache is an offscreen bitmap. Use this property to retrieve the device context (hDc) for the bitmap associated with a particular cache.  With the hDc you can, for example, draw the bitmap (cache) in a particular window using DrawCache.

Specified by:
getCacheMemDC in interface IScreenDisplay
Parameters:
index - The index (in)
Returns:
The hDC (A COM typedef)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setActiveCache

public void setActiveCache(short index)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IScreenDisplay
Screen cache where drawing occurs. Use rarely. Change cache inside StartDrawing/FinishDrawing sequence.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setActiveCache in interface IScreenDisplay
Parameters:
index - The index (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getActiveCache

public short getActiveCache()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IScreenDisplay
Screen cache where drawing occurs. Use rarely. Change cache inside StartDrawing/FinishDrawing sequence.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getActiveCache in interface IScreenDisplay
Returns:
The index
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setIsFirstCacheTransparent

public void setIsFirstCacheTransparent(boolean flag)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: IScreenDisplay
Indicates if the bottom cache is transparent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsFirstCacheTransparent in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isFirstCacheTransparent

public boolean isFirstCacheTransparent()
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: IScreenDisplay
Indicates if the bottom cache is transparent.

Specified by:
isFirstCacheTransparent in interface IScreenDisplay
Returns:
The flag
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startRecording

public void startRecording()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IScreenDisplay
Starts recording all output to the recording cache.

Supported Platforms

Windows, Solaris, Linux

Remarks

In addition to the caches clients create, the ScreenDisplay object also provides a recording cache that accumulates all drawing that happens on the display.  This recording cache is used to redraw the application when the application is moved or exposed or when drawing rubber banding.

Note, StartRecording and StopRecording are exposed for developers creating custom applications that draw from multiple caches and need to refresh quickly.  If you are working with ArcMap or even the Map object, leave all cache management up to the Map.

Use StartRecording to let the display know exactly what to record.  Use DrawCache(esriScreenRecording) to display the recording cache.  Use CacheMemDC(esriScreenRecording) to get a handle to the memory device context for the recording bitmap.

The following C++ code excerpt is a drawing sequence example that uses StartRecording.

VARIANT_BOOL isCacheDirty;
m_ipScreen->IsCacheDirty(esriScreenRecording, &isCacheDirty);

if (isCacheDirty) // draw from scratch
{
  m_ipScreen->StartRecording();
  m_ipScreen->StartDrawing((OLE_HANDLE)hPaintDC, esriNoScreenCache);
  DrawContents();
  m_ipScreen->FinishDrawing();
  m_ipScreen->StopRecording();
}
  else // draw from offscreen bitmap
{
  m_ipScreen->DrawCache((OLE_HANDLE)hPaintDC, esriScreenRecording, 0, 0);
}

Specified by:
startRecording in interface IScreenDisplay
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stopRecording

public void stopRecording()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IScreenDisplay
Stops recording to the recording cache.

Supported Platforms

Windows, Solaris, Linux

Remarks

In addition to the caches clients create, the ScreenDisplay object also provides a recording cache that accumulates all drawing that happens on the display.  This recording cache is used to redraw the application when the application is moved or exposed or when drawing rubber banding.

Note, StartRecording and StopRecording are exposed for developers creating custom applications that draw from multiple caches and need to refresh quickly.  If you are working with ArcMap or even the Map object, leave all cache management up to the Map.

Use StartRecording to let the display know exactly what to record.  Use DrawCache(esriScreenRecording) to display the recording cache.  Use CacheMemDC(esriScreenRecording) to get a handle to the memory device context for the recording bitmap.

The following C++ code excerpt is a drawing sequence example that uses StartRecording.

VARIANT_BOOL isCacheDirty;
m_ipScreen->IsCacheDirty(esriScreenRecording, &isCacheDirty);

if (isCacheDirty) // draw from scratch
{
  m_ipScreen->StartRecording();
  m_ipScreen->StartDrawing((OLE_HANDLE)hPaintDC, esriNoScreenCache);
  DrawContents();
  m_ipScreen->FinishDrawing();
  m_ipScreen->StopRecording();
}
  else // draw from offscreen bitmap
{
  m_ipScreen->DrawCache((OLE_HANDLE)hPaintDC, esriScreenRecording, 0, 0);
}

Specified by:
stopRecording in interface IScreenDisplay
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setUseScrollbars

public void setUseScrollbars(boolean flag)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IScreenDisplay
Indicates if scrollbars should appear.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUseScrollbars in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseScrollbars

public boolean isUseScrollbars()
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IScreenDisplay
Indicates if scrollbars should appear.

Supported Platforms

Windows, Solaris, Linux

Remarks

IActiveView::ShowScrollBars redirects all its calls to this property.

Changes to this property are not reflected until the active view changes.  For example, when in layout view in ArcMap, programmatically changing the PageLayout to not show its scrollbars will have no effect until the next time the active view is set to the PageLayout; calling IActiveView::Refresh has no effect.

ArcMap uses this property to hide the Map's scroll bars when in layout view.  Programmatically trying to display a Map's scroll bar in layout view will have no effect; for Map's this setting is only honored in data view and again it requires an active view change before the setting is reflected in the applications window.

Specified by:
isUseScrollbars in interface IScreenDisplay
Returns:
The flag
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setScrollbarHandles

public void setScrollbarHandles(int hWndHorzScrollbar,
                                int hWndVertScrollbar)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IScreenDisplay
Optionally specify application supplied scrollbars.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setScrollbarHandles in interface IScreenDisplay
Parameters:
hWndHorzScrollbar - The hWndHorzScrollbar (A COM typedef) (in)
hWndVertScrollbar - The hWndVertScrollbar (A COM typedef) (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScaleContents

public void setScaleContents(boolean flag)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IScreenDisplay
Indicates if the contents of the screen scale when a resize occurs. True means scale contents to fit new window size. False means contents stays the same with more or less of it showing.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setScaleContents in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isScaleContents

public boolean isScaleContents()
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IScreenDisplay
Indicates if the contents of the screen scale when a resize occurs. True means scale contents to fit new window size. False means contents stays the same with more or less of it showing.

Supported Platforms

Windows, Solaris, Linux

Remarks

If a Map's ScaleContents property is set to TRUE, when its display is resized, the area shown stays the same and the scale changes.  When set to FALSE, the scale of the Map stays the same and the area shown changes.

The PageLayout object works similarly.  If set to TRUE, the contents are stretched when the display is resized.  The scale of all maps changes. When set to FALSE, the page remains the same size.

In ArcMap, on the Tools/Options menu, there are check boxes for controlling this property for the data and layout view.

Specified by:
isScaleContents in interface IScreenDisplay
Returns:
The flag
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setSuppressResize

public void setSuppressResize(boolean suppressResize)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IScreenDisplay
Indicates if display resizing is suppressed. True means the display doesn't resize with the window. False ensures that the display is the same size as the window.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSuppressResize in interface IScreenDisplay
Parameters:
suppressResize - The suppressResize (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSuppressResize

public boolean isSuppressResize()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IScreenDisplay
Indicates if display resizing is suppressed. True means the display doesn't resize with the window. False ensures that the display is the same size as the window.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSuppressResize in interface IScreenDisplay
Returns:
The suppressResize
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isFramed

public boolean isFramed()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IScreenDisplay
Indicates if drawing occurs in a frame rather than on the whole window.

Specified by:
isFramed in interface IScreenDisplay
Returns:
The flag
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setIsFramed

public void setIsFramed(boolean flag)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IScreenDisplay
Indicates if drawing occurs in a frame rather than on the whole window.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsFramed in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCancelTracker

public ITrackCancel getCancelTracker()
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IScreenDisplay
Cancel tracker that is associated with the display.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCancelTracker in interface IScreenDisplay
Returns:
A reference to a com.esri.arcgis.system.ITrackCancel
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setCancelTrackerByRef

public void setCancelTrackerByRef(ITrackCancel cancelTracker)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IScreenDisplay
Cancel tracker that is associated with the display.

Specified by:
setCancelTrackerByRef in interface IScreenDisplay
Parameters:
cancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

invalidate

public void invalidate(IEnvelope rect,
                       boolean erase,
                       short cacheIndex)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IScreenDisplay
Cause the specified area of the specified cache to redraw.

Supported Platforms

Windows, Solaris, Linux

Remarks

Use Invalidate to refresh a specific region on the display.  For example, if you add a new feature, only the extent of the new feature requires refreshing; the remainder of the display can redraw from cache.

The rect parameter specifies the region to update.  Use 'Nothing' in Visual Basic or a zero in C++ to invalidate the entire display.

Erase specifies whether or not the background within the update region is erased when the update region is processed.  Usually this is set to TRUE.

CacheIndex controls which cache to update.  Use IActiveView::ScreenCacheID to get the cache index for a specific draw phase.  The valid draw phases are held in the esriViewDrawPhase enumeration and are as follows:

0 - esriViewNone
1 - esriViewBackground
2 - esriViewGeography
4 - esriViewGeoSelection
8 - esriViewGraphics
16 - esriViewGraphicSelection
32 - esriviewForeground

You can also specify esriAllScreenCaches, esriNoScreenCache, and esriScreenRecording.

Invalidate sets the cache(s) as dirty.  Use IsCacheDirty to check the state of a particular cache.

After completion, Invalidate fires the IDisplayEvents::DisplayInvalidated event.

 

IActiveView::PartialRefresh has similar parameters and itself calls Invalidate. Use this method instead as much as possible as it automatically determines the cache index based on the phase provided.

 

 

Specified by:
invalidate in interface IScreenDisplay
Parameters:
rect - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
erase - The erase (in)
cacheIndex - The cacheIndex (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isCacheDirty

public boolean isCacheDirty(short cacheIndex)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IScreenDisplay
Indicates if the specified cache needs refreshing.

Specified by:
isCacheDirty in interface IScreenDisplay
Parameters:
cacheIndex - The cacheIndex (in)
Returns:
The flag
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

drawCache

public void drawCache(int hDC,
                      short index,
                      tagRECT deviceRect,
                      tagRECT cacheRect)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IScreenDisplay
Draws the specified screen cache to the specified window device context. Pass an empty rectangle to copy the full bitmap to the DC origin.

Supported Platforms

Windows, Solaris, Linux

Remarks

Redrawing data from scratch is time consuming compared to drawing data that has been cached in an off-screen bitmap.  If a particular cache return FALSE for IsCacheDirty, use DrawCache to instantly redraw the bitmap. 

Use the CacheMemDC property to get the desired cache's hDC.

Specified by:
drawCache in interface IScreenDisplay
Parameters:
hDC - The hDC (A COM typedef) (in)
index - The index (in)
deviceRect - A Structure: com.esri.arcgis.display.tagRECT (in)
cacheRect - A Structure: com.esri.arcgis.display.tagRECT (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

doScroll

public void doScroll(int xDelta,
                     int yDelta,
                     boolean updateScreen)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IScreenDisplay
Scrolls the screen by the specified amount.

Supported Platforms

Windows, Solaris, Linux

Remarks

ArcMap's scroll bars call this method to scroll the current display.  The updateScreen parameter specifies whether or not the display will be refreshed after the scroll.

Specified by:
doScroll in interface IScreenDisplay
Parameters:
xDelta - The xDelta (in)
yDelta - The yDelta (in)
updateScreen - The updateScreen (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

trackPan

public void trackPan()
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IScreenDisplay
Interactively pans the screen.

Supported Platforms

Windows, Solaris, Linux

Remarks

There are two approaches to panning - this method, and the group PanStart, PanMoveTo, and PanStop.  This method is the easiest to use as it takes care of all the mouse events and refreshing the display when pan is complete. 

Call this method in the mouse down event and make certain you have a reference to the correct ScreenDisplay object.  For example, if you are in layout view and you want to pan just the focus map, do not use the ScreenDisplay object associated with IMxDocument::ActiveView.  Instead, get the focus Map via IMxDocument::FocusMap, and then get its ScreenDisplay

Specified by:
trackPan in interface IScreenDisplay
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

panStart

public void panStart(IPoint mouseLocation)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IScreenDisplay
Prepares display for panning.

Supported Platforms

Windows, Solaris, Linux

Remarks

Call PanStart to initiate panning.  The required point parameter specifies the pan's starting point.  Call PanMoveTo next to specify a destination point.

The typical sequence for using the pan methods is as follows:

See TrackPan for an alternative panning approach.

Specified by:
panStart in interface IScreenDisplay
Parameters:
mouseLocation - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

panMoveTo

public void panMoveTo(IPoint mouseLocation)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IScreenDisplay
Pans to a new point.

Supported Platforms

Windows, Solaris, Linux

Remarks

PanMoveTo pans the display by calculating an offset distance between the start point supplied to PanStart and the destination point provided to this method.  The recording cache is automatically redrawn each time PanMoveTo is called. Use the envelope PanStop returns to truly refresh the display.

The typical sequence for using the pan methods is as follows:

See TrackPan for an alternative panning approach.

Specified by:
panMoveTo in interface IScreenDisplay
Parameters:
mouseLocation - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

panStop

public IEnvelope panStop()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IScreenDisplay
Stops panning and returns new visible bounds.

Supported Platforms

Windows, Solaris, Linux

Remarks

PanStop creates an Envelope that should be used to reset the extent of the active view.  Because PanMoveTo redraws only the recording cache (bitmap), there are typically blank areas in the display.  Call IActiveView::Refresh after calling PanStop to invalidate the entire display.

The typical sequence for using the pan methods is as follows:

See TrackPan for an alternative panning approach.

Specified by:
panStop in interface IScreenDisplay
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IActiveView.setExtent(com.esri.arcgis.geometry.IEnvelope)

trackRotate

public void trackRotate()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IScreenDisplay
Interactively rotates the screen.

Supported Platforms

Windows, Solaris, Linux

Remarks

There are two approaches to rotating the display - this method and the group RotateStart, RotateMoveTo, RotateTimer, and RotateStop.  This method is the easiest to use as it takes care of all the mouse events automatically, performs the final display rotation, and invalidates the display. 

Call this method in the mouse down event and make certain you have a reference to the correct ScreenDisplay object.  For example, if you are in layout view and you want to pan just the focus map, do not use the ScreenDisplay object associated with IMxDocument::ActiveView.  Instead, get the focus Map via IMxDocument::FocusMap, and then get its ScreenDisplay.

Specified by:
trackRotate in interface IScreenDisplay
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotateStart

public void rotateStart(IPoint mousePt,
                        IPoint centerPt)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IScreenDisplay
Prepares display for rotating. If centerPt is NULL, the center of the visible bounds is used.

Supported Platforms

Windows, Solaris, Linux

Remarks

Call RotateStart to initiate rotating the display.  The required point parameter specifies the starting point of the rotation.  Call RotateMoveTo next to specify the rotation destination point, a rotation angle is calculated based on these two points.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Specified by:
rotateStart in interface IScreenDisplay
Parameters:
mousePt - A reference to a com.esri.arcgis.geometry.IPoint (in)
centerPt - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
Rotate

rotateMoveTo

public void rotateMoveTo(IPoint pPoint)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IScreenDisplay
Rotates to new point.

Supported Platforms

Windows, Solaris, Linux

Remarks

RotateMoveTo rotates the display based on the calculated angle between the start point supplied to RotateStart and the destination point provided to this method.  Next call RotateTimer to show the rotation degree readout and repaint the display from cache.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Specified by:
rotateMoveTo in interface IScreenDisplay
Parameters:
pPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
Rotate

rotateTimer

public void rotateTimer()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IScreenDisplay
Draws the rotated display. Call in response to WM_TIMER.

Supported Platforms

Windows, Solaris, Linux

Remarks

RotateTimer shows the rotation degree readout and repaints the display from cache.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Specified by:
rotateTimer in interface IScreenDisplay
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
Rotate

rotateStop

public double rotateStop()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IScreenDisplay
Stops rotating and returns new angle.

Supported Platforms

Windows, Solaris, Linux

Remarks

RotateStop returns the final rotation angle.  You must call IDisplayTransformation::Rotation with the final rotation angle to actually rotate the display.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Specified by:
rotateStop in interface IScreenDisplay
Returns:
The degrees
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
Rotate

updateWindow

public void updateWindow()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IScreenDisplay
Forces a redraw.

Supported Platforms

Windows, Solaris, Linux

Remarks

Use UpdateWindow to process pending Windows WM_PAINT messages immediately.  This may be the case if you have a routine that takes a long time to execute and you need the window to refresh while the code executes.  Typically, no drawing will occur until all your code has been executed and control returns to the ArcMap's message loop and the WM_PAINT message is handled.  UpdateWindow forces the window to invalidate by sending a WM_PAINT message directly to the window; the normal ArcMap message queue is bypassed.

See UpdateWindow in MSDN for more information.

Specified by:
updateWindow in interface IScreenDisplay
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getDisplayTransformation

public IDisplayTransformation getDisplayTransformation()
                                                throws java.io.IOException,
                                                       AutomationException
Description copied from interface: IDisplay
The transformation used by the display.

Supported Platforms

Windows, Solaris, Linux

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.

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

setDisplayTransformation

public void setDisplayTransformation(IDisplayTransformation displayTransformation)
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IDisplay
The transformation used by the display.

Supported Platforms

Windows, Solaris, Linux

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

getClipEnvelope

public IEnvelope getClipEnvelope()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IDisplay
The bounds of the invalid region. Use after StartDrawing and before FinishDrawing.

Supported Platforms

Windows, Solaris, Linux

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.

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

getClipEnvelopes

public ISet getClipEnvelopes()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IDisplay
The invalid region as a set of envelopes. Use after StartDrawing and before FinishDrawing.

Supported Platforms

Windows, Solaris, Linux

Remarks

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

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

getClipGeometry

public IGeometry getClipGeometry()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IDisplay
User-specified clip shape. This shape is merged with the invalid region to arrive at the actual clip region. Must be specified before StartDrawing.

Supported Platforms

Windows, Solaris, Linux

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.

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

setClipGeometry

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

Supported Platforms

Windows, Solaris, Linux

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

isSuppressEvents

public boolean isSuppressEvents()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IDisplay
Indicates if display object suppresses events.

Supported Platforms

Windows, Solaris, Linux

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.

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

setSuppressEvents

public void setSuppressEvents(boolean suppressEvents)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IDisplay
Indicates if display object suppresses events.

Supported Platforms

Windows, Solaris, Linux

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

getFilter

public IDisplayFilter getFilter()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IDisplay
Display filter. Must call while in a StartDrawing-FinishDrawing sequence. Set Filter to 0 to resume normal drawing.

Supported Platforms

Windows, Solaris, Linux

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

setFilterByRef

public void setFilterByRef(IDisplayFilter filter)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IDisplay
Display filter. Must call while in a StartDrawing-FinishDrawing sequence. Set Filter to 0 to resume normal drawing.

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

getHPalette

public int getHPalette()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IDisplay
Palette.

Supported Platforms

Windows, Solaris, Linux

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

setHPalette

public void setHPalette(int hPalette)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IDisplay
Palette.

Supported Platforms

Windows, Solaris, Linux

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

startDrawing

public void startDrawing(int hDC,
                         short cacheID)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDisplay
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.

Supported Platforms

Windows, Solaris, Linux

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.

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

getHDC

public int getHDC()
           throws java.io.IOException,
                  AutomationException
Description copied from interface: IDisplay
The device context that the display is currently drawing to. Only valid between calls to StartDrawing and FinishDrawing.

Supported Platforms

Windows, Solaris, Linux

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.

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

finishDrawing

public void finishDrawing()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IDisplay
Completes drawing.

Supported Platforms

Windows, Solaris, Linux

Remarks

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

Specified by:
finishDrawing in interface IDisplay
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

progress

public void progress(int vertexCount)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IDisplay
Call frequently during drawing process.

Supported Platforms

Windows, Solaris, Linux

Remarks

Progress is called from the draw methods.

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

drawPoint

public void drawPoint(IGeometry point)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IDisplay
Draws specified point on the display.

Supported Platforms

Windows, Solaris, Linux

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.

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

drawMultipoint

public void drawMultipoint(IGeometry multipoint)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IDisplay
Draws specified multipoint on the display.

Supported Platforms

Windows, Solaris, Linux

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.

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

drawRectangle

public void drawRectangle(IEnvelope rectangle)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IDisplay
Draws specified rectangle on the display.

Supported Platforms

Windows, Solaris, Linux

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.

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

drawPolyline

public void drawPolyline(IGeometry polyline)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDisplay
Draws specified line on the display.

Supported Platforms

Windows, Solaris, Linux

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.

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

drawPolygon

public void drawPolygon(IGeometry polygon)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IDisplay
Draws specified polygon on the display.

Supported Platforms

Windows, Solaris, Linux

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.

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

drawText

public void drawText(IGeometry shape,
                     java.lang.String text)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IDisplay
Draws specified text on the display.

Supported Platforms

Windows, Solaris, Linux

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.

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

setSymbol

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

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

getIlluminationProps

public IIlluminationProps getIlluminationProps()
                                        throws java.io.IOException,
                                               AutomationException
Description copied from interface: IDisplay
Illumination properties used by the display.

Supported Platforms

Windows, Solaris, Linux

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

setIlluminationProps

public void setIlluminationProps(IIlluminationProps illuminationProps)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IDisplay
Illumination properties used by the display.

Supported Platforms

Windows, Solaris, Linux

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

setBackgroundRGB

public void setBackgroundRGB(int rGB)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IScreenDisplay2
The RGB value of the background color. This color only appears on the screen, not on output.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBackgroundRGB in interface IScreenDisplay2
Parameters:
rGB - The rGB (A COM typedef) (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getBackgroundRGB

public int getBackgroundRGB()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IScreenDisplay2
The RGB value of the background color. This color only appears on the screen, not on output.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBackgroundRGB in interface IScreenDisplay2
Returns:
The rGB (A COM typedef)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getDrawingOffset

public void getDrawingOffset(int[] x,
                             int[] y)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IScreenDisplay2
The offset between the device origin and the active cache origin.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDrawingOffset in interface IScreenDisplay2
Parameters:
x - The x (out: use single element array)
y - The y (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

validate

public void validate(short cacheIndex)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IScreenDisplay2
Clear dirty flag for specified cache.

Supported Platforms

Windows, Solaris, Linux

Specified by:
validate in interface IScreenDisplay2
Parameters:
cacheIndex - The cacheIndex (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

startFeedback

public void startFeedback()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IScreenDisplay2
Prepare the display for drawing selection/rubberbanding. Drawing isn't clipped or zoomed with page. Must match with a call to FinishFeedback.

Supported Platforms

Windows, Solaris, Linux

Specified by:
startFeedback in interface IScreenDisplay2
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

finishFeedback

public void finishFeedback()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IScreenDisplay2
Ends feedback drawing.

Supported Platforms

Windows, Solaris, Linux

Specified by:
finishFeedback in interface IScreenDisplay2
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

frameScrolled

public void frameScrolled(int x,
                          int y)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IScreenDisplay2
Call on frame display when container is scrolled.

Supported Platforms

Windows, Solaris, Linux

Specified by:
frameScrolled in interface IScreenDisplay2
Parameters:
x - The x (in)
y - The y (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCacheFlags

public void getCacheFlags(short cacheID,
                          int[] flags)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IScreenCacheManager
Get special properties of specified cache.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCacheFlags in interface IScreenCacheManager
Parameters:
cacheID - The cacheID (in)
flags - A com.esri.arcgis.display.esriDisplayCacheFlags constant (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

modifyCacheFlags

public void modifyCacheFlags(short cacheID,
                             int flagsToAdd,
                             int flagsToRemove)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IScreenCacheManager
Set special properties of specified cache.

Supported Platforms

Windows, Solaris, Linux

Specified by:
modifyCacheFlags in interface IScreenCacheManager
Parameters:
cacheID - The cacheID (in)
flagsToAdd - A com.esri.arcgis.display.esriDisplayCacheFlags constant (in)
flagsToRemove - A com.esri.arcgis.display.esriDisplayCacheFlags constant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putCacheOrder

public void putCacheOrder(short cacheID,
                          short order)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IScreenCacheManager
Sets or returns the order of the specified cache. Client's that use multiple caches may assign an order to them. Bottom cache is 0 and top cache is n.

Supported Platforms

Windows, Solaris, Linux

Specified by:
putCacheOrder in interface IScreenCacheManager
Parameters:
cacheID - The cacheID (in)
order - The order (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCacheOrder

public short getCacheOrder(short cacheID)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IScreenCacheManager
Sets or returns the order of the specified cache. Client's that use multiple caches can assign an order to them. Bottom cache is 0 and top cache is n.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCacheOrder in interface IScreenCacheManager
Parameters:
cacheID - The cacheID (in)
Returns:
The order
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getInvalidEnvelope

public IEnvelope getInvalidEnvelope()
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IScreenInvalidate
The bounds of the invalid region.

Supported Platforms

Windows, Solaris, Linux

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

getInvalidArea

public IArea getInvalidArea()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IScreenInvalidate
The bounds of the invalid region.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidArea in interface IScreenInvalidate
Returns:
A reference to a com.esri.arcgis.geometry.IArea
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

invalidateShape

public void invalidateShape(IGeometry pGeometry,
                            double symbolSizePoints,
                            boolean erase,
                            short cacheIndex)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IScreenInvalidate
Cause the specified area of the specified cache to redraw. Use symbolSizePoints to specify point sizes and line widths.

Supported Platforms

Windows, Solaris, Linux

Specified by:
invalidateShape in interface IScreenInvalidate
Parameters:
pGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
symbolSizePoints - The symbolSizePoints (in)
erase - The erase (in)
cacheIndex - The cacheIndex (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(IGeometry geometry)
          throws java.io.IOException,
                 AutomationException
Description copied from interface: IDraw
Draws the specified shape.

Supported Platforms

Windows, Solaris, Linux

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

getCustomProperty

public java.lang.Object getCustomProperty()
                                   throws java.io.IOException,
                                          AutomationException
Description copied from interface: IDraw
Custom property.

Supported Platforms

Windows, Solaris, Linux

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

setCustomProperty

public void setCustomProperty(java.lang.Object customProperty)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IDraw
Custom property.

Supported Platforms

Windows, Solaris, Linux

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

getClipRegion

public IGeometry getClipRegion()
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IDraw
Clipping region (polygon or envelope). Use after StartDrawing and before FinishDrawing.

Supported Platforms

Windows, Solaris, Linux

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

boundsUpdated

public void boundsUpdated(ITransformEventsBoundsUpdatedEvent theEvent)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: ITransformEvents
Notifies clients when the bounds is updated.

Supported Platforms

Windows, Solaris, Linux

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

visibleBoundsUpdated

public void visibleBoundsUpdated(ITransformEventsVisibleBoundsUpdatedEvent theEvent)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: ITransformEvents
Notifies clients when the visible bounds is updated.

Supported Platforms

Windows, Solaris, Linux

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

deviceFrameUpdated

public void deviceFrameUpdated(ITransformEventsDeviceFrameUpdatedEvent theEvent)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: ITransformEvents
Notifies clients when the device frame is updated.

Supported Platforms

Windows, Solaris, Linux

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

resolutionUpdated

public void resolutionUpdated(ITransformEventsResolutionUpdatedEvent theEvent)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: ITransformEvents
Notifies clients when the resolution is updated.

Supported Platforms

Windows, Solaris, Linux

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

rotationUpdated

public void rotationUpdated(ITransformEventsRotationUpdatedEvent theEvent)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: ITransformEvents
Notifies clients when the rotation angle is updated.

Supported Platforms

Windows, Solaris, Linux

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

unitsUpdated

public void unitsUpdated(ITransformEventsUnitsUpdatedEvent theEvent)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: ITransformEvents
Notifies clients when the units are updated.

Supported Platforms

Windows, Solaris, Linux

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

enumConnectionPoints

public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IConnectionPointContainer

Supported Platforms

Windows, Solaris, Linux

Description

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

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

findConnectionPoint

public void findConnectionPoint(GUID riid,
                                IConnectionPoint[] ppCP)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IConnectionPointContainer

Supported Platforms

Windows, Solaris, Linux

Description

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

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:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isDynamicDisplayEnabled

public boolean isDynamicDisplayEnabled()
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: IDynamicScreenDisplay
Indicates if dynamic display is turn on or off.

Specified by:
isDynamicDisplayEnabled in interface IDynamicScreenDisplay
Returns:
The isEnable
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

zoomStart

public void zoomStart(IPoint point)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IScreenDisplayZoom
Prepares display for zooming.

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

zoomMoveTo

public void zoomMoveTo(IPoint point)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IScreenDisplayZoom
Zooms to a new extent.

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

zoomStop

public IEnvelope zoomStop()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IScreenDisplayZoom
Stops zooming and returns new visible bounds.

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

trackZoom

public void trackZoom()
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IScreenDisplayZoom
Interactively Zooms the screen.

Specified by:
trackZoom in interface IScreenDisplayZoom
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.