API Reference 0.7.1rikulo_effectGlowEffect

GlowEffect class

A glowing effect to apply on element.

class GlowEffect extends EasingMotion {
 
 /** The element to which this effect applies.
  */
 final Element element;
 
 /** Create a GlowEffect of given [period] in milliseconds, which assigns
  * a CSS white shadow on the element.
  * 
  * + [period]: The period of the effect. Default: 1000 milliseconds
  * + [start]: Called when the effect starts.
  * + [end]: Called when the effect ends.
  */
 GlowEffect(Element element, {int period: 1000, num tempo: 0.3, 
 Color color, int blur: 10, int spread: 2, MotionStart start, MotionEnd end}) : 
 this.element = element, 
 super(createAction(element, color, blur, spread), start: (MotionState state) {
   if (start != null)
     start(state);
   state.data = element.style.boxShadow;
   
 }, end: (MotionState state) {
   element.style.boxShadow = state.data == null ? "" : state.data;
   if (end != null)
     end(state);
   
 }, period: period, 
 easing: (num t) => t < tempo ? (t * t / tempo / tempo) : (1 - t) / (1 - tempo));
 
 /** Create a glowing MotionAction by applying a color shadow on [element].
  */
 static MotionAction createAction(Element element, Color color, int blur, int spread) {
   final int r = color == null ? 255 : color.red.toInt();
   final int g = color == null ? 255 : color.green.toInt();
   final int b = color == null ? 255 : color.blue.toInt();
   final String pref = "0 0 ${blur}px ${spread}px rgba($r, $g, $b, ";
   return (num x, MotionState state) {
     element.style.boxShadow = "$pref$x)";
   };
 }
 
}

Extends

Motion > EasingMotion > GlowEffect

Static Methods

MotionAction createAction(Element element, Color color, int blur, int spread) #

Create a glowing MotionAction by applying a color shadow on element.

static MotionAction createAction(Element element, Color color, int blur, int spread) {
 final int r = color == null ? 255 : color.red.toInt();
 final int g = color == null ? 255 : color.green.toInt();
 final int b = color == null ? 255 : color.blue.toInt();
 final String pref = "0 0 ${blur}px ${spread}px rgba($r, $g, $b, ";
 return (num x, MotionState state) {
   element.style.boxShadow = "$pref$x)";
 };
}

Constructors

new GlowEffect(Element element, {int period: 1000, num tempo: 0.3, Color color, int blur: 10, int spread: 2, MotionStart start, MotionEnd end}) #

Create a GlowEffect of given period in milliseconds, which assigns a CSS white shadow on the element.

  • period: The period of the effect. Default: 1000 milliseconds
  • start: Called when the effect starts.
  • end: Called when the effect ends.
GlowEffect(Element element, {int period: 1000, num tempo: 0.3, 
Color color, int blur: 10, int spread: 2, MotionStart start, MotionEnd end}) : 
this.element = element, 
super(createAction(element, color, blur, spread), start: (MotionState state) {
 if (start != null)
   start(state);
 state.data = element.style.boxShadow;
 
}, end: (MotionState state) {
 element.style.boxShadow = state.data == null ? "" : state.data;
 if (end != null)
   end(state);
 
}, period: period, 
easing: (num t) => t < tempo ? (t * t / tempo / tempo) : (1 - t) / (1 - tempo));

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;
}