API Reference 0.7.1rikulo_effectHideEffect

HideEffect class

A skeleton implementation of transition effect to show an element. It is assumed the element's CSS visibility attribute is 'visible' (default value) before the effect starts, and the element will be hidden when the effect ends.

class HideEffect extends EasingMotion {
 
 /// The element to which this effect applies.
 final Element element;
 
 /** Create an effect on [element] that applies [action] with easing input
  * value from 0 to 1. The element's CSS visibility attribute will be set to 
  * 'hidden' when the effect ends.
  * 
  * + [period] determines how long the effect will take.
  * + [easing] the easing function of the effect
  * + [start] is called when the effect starts.
  * + [end] is called when the effect ends.
  */
 HideEffect(Element element, MotionAction action, {int period: 500, 
 EasingFunction easing, MotionStart start, MotionEnd end}) :
 this.element = element, 
 super(action, start: start, end: _hideEffectEnd(element, action, end), 
 period: period, easing: easing);
 
 // dart2js bug: closure in intializer doesn't compile
 static MotionEnd _hideEffectEnd(Element element, MotionAction action, MotionEnd end) {
   return (MotionState state) {
     element.style.visibility = 'hidden';
     action(0, state);
     if (end != null)
       end(state);
   };
 }
 
}

Extends

Motion > EasingMotion > HideEffect

Subclasses

FadeOutEffect, SlideOutEffect, ZoomOutEffect

Constructors

new HideEffect(Element element, MotionAction action, {int period: 500, EasingFunction easing, MotionStart start, MotionEnd end}) #

Create an effect on element that applies action with easing input value from 0 to 1. The element's CSS visibility attribute will be set to 'hidden' when the effect ends.

  • period determines how long the effect will take.
  • easing the easing function of the effect
  • start is called when the effect starts.
  • end is called when the effect ends.
HideEffect(Element element, MotionAction action, {int period: 500, 
EasingFunction easing, MotionStart start, MotionEnd end}) :
this.element = element, 
super(action, start: start, end: _hideEffectEnd(element, action, end), 
period: period, easing: easing);

Properties

final MotionAction action #

inherited from EasingMotion
final MotionAction action

final Animator animator #

inherited from Motion

The Animator associated with the motion.

Animator get animator => _animator;

final int duration #

inherited from EasingMotion
final int period, repeat, duration

final EasingFunction easing #

inherited from EasingMotion
final EasingFunction easing

final Element element #

The element to which this effect applies.

final Element element

final bool isPaused #

inherited from Motion

Return true if the motion is at paused state.

bool get isPaused => _stateFlag == _MOTION_STATE_PAUSED;

final bool isRunning #

inherited from Motion

Return true if the motion is at running state.

bool get isRunning => _stateFlag == _MOTION_STATE_RUNNING;

final int period #

inherited from EasingMotion
final int period

final int repeat #

inherited from EasingMotion
final int period, repeat

final MotionState state #

inherited from Motion

Retrieve the current MotionState. null if not running.

MotionState get state => _state;

Methods

bool doAction_(num x, MotionState state) #

inherited from EasingMotion

Apply the position by MotionAction;

bool doAction_(num x, MotionState state) => action(x, state);

num doEasing_(num t) #

inherited from EasingMotion

Compute position value by EasingFunction.

num doEasing_(num t) => easing != null ? easing(t) : t;

void onEnd(MotionState state) #

inherited from Motion

Called after the runner returns false. Calling stop() will not invoke this function.

void onEnd(MotionState state) {
 if (_end != null)
   _end(state);
}

bool onMove(MotionState state) #

inherited from EasingMotion

Called in each animator iteration, when the motion is at running state.

docs inherited from Motion
bool onMove(MotionState state) {
 final int runningTime = state.runningTime;
 final bool result = doAction_(doEasing_(_easingInput(runningTime)), state);
 return (repeat < 0 || runningTime < duration) && !identical(result, false);
}

void onPause(MotionState state) #

inherited from Motion

Called in the first animator iteration after the motion is paused.

void onPause(MotionState state) {}

void onResume(MotionState state) #

inherited from Motion

Called in the first animator iteration after the motion is resumed from pause.

void onResume(MotionState state) {}

void onStart(MotionState state) #

inherited from Motion

Called in the first animator iteration after the motion is added into animator.

void onStart(MotionState state) {
 if (_start != null)
   _start(state);
}

void pause() #

inherited from Motion

Pause the motion.

void pause() {
 if (_stateFlag != _MOTION_STATE_RUNNING)
   return;
 _stateFlag = _MOTION_STATE_PAUSED;
}

void run() #

inherited from Motion

Start the motion, or resume it from a pause.

void run() {
 switch (_stateFlag) {
   case _MOTION_STATE_RUNNING:
     return;
   case _MOTION_STATE_PAUSED:
     _stateFlag = _MOTION_STATE_RUNNING; // resume
     break;
   case _MOTION_STATE_INIT:
     animator.add(this._task);
     break;
 }
}

void skip() #

inherited from EasingMotion

Skip to the end of motion.

void skip() {
 if (_state != null)
   doAction_(1, _state.._snapshot(new DateTime.now().millisecondsSinceEpoch));
 super.stop();
}

void stop() #

inherited from Motion

Stop the motion and reset the internal states.

void stop() {
 animator.remove(this._task);
 _state = null;
 _stateFlag = _MOTION_STATE_INIT;
}