Package gov.nasa.worldwind.layers
Class ViewControlsLayer
- java.lang.Object
-
- gov.nasa.worldwind.avlist.AVListImpl
-
- gov.nasa.worldwind.WWObjectImpl
-
- gov.nasa.worldwind.layers.AbstractLayer
-
- gov.nasa.worldwind.layers.RenderableLayer
-
- gov.nasa.worldwind.layers.ViewControlsLayer
-
- All Implemented Interfaces:
AVList,Disposable,MessageListener,Layer,Restorable,WWObject,java.beans.PropertyChangeListener,java.util.EventListener
public class ViewControlsLayer extends RenderableLayer
This layer displays onscreen view controls. Controls are available for pan, zoom, heading, pitch, tilt, field-of-view and vertical exaggeration. Each of the controls can be enabled or disabled independently.An instance of this class depends on an instance of
ViewControlsSelectListenerto control it. The select listener must be registered as such viaWorldWindow.addSelectListener(gov.nasa.worldwind.event.SelectListener).ViewControlsLayerinstances are not sharable amongWorldWindows.- See Also:
ViewControlsSelectListener
-
-
Field Summary
Fields Modifier and Type Field Description protected intborderWidthprotected intbuttonSizeprotected ScreenAnnotationcontrolFovNarrowprotected ScreenAnnotationcontrolFovWideprotected ScreenAnnotationcontrolHeadingLeftprotected ScreenAnnotationcontrolHeadingRightprotected ScreenAnnotationcontrolLookprotected ScreenAnnotationcontrolPanprotected ScreenAnnotationcontrolPitchDownprotected ScreenAnnotationcontrolPitchUpprotected ScreenAnnotationcontrolVeDownprotected ScreenAnnotationcontrolVeUpprotected ScreenAnnotationcontrolZoomInprotected ScreenAnnotationcontrolZoomOutprotected ScreenAnnotationcurrentControlprotected static java.lang.StringIMAGE_FOV_NARROWprotected static java.lang.StringIMAGE_FOV_WIDEprotected static java.lang.StringIMAGE_HEADING_LEFTprotected static java.lang.StringIMAGE_HEADING_RIGHTprotected static java.lang.StringIMAGE_LOOKprotected static java.lang.StringIMAGE_PANprotected static java.lang.StringIMAGE_PITCH_DOWNprotected static java.lang.StringIMAGE_PITCH_UPprotected static java.lang.StringIMAGE_VE_DOWNprotected static java.lang.StringIMAGE_VE_UPprotected static java.lang.StringIMAGE_ZOOM_INprotected static java.lang.StringIMAGE_ZOOM_OUTprotected booleaninitializedprotected java.lang.Stringlayoutprotected Vec4locationCenterprotected Vec4locationOffsetprotected intpanSizeprotected java.lang.Stringpositionprotected java.awt.RectanglereferenceViewportprotected doublescaleprotected booleanshowFovControlsprotected booleanshowHeadingControlsprotected booleanshowLookControlsprotected booleanshowPanControlsprotected booleanshowPitchControlsprotected booleanshowVeControlsprotected booleanshowZoomControls-
Fields inherited from class gov.nasa.worldwind.layers.RenderableLayer
pickSupport, renderables, renderablesOverride
-
-
Constructor Summary
Constructors Constructor Description ViewControlsLayer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidclearControls()protected java.awt.PointcomputeLocation(java.awt.Rectangle viewport, java.awt.Rectangle controls)Compute the screen location of the controls overall rectangle bottom right corner according to either the location center if not null, or the screen position.voiddoRender(DrawContext dc)intgetBorderWidth()protected intgetButtonSize()java.lang.StringgetControlType(java.lang.Object control)Get the control type associated with the given object or null if unknown.java.lang.ObjectgetHighlightedObject()Indicates the currently highlighted control, if any.protected java.lang.ObjectgetImageSource(java.lang.String control)Get a control image source.java.lang.StringgetLayout()Returns the current layout.Vec4getLocationCenter()Returns the current layer image location.Vec4getLocationOffset()Returns the current location offset.doublegetOpacity()Returns the layer's opacity value, which is ignored by this layer.protected intgetPanSize()java.lang.StringgetPosition()Returns the current relative view controls position.doublegetScale()Get the controls display scale.voidhighlight(java.lang.Object control)Specifies the control to highlight.protected voidinitialize(DrawContext dc)protected booleanisInitialized()booleanisShowFovControls()booleanisShowHeadingControls()booleanisShowLookControls()booleanisShowPanControls()booleanisShowPitchControls()booleanisShowVeControls()booleanisShowZoomControls()voidsetBorderWidth(int borderWidth)Sets the view controls offset from the viewport border.protected voidsetButtonSize(int buttonSize)voidsetLayout(java.lang.String layout)Sets the desired layout.voidsetLocationCenter(Vec4 locationCenter)Specifies the screen location of the layer, relative to the image's center.voidsetLocationOffset(Vec4 locationOffset)Specifies a placement offset from the layer position on the screen.voidsetOpacity(double opacity)Layer opacity is not applied to layers of this type.protected voidsetPanSize(int panSize)voidsetPosition(java.lang.String position)Sets the relative viewport location to display the view controls.voidsetScale(double scale)Set the controls display scale.voidsetShowFovControls(boolean state)voidsetShowHeadingControls(boolean state)voidsetShowLookControls(boolean state)voidsetShowPanControls(boolean state)voidsetShowPitchControls(boolean state)voidsetShowVeControls(boolean state)voidsetShowZoomControls(boolean state)java.lang.StringtoString()protected voidupdatePositions(DrawContext dc)-
Methods inherited from class gov.nasa.worldwind.layers.RenderableLayer
addRenderable, addRenderable, addRenderables, clearRenderables, dispose, disposeRenderables, doPick, doPick, doPreRender, doPreRender, doRender, getActiveRenderables, getNumRenderables, getRenderables, onMessage, removeAllRenderables, removeRenderable, setRenderables
-
Methods inherited from class gov.nasa.worldwind.layers.AbstractLayer
createLayerConfigElements, getDataFileStore, getExpiryTime, getLayerConfigParams, getMaxActiveAltitude, getMaxEffectiveAltitude, getMinActiveAltitude, getMinEffectiveAltitude, getName, getRestorableState, getScreenCredit, isAtMaxResolution, isEnabled, isLayerActive, isLayerConfigDocument, isLayerInView, isMultiResolution, isNetworkRetrievalEnabled, isPickEnabled, pick, preRender, render, restoreState, setDataFileStore, setEnabled, setExpiryTime, setMaxActiveAltitude, setMinActiveAltitude, setName, setNetworkRetrievalEnabled, setPickEnabled, setScreenCredit
-
Methods inherited from class gov.nasa.worldwind.WWObjectImpl
propertyChange
-
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gov.nasa.worldwind.avlist.AVList
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
-
-
-
-
Field Detail
-
IMAGE_PAN
protected static final java.lang.String IMAGE_PAN
- See Also:
- Constant Field Values
-
IMAGE_LOOK
protected static final java.lang.String IMAGE_LOOK
- See Also:
- Constant Field Values
-
IMAGE_HEADING_LEFT
protected static final java.lang.String IMAGE_HEADING_LEFT
- See Also:
- Constant Field Values
-
IMAGE_HEADING_RIGHT
protected static final java.lang.String IMAGE_HEADING_RIGHT
- See Also:
- Constant Field Values
-
IMAGE_ZOOM_IN
protected static final java.lang.String IMAGE_ZOOM_IN
- See Also:
- Constant Field Values
-
IMAGE_ZOOM_OUT
protected static final java.lang.String IMAGE_ZOOM_OUT
- See Also:
- Constant Field Values
-
IMAGE_PITCH_UP
protected static final java.lang.String IMAGE_PITCH_UP
- See Also:
- Constant Field Values
-
IMAGE_PITCH_DOWN
protected static final java.lang.String IMAGE_PITCH_DOWN
- See Also:
- Constant Field Values
-
IMAGE_FOV_NARROW
protected static final java.lang.String IMAGE_FOV_NARROW
- See Also:
- Constant Field Values
-
IMAGE_FOV_WIDE
protected static final java.lang.String IMAGE_FOV_WIDE
- See Also:
- Constant Field Values
-
IMAGE_VE_UP
protected static final java.lang.String IMAGE_VE_UP
- See Also:
- Constant Field Values
-
IMAGE_VE_DOWN
protected static final java.lang.String IMAGE_VE_DOWN
- See Also:
- Constant Field Values
-
controlPan
protected ScreenAnnotation controlPan
-
controlLook
protected ScreenAnnotation controlLook
-
controlHeadingLeft
protected ScreenAnnotation controlHeadingLeft
-
controlHeadingRight
protected ScreenAnnotation controlHeadingRight
-
controlZoomIn
protected ScreenAnnotation controlZoomIn
-
controlZoomOut
protected ScreenAnnotation controlZoomOut
-
controlPitchUp
protected ScreenAnnotation controlPitchUp
-
controlPitchDown
protected ScreenAnnotation controlPitchDown
-
controlFovNarrow
protected ScreenAnnotation controlFovNarrow
-
controlFovWide
protected ScreenAnnotation controlFovWide
-
controlVeUp
protected ScreenAnnotation controlVeUp
-
controlVeDown
protected ScreenAnnotation controlVeDown
-
currentControl
protected ScreenAnnotation currentControl
-
position
protected java.lang.String position
-
layout
protected java.lang.String layout
-
locationCenter
protected Vec4 locationCenter
-
locationOffset
protected Vec4 locationOffset
-
scale
protected double scale
-
borderWidth
protected int borderWidth
-
buttonSize
protected int buttonSize
-
panSize
protected int panSize
-
initialized
protected boolean initialized
-
referenceViewport
protected java.awt.Rectangle referenceViewport
-
showPanControls
protected boolean showPanControls
-
showLookControls
protected boolean showLookControls
-
showZoomControls
protected boolean showZoomControls
-
showHeadingControls
protected boolean showHeadingControls
-
showPitchControls
protected boolean showPitchControls
-
showFovControls
protected boolean showFovControls
-
showVeControls
protected boolean showVeControls
-
-
Method Detail
-
getBorderWidth
public int getBorderWidth()
-
setBorderWidth
public void setBorderWidth(int borderWidth)
Sets the view controls offset from the viewport border.- Parameters:
borderWidth- the number of pixels to offset the view controls from the borders indicated bysetPosition(String).
-
getScale
public double getScale()
Get the controls display scale.- Specified by:
getScalein interfaceLayer- Overrides:
getScalein classAbstractLayer- Returns:
- the controls display scale.
-
setScale
public void setScale(double scale)
Set the controls display scale.- Parameters:
scale- the controls display scale.
-
getButtonSize
protected int getButtonSize()
-
setButtonSize
protected void setButtonSize(int buttonSize)
-
getPanSize
protected int getPanSize()
-
setPanSize
protected void setPanSize(int panSize)
-
getPosition
public java.lang.String getPosition()
Returns the current relative view controls position.- Returns:
- the current view controls position.
-
setPosition
public void setPosition(java.lang.String position)
Sets the relative viewport location to display the view controls. Can be one ofAVKey.NORTHEAST,AVKey.NORTHWEST,AVKey.SOUTHEAST, orAVKey.SOUTHWEST(the default). These indicate the corner of the viewport to place view controls.- Parameters:
position- the desired view controls position, in screen coordinates.
-
getLayout
public java.lang.String getLayout()
Returns the current layout. Can be one ofAVKey.HORIZONTALorAVKey.VERTICAL.- Returns:
- the current layout.
-
setLayout
public void setLayout(java.lang.String layout)
Sets the desired layout. Can be one ofAVKey.HORIZONTALorAVKey.VERTICAL.- Parameters:
layout- the desired layout.
-
setOpacity
public void setOpacity(double opacity)
Layer opacity is not applied to layers of this type. Opacity is controlled by the alpha values of the operation images.- Specified by:
setOpacityin interfaceLayer- Overrides:
setOpacityin classRenderableLayer- Parameters:
opacity- the current opacity value, which is ignored by this layer.
-
getOpacity
public double getOpacity()
Returns the layer's opacity value, which is ignored by this layer. Opacity is controlled by the alpha values of the operation images.- Specified by:
getOpacityin interfaceLayer- Overrides:
getOpacityin classRenderableLayer- Returns:
- The layer opacity, a value between 0 and 1.
-
getLocationCenter
public Vec4 getLocationCenter()
Returns the current layer image location.- Returns:
- the current location center. May be null.
-
setLocationCenter
public void setLocationCenter(Vec4 locationCenter)
Specifies the screen location of the layer, relative to the image's center. May be null. If this value is non-null, it overrides the position specified bysetPosition(String). The location is specified in pixels. The origin is the window's lower left corner. Positive X values are to the right of the origin, positive Y values are upwards from the origin. The final image location will be affected by the currently specified location offset if a non-null location offset has been specified (seesetLocationOffset(gov.nasa.worldwind.geom.Vec4))}.- Parameters:
locationCenter- the location center. May be null.- See Also:
setPosition(String),setLocationOffset(gov.nasa.worldwind.geom.Vec4)
-
getLocationOffset
public Vec4 getLocationOffset()
Returns the current location offset. See #setLocationOffset for a description of the offset and its values.- Returns:
- the location offset. Will be null if no offset has been specified.
-
setLocationOffset
public void setLocationOffset(Vec4 locationOffset)
Specifies a placement offset from the layer position on the screen.- Parameters:
locationOffset- the number of pixels to shift the layer image from its specified screen position. A positive X value shifts the image to the right. A positive Y value shifts the image up. If null, no offset is applied. The default offset is null.- See Also:
setLocationCenter(gov.nasa.worldwind.geom.Vec4),setPosition(String)
-
isShowPanControls
public boolean isShowPanControls()
-
setShowPanControls
public void setShowPanControls(boolean state)
-
isShowLookControls
public boolean isShowLookControls()
-
setShowLookControls
public void setShowLookControls(boolean state)
-
isShowHeadingControls
public boolean isShowHeadingControls()
-
setShowHeadingControls
public void setShowHeadingControls(boolean state)
-
isShowZoomControls
public boolean isShowZoomControls()
-
setShowZoomControls
public void setShowZoomControls(boolean state)
-
isShowPitchControls
public boolean isShowPitchControls()
-
setShowPitchControls
public void setShowPitchControls(boolean state)
-
isShowFovControls
public boolean isShowFovControls()
-
setShowFovControls
public void setShowFovControls(boolean state)
-
setShowVeControls
public void setShowVeControls(boolean state)
-
isShowVeControls
public boolean isShowVeControls()
-
getControlType
public java.lang.String getControlType(java.lang.Object control)
Get the control type associated with the given object or null if unknown.- Parameters:
control- the control object- Returns:
- the control type. Can be one of
AVKey.VIEW_PAN,AVKey.VIEW_LOOK,AVKey.VIEW_HEADING_LEFT,AVKey.VIEW_HEADING_RIGHT,AVKey.VIEW_ZOOM_IN,AVKey.VIEW_ZOOM_OUT,AVKey.VIEW_PITCH_UP,AVKey.VIEW_PITCH_DOWN,AVKey.VIEW_FOV_NARROWorAVKey.VIEW_FOV_WIDE.Returns null if the object is not a view control associated with this layer.
-
getHighlightedObject
public java.lang.Object getHighlightedObject()
Indicates the currently highlighted control, if any.- Returns:
- the currently highlighted control, or null if no control is highlighted.
-
highlight
public void highlight(java.lang.Object control)
Specifies the control to highlight. Any currently highlighted control is un-highlighted.- Parameters:
control- the control to highlight.
-
doRender
public void doRender(DrawContext dc)
- Overrides:
doRenderin classRenderableLayer
-
isInitialized
protected boolean isInitialized()
-
initialize
protected void initialize(DrawContext dc)
-
getImageSource
protected java.lang.Object getImageSource(java.lang.String control)
Get a control image source.- Parameters:
control- the control type. Can be one ofAVKey.VIEW_PAN,AVKey.VIEW_LOOK,AVKey.VIEW_HEADING_LEFT,AVKey.VIEW_HEADING_RIGHT,AVKey.VIEW_ZOOM_IN,AVKey.VIEW_ZOOM_OUT,AVKey.VIEW_PITCH_UP,AVKey.VIEW_PITCH_DOWN,AVKey.VIEW_FOV_NARROWorAVKey.VIEW_FOV_WIDE.- Returns:
- the image source associated with the given control type.
-
updatePositions
protected void updatePositions(DrawContext dc)
-
computeLocation
protected java.awt.Point computeLocation(java.awt.Rectangle viewport, java.awt.Rectangle controls)Compute the screen location of the controls overall rectangle bottom right corner according to either the location center if not null, or the screen position.- Parameters:
viewport- the current viewport rectangle.controls- the overall controls rectangle- Returns:
- the screen location of the bottom left corner - south west corner.
-
clearControls
protected void clearControls()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classRenderableLayer
-
-