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.
  • Field Details

    • UNITS

      protected static final 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 Details

    • 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 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 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
    • distanceTo

      public float distanceTo(AnimatableValue other)
      Returns the absolute distance between this value and the specified other value.
      Specified by:
      distanceTo in class AnimatableValue
    • getZeroValue

      public AnimatableValue getZeroValue()
      Returns a zero value of this AnimatableValue's type.
      Specified by:
      getZeroValue in class AnimatableValue
    • getCssText

      public 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