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
An SVG length value in the animation system.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected short
The length type.protected float
The length value.protected short
How to interpret percentage values.protected static final String[]
Length units.Fields inherited from class org.apache.batik.anim.values.AnimatableValue
decimalFormat, hasChanged, target
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
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
Modifier and TypeMethodDescriptionboolean
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.Returns the CSS text representation of the value.int
Returns the unit type of this length value.float
Returns the magnitude of this length value.Returns a zero value of this AnimatableValue's type.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 Details
-
UNITS
Length units. -
lengthType
protected short lengthTypeThe length type. -
lengthValue
protected float lengthValueThe length value. This should be one of the constants defined inSVGLength
. -
percentageInterpretation
protected short percentageInterpretationHow to interpret percentage values. One of theAnimationTarget
.PERCENTAGE_* constants.
-
-
Constructor Details
-
AnimatableLengthValue
Creates a new AnimatableLengthValue with no length. -
AnimatableLengthValue
Creates a new AnimatableLengthValue.
-
-
Method Details
-
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
Returns the absolute distance between this value and the specified other value.- Specified by:
distanceTo
in classAnimatableValue
-
getZeroValue
Returns a zero value of this AnimatableValue's type.- Specified by:
getZeroValue
in classAnimatableValue
-
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
-