Package org.apache.batik.anim.values
Class AnimatableLengthValue
- java.lang.Object
-
- org.apache.batik.anim.values.AnimatableValue
-
- org.apache.batik.anim.values.AnimatableLengthValue
-
- Direct Known Subclasses:
AnimatableLengthOrIdentValue
public class AnimatableLengthValue extends AnimatableValue
An SVG length value in the animation system.- Version:
- $Id: AnimatableLengthValue.java 1733416 2016-03-03 07:07:13Z gadams $
-
-
Field Summary
Fields Modifier and Type Field Description protected short
lengthType
The length type.protected float
lengthValue
The length value.protected short
percentageInterpretation
How to interpret percentage values.protected static java.lang.String[]
UNITS
Length units.-
Fields inherited from class org.apache.batik.anim.values.AnimatableValue
decimalFormat, hasChanged, target
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AnimatableLengthValue(AnimationTarget target)
Creates a new AnimatableLengthValue with no length.AnimatableLengthValue(AnimationTarget target, short type, float v, short pcInterp)
Creates a new AnimatableLengthValue.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canPace()
Returns whether two values of this type can have their distance computed, as needed by paced animation.static boolean
compatibleTypes(short t1, short pi1, short t2, short pi2)
Determines if two SVG length types are compatible.float
distanceTo(AnimatableValue other)
Returns the absolute distance between this value and the specified other value.java.lang.String
getCssText()
Returns the CSS text representation of the value.int
getLengthType()
Returns the unit type of this length value.float
getLengthValue()
Returns the magnitude of this length value.AnimatableValue
getZeroValue()
Returns a zero value of this AnimatableValue's type.AnimatableValue
interpolate(AnimatableValue result, AnimatableValue to, float interpolation, AnimatableValue accumulation, int multiplier)
Performs interpolation to the given value.-
Methods inherited from class org.apache.batik.anim.values.AnimatableValue
formatNumber, hasChanged, toString, toStringRep
-
-
-
-
Field Detail
-
UNITS
protected static final java.lang.String[] UNITS
Length units.
-
lengthType
protected short lengthType
The length type.
-
lengthValue
protected float lengthValue
The length value. This should be one of the constants defined inSVGLength
.
-
percentageInterpretation
protected short percentageInterpretation
How to interpret percentage values. One of theAnimationTarget
.PERCENTAGE_* constants.
-
-
Constructor Detail
-
AnimatableLengthValue
protected AnimatableLengthValue(AnimationTarget target)
Creates a new AnimatableLengthValue with no length.
-
AnimatableLengthValue
public AnimatableLengthValue(AnimationTarget target, short type, float v, short pcInterp)
Creates a new AnimatableLengthValue.
-
-
Method Detail
-
interpolate
public AnimatableValue interpolate(AnimatableValue result, AnimatableValue to, float interpolation, AnimatableValue accumulation, int multiplier)
Performs interpolation to the given value.- Specified by:
interpolate
in classAnimatableValue
- Parameters:
result
- the object in which to store the result of the interpolation, or null if a new object should be createdto
- the value this value should be interpolated towards, or null if no actual interpolation should be performedinterpolation
- the interpolation distance, 0 <= interpolation <= 1accumulation
- an accumulation to add to the interpolated valuemultiplier
- an amount the accumulation values should be multiplied by before being added to the interpolated value
-
compatibleTypes
public static boolean compatibleTypes(short t1, short pi1, short t2, short pi2)
Determines if two SVG length types are compatible.- Parameters:
t1
- the first SVG length typepi1
- the first percentage interpretation typet2
- the second SVG length typepi2
- the second percentage interpretation type
-
getLengthType
public int getLengthType()
Returns the unit type of this length value.
-
getLengthValue
public float getLengthValue()
Returns the magnitude of this length value.
-
canPace
public boolean canPace()
Returns whether two values of this type can have their distance computed, as needed by paced animation.- Specified by:
canPace
in classAnimatableValue
-
distanceTo
public float distanceTo(AnimatableValue other)
Returns the absolute distance between this value and the specified other value.- Specified by:
distanceTo
in classAnimatableValue
-
getZeroValue
public AnimatableValue getZeroValue()
Returns a zero value of this AnimatableValue's type.- Specified by:
getZeroValue
in classAnimatableValue
-
getCssText
public java.lang.String getCssText()
Returns the CSS text representation of the value. This could use org.apache.batik.css.engine.value.FloatValue.getCssText, but we don't want a dependency on the CSS package.- Overrides:
getCssText
in classAnimatableValue
-
-