|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.display.SimpleDisplay
public class SimpleDisplay
Display class for drawing to any HDC.
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. |
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 |
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 |
---|
public SimpleDisplay() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic SimpleDisplay(Object obj) throws IOException
SimpleDisplay theSimpleDisplay = (SimpleDisplay) obj;
obj
to SimpleDisplay
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public void addIDisplayEventsListener(IDisplayEvents theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.display.IDisplayEvents interface.
IOException
- If there are communications problems.public void removeIDisplayEventsListener(IDisplayEvents theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.display.IDisplayEvents interface.
IOException
- If there are communications problems.public void addITimeDisplayEventsListener(ITimeDisplayEvents theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.display.ITimeDisplayEvents interface.
IOException
- If there are communications problems.public void removeITimeDisplayEventsListener(ITimeDisplayEvents theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.display.ITimeDisplayEvents interface.
IOException
- If there are communications problems.public IDisplayTransformation getDisplayTransformation() throws IOException, AutomationException
getDisplayTransformation
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDisplayTransformation(IDisplayTransformation displayTransformation) throws IOException, AutomationException
setDisplayTransformation
in interface IDisplay
displayTransformation
- A reference to a com.esri.arcgis.display.IDisplayTransformation (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getClipEnvelope() throws IOException, AutomationException
getClipEnvelope
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISet getClipEnvelopes() throws IOException, AutomationException
getClipEnvelopes
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getClipGeometry() throws IOException, AutomationException
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.
getClipGeometry
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setClipGeometry(IGeometry geometry) throws IOException, AutomationException
setClipGeometry
in interface IDisplay
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isSuppressEvents() throws IOException, AutomationException
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.
isSuppressEvents
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSuppressEvents(boolean suppressEvents) throws IOException, AutomationException
setSuppressEvents
in interface IDisplay
suppressEvents
- The suppressEvents (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDisplayFilter getFilter() throws IOException, AutomationException
getFilter
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setFilterByRef(IDisplayFilter filter) throws IOException, AutomationException
setFilterByRef
in interface IDisplay
filter
- A reference to a com.esri.arcgis.display.IDisplayFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getHPalette() throws IOException, AutomationException
getHPalette
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setHPalette(int hPalette) throws IOException, AutomationException
setHPalette
in interface IDisplay
hPalette
- The hPalette (A COM typedef) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void startDrawing(int hDC, short cacheID) throws IOException, AutomationException
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.
StartDrawing fires the IDisplayEvents::DisplayStarted event.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>
startDrawing
in interface IDisplay
startDrawing
in interface IDraw
hDC
- The hDC (A COM typedef) (in)cacheID
- The cacheID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.finishDrawing()
public int getHDC() throws IOException, AutomationException
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.
getHDC
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void finishDrawing() throws IOException, AutomationException
finishDrawing
in interface IDisplay
finishDrawing
in interface IDraw
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.startDrawing(int, short)
public void progress(int vertexCount) throws IOException, AutomationException
progress
in interface IDisplay
vertexCount
- The vertexCount (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void drawPoint(IGeometry point) throws IOException, AutomationException
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.
drawPoint
in interface IDisplay
point
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.startDrawing(int, short)
public void drawMultipoint(IGeometry multipoint) throws IOException, AutomationException
drawMultipoint
in interface IDisplay
multipoint
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.startDrawing(int, short)
public void drawRectangle(IEnvelope rectangle) throws IOException, AutomationException
drawRectangle
in interface IDisplay
rectangle
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.startDrawing(int, short)
public void drawPolyline(IGeometry polyline) throws IOException, AutomationException
drawPolyline
in interface IDisplay
polyline
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.startDrawing(int, short)
public void drawPolygon(IGeometry polygon) throws IOException, AutomationException
drawPolygon
in interface IDisplay
polygon
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.startDrawing(int, short)
public void drawText(IGeometry shape, String text) throws IOException, AutomationException
drawText
in interface IDisplay
shape
- A reference to a com.esri.arcgis.geometry.IGeometry (in)text
- The text (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IDisplay.startDrawing(int, short)
public void setSymbol(ISymbol sym) throws IOException, AutomationException
setSymbol
in interface IDisplay
setSymbol
in interface IDraw
sym
- A reference to a com.esri.arcgis.display.ISymbol (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IIlluminationProps getIlluminationProps() throws IOException, AutomationException
getIlluminationProps
in interface IDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setIlluminationProps(IIlluminationProps illuminationProps) throws IOException, AutomationException
setIlluminationProps
in interface IDisplay
illuminationProps
- A reference to a com.esri.arcgis.display.IIlluminationProps (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void pushFilter(IDisplayFilter filter) throws IOException, AutomationException
pushFilter
in interface IDisplayFiltersControl
filter
- A reference to a com.esri.arcgis.display.IDisplayFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void popFilter() throws IOException, AutomationException
popFilter
in interface IDisplayFiltersControl
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDisplayFilter getCurrentFilter() throws IOException, AutomationException
getCurrentFilter
in interface IDisplayFiltersControl
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void draw(IGeometry geometry) throws IOException, AutomationException
draw
in interface IDraw
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getCustomProperty() throws IOException, AutomationException
getCustomProperty
in interface IDraw
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setCustomProperty(Object customProperty) throws IOException, AutomationException
setCustomProperty
in interface IDraw
customProperty
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getClipRegion() throws IOException, AutomationException
getClipRegion
in interface IDraw
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum) throws IOException, AutomationException
IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
enumConnectionPoints
in interface IConnectionPointContainer
ppEnum
- A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP) throws IOException, AutomationException
IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
findConnectionPoint
in interface IConnectionPointContainer
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)ppCP
- A reference to a com.esri.arcgis.display.IConnectionPoint (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITimeValue getTimeValue() throws IOException, AutomationException
getTimeValue
in interface ITimeDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTimeValue(ITimeValue timeExtent) throws IOException, AutomationException
setTimeValue
in interface ITimeDisplay
timeExtent
- A reference to a com.esri.arcgis.system.ITimeValue (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITimeReference getTimeReference() throws IOException, AutomationException
getTimeReference
in interface ITimeDisplay
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTimeReference(ITimeReference timeReference) throws IOException, AutomationException
setTimeReference
in interface ITimeDisplay
timeReference
- A reference to a com.esri.arcgis.system.ITimeReference (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |