NASA World Wind

gov.nasa.worldwind.render
Class Offset

java.lang.Object
  extended by gov.nasa.worldwind.render.Offset

public class Offset
extends Object

Defines the relationship of an image, label or other screen-space item relative to another screen-space item. An offset contains an X coordinate, a Y coordinate, and for each of these a separate "units" string indicating the coordinate units.

Recognized "units" values are AVKey.PIXELS, which indicates pixel units relative to the lower left corner of the screen-space item, AVKey.FRACTION, which indicates that the units are fractions of the screen-space item's width and height, relative to its lower left corner, and AVKey.INSET_PIXELS, which indicates units of pixels but with origin at the screen-space item's upper right.

This class implements the functionality of a KML Offset.


Field Summary
static Offset BOTTOM_CENTER
           
static Offset CENTER
           
static Offset LEFT_CENTER
           
static Offset RIGHT_CENTER
           
static Offset TOP_CENTER
           
protected  Double x
           
protected  String xUnits
           
protected  Double y
           
protected  String yUnits
           
 
Constructor Summary
Offset(Double x, Double y, String xUnits, String yUnits)
           
 
Method Summary
 Point2D.Double computeOffset(double width, double height, Double xScale, Double yScale)
          Computes the X and Y offset specified by this offset applied to a specified rectangle.
 boolean equals(Object o)
           
static Offset fromFraction(double xFraction, double yFraction)
          Creates a new offset from explicit fraction coordinates.
 void getRestorableState(RestorableSupport restorableSupport, RestorableSupport.StateObject context)
          Saves the offset's current state in the specified restorableSupport.
 Double getX()
          Returns the hot spot's X coordinate.
 String getXUnits()
          Returns the units of the offset X value.
 Double getY()
          Returns the hot spot's Y coordinate.
 String getYUnits()
          Returns the units of the offset Y value.
 int hashCode()
           
 void restoreState(RestorableSupport restorableSupport, RestorableSupport.StateObject context)
          Restores the state of any offset parameters contained in the specified RestorableSupport.
 void setX(Double x)
          Specifies the hot spot's X coordinate, in units specified by setXUnits(String).
 void setXUnits(String units)
          Specifies the units of the offset X value.
 void setY(Double y)
          Specifies the hot spot's Y coordinate, in units specified by setYUnits(String).
 void setYUnits(String units)
          Specifies the units of the offset Y value.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOTTOM_CENTER

public static final Offset BOTTOM_CENTER

CENTER

public static final Offset CENTER

LEFT_CENTER

public static final Offset LEFT_CENTER

RIGHT_CENTER

public static final Offset RIGHT_CENTER

TOP_CENTER

public static final Offset TOP_CENTER

x

protected Double x

xUnits

protected String xUnits

y

protected Double y

yUnits

protected String yUnits
Constructor Detail

Offset

public Offset(Double x,
              Double y,
              String xUnits,
              String yUnits)
Method Detail

computeOffset

public Point2D.Double computeOffset(double width,
                                    double height,
                                    Double xScale,
                                    Double yScale)
Computes the X and Y offset specified by this offset applied to a specified rectangle.

Parameters:
width - the rectangle width.
height - the rectangle height.
xScale - an optional scale to apply to the X coordinate of the offset. May be null.
yScale - an optional scale to apply to the Y coordinate of the offset. May be null.
Returns:
the result of applying this offset to the specified rectangle and incorporating the optional scales.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

fromFraction

public static Offset fromFraction(double xFraction,
                                  double yFraction)
Creates a new offset from explicit fraction coordinates.

Parameters:
xFraction - the offset's X coordinate as a fraction of the containing rectangle.
yFraction - the offset's Y coordinate as a fraction of the containing rectangle.
Returns:
a new offset with the specified X and Y coordinates.

getRestorableState

public void getRestorableState(RestorableSupport restorableSupport,
                               RestorableSupport.StateObject context)
Saves the offset's current state in the specified restorableSupport. If context is not null, the state is appended to it. Otherwise the state is added to the RestorableSupport root. This state can be restored later by calling restoreState(gov.nasa.worldwind.util.RestorableSupport, gov.nasa.worldwind.util.RestorableSupport.StateObject).

Parameters:
restorableSupport - the RestorableSupport that receives the offset's state.
context - the StateObject the state is appended to, if not null.
Throws:
IllegalArgumentException - if restorableSupport is null.

getX

public Double getX()
Returns the hot spot's X coordinate. See setXUnits(String) for a description of the hot spot.

Returns:
the hot spot's X coordinate.

getXUnits

public String getXUnits()
Returns the units of the offset X value. See setXUnits(String) for a description of the recognized values.

Returns:
the units of the offset X value, or null.

getY

public Double getY()
Returns the hot spot's Y coordinate. See setYUnits(String) for a description of the hot spot.

Returns:
the hot spot's Y coordinate.

getYUnits

public String getYUnits()
Returns the units of the offset Y value. See setYUnits(String) for a description of the recognized values.

Returns:
the units of the offset Y value, or null.

hashCode

public int hashCode()
Overrides:
hashCode in class Object

restoreState

public void restoreState(RestorableSupport restorableSupport,
                         RestorableSupport.StateObject context)
Restores the state of any offset parameters contained in the specified RestorableSupport. If the StateObject is not null it's searched for state values, otherwise the RestorableSupport root is searched.

Parameters:
restorableSupport - the RestorableSupport that contains the offset's state.
context - the StateObject to search for state values, if not null.
Throws:
IllegalArgumentException - if restorableSupport is null.

setX

public void setX(Double x)
Specifies the hot spot's X coordinate, in units specified by setXUnits(String).

Parameters:
x - the hot spot's X coordinate. May be null, in which case 0 is used during rendering.

setXUnits

public void setXUnits(String units)
Specifies the units of the offset X value. Recognized values are AVKey.PIXELS, which indicates pixel units relative to the lower left corner of the placemark image, AVKey.FRACTION, which indicates the units are fractions of the placemark image width and height, and AVKey.INSET_PIXELS, which indicates units of pixels but with origin in the upper left.

Parameters:
units - the units of the offset X value. If null, AVKey.PIXELS is used during rendering.

setY

public void setY(Double y)
Specifies the hot spot's Y coordinate, in units specified by setYUnits(String).

Parameters:
y - the hot spot's Y coordinate. May be null, in which case 0 is used during rendering.

setYUnits

public void setYUnits(String units)
Specifies the units of the offset Y value. Recognized values are AVKey.PIXELS, which indicates pixel units relative to the lower left corner of the placemark image, AVKey.FRACTION, which indicates the units are fractions of the placemark image width and height, and AVKey.INSET_PIXELS, which indicates units of pixels but with origin in the upper left.

Parameters:
units - the units of the offset Y value. If null, AVKey.PIXELS is used during rendering.

NASA World Wind