public abstract class AbstractBrowserBalloon extends AbstractBalloon implements HotSpot, Disposable
BalloonsetText with an HTML
 formatted string. A browser balloon resolves relative URLs in the HTML content by consulting its
 resource resolver. The resource resolver converts a relative URL to an absolute URL that
 the browser can load. The resource resolver is specified by calling setResourceResolver, and may be one
 of the following: a WebResourceResolverURLString containing a valid URL description. If a browser balloon's resource
 resolver is null or is an unrecognized type, the browser interprets relative URLs as
 unresolved references.
 
 Browser Controls
 
 Browser balloons display three default browser controls that enable users to navigate the browser's history back and
 forward, and to close the balloon. When the user selects one of these controls, a SelectEvent is
 generated with the PickedObject's AVKey.ACTION value set to one of
 AVKey.CLOSE, AVKey.BACK, or AVKey.FORWARD. These controls may be enabled or
 disabled by calling setDrawBrowserControls (they are enabled by default), and may be customized by
 adding or removing controls from the browser balloon. See getBrowserControls,
 addBrowserControl, and removeBrowserControl.
 
 Resize Control
 
 Browser balloons provide a default resize control that is activated by dragging the balloon's border. When the user
 drags the border, a SelectEvent is generated with the PickedObject's AVKey.ACTION value set
 to AVKey.RESIZE. The PickedObject's AVKey.BOUNDS value holds the Balloon's
 screen bounds in AWT coordinates (origin at the upper left corner) as a java.awt.Rectangle.  The resize
 control may be enabled or disabled by calling setDrawResizeControl (it is enabled by default).
 
 Balloon Size
 
 The browser balloon's screen width and height are specified as a SizeBalloonAttributes. This size may configured in one of the following three modes: WorldWindow size.Size object in its BalloonAttributes. If the maximum size is null, the
 balloon's width and height are unlimited. The space provided for the balloon's HTML content equal to the balloon's
 screen width and height minus the balloon's insets, also specified in its BalloonAttributes
 
 The balloon's width or height (or both) may be configured to fit to the balloon's HTML content by configuring its
 BalloonAttributes with a Size who's width or height mode is
 Size.NATIVE_DIMENSION or Size.MAINTAIN_ASPECT_RATIO. When configured in this mode, the
 browser balloon's size always fits the HTML content specified at construction or by calling setText. If
 a user action causes the balloon to navigate to another page, the balloon continues to fit to its current HTML
 content.
 
 The balloon frame's corner radius and leader width specified in its BalloonAttributes are limited by the
 balloon's size. The corner radius is first limited by the balloon's width and height, then the leader width is
 limited by the balloon's width and height minus space taken by rounded corners. For example, if the corner radius is
 100 and the width and height are 50 and 100, the actual corner radius used is 25 - half of the rectangle's smallest
 dimension. Similarly, if the leader is attached to the rectangle's bottom, its width is limited by the rectangle's
 width minus any space used by the balloon's rounded corners.
 
 Hiding the balloon
 
 The balloon can be made visible or invisible by calling setVisible. The balloon's visibilityAction determines what happens to the native web browser when the balloon is invisible. The balloon can
 either release its native web browser, preventing the native browser from consuming system resources while the
 balloon is invisible, or it can retain the native browser. Possible values of visibilityAction are: | Modifier and Type | Class and Description | 
|---|---|
| static class  | AbstractBrowserBalloon.BrowserControl | 
| protected static class  | AbstractBrowserBalloon.FrameGeometryInfoHolds the vertex data and the defining properties of a balloon's frame and leader geometry. | 
| protected class  | AbstractBrowserBalloon.OrderedBrowserBalloon | 
| Modifier and Type | Field and Description | 
|---|---|
| protected List<AbstractBrowserBalloon.BrowserControl> | browserControls | 
| protected static Dimension | DEFAULT_NATIVE_SIZEThe browser balloon's default native size: 400x300. | 
| protected static int | DEFAULT_OUTLINE_PICK_WIDTHThe default outline pick width in pixels. | 
| protected static String | DEFAULT_WEB_VIEW_FACTORYThe class name of the default  used to create
 the balloon's internalWebView. | 
| protected boolean | drawBrowserControls | 
| protected boolean | drawResizeControl | 
| protected boolean | drawTitleBar | 
| protected static int | FRAME_GEOMETRY_ELLIPSE_SLICESThe number of slices used to display a balloon frame as an ellipse: 64. | 
| protected static int | FRAME_GEOMETRY_RECTANGLE_CORNER_SLICESThe number of slices used to display each of a rectangular balloon frame's rounded corners: 16. | 
| protected Point | lastPickPointThe screen coordinate of the last  SelectEventsent to this balloon'sselectmethod. | 
| protected HashMap<GlobeStateKey,AbstractBrowserBalloon.OrderedBrowserBalloon> | orderedRenderables | 
| protected OGLStackHandler | oshSupport for setting up and restoring OpenGL state during rendering. | 
| protected int | outlinePickWidthThe line width used to draw the the balloon's outline during picking. | 
| protected Layer | pickLayerThe layer active during the most recent pick pass. | 
| protected PickSupport | pickSupportSupport for setting up and restoring picking state, and resolving the picked object. | 
| protected Object | resourceResolverIndicates the object used to resolve relative resource paths in this browser balloon's HTML content. | 
| protected long | screenBalloonPickFrame | 
| protected long | screenBalloonRenderFrame | 
| protected Point | screenOffsetThe location of the balloon's content frame relative to the balloon's screen point in the viewport. | 
| protected long | textUpdateTimeIdentifies the time when the balloon text was updated. | 
| protected String | visibilityActionAction that will occur when the balloon is made invisible. | 
| protected WebView | webViewInterface for interacting with the operating system's web browser control. | 
| protected Dimension | webViewContentSizeThe size of the WebView's HTML content size, in pixels. | 
| protected boolean | webViewCreationFailedDenotes whether or not an attempt at WebView creation failed. | 
| protected long | webViewTimeStampIdentifies the frame used to update the WebView's state. | 
activeAttributes, alwaysOnTop, attributes, defaultAttributes, delegateOwner, highlightAttributes, highlighted, maxActiveAltitude, minActiveAltitude, pickEnabled, text, textDecoder, visible| Modifier | Constructor and Description | 
|---|---|
| protected  | AbstractBrowserBalloon(String text) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addAllBrowserControls(Iterable<? extends AbstractBrowserBalloon.BrowserControl> iterable) | 
| void | addBrowserControl(AbstractBrowserBalloon.BrowserControl browserControl) | 
| AbstractBrowserBalloon.BrowserControl | addBrowserControl(String action,
                 Offset offset,
                 Object imageSource) | 
| AbstractBrowserBalloon.BrowserControl | addBrowserControl(String action,
                 Offset offset,
                 Size size,
                 Object imageSource) | 
| protected void | beginDrawing(DrawContext dc) | 
| protected boolean | bindWebViewTexture(DrawContext dc,
                  AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected abstract void | computeBalloonPoints(DrawContext dc,
                    AbstractBrowserBalloon.OrderedBrowserBalloon obb)Computes and stores the balloon's model-coordinate and screen-coordinate points. | 
| protected Rectangle | computeFramePickRect(Rectangle frameRect) | 
| protected Rectangle | computeFrameRectForWebViewRect(BalloonAttributes activeAttrs,
                              Rectangle webViewRect) | 
| protected void | computeGeometry(AbstractBrowserBalloon.OrderedBrowserBalloon obb)Updates the balloon's screen-coordinate geometry in  frameInfoaccording to the current screen
 bounds, screen offset, and active attributes. | 
| protected Point | computeOffset(DrawContext dc,
             BalloonAttributes activeAttrs,
             int width,
             int height) | 
| protected double | computeOutlinePickWidth()Computes the line width to use during picking (in pixels). | 
| protected Dimension | computeSize(DrawContext dc,
           BalloonAttributes activeAttrs)Computes the size of this balloon's frame in the viewport (on the screen). | 
| protected Rectangle | computeWebViewRectForFrameRect(BalloonAttributes activeAttrs,
                              Rectangle frameRect) | 
| protected Point | convertToWebView(Object context,
                Point point)Converts the specified screen point from AWT coordinates to local WebView coordinates. | 
| protected static List<AbstractBrowserBalloon.BrowserControl> | createDefaultBrowserControls()Returns a list containing the browser balloon's three default browser controls, configured as follows:
 
  ControlActionOffsetSizeImage Source
 Close AVKey.CLOSE(30, 25) pixels inset from the balloon's upper right
 cornerImage source's native size in pixels (16x16)images/browser-close-16x16.gif
 BackAVKey.BACK(15, 25) pixels inset from the balloon's upper left
 cornerImage source's native size in pixels (16x16)images/browser-back-16x16.gif
 ForwardAVKey.FORWARD(35, 25) pixels inset from the balloon's upper left
 cornerImage source's native size in pixels (16x16)images/browser-forward-16x16.gif | 
| protected FloatBuffer | createFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb)Creates the balloon's frame vertex buffer according to the active attributes. | 
| protected PickedObject | createLinkPickedObject(DrawContext dc,
                      Color pickColor,
                      AVList linkParams) | 
