Class 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 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 in SVGLength.
      • percentageInterpretation

        protected short percentageInterpretation
        How to interpret percentage values. One of the AnimationTarget.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 class AnimatableValue
        Parameters:
        result - the object in which to store the result of the interpolation, or null if a new object should be created
        to - the value this value should be interpolated towards, or null if no actual interpolation should be performed
        interpolation - the interpolation distance, 0 <= interpolation <= 1
        accumulation - an accumulation to add to the interpolated value
        multiplier - 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 type
        pi1 - the first percentage interpretation type
        t2 - the second SVG length type
        pi2 - 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 class AnimatableValue
      • 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 class AnimatableValue