Class SpinPulse

java.lang.Object
com.oorian.css.animations.Animation
com.oorian.css.animations.SpinPulse

public class SpinPulse extends Animation
A looping animation that rotates an element in discrete steps, creating a pulsing spin effect.

SpinPulse reuses the same 0-to-360-degree keyframes as Spin but applies a steps(8) timing function. This creates a rotation that jumps in 45-degree increments rather than spinning smoothly, producing a clock-like or loading indicator effect.

Usage:


 // Default spin-pulse (8 steps per rotation)
 spinner.animate(new SpinPulse());

 // Faster pulse
 spinner.animate(new SpinPulse().setSpeed(3));
 
Since:
2026
Version:
1.0
Author:
Marvin P. Warble Jr.
See Also:
  • Constructor Details

    • SpinPulse

      public SpinPulse()
      Constructs a SpinPulse animation with speed 1 (1000ms per rotation).
  • Method Details

    • getKeyFramesId

      public String getKeyFramesId()
      Returns the unique ID for this animation's keyframes style element.

      This ID is used to deduplicate keyframe injection into the page head. Subclasses with configurable keyframes (e.g., Beat with a custom scale) should return a unique ID per configuration to avoid collisions.

      Specified by:
      getKeyFramesId in class Animation
      Returns:
      the keyframes style element ID
    • createKeyFrames

      public KeyFrames createKeyFrames()
      Creates the @keyframes definition for this animation.
      Specified by:
      createKeyFrames in class Animation
      Returns:
      a KeyFrames object defining the animation sequence
    • getDefaultTimingFunction

      protected AnimationTimingFunction getDefaultTimingFunction()
      Returns the default timing function for this animation.

      Each animation subclass provides its own default timing function. For custom cubic-bezier or steps timing, override Animation.getTimingFunctionValue() instead.

      Specified by:
      getDefaultTimingFunction in class Animation
      Returns:
      the default timing function, or null if Animation.getTimingFunctionValue() provides a custom value
    • getTimingFunctionValue

      protected String getTimingFunctionValue()
      Returns the CSS timing function value as a string.

      By default, delegates to Animation.getDefaultTimingFunction(). Override this method to provide custom timing function values like cubic-bezier(...) or steps(...) that are not represented by the enum.

      Overrides:
      getTimingFunctionValue in class Animation
      Returns:
      the CSS timing function value