| protected abstract AbstractBrowserBalloon.OrderedBrowserBalloon | createOrderedRenderable() | 
| protected PickedObject | createPickedObject(DrawContext dc,
                  Color pickColor) | 
| protected void | determineWebViewContentSize() | 
| void | dispose()Disposes the balloon's internal  . | 
| protected void | disposeWebView() | 
| protected void | doDrawOrderedRenderable(DrawContext dc,
                       AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawBrowserControl(DrawContext dc,
                  AbstractBrowserBalloon.BrowserControl control,
                  AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawBrowserControls(DrawContext dc,
                   AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawFrame(DrawContext dc,
         AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawFrameInterior(DrawContext dc,
                 AbstractBrowserBalloon.OrderedBrowserBalloon obb)Draws this browser balloon's interior geometry in screen-coordinates, with the  WebView'stexture
 representation applied as an OpenGL decal. | 
| protected void | drawFrameOutline(DrawContext dc,
                AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawLinks(DrawContext dc,
         AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawOrderedRenderable(DrawContext dc,
                     AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawResizeControl(DrawContext dc,
                 AbstractBrowserBalloon.OrderedBrowserBalloon obb)Draw pickable regions for the resize controls. | 
| protected void | drawTitleBar(DrawContext dc,
            AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | drawWebViewLinks(DrawContext dc,
                AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | endDrawing(DrawContext dc) | 
| Rectangle | getBounds(DrawContext dc)Get the balloon bounding  Rectangleusing OGL coordinates - bottom-left corner x and y relative
 to theWorldWindowbottom-left corner, and the balloon callout width and height. | 
| Iterable<AbstractBrowserBalloon.BrowserControl> | getBrowserControls() | 
| Cursor | getCursor()Returns a  nullCursor, indicating the default cursor should be used when the BrowserBalloon is
 active. | 
| int | getOutlinePickWidth()Indicates the outline line width (in pixels) used during picking. | 
| Object | getResourceResolver()Indicates the object used to resolve relative resource paths in this browser balloon's HTML content. | 
| String | getVisibilityAction()Indicates the the action that occurs when the BrowserBalloon is set to invisible. | 
| void | goBack()Navigate the browser to the previous page in the browsing history. | 
| void | goForward()Navigate the browser to the next page in the browsing history. | 
| protected void | handleKeyEvent(KeyEvent event)Sends the specified  KeyEventto the balloon's internalWebView. | 
| protected void | handleMouseEvent(MouseEvent event)Sends the specified  MouseEventto the balloon's internalWebView. | 
| protected void | handleSelectEvent(SelectEvent event)Sends the specified  SelectEventto the balloon's internalWebView. | 
| protected boolean | intersectsFrustum(DrawContext dc,
                 AbstractBrowserBalloon.OrderedBrowserBalloon obb)Determines whether the balloon intersects the view frustum. | 
| boolean | isActive()Indicates whether or not this HotSpot is active. | 
| boolean | isDrawBrowserControls() | 
| protected boolean | isDrawBrowserControls(DrawContext dc) | 
| protected boolean | isDrawInterior(DrawContext dc) | 
| protected boolean | isDrawLinks(DrawContext dc) | 
| protected boolean | isDrawOutline(DrawContext dc) | 
| boolean | isDrawResizeControl() | 
| protected boolean | isDrawResizeControl(DrawContext dc) | 
| boolean | isDrawTitleBar() | 
| protected boolean | isDrawTitleBar(DrawContext dc) | 
| void | keyPressed(KeyEvent event)Forwards the key pressed event to the balloon's internal  and consumes the event. | 
| void | keyReleased(KeyEvent event)Forwards the key released event to the balloon's internal  and consumes the event. | 
| void | keyTyped(KeyEvent event)Forwards the key typed event to the balloon's internal  and consumes the event. | 
| protected FloatBuffer | makeDefaultFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected FloatBuffer | makeEllipseFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | makeOrderedRenderable(DrawContext dc)Updates the balloon's per-frame rendering state, and determines whether to queue an ordered renderable for the
 balloon. | 
| protected FloatBuffer | makeRectangleFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | makeWebView(DrawContext dc,
           Dimension frameSize) | 
| void | mouseClicked(MouseEvent event)Does nothing; BrowserBalloon handles mouse clicked events in  selected. | 
| void | mouseDragged(MouseEvent event)Does nothing; BrowserBalloon handles mouse dragged events in  selected. | 
| void | mouseEntered(MouseEvent event)Does nothing; BrowserBalloon does not handle mouse entered events. | 
| void | mouseExited(MouseEvent event)Does nothing; BrowserBalloon does not handle mouse exited events. | 
| void | mouseMoved(MouseEvent event)Forwards the mouse moved event to the balloon's internal  . | 
| void | mousePressed(MouseEvent event)Does nothing; BrowserBalloon handles mouse pressed events in  selected. | 
| void | mouseReleased(MouseEvent event)Does nothing; BrowserBalloon handles mouse released events in  selected. | 
| void | mouseWheelMoved(MouseWheelEvent event)Forwards the mouse wheel event to the balloon's internal  and consumes the event. | 
| protected boolean | mustRegenerateGeometry(AbstractBrowserBalloon.OrderedBrowserBalloon obb)Indicates whether this balloon's screen-coordinate geometry must be recomputed as a result of a balloon attribute
 changing. | 
| void | pick(DrawContext dc,
    Point pickPoint,
    AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | prepareToDrawInterior(DrawContext dc) | 
| protected void | prepareToDrawOutline(DrawContext dc) | 
| void | propertyChange(PropertyChangeEvent propertyChangeEvent)The property change listener for this instance. | 
| void | removeAllBrowserControls() | 
| void | removeBrowserControl(AbstractBrowserBalloon.BrowserControl browserControl) | 
| void | render(DrawContext dc)Causes this  Renderableto render itself using the provided draw context. | 
| void | selected(SelectEvent event)Forwards the  MouseEventassociated with the specifiedeventto the balloon's internalWebView. | 
| void | setActive(boolean active)Called when this HotSpot is activated or deactivated. | 
| void | setDrawBrowserControls(boolean draw) | 
| void | setDrawResizeControl(boolean draw) | 
| void | setDrawTitleBar(boolean draw) | 
| void | setOutlinePickWidth(int width)Specifies the outline line width (in pixels) to use during picking. | 
| void | setResourceResolver(Object resourceResolver)Specifies a the object to use when resolving relative resource paths in this browser balloon's HTML content. | 
| protected abstract void | setupDepthTest(DrawContext dc,
              AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| void | setVisibilityAction(String visibilityAction)Specifies the action that occurs when this balloon is set to invisible. | 
| void | setVisible(boolean visible)Set whether the balloon is visible and should be rendered. | 
| protected void | setWebViewContent() | 
| protected void | updateRenderState(DrawContext dc,
                 AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
| protected void | updateRenderStateIfNeeded(DrawContext dc,
                         AbstractBrowserBalloon.OrderedBrowserBalloon obb)Update the balloon's active attributes and points, if that hasn't already been done this frame. | 
| protected void | updateWebView(DrawContext dc,
             AbstractBrowserBalloon.OrderedBrowserBalloon obb) | 
determineActiveAttributes, getActiveAttributes, getAttributes, getDecodedText, getDelegateOwner, getHighlightAttributes, getMaxActiveAltitude, getMinActiveAltitude, getText, getTextDecoder, isAlwaysOnTop, isHighlighted, isPickEnabled, isVisible, setAlwaysOnTop, setAttributes, setDelegateOwner, setHighlightAttributes, setHighlighted, setMaxActiveAltitude, setMinActiveAltitude, setPickEnabled, setText, setTextDecoderonMessageaddPropertyChangeListener, 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, setValuesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValuesprotected List<AbstractBrowserBalloon.BrowserControl> browserControls
protected static final Dimension DEFAULT_NATIVE_SIZE
protected static final int DEFAULT_OUTLINE_PICK_WIDTH
protected static final String DEFAULT_WEB_VIEW_FACTORY
WebViewFactoryWebView. This factory is used when the configuration does not specify a
 WebView factory.protected boolean drawBrowserControls
protected boolean drawResizeControl
protected boolean drawTitleBar
protected static final int FRAME_GEOMETRY_ELLIPSE_SLICES
protected static final int FRAME_GEOMETRY_RECTANGLE_CORNER_SLICES
protected Point lastPickPoint
SelectEvent sent to this balloon's select method.protected HashMap<GlobeStateKey,AbstractBrowserBalloon.OrderedBrowserBalloon> orderedRenderables
protected OGLStackHandler osh
protected int outlinePickWidth
DEFAULT_OUTLINE_PICK_WIDTHprotected Layer pickLayer
protected PickSupport pickSupport
protected Object resourceResolver
WebResourceResolverURLStringnull to
 specify that relative paths should be interpreted as unresolved references. Initially null.protected long screenBalloonPickFrame
protected long screenBalloonRenderFrame
protected Point screenOffset
protected long textUpdateTime
protected String visibilityAction
protected WebView webView
null.protected Dimension webViewContentSize
null or (0, 0), indicating that the WebView's
 HTML content size is unknown. Initially null.protected boolean webViewCreationFailed
true the balloon does not perform
 subsequent attempts to create the WebView. Initially false.protected long webViewTimeStamp
protected AbstractBrowserBalloon(String text)
public void addAllBrowserControls(Iterable<? extends AbstractBrowserBalloon.BrowserControl> iterable)
public void addBrowserControl(AbstractBrowserBalloon.BrowserControl browserControl)
public AbstractBrowserBalloon.BrowserControl addBrowserControl(String action, Offset offset, Object imageSource)
public AbstractBrowserBalloon.BrowserControl addBrowserControl(String action, Offset offset, Size size, Object imageSource)
protected void beginDrawing(DrawContext dc)
protected boolean bindWebViewTexture(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected abstract void computeBalloonPoints(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
dc - the current draw context.protected Rectangle computeFrameRectForWebViewRect(BalloonAttributes activeAttrs, Rectangle webViewRect)
protected void computeGeometry(AbstractBrowserBalloon.OrderedBrowserBalloon obb)
frameInfo according to the current screen
 bounds, screen offset, and active attributes.protected Point computeOffset(DrawContext dc, BalloonAttributes activeAttrs, int width, int height)
protected double computeOutlinePickWidth()
outlinePickWidth.protected Dimension computeSize(DrawContext dc, BalloonAttributes activeAttrs)
null, the returned size is no larger than the maximum size.dc - the current draw context.activeAttrs - the attributes used to compute the balloon's size.protected Rectangle computeWebViewRectForFrameRect(BalloonAttributes activeAttrs, Rectangle frameRect)
protected Point convertToWebView(Object context, Point point)
point - The point to convert.context - the component who's coordinate system the point is in.Point in the WebView's local coordinate system.protected static List<AbstractBrowserBalloon.BrowserControl> createDefaultBrowserControls()
| Control | Action | Offset | Size | Image Source | 
|---|---|---|---|---|
| Close | AVKey.CLOSE | (30, 25) pixels inset from the balloon's upper right corner | Image source's native size in pixels (16x16) | images/browser-close-16x16.gif | 
| Back | AVKey.BACK | (15, 25) pixels inset from the balloon's upper left corner | Image source's native size in pixels (16x16) | images/browser-back-16x16.gif | 
| Forward | AVKey.FORWARD | (35, 25) pixels inset from the balloon's upper left corner | Image source's native size in pixels (16x16) | images/browser-forward-16x16.gif | 
protected FloatBuffer createFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected PickedObject createLinkPickedObject(DrawContext dc, Color pickColor, AVList linkParams)
protected abstract AbstractBrowserBalloon.OrderedBrowserBalloon createOrderedRenderable()
protected PickedObject createPickedObject(DrawContext dc, Color pickColor)
protected void determineWebViewContentSize()
public void dispose()
WebViewdispose in interface Disposableprotected void disposeWebView()
protected void doDrawOrderedRenderable(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawBrowserControl(DrawContext dc, AbstractBrowserBalloon.BrowserControl control, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawBrowserControls(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawFrame(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawFrameInterior(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
WebView's texture
 representation applied as an OpenGL decal. OpenGL's texture decal mode uses the texture color where the texture's
 alpha is 1, and uses the balloon's background color where it's 0. The texture's internal format must be RGBA to
 work correctly, and this assumes that the WebView's texture format is RGBA.
 
 If the WebView's texture cannot be created or cannot be applied for any reason, this displays the
 balloon's interior geometry in the balloon's background color without applying the WebView's
 texture.
 
 If the specified draw context is in picking mode, this draws the balloon's interior geometry in the current color
 and does not apply the WebView's texture.dc - the current draw context.protected void drawFrameOutline(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawLinks(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawOrderedRenderable(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawResizeControl(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
dc - Draw context.protected void drawTitleBar(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void drawWebViewLinks(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void endDrawing(DrawContext dc)
public Rectangle getBounds(DrawContext dc)
Rectangle using OGL coordinates - bottom-left corner x and y relative
 to the WorldWindow bottom-left corner, and the balloon callout width and height.
 
 The balloon offset from it's reference point is factored in such that the callout leader shape and reference
 point are included in the bounding rectangle.public Iterable<AbstractBrowserBalloon.BrowserControl> getBrowserControls()
public Cursor getCursor()
null Cursor, indicating the default cursor should be used when the BrowserBalloon is
 active. The Cursor is set by the WebViewpublic int getOutlinePickWidth()
setOutlinePickWidth(int)public Object getResourceResolver()
WebResourceResolverURLStringnull to indicate that
         relative paths are interpreted as unresolved references.setResourceResolver(Object)public String getVisibilityAction()
setVisibilityAction for a description of the possible actions.setVisibilityAction(String), 
setVisible(boolean)public void goBack()
public void goForward()
protected void handleKeyEvent(KeyEvent event)
KeyEvent to the balloon's internal WebView.
 
 This does nothing if the balloon's internal WebView is uninitialized.event - the event to send.protected void handleMouseEvent(MouseEvent event)
MouseEvent to the balloon's internal WebView. The event's point is
 converted from AWT coordinates to the WebView's local coordinate system.
 
 This does nothing if the balloon's internal WebView is uninitialized.event - the event to send.protected void handleSelectEvent(SelectEvent event)
SelectEvent to the balloon's internal WebView. The event's
 pickPoint is converted from AWT coordinates to the WebView's local coordinate system.event - the event to send.protected boolean intersectsFrustum(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
dc - the current draw context.true If the balloon intersects the frustum, otherwise false.public boolean isActive()
public boolean isDrawBrowserControls()
protected boolean isDrawBrowserControls(DrawContext dc)
protected boolean isDrawInterior(DrawContext dc)
protected boolean isDrawLinks(DrawContext dc)
protected boolean isDrawOutline(DrawContext dc)
public boolean isDrawResizeControl()
protected boolean isDrawResizeControl(DrawContext dc)
public boolean isDrawTitleBar()
protected boolean isDrawTitleBar(DrawContext dc)
public void keyPressed(KeyEvent event)
WebViewViewkeyPressed in interface HotSpotkeyPressed in interface KeyListenerevent - The event to forward.public void keyReleased(KeyEvent event)
WebViewViewkeyReleased in interface HotSpotkeyReleased in interface KeyListenerevent - The event to forward.public void keyTyped(KeyEvent event)
WebViewViewkeyTyped in interface HotSpotkeyTyped in interface KeyListenerevent - The event to forward.protected FloatBuffer makeDefaultFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected FloatBuffer makeEllipseFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void makeOrderedRenderable(DrawContext dc)
updateRenderStateIfNeeded, and updates its geometry by calling computeGeometry.
 
 BrowserBalloon separates render state updates from geometry updates for two reasons: dc - the current draw context.protected FloatBuffer makeRectangleFrameVertices(AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void makeWebView(DrawContext dc, Dimension frameSize)
public void mouseClicked(MouseEvent event)
selected.mouseClicked in interface HotSpotmouseClicked in interface MouseListenerevent - The event to handle.public void mouseDragged(MouseEvent event)
selected.mouseDragged in interface HotSpotmouseDragged in interface MouseMotionListenerevent - The event to handle.public void mouseEntered(MouseEvent event)
mouseEntered in interface HotSpotmouseEntered in interface MouseListenerevent - The event to handle.public void mouseExited(MouseEvent event)
mouseExited in interface HotSpotmouseExited in interface MouseListenerevent - The event to handle.public void mouseMoved(MouseEvent event)
WebViewInputHandlerselected, because mouse movement events are not selection events.mouseMoved in interface HotSpotmouseMoved in interface MouseMotionListenerevent - The event to forward.public void mousePressed(MouseEvent event)
selected.mousePressed in interface HotSpotmousePressed in interface MouseListenerevent - The event to handle.public void mouseReleased(MouseEvent event)
selected.mouseReleased in interface HotSpotmouseReleased in interface MouseListenerevent - The event to handle.public void mouseWheelMoved(MouseWheelEvent event)
WebViewViewselected, because mouse wheel events are not selection events.mouseWheelMoved in interface HotSpotmouseWheelMoved in interface MouseWheelListenerevent - The event to forward.protected boolean mustRegenerateGeometry(AbstractBrowserBalloon.OrderedBrowserBalloon obb)
true if this balloon's geometry must be recomputed, otherwise false.public void pick(DrawContext dc, Point pickPoint, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void prepareToDrawInterior(DrawContext dc)
protected void prepareToDrawOutline(DrawContext dc)
public void propertyChange(PropertyChangeEvent propertyChangeEvent)
AVKey.REPAINT property change events sent by the balloon's internal
 WebViewisVisible returns
 false.propertyChange in interface PropertyChangeListenerpropertyChange in class WWObjectImplpropertyChangeEvent - the eventpublic void removeAllBrowserControls()
public void removeBrowserControl(AbstractBrowserBalloon.BrowserControl browserControl)
public void render(DrawContext dc)
RenderableRenderable to render itself using the provided draw context.render in interface Renderabledc - the DrawContext to be usedDrawContextpublic void selected(SelectEvent event)
MouseEvent associated with the specified event to the balloon's internal
 WebView. This does not consume the event, because the InputHandlerselected in interface SelectListenerselected in interface HotSpotevent - The event to handle.public void setActive(boolean active)
public void setDrawBrowserControls(boolean draw)
public void setDrawResizeControl(boolean draw)
public void setDrawTitleBar(boolean draw)
public void setOutlinePickWidth(int width)
width must be zero
 or a positive integer. Specifying a pick width of zero effectively disables the picking of the balloon's outline
 and its resize control. A larger width than normal typically makes the outline easier to pick.
 
 When the the balloon's resize control is enabled, the outline becomes the resize control and is drawn in the
 specified width. Therefore this value also controls the balloon's resize control width. If the
 resize control is disabled by calling setDrawResizeControl(boolean)false, this has no effect on the balloon's resize control until it is enabled.width - the outline line width (in pixels) to use during picking.IllegalArgumentException - if width is less than zero.getOutlinePickWidth(), 
setDrawResizeControl(boolean)public void setResourceResolver(Object resourceResolver)
resourceResolver may be one of the following:
 
 WebResourceResolverURLStringresourceResolver is null or is not one of the recognized types, this browser
 balloon interprets relative resource paths as unresolved references.resourceResolver - the object to use when resolving relative resource paths in HTML content. May be one of
                         the following: WebResourceResolverURLStringnull to specify that relative paths should be interpreted as
                         unresolved references.getResourceResolver()protected abstract void setupDepthTest(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
public void setVisibilityAction(String visibilityAction)
visibilityAction - Either AVKey.VISIBILITY_ACTION_RELEASE or AVKey.VISIBILITY_ACTION_RETAIN.public void setVisible(boolean visible)
visibilityAction determines what happens to the native web
 browser that backs the balloon. By default, the browser resources are released when the balloon is not visible.setVisible in interface BalloonsetVisible in class AbstractBalloonvisible - true if the balloon is visible and should be rendered.setVisibilityAction(String)protected void setWebViewContent()
protected void updateRenderState(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
protected void updateRenderStateIfNeeded(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)
determineActiveAttributes and stores the result in activeAttributes.computeBalloonPoints.dc - the current draw context.protected void updateWebView(DrawContext dc, AbstractBrowserBalloon.OrderedBrowserBalloon obb)