Class Effect

java.lang.Object
com.github.tommyettinger.textra.Effect
Direct Known Subclasses:
BlinkEffect, EaseEffect, FadeEffect, GradientEffect, HangEffect, JoltEffect, JumpEffect, RainbowEffect, ShakeEffect, SickEffect, SlideEffect, WaveEffect, WindEffect

public abstract class Effect extends Object
Abstract text effect.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    float
     
    int
     
    int
     
    protected TypingLabel
     
    protected float
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Effect​(TypingLabel label)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    apply​(long glyph, int glyphIndex, float delta)
    Applies the effect to the given glyph.
    protected float
    Calculates the fadeout of this effect, if any.
    protected float
    calculateProgress​(float modifier)
    Calculates a linear progress dividing the total time by the given modifier.
    protected float
    calculateProgress​(float modifier, float offset)
    Calculates a linear progress dividing the total time by the given modifier.
    protected float
    calculateProgress​(float modifier, float offset, boolean pingpong)
    Calculates a linear progress dividing the total time by the given modifier.
    protected float
    Returns the line height of the label controlling this effect.
    boolean
    Returns whether or not this effect is finished and should be removed.
    protected abstract void
    onApply​(long glyph, int localIndex, int globalIndex, float delta)
    Called when this effect should be applied to the given glyph.
    protected boolean
    Returns a boolean value parsed from the given String, or the default value if the string couldn't be parsed.
    protected Integer
    Parses a color from the given string.
    protected float
    paramAsFloat​(String str, float defaultValue)
    Returns a float value parsed from the given String, or the default value if the string couldn't be parsed.
    void
    update​(float delta)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • label

      protected final TypingLabel label
    • indexStart

      public int indexStart
    • indexEnd

      public int indexEnd
    • duration

      public float duration
    • totalTime

      protected float totalTime
  • Constructor Details

  • Method Details

    • update

      public void update(float delta)
    • apply

      public final void apply(long glyph, int glyphIndex, float delta)
      Applies the effect to the given glyph.
    • onApply

      protected abstract void onApply(long glyph, int localIndex, int globalIndex, float delta)
      Called when this effect should be applied to the given glyph.
    • isFinished

      public boolean isFinished()
      Returns whether or not this effect is finished and should be removed. Note that effects are infinite by default.
    • calculateFadeout

      protected float calculateFadeout()
      Calculates the fadeout of this effect, if any. Only considers the second half of the duration.
    • calculateProgress

      protected float calculateProgress(float modifier)
      Calculates a linear progress dividing the total time by the given modifier. Returns a value between 0 and 1 that loops in a ping-pong mode.
    • calculateProgress

      protected float calculateProgress(float modifier, float offset)
      Calculates a linear progress dividing the total time by the given modifier. Returns a value between 0 and 1 that loops in a ping-pong mode.
    • calculateProgress

      protected float calculateProgress(float modifier, float offset, boolean pingpong)
      Calculates a linear progress dividing the total time by the given modifier. Returns a value between 0 and 1.
    • getLineHeight

      protected float getLineHeight()
      Returns the line height of the label controlling this effect.
    • paramAsFloat

      protected float paramAsFloat(String str, float defaultValue)
      Returns a float value parsed from the given String, or the default value if the string couldn't be parsed.
    • paramAsBoolean

      protected boolean paramAsBoolean(String str)
      Returns a boolean value parsed from the given String, or the default value if the string couldn't be parsed.
    • paramAsColor

      protected Integer paramAsColor(String str)
      Parses a color from the given string. Returns null if the color couldn't be parsed.