All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gov.nasa.worldwind.render.Balloon Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) 2012 United States Government as represented by the Administrator of the
 * National Aeronautics and Space Administration.
 * All Rights Reserved.
 */

package gov.nasa.worldwind.render;

import gov.nasa.worldwind.avlist.AVList;
import gov.nasa.worldwind.util.TextDecoder;

/**
 * A text label that can be attached to a point on the screen, or a point on the globe.
 *
 * @author pabercrombie
 * @version $Id: Balloon.java 1171 2013-02-11 21:45:02Z dcollins $
 * @see BalloonAttributes
 */
public interface Balloon extends Renderable, Highlightable, AVList
{
    /**
     * Is the balloon always on top?
     *
     * @return True if the balloon will always render above other items.
     */
    boolean isAlwaysOnTop();

    /**
     * Set the balloon to always on top or not.
     *
     * @param alwaysOnTop True if the balloon should always render above other objects.
     */
    void setAlwaysOnTop(boolean alwaysOnTop);

    /**
     * Is the balloon enabled for picking?
     *
     * @return True if the balloon can be picked, false if not.
     */
    boolean isPickEnabled();

    /**
     * Set the balloon to be pick enabled or not.
     *
     * @param enable True if the balloon can be picked, false if not.
     */
    void setPickEnabled(boolean enable);

    /**
     * Get the balloon text. The method returns the raw text, before decoding.
     *
     * @return The balloon text.
     *
     * @see #getTextDecoder()
     * @see #setTextDecoder(gov.nasa.worldwind.util.TextDecoder)
     */
    String getText();

    /**
     * Set the balloon text.
     *
     * @param text New balloon text.
     */
    void setText(String text);

    /**
     * Get the "normal" balloon attributes.
     *
     * @return Balloon attributes.
     */
    BalloonAttributes getAttributes();

    /**
     * Set the "normal" balloon attributes.
     *
     * @param attrs New attributes
     */
    void setAttributes(BalloonAttributes attrs);

    /**
     * Get the highlight attributes.
     *
     * @return Balloon's highlight attributes.
     */
    BalloonAttributes getHighlightAttributes();

    /**
     * Set the highlight attributes.
     *
     * @param attrs Attributes to use when the balloon is highlighted.
     */
    void setHighlightAttributes(BalloonAttributes attrs);

    /**
     * Get the text decoder that will process the balloon text.
     *
     * @return Active text decoder.
     */
    TextDecoder getTextDecoder();

    /**
     * Set a text decoder to process the balloon text.
     *
     * @param decoder New decoder.
     */
    void setTextDecoder(TextDecoder decoder);

    /**
     * Returns the delegate owner of the balloon. If non-null, the returned object replaces the balloon as the pickable
     * object returned during picking. If null, the balloon itself is the pickable object returned during picking.
     *
     * @return the object used as the pickable object returned during picking, or null to indicate the the balloon is
     *         returned during picking.
     */
    Object getDelegateOwner();

    /**
     * Specifies the delegate owner of the balloon. If non-null, the delegate owner replaces the balloon as the
     * pickable object returned during picking. If null, the balloon itself is the pickable object returned during
     * picking.
     *
     * @param owner the object to use as the pickable object returned during picking, or null to return the balloon.
     */
    void setDelegateOwner(Object owner);

    /**
     * Get whether the annotation is visible and should be rendered.
     *
     * @return true if the annotation is visible and should be rendered.
     */
    public boolean isVisible();

    /**
     * Set whether the balloon is visible and should be rendered.
     *
     * @param visible true if the balloon is visible and should be rendered.
     */
    public void setVisible(boolean visible);

    /**
     * Get the balloon bounding {@link java.awt.Rectangle} using OGL coordinates - bottom-left corner x and y relative
     * to the {@link gov.nasa.worldwind.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. * * @param dc the current DrawContext. * * @return the balloon bounding {@link java.awt.Rectangle} using OGL viewport coordinates. * * @throws IllegalArgumentException if dc is null. */ java.awt.Rectangle getBounds(DrawContext dc); /** * Returns the minimum eye altitude, in meters, for which the balloon is displayed. * * @return the minimum altitude, in meters, for which the balloon is displayed. * * @see #setMinActiveAltitude(double) * @see #getMaxActiveAltitude() */ double getMinActiveAltitude(); /** * Specifies the minimum eye altitude, in meters, for which the balloon is displayed. * * @param minActiveAltitude the minimum altitude, in meters, for which the balloon is displayed. * * @see #getMinActiveAltitude() * @see #setMaxActiveAltitude(double) */ void setMinActiveAltitude(double minActiveAltitude); /** * Returns the maximum eye altitude, in meters, for which the balloon is displayed. * * @return the maximum altitude, in meters, for which the balloon is displayed. * * @see #setMaxActiveAltitude(double) * @see #getMinActiveAltitude() */ double getMaxActiveAltitude(); /** * Specifies the maximum eye altitude, in meters, for which the balloon is displayed. * * @param maxActiveAltitude the maximum altitude, in meters, for which the balloon is displayed. * * @see #getMaxActiveAltitude() * @see #setMinActiveAltitude(double) */ void setMaxActiveAltitude(double maxActiveAltitude); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy