package de.lessvoid.nifty.effects.impl; import de.lessvoid.nifty.Nifty; import de.lessvoid.nifty.effects.EffectImpl; import de.lessvoid.nifty.effects.EffectProperties; import de.lessvoid.nifty.effects.Falloff; import de.lessvoid.nifty.elements.Element; import de.lessvoid.nifty.render.NiftyRenderEngine; import javax.annotation.Nonnull; import javax.annotation.Nullable; public class AutoScroll implements EffectImpl { private float distance = 100; private float start = 0; @Override public void activate( @Nonnull final Nifty nifty, @Nonnull final Element element, @Nonnull final EffectProperties parameter) { int startValue = Integer.parseInt(parameter.getProperty("start", "0")); int endValue = Integer.parseInt(parameter.getProperty("end", "0")); distance = endValue - startValue; start = startValue; } @Override public void execute( @Nonnull final Element element, final float normalizedTime, @Nullable final Falloff falloff, @Nonnull final NiftyRenderEngine r) { r.moveTo(0, start + normalizedTime * distance); } @Override public void deactivate() { } }