You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/11/11 06:35:29 UTC
[1/5] git commit: [flex-asjs] [refs/heads/core_js_to_as] - attempt to
fold JS into PlatformWiper
Repository: flex-asjs
Updated Branches:
refs/heads/core_js_to_as 6bfbe8272 -> 18f159c14
attempt to fold JS into PlatformWiper
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/9c93c536
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/9c93c536
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/9c93c536
Branch: refs/heads/core_js_to_as
Commit: 9c93c53628a53518a35569d1b6b999d50aa52d47
Parents: 6bfbe82
Author: Alex Harui <ah...@apache.org>
Authored: Tue Nov 10 20:55:00 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Nov 10 20:55:00 2015 -0800
----------------------------------------------------------------------
.../org/apache/flex/effects/PlatformWiper.as | 50 +++++++++++++++++---
1 file changed, 44 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9c93c536/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
index f9d2486..2ffe9d9 100644
--- a/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
@@ -20,8 +20,15 @@
package org.apache.flex.effects
{
-import flash.display.DisplayObject;
-import flash.geom.Rectangle;
+COMPILE::AS3
+{
+ import flash.display.DisplayObject;
+ import flash.geom.Rectangle;
+}
+COMPILE::JS
+{
+ import org.apache.flex.geom.Rectangle;
+}
import org.apache.flex.core.IDocument;
import org.apache.flex.core.IUIBase;
@@ -69,6 +76,12 @@ public class PlatformWiper
private var _target:IUIBase;
/**
+ * @private
+ * The old overflow value.
+ */
+ private var _overflow:String;
+
+ /**
* The object that will be clipped.
*
* @langversion 3.0
@@ -78,9 +91,26 @@ public class PlatformWiper
*/
public function set target(value:IUIBase):void
{
- if (value == null)
- DisplayObject(_target).scrollRect = null;
- _target = value;
+ COMPILE::AS3
+ {
+ if (value == null)
+ DisplayObject(_target).scrollRect = null;
+ _target = value;
+ }
+ COMPILE::JS
+ {
+ if (value == null)
+ {
+ if (_overflow == null)
+ delete _target.positioner.style.overflow;
+ else
+ _target.positioner.style.overflow = _overflow;
+ }
+ _target = target;
+ if (value != null) {
+ _overflow = _target.positioner.style.overflow;
+ }
+ }
}
/**
@@ -93,7 +123,15 @@ public class PlatformWiper
*/
public function set visibleRect(value:Rectangle):void
{
- DisplayObject(_target).scrollRect = value;
+ COMPILE::AS3
+ {
+ DisplayObject(_target).scrollRect = value;
+ }
+ COMPILE::JS
+ {
+ _target.positioner.style.height = value.height.toString() + 'px';
+ _target.positioner.style.overflow = 'hidden';
+ }
}
}
[3/5] git commit: [flex-asjs] [refs/heads/core_js_to_as] - move asjs
to as
Posted by ah...@apache.org.
move asjs to as
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/8c0014ae
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/8c0014ae
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/8c0014ae
Branch: refs/heads/core_js_to_as
Commit: 8c0014aea814ba3a6548f4703bf41174367ecc0e
Parents: 9c93c53
Author: Alex Harui <ah...@apache.org>
Authored: Tue Nov 10 21:18:35 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Nov 10 21:18:35 2015 -0800
----------------------------------------------------------------------
.../flex/core/StatesWithTransitionsImpl.as | 346 ++++++++++
.../as/src/org/apache/flex/effects/Effect.as | 263 ++++++++
.../as/src/org/apache/flex/effects/Fade.as | 165 +++++
.../as/src/org/apache/flex/effects/IEffect.as | 136 ++++
.../as/src/org/apache/flex/effects/Move.as | 240 +++++++
.../as/src/org/apache/flex/effects/Parallel.as | 152 +++++
.../as/src/org/apache/flex/effects/Resize.as | 197 ++++++
.../as/src/org/apache/flex/effects/Sequence.as | 152 +++++
.../as/src/org/apache/flex/effects/Tween.as | 665 +++++++++++++++++++
.../as/src/org/apache/flex/effects/Wipe.as | 156 +++++
.../as/src/org/apache/flex/states/Transition.as | 80 +++
.../flex/core/StatesWithTransitionsImpl.as | 346 ----------
.../asjs/src/org/apache/flex/effects/Effect.as | 263 --------
.../asjs/src/org/apache/flex/effects/Fade.as | 165 -----
.../asjs/src/org/apache/flex/effects/IEffect.as | 136 ----
.../asjs/src/org/apache/flex/effects/Move.as | 240 -------
.../src/org/apache/flex/effects/Parallel.as | 152 -----
.../asjs/src/org/apache/flex/effects/Resize.as | 197 ------
.../src/org/apache/flex/effects/Sequence.as | 152 -----
.../asjs/src/org/apache/flex/effects/Tween.as | 665 -------------------
.../asjs/src/org/apache/flex/effects/Wipe.as | 156 -----
.../src/org/apache/flex/states/Transition.as | 80 ---
22 files changed, 2552 insertions(+), 2552 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/core/StatesWithTransitionsImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/core/StatesWithTransitionsImpl.as b/frameworks/projects/Effects/as/src/org/apache/flex/core/StatesWithTransitionsImpl.as
new file mode 100644
index 0000000..9549bc8
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/core/StatesWithTransitionsImpl.as
@@ -0,0 +1,346 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.core
+{
+
+ import org.apache.flex.core.IParent;
+ import org.apache.flex.core.IStatesObject;
+ import org.apache.flex.effects.Effect;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.events.EventDispatcher;
+ import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.events.ValueChangeEvent;
+ import org.apache.flex.states.AddItems;
+ import org.apache.flex.states.SetEventHandler;
+ import org.apache.flex.states.SetProperty;
+ import org.apache.flex.states.State;
+ import org.apache.flex.states.Transition;
+ import org.apache.flex.utils.MXMLDataInterpreter;
+
+ /**
+ * The StatesWithTransitionsImpl class implements a set of
+ * view state functionality that includes transitions between states.
+ * It only supports AddItems and SetProperty and SetEventHandler
+ * changes at this time.
+ *
+ * @flexjsignoreimport org.apache.flex.core.IStatesObject
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class StatesWithTransitionsImpl extends EventDispatcher implements IStatesImpl, IBead
+ {
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function StatesWithTransitionsImpl()
+ {
+ super();
+ }
+
+ private var _strand:IStrand;
+
+ private var sawInitComplete:Boolean;
+
+ /**
+ * @copy org.apache.flex.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ IEventDispatcher(_strand).addEventListener("currentStateChange", stateChangeHandler);
+ IEventDispatcher(_strand).addEventListener("initComplete", initialStateHandler);
+ }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.core.IStatesObject
+ */
+ private function initialStateHandler(event:org.apache.flex.events.Event):void
+ {
+ sawInitComplete = true;
+ stateChangeHandler(new ValueChangeEvent("currentStateChange", false, false, null,
+ IStatesObject(_strand).currentState));
+ }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.core.IStatesObject
+ */
+ private function stateChangeHandler(event:ValueChangeEvent):void
+ {
+ if (!sawInitComplete)
+ return;
+
+ var doc:IStatesObject = _strand as IStatesObject;
+ var transitions:Array = doc.transitions;
+ if (transitions && transitions.length > 0)
+ {
+ for each (var t:Transition in transitions)
+ {
+ if (t.fromState == "*" || t.fromState == event.oldValue)
+ {
+ if (t.toState == "*" || t.toState == event.newValue)
+ {
+ transitionEffects = t.effects.slice();
+ for each (var e:Effect in transitionEffects)
+ {
+ e.captureStartValues();
+ }
+ break;
+ }
+ }
+ }
+ }
+ var arr:Array = doc.states;
+ var oldState:State;
+ var newState:State;
+ for each (var s:State in arr)
+ {
+ if (s.name == event.oldValue)
+ {
+ oldState = s;
+ break;
+ }
+ }
+ for each (s in arr)
+ {
+ if (s.name == event.newValue)
+ {
+ newState = s;
+ break;
+ }
+ }
+ if (oldState)
+ revert(oldState, newState);
+ if (newState)
+ apply(oldState, newState);
+ if (transitionEffects && transitionEffects.length > 0)
+ {
+ for each (e in transitionEffects)
+ {
+ e.captureEndValues();
+ }
+ }
+ var playingTransition:Boolean;
+ if (transitionEffects && transitionEffects.length > 0)
+ {
+ playingTransition = true;
+ for each (e in transitionEffects)
+ {
+ e.addEventListener(Effect.EFFECT_END, effectEndHandler);
+ e.play();
+ }
+ }
+ if (!playingTransition)
+ doc.dispatchEvent(new Event("stateChangeComplete"));
+ }
+
+ private var transitionEffects:Array;
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.core.IStatesObject
+ */
+ private function effectEndHandler(event:Event):void
+ {
+ // in case of extraneous calls to effectEndHandler
+ if (transitionEffects == null)
+ return;
+
+ var n:int = transitionEffects.length;
+ for (var i:int = 0; i < n; i++)
+ {
+ event.target.removeEventListener(Effect.EFFECT_END, effectEndHandler);
+ if (transitionEffects[i] == event.target)
+ transitionEffects.splice(i, 1);
+ }
+ if (transitionEffects.length == 0)
+ {
+ transitionEffects = null;
+ var doc:IStatesObject = _strand as IStatesObject;
+ doc.dispatchEvent(new Event("stateChangeComplete"));
+ }
+ }
+
+ private function isItemInState(child:Object, s:State):Boolean
+ {
+ if (s == null) return false;
+
+ var arr:Array = s.overrides;
+ for each (var o:Object in arr)
+ {
+ if (o is AddItems)
+ {
+ var ai:AddItems = AddItems(o);
+ if (ai.items == null)
+ {
+ ai.items = ai.itemsDescriptor.items as Array;
+ if (ai.items == null)
+ {
+ ai.items =
+ MXMLDataInterpreter.generateMXMLArray(ai.document,
+ null, ai.itemsDescriptor.descriptor);
+ ai.itemsDescriptor.items = ai.items;
+ }
+ }
+ for each (var item:IChild in ai.items)
+ {
+ if (item == child)
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private function revert(s:State, newState:State):void
+ {
+ var arr:Array = s.overrides;
+ for each (var o:Object in arr)
+ {
+ if (o is AddItems)
+ {
+ var ai:AddItems = AddItems(o);
+ var childrenAdded:Boolean = false;
+ for each (var item:IChild in ai.items)
+ {
+ if (!isItemInState(item, newState))
+ {
+ var parent:IParent = item.parent as IParent;
+ parent.removeElement(item);
+ childrenAdded = true;
+ }
+ }
+ if (childrenAdded && parent is IContainer)
+ IContainer(parent).childrenAdded();
+ }
+ else if (o is SetProperty)
+ {
+ var sp:SetProperty = SetProperty(o);
+ if (sp.target != null)
+ sp.document[sp.target][sp.name] = sp.previousValue;
+ else
+ sp.document[sp.name] = sp.previousValue;
+ }
+ else if (o is SetEventHandler)
+ {
+ var seh:SetEventHandler = SetEventHandler(o);
+ if (seh.target != null)
+ {
+ seh.document[seh.target].removeEventListener(seh.name, seh.handlerFunction);
+ }
+ else
+ {
+ seh.document.removeEventListener(seh.name, seh.handlerFunction);
+ }
+ }
+ }
+ }
+
+ private function apply(oldState:State, s:State):void
+ {
+ var arr:Array = s.overrides;
+ for each (var o:Object in arr)
+ {
+ if (o is AddItems)
+ {
+ var ai:AddItems = AddItems(o);
+ if (ai.items == null)
+ {
+ ai.items = ai.itemsDescriptor.items as Array;
+ if (ai.items == null)
+ {
+ ai.items =
+ MXMLDataInterpreter.generateMXMLArray(ai.document,
+ null, ai.itemsDescriptor.descriptor);
+ ai.itemsDescriptor.items = ai.items;
+ }
+ }
+ var childrenAdded:Boolean = false;
+ for each (var item:Object in ai.items)
+ {
+ if (!isItemInState(item, oldState))
+ {
+ var parent:IParent = ai.document as IParent;
+ if (ai.destination)
+ parent = parent[ai.destination] as IParent;
+ if (ai.relativeTo != null)
+ {
+ var child:Object = ai.document[ai.relativeTo];
+ if (ai.destination)
+ parent = IChild(child).parent as IParent;
+ var index:int = parent.getElementIndex(child);
+ if (ai.position == "after")
+ index++;
+ parent.addElementAt(item, index);
+ childrenAdded = true;
+ }
+ else
+ {
+ parent.addElement(item);
+ childrenAdded = true;
+ }
+ }
+ }
+ if (childrenAdded && parent is IContainer)
+ IContainer(parent).childrenAdded();
+ }
+ else if (o is SetProperty)
+ {
+ var sp:SetProperty = SetProperty(o);
+ if (sp.target != null)
+ {
+ sp.previousValue = sp.document[sp.target][sp.name];
+ sp.document[sp.target][sp.name] = sp.value;
+ }
+ else
+ {
+ sp.previousValue = sp.document[sp.name];
+ sp.document[sp.name] = sp.value;
+ }
+ }
+ else if (o is SetEventHandler)
+ {
+ var seh:SetEventHandler = SetEventHandler(o);
+ if (seh.target != null)
+ {
+ seh.document[seh.target].addEventListener(seh.name, seh.handlerFunction);
+ }
+ else
+ {
+ seh.document.addEventListener(seh.name, seh.handlerFunction);
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Effect.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Effect.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Effect.as
new file mode 100644
index 0000000..7fabe6a
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Effect.as
@@ -0,0 +1,263 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.events.EventDispatcher;
+
+/**
+ * Effect is the base class for effects in FlexJS.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Effect extends EventDispatcher implements IEffect
+{
+ //--------------------------------------------------------------------------
+ //
+ // Class constants
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * The <code>Effect.EFFECT_END</code> constant defines the value of the
+ * event object's <code>type</code> property for a <code>effectEnd</code> event.
+ *
+ * <p>The properties of the event object have the following values:</p>
+ * <table class="innertable">
+ * <tr><th>Property</th><th>Value</th></tr>
+ * <tr><td><code>bubbles</code></td><td>false</td></tr>
+ * <tr><td><code>cancelable</code></td><td>false</td></tr>
+ * <tr><td><code>currentTarget</code></td><td>The Object that defines the
+ * event listener that handles the event. For example, if you use
+ * <code>myButton.addEventListener()</code> to register an event listener,
+ * myButton is the value of the <code>currentTarget</code>. </td></tr>
+ * <tr><td><code>target</code></td><td>The Object that dispatched the event;
+ * it is not always the Object listening for the event.
+ * Use the <code>currentTarget</code> property to always access the
+ * Object listening for the event.</td></tr>
+ * </table>
+ *
+ * @eventType effectEnd
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public static const EFFECT_END:String = "effectEnd";
+
+ /**
+ * The <code>Effect.EFFECT_START</code> constant defines the value of the
+ * event object's <code>type</code> property for a <code>effectStart</code> event.
+ *
+ * <p>The properties of the event object have the following values:</p>
+ * <table class="innertable">
+ * <tr><th>Property</th><th>Value</th></tr>
+ * <tr><td><code>bubbles</code></td><td>false</td></tr>
+ * <tr><td><code>cancelable</code></td><td>false</td></tr>
+ * <tr><td><code>currentTarget</code></td><td>The Object that defines the
+ * event listener that handles the event. For example, if you use
+ * <code>myButton.addEventListener()</code> to register an event listener,
+ * myButton is the value of the <code>currentTarget</code>. </td></tr>
+ * <tr><td><code>target</code></td><td>The Object that dispatched the event;
+ * it is not always the Object listening for the event.
+ * Use the <code>currentTarget</code> property to always access the
+ * Object listening for the event.</td></tr>
+ * </table>
+ *
+ * @eventType effectStart
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public static const EFFECT_START:String = "effectStart";
+
+ /**
+ * The <code>Effect.EFFECT_STOP</code> constant defines the value of the
+ * event object's <code>type</code> property for a <code>effectStop</code> event.
+ *
+ * <p>The properties of the event object have the following values:</p>
+ * <table class="innertable">
+ * <tr><th>Property</th><th>Value</th></tr>
+ * <tr><td><code>bubbles</code></td><td>false</td></tr>
+ * <tr><td><code>cancelable</code></td><td>false</td></tr>
+ * <tr><td><code>currentTarget</code></td><td>The Object that defines the
+ * event listener that handles the event. For example, if you use
+ * <code>myButton.addEventListener()</code> to register an event listener,
+ * myButton is the value of the <code>currentTarget</code>. </td></tr>
+ * <tr><td><code>target</code></td><td>The Object that dispatched the event;
+ * it is not always the Object listening for the event.
+ * Use the <code>currentTarget</code> property to always access the
+ * Object listening for the event.</td></tr>
+ * </table>
+ *
+ * @eventType effectStop
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public static const EFFECT_STOP:String = "effectStop";
+
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Effect()
+ {
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // duration
+ //----------------------------------
+
+ private var _duration:Number = 500;
+ /**
+ * Duration of the animation, in milliseconds.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get duration():Number
+ {
+ return _duration;
+ }
+ public function set duration(value:Number):void
+ {
+ _duration = value;
+ }
+
+
+ /**
+ * Plays the effect in reverse,
+ * starting from the current position of the effect.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function reverse():void
+ {
+ }
+
+ /**
+ * Pauses the effect until you call the <code>resume()</code> method.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function pause():void
+ {
+ }
+
+ /**
+ * Stops the tween, ending it without dispatching an event or calling
+ * the Tween's endFunction or <code>onTweenEnd()</code>.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function play():void
+ {
+ }
+
+ /**
+ * Stops the tween, ending it without dispatching an event or calling
+ * the Tween's endFunction or <code>onTweenEnd()</code>.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function stop():void
+ {
+ }
+
+ /**
+ * Resumes the effect after it has been paused
+ * by a call to the <code>pause()</code> method.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function resume():void
+ {
+ }
+
+ /**
+ * @copy org.apache.flex.effects.IEffect#captureStartValues
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function captureStartValues():void
+ {
+ }
+
+ /**
+ * @copy org.apache.flex.effects.IEffect#captureEndValues
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function captureEndValues():void
+ {
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Fade.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Fade.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Fade.as
new file mode 100644
index 0000000..28f0d16
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Fade.as
@@ -0,0 +1,165 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IUIBase;
+
+/**
+ * The Fade effect animates a UI component's alpha or opacity.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Fade extends Tween implements IDocument
+{
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @param target An object that will
+ * have its x and/or y property animated.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Fade(target:IUIBase = null)
+ {
+ super();
+
+ this.actualTarget = target;
+ startValue = 0;
+ endValue = 1;
+
+ listener = this;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * The document.
+ */
+ private var document:Object;
+
+ /**
+ * @private
+ * The target.
+ */
+ private var actualTarget:IUIBase;
+
+ /**
+ * The target as the String id
+ * of a widget in an MXML Document.
+ */
+ public var target:String;
+
+ /**
+ * @private
+ * The change in alpha.
+ */
+ private var d:Number;
+
+ /**
+ * @private
+ * The starting value.
+ */
+ private var start:Number;
+
+ /**
+ * Starting alpha value. If NaN, the current alpha value is used
+ */
+ public var alphaFrom:Number;
+
+ /**
+ * Ending alpha value. If NaN, the current alpha value is not changed
+ */
+ public var alphaTo:Number;
+
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ public function setDocument(document:Object, id:String = null):void
+ {
+ this.document = document;
+ }
+
+ /**
+ * @private
+ */
+ override public function play():void
+ {
+ if (target != null)
+ actualTarget = document[target];
+
+ if (isNaN(alphaFrom))
+ start = actualTarget.alpha;
+ else
+ start = alphaFrom;
+
+ if (isNaN(alphaTo))
+ d = 0;
+ else
+ d = alphaTo - start;
+
+ super.play();
+ }
+
+ public function onTweenUpdate(value:Number):void
+ {
+ if (d)
+ actualTarget.alpha = start + value * d;
+ }
+
+ public function onTweenEnd(value:Number):void
+ {
+ if (d)
+ actualTarget.alpha = start + d;
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/IEffect.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/IEffect.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/IEffect.as
new file mode 100644
index 0000000..f5b940c
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/IEffect.as
@@ -0,0 +1,136 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.events.IEventDispatcher;
+
+/**
+ * IEffect is the lowest-level interface for effects in FlexJS.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public interface IEffect extends IEventDispatcher
+{
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // duration
+ //----------------------------------
+
+ /**
+ * Duration of the animation, in milliseconds.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function get duration():Number;
+ function set duration(value:Number):void;
+
+
+ /**
+ * Plays the effect in reverse,
+ * starting from the current position of the effect.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function reverse():void;
+
+ /**
+ * Pauses the effect until you call the <code>resume()</code> method.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function pause():void;
+
+ /**
+ * Stops the tween, ending it without dispatching an event or calling
+ * the Tween's endFunction or <code>onTweenEnd()</code>.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function play():void;
+
+ /**
+ * Stops the tween, ending it without dispatching an event or calling
+ * the Tween's endFunction or <code>onTweenEnd()</code>.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function stop():void;
+
+ /**
+ * Resumes the effect after it has been paused
+ * by a call to the <code>pause()</code> method.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function resume():void;
+
+ /**
+ * Tries to compute initial values
+ * for effect
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function captureStartValues():void;
+
+ /**
+ * Tries to compute final values
+ * for effect
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ function captureEndValues():void;
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Move.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Move.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Move.as
new file mode 100644
index 0000000..2a42b19
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Move.as
@@ -0,0 +1,240 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IUIBase;
+
+/**
+ * The Move effect animates a UI component's x or y position.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Move extends Tween implements IDocument
+{
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @param target Object ID or reference to an object that will
+ * have its x and/or y property animated.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Move(target:IUIBase = null)
+ {
+ super();
+
+ this.actualTarget = target;
+ startValue = 0;
+ endValue = 1;
+
+ listener = this;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * The document.
+ */
+ private var document:Object;
+
+ /**
+ * @private
+ * The actual target.
+ */
+ private var actualTarget:IUIBase;
+
+ /**
+ * The target as the String id
+ * of a widget in an MXML Document.
+ */
+ public var target:String;
+
+ /**
+ * The change in x.
+ */
+ public var xBy:Number;
+
+ /**
+ * The change in y.
+ */
+ public var yBy:Number;
+
+ /**
+ * @private
+ * The starting x.
+ */
+ private var xStart:Number;
+
+ /**
+ * @private
+ * The starting y.
+ */
+ private var yStart:Number;
+
+ /**
+ * @private
+ * The total change for x.
+ */
+ private var xMove:Number;
+
+ /**
+ * @private
+ * The total change for y.
+ */
+ private var yMove:Number;
+
+ /**
+ * Starting x value. If NaN, the current x value is used
+ */
+ public var xFrom:Number;
+
+ /**
+ * Ending x value. If NaN, the current x value is not changed
+ */
+ public var xTo:Number;
+
+ /**
+ * Starting y value. If NaN, the current y value is used
+ */
+ public var yFrom:Number;
+
+ /**
+ * Ending y value. If NaN, the current y value is not changed
+ */
+ public var yTo:Number;
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ public function setDocument(document:Object, id:String = null):void
+ {
+ this.document = document;
+ }
+
+ /**
+ * @private
+ */
+ override public function play():void
+ {
+ if (target != null)
+ actualTarget = document[target];
+
+ if (isNaN(xFrom))
+ xStart = actualTarget.x;
+ else
+ xStart = xFrom;
+
+ if (isNaN(xBy))
+ {
+ if (isNaN(xTo))
+ xMove = 0;
+ else
+ xMove = xTo - xStart;
+ }
+ else
+ xMove = xBy;
+
+ if (isNaN(yFrom))
+ yStart = actualTarget.y;
+ else
+ yStart = yFrom;
+ if (isNaN(yBy))
+ {
+ if (isNaN(yTo))
+ yMove = 0;
+ else
+ yMove = yTo - yStart;
+ }
+ else
+ yMove = yBy;
+
+ super.play();
+ }
+
+ public function onTweenUpdate(value:Number):void
+ {
+ if (xMove)
+ actualTarget.x = xStart + value * xMove;
+ if (yMove)
+ actualTarget.y = yStart + value * yMove;
+ }
+
+ public function onTweenEnd(value:Number):void
+ {
+ if (xMove)
+ actualTarget.x = xStart + xMove;
+ if (yMove)
+ actualTarget.y = yStart + yMove;
+
+ }
+
+ override public function captureStartValues():void
+ {
+ if (target != null)
+ {
+ actualTarget = document[target];
+ xFrom = actualTarget.x;
+ yFrom = actualTarget.y;
+ }
+ }
+
+ override public function captureEndValues():void
+ {
+ if (target != null)
+ {
+ actualTarget = document[target];
+ xTo = actualTarget.x;
+ yTo = actualTarget.y;
+ }
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Parallel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Parallel.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Parallel.as
new file mode 100644
index 0000000..6d08012
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Parallel.as
@@ -0,0 +1,152 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IUIBase;
+import org.apache.flex.events.Event;
+
+[DefaultProperty("children")]
+
+/**
+ * The Parallel effect animates set of effects at the
+ * same time.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Parallel extends Effect implements IDocument
+{
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Parallel()
+ {
+ super();
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * The document.
+ */
+ private var document:Object;
+
+ /**
+ * @private
+ * The target.
+ */
+ private var target:IUIBase;
+
+ /**
+ * The children.
+ */
+ public var children:Array;
+
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ override public function set duration(value:Number):void
+ {
+ var n:int = children.length;
+ for (var i:int = 0; i < 0; i++)
+ {
+ children[i].duration = value;
+ }
+ super.duration = value;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ public function setDocument(document:Object, id:String = null):void
+ {
+ this.document = document;
+ }
+
+ public function addChild(child:IEffect):void
+ {
+ if (!children)
+ children = [ child ];
+ else
+ children.push(child);
+ }
+
+ /**
+ * @private
+ */
+ override public function play():void
+ {
+ dispatchEvent(new Event(Effect.EFFECT_START));
+ current = 0;
+ var n:int = children.length;
+ for (var i:int = 0; i < n; i++)
+ playChildEffect(i);
+ }
+
+ private var current:int;
+
+ private function playChildEffect(index:int):void
+ {
+ var child:IEffect = children[index];
+ child.addEventListener(Effect.EFFECT_END, effectEndHandler);
+ child.play();
+ }
+
+ private function effectEndHandler(event:Event):void
+ {
+ current++;
+ if (current >= children.length)
+ dispatchEvent(new Event(Effect.EFFECT_END));
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Resize.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Resize.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Resize.as
new file mode 100644
index 0000000..2ee1e15
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Resize.as
@@ -0,0 +1,197 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IUIBase;
+
+/**
+ * The Resize effect animates a UI component's width or height.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Resize extends Tween implements IDocument
+{
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @param target Object ID or reference to an object that will
+ * have its x and/or y property animated.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Resize(target:IUIBase = null)
+ {
+ super();
+
+ this.actualTarget = target;
+ startValue = 0;
+ endValue = 1;
+
+ listener = this;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * The document.
+ */
+ private var document:Object;
+
+ /**
+ * @private
+ * The target.
+ */
+ private var actualTarget:IUIBase;
+
+ /**
+ * The target as the String id
+ * of a widget in an MXML Document.
+ */
+ public var target:String;
+
+ /**
+ * The change in width.
+ */
+ public var widthBy:Number;
+
+ /**
+ * The change in height.
+ */
+ public var heightBy:Number;
+
+ /**
+ * @private
+ * The starting width.
+ */
+ private var widthStart:Number;
+
+ /**
+ * @private
+ * The starting height.
+ */
+ private var heightStart:Number;
+
+ /**
+ * Starting width value. If NaN, the current width value is used
+ */
+ public var widthFrom:Number;
+
+ /**
+ * Starting height value. If NaN, the current height value is used
+ */
+ public var heightFrom:Number;
+
+ /**
+ * Ending width value.
+ */
+ public var widthTo:Number;
+
+ /**
+ * Ending height value.
+ */
+ public var heightTo:Number;
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ public function setDocument(document:Object, id:String = null):void
+ {
+ this.document = document;
+ }
+
+ /**
+ * @private
+ */
+ override public function play():void
+ {
+ if (target != null)
+ actualTarget = document[target];
+
+ if (isNaN(widthFrom))
+ widthStart = actualTarget.width;
+ if (isNaN(widthBy))
+ {
+ if (isNaN(widthTo))
+ widthBy = 0;
+ else
+ widthBy = widthTo - widthStart;
+ }
+
+ if (isNaN(heightFrom))
+ heightStart = actualTarget.height;
+ if (isNaN(heightBy))
+ {
+ if (isNaN(heightTo))
+ heightBy = 0;
+ else
+ heightBy = heightTo - heightStart;
+ }
+ super.play();
+ }
+
+ public function onTweenUpdate(value:Number):void
+ {
+ if (widthBy)
+ actualTarget.width = widthStart + value * widthBy;
+ if (heightBy)
+ actualTarget.height = heightStart + value * heightBy;
+ }
+
+ public function onTweenEnd(value:Number):void
+ {
+ if (widthBy)
+ actualTarget.width = widthStart + widthBy;
+ if (heightBy)
+ actualTarget.height = heightStart + heightBy;
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Sequence.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Sequence.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Sequence.as
new file mode 100644
index 0000000..f6c3343
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Sequence.as
@@ -0,0 +1,152 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IUIBase;
+import org.apache.flex.events.Event;
+
+[DefaultProperty("children")]
+
+/**
+ * The Sequence effect animates a set of effects one
+ * at a time.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Sequence extends Effect implements IDocument
+{
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Sequence()
+ {
+ super();
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * The document.
+ */
+ private var document:Object;
+
+ /**
+ * @private
+ * The target.
+ */
+ private var target:IUIBase;
+
+ /**
+ * The children.
+ */
+ public var children:Array;
+
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ override public function set duration(value:Number):void
+ {
+ var n:int = children.length;
+ for (var i:int = 0; i < 0; i++)
+ {
+ children[i].duration = value;
+ }
+ super.duration = value;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ public function setDocument(document:Object, id:String = null):void
+ {
+ this.document = document;
+ }
+
+ public function addChild(child:IEffect):void
+ {
+ if (!children)
+ children = [ child ];
+ else
+ children.push(child);
+ }
+
+ /**
+ * @private
+ */
+ override public function play():void
+ {
+ dispatchEvent(new Event(Effect.EFFECT_START));
+ current = 0;
+ playChildEffect();
+ }
+
+ private var current:int;
+
+ private function playChildEffect():void
+ {
+ var child:IEffect = children[current];
+ child.addEventListener(Effect.EFFECT_END, effectEndHandler);
+ child.play();
+ }
+
+ private function effectEndHandler(event:Event):void
+ {
+ current++;
+ if (current >= children.length)
+ dispatchEvent(new Event(Effect.EFFECT_END));
+ else
+ playChildEffect();
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Tween.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Tween.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Tween.as
new file mode 100644
index 0000000..3b9415e
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Tween.as
@@ -0,0 +1,665 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.core.IEffectTimer;
+import org.apache.flex.core.ValuesManager;
+import org.apache.flex.events.ValueEvent;
+import org.apache.flex.events.Event;
+import org.apache.flex.events.EventDispatcher;
+
+/**
+ * Tween is the underlying animation class for the effects in FlexJS.
+ *
+ * The Tween class defines a tween, a property animation performed
+ * on a target object over a period of time.
+ * That animation can be a change in position, such as performed by
+ * the Move effect; a change in size, as performed by the Resize or
+ * Zoom effects; a change in visibility, as performed by the Fade or
+ * Dissolve effects; or other types of animations.
+ *
+ * <p>A Tween instance accepts the <code>startValue</code>,
+ * <code>endValue</code>, and <code>duration</code> properties,
+ * and an optional easing function to define the animation.</p>
+ *
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Tween extends Effect
+{
+ //--------------------------------------------------------------------------
+ //
+ // Class constants
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * The <code>Tween.TWEEN_END</code> constant defines the value of the
+ * event object's <code>type</code> property for a <code>tweenEnd</code> event.
+ *
+ * <p>The properties of the event object have the following values:</p>
+ * <table class="innertable">
+ * <tr><th>Property</th><th>Value</th></tr>
+ * <tr><td><code>bubbles</code></td><td>false</td></tr>
+ * <tr><td><code>cancelable</code></td><td>false</td></tr>
+ * <tr><td><code>currentTarget</code></td><td>The Object that defines the
+ * event listener that handles the event. For example, if you use
+ * <code>myButton.addEventListener()</code> to register an event listener,
+ * myButton is the value of the <code>currentTarget</code>. </td></tr>
+ * <tr><td><code>target</code></td><td>The Object that dispatched the event;
+ * it is not always the Object listening for the event.
+ * Use the <code>currentTarget</code> property to always access the
+ * Object listening for the event.</td></tr>
+ * <tr><td><code>value</code></td><td>The value passed to the
+ * <code>onTweenEnd()</code> method.</td></tr>
+ * </table>
+ *
+ * @see org.apache.flex.effects.Effect
+ * @see org.apache.flex.effects.TweenEffect
+ * @see org.apache.flex.events.EffectEvent
+ * @eventType tweenEnd
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public static const TWEEN_END:String = "tweenEnd";
+
+ /**
+ * The <code>Tween.TWEEN_START</code> constant defines the value of the
+ * event object's <code>type</code> property for a <code>tweenStart</code> event.
+ *
+ * <p>The properties of the event object have the following values:</p>
+ * <table class="innertable">
+ * <tr><th>Property</th><th>Value</th></tr>
+ * <tr><td><code>bubbles</code></td><td>false</td></tr>
+ * <tr><td><code>cancelable</code></td><td>false</td></tr>
+ * <tr><td><code>currentTarget</code></td><td>The Object that defines the
+ * event listener that handles the event. For example, if you use
+ * <code>myButton.addEventListener()</code> to register an event listener,
+ * myButton is the value of the <code>currentTarget</code>. </td></tr>
+ * <tr><td><code>target</code></td><td>The Object that dispatched the event;
+ * it is not always the Object listening for the event.
+ * Use the <code>currentTarget</code> property to always access the
+ * Object listening for the event.</td></tr>
+ * <tr><td><code>value</code></td><td>The value passed to the
+ * <code>onTweenUpdate()</code> method.</td></tr>
+ * </table>
+ *
+ * @eventType tweenStart
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public static const TWEEN_START:String = "tweenStart";
+
+ /**
+ * The <code>Tween.TWEEN_UPDATE</code> constant defines the value of the
+ * event object's <code>type</code> property for a <code>tweenUpdate</code> event.
+ *
+ * <p>The properties of the event object have the following values:</p>
+ * <table class="innertable">
+ * <tr><th>Property</th><th>Value</th></tr>
+ * <tr><td><code>bubbles</code></td><td>false</td></tr>
+ * <tr><td><code>cancelable</code></td><td>false</td></tr>
+ * <tr><td><code>currentTarget</code></td><td>The Object that defines the
+ * event listener that handles the event. For example, if you use
+ * <code>myButton.addEventListener()</code> to register an event listener,
+ * myButton is the value of the <code>currentTarget</code>. </td></tr>
+ * <tr><td><code>target</code></td><td>The Object that dispatched the event;
+ * it is not always the Object listening for the event.
+ * Use the <code>currentTarget</code> property to always access the
+ * Object listening for the event.</td></tr>
+ * <tr><td><code>value</code></td><td>The value passed to the
+ * <code>onTweenUpdate()</code> method.</td></tr>
+ * </table>
+ *
+ * @eventType tweenUpdate
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public static const TWEEN_UPDATE:String = "tweenUpdate";
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Class variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * The list of tweens that are currently playing.
+ */
+ public static var activeTweens:Object = {};
+
+ private static var timer:IEffectTimer;
+
+ private static var currentID:int = 1;
+
+ //--------------------------------------------------------------------------
+ //
+ // Class properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // currentTime
+ //----------------------------------
+
+ /**
+ * Used by effects to get the current effect time tick.
+ */
+ public static var currentTime:Number = NaN;
+
+ //--------------------------------------------------------------------------
+ //
+ // Class methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ private static function addTween(tween:Tween):void
+ {
+ tween.id = currentID++;
+
+ activeTweens[tween.id] = tween;
+
+ if (!timer)
+ {
+ timer = ValuesManager.valuesImpl.newInstance(tween, "iEffectTimer") as IEffectTimer;
+ timer.addEventListener("update", updateHandler);
+ }
+ currentTime = timer.start();
+
+ tween.startTime = tween.previousUpdateTime = currentTime;
+ }
+
+
+ /**
+ * @private
+ */
+ private static function removeTween(tween:Tween):void
+ {
+ delete activeTweens[tween.id];
+ if (activeTweens.length == 0)
+ timer.stop();
+ }
+
+ /**
+ * @private
+ */
+ private static function updateHandler(event:ValueEvent):void
+ {
+ var oldTime:Number = currentTime;
+
+ // the IEFfectTimer can control the current time
+ // if it wants. This can be useful for automated
+ // testing.
+ currentTime = event.value as Number;
+
+ for (var id:String in activeTweens)
+ {
+ var tween:Tween = Tween(activeTweens[id]);
+ tween.update();
+ }
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Tween()
+ {
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ private var id:int = -1;
+
+ /**
+ * @private
+ */
+ private var _doSeek:Boolean = false;
+
+ /**
+ * @private
+ */
+ private var _isPlaying:Boolean = true;
+
+ /**
+ * @private
+ */
+ private var _doReverse:Boolean = false;
+
+ /**
+ * @private
+ */
+ private var startTime:Number;
+
+ /**
+ * @private
+ */
+ private var previousUpdateTime:Number;
+
+ /**
+ * @private
+ */
+ private var userEquation:Function;
+
+ /**
+ * Final value of the animation.
+ */
+ public var endValue:Number;
+
+ /**
+ * Initial value of the animation.
+ */
+ public var startValue:Number;
+
+ /**
+ * @private
+ */
+ private var started:Boolean = false;
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // listener
+ //----------------------------------
+
+ /**
+ * Object that is notified at each interval of the animation.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public var listener:Object;
+
+ //----------------------------------
+ // playheadTime
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the playheadTime property.
+ */
+ private var _playheadTime:Number = 0;
+
+ /**
+ * @private
+ * The current millisecond position in the tween.
+ * This value is between 0 and duration.
+ * Use the seek() method to change the position of the tween.
+ */
+ private function get playheadTime():Number
+ {
+ return _playheadTime;
+ }
+
+ //----------------------------------
+ // playReversed
+ //----------------------------------
+
+ /**
+ * @private
+ * Storage for the playReversed property.
+ */
+ private var _invertValues:Boolean = false;
+
+ /**
+ * @private
+ * Starts playing reversed from start of tween.
+ * Setting this property to <code>true</code>
+ * inverts the values returned by the tween.
+ * Using reverse inverts the values and only plays
+ * for as much time that has already elapsed.
+ */
+ private function get playReversed():Boolean
+ {
+ return _invertValues;
+ }
+
+ /**
+ * @private
+ */
+ private function set playReversed(value:Boolean):void
+ {
+ _invertValues = value;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+
+ /**
+ * Sets the easing function for the animation.
+ * The easing function is used to interpolate between
+ * the <code>startValue</code> value and the <code>endValue</code>.
+ * A trivial easing function does linear interpolation,
+ * but more sophisticated easing functions create the illusion of
+ * acceleration and deceleration, which makes the animation seem
+ * more natural.
+ *
+ * <p>If no easing function is specified, an easing function based
+ * on the <code>Math.sin()</code> method is used.</p>
+ *
+ * <p>The easing function follows the function signature
+ * popularized by Robert Penner.
+ * The function accepts four arguments.
+ * The first argument is the "current time",
+ * where the animation start time is 0.
+ * The second argument is a the initial value
+ * at the beginning of the animation (a Number).
+ * The third argument is the ending value
+ * minus the initial value.
+ * The fourth argument is the duration of the animation.
+ * The return value is the interpolated value for the current time
+ * (usually a value between the initial value and the ending value).</p>
+ *
+ * <p>Flex includes a set of easing functions
+ * in the mx.effects.easing package.</p>
+ *
+ * @param easingFunction Function that implements the easing equation.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function set easingFunction(value:Function):void
+ {
+ userEquation = value;
+ }
+
+ /**
+ * Interrupt the tween, jump immediately to the end of the tween,
+ * and invoke the <code>onTweenEnd()</code> callback function.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function endTween():void
+ {
+ var event:ValueEvent = new ValueEvent(Tween.TWEEN_END);
+ var value:Object = getCurrentValue(duration);
+
+ event.value = value;
+
+ dispatchEvent(event);
+
+ listener.onTweenEnd(value);
+
+ dispatchEvent(new Event(Effect.EFFECT_END));
+
+ // If tween has been added, id >= 0
+ // but if duration = 0, this might not be the case.
+ if (id >= 0) {
+ Tween.removeTween(this);
+ id = -1;
+ }
+ }
+
+ /**
+ * @private
+ * Returns true if the tween has ended.
+ */
+ protected function update():Boolean
+ {
+ var tweenEnded:Boolean = false;
+
+ // If user specified a minimum frames per second, we can't guarantee
+ // that we'll be called often enough to satisfy that request.
+ // However, we can avoid skipping over part of the animation.
+ // If this callback arrives too late, adjust the animation startTime,
+ // so that the animation starts up 'maxDelay' milliseconds
+ // after its last update.
+ /*
+ if (intervalTime - previousUpdateTime > maxDelay)
+ {
+ startTime += intervalTime - previousUpdateTime - maxDelay;
+ }
+ */
+ previousUpdateTime = currentTime;
+
+ if (_isPlaying || _doSeek)
+ {
+
+ var elapsedTime:Number = currentTime - startTime;
+ _playheadTime = elapsedTime;
+
+ var currentValue:Object =
+ getCurrentValue(elapsedTime);
+
+ if (elapsedTime >= duration && !_doSeek)
+ {
+ endTween();
+ tweenEnded = true;
+ }
+ else
+ {
+ if (!started)
+ {
+ var startEvent:ValueEvent = new ValueEvent(Tween.TWEEN_START);
+ dispatchEvent(startEvent);
+ started = true;
+ }
+
+ var event:ValueEvent =
+ new ValueEvent(Tween.TWEEN_UPDATE);
+ event.value = currentValue;
+
+ dispatchEvent(event);
+
+ listener.onTweenUpdate(currentValue);
+ }
+
+ _doSeek = false;
+ }
+ return tweenEnded;
+ }
+
+ /**
+ * @private
+ */
+ protected function getCurrentValue(currentTime:Number):Object
+ {
+ if (duration == 0)
+ {
+ return endValue;
+ }
+
+ if (_invertValues)
+ currentTime = duration - currentTime;
+
+ return userEquation(currentTime, startValue,
+ endValue - startValue,
+ duration);
+ }
+
+ /**
+ * @private
+ */
+ private function defaultEasingFunction(t:Number, b:Number,
+ c:Number, d:Number):Number
+ {
+ return c / 2 * (Math.sin(Math.PI * (t / d - 0.5)) + 1) + b;
+ }
+
+ /**
+ * Advances the tween effect to the specified position.
+ *
+ * @param playheadTime The position, in milliseconds, between 0
+ * and the value of the <code>duration</code> property.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function seek(playheadTime:Number):void
+ {
+ // Set value between 0 and duration
+ //playheadTime = Math.min(Math.max(playheadTime, 0), duration);
+
+ var clockTime:Number = currentTime;
+
+ // Reset the previous update time
+ previousUpdateTime = clockTime;
+
+ // Reset the start time
+ startTime = clockTime - playheadTime;
+
+ _doSeek = true;
+
+ update();
+ }
+
+ /**
+ * Plays the effect in reverse,
+ * starting from the current position of the effect.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ override public function reverse():void
+ {
+ if (_isPlaying)
+ {
+ _doReverse = false;
+ seek(duration - _playheadTime);
+ _invertValues = !_invertValues;
+ }
+ else
+ {
+ _doReverse = !_doReverse;
+ }
+ }
+
+ /**
+ * Pauses the effect until you call the <code>resume()</code> method.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ override public function pause():void
+ {
+ _isPlaying = false;
+ }
+
+ /**
+ * Stops the tween, ending it without dispatching an event or calling
+ * the Tween's endFunction or <code>onTweenEnd()</code>.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ override public function play():void
+ {
+ if (userEquation == null)
+ userEquation = defaultEasingFunction;
+ Tween.addTween(this);
+ }
+
+ /**
+ * Stops the tween, ending it without dispatching an event or calling
+ * the Tween's endFunction or <code>onTweenEnd()</code>.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ override public function stop():void
+ {
+ if (id >= 0) {
+ Tween.removeTween(this);
+ id = -1;
+ }
+ }
+
+ /**
+ * Resumes the effect after it has been paused
+ * by a call to the <code>pause()</code> method.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ override public function resume():void
+ {
+ _isPlaying = true;
+
+ startTime = currentTime - _playheadTime;
+ if (_doReverse)
+ {
+ reverse();
+ _doReverse = false;
+ }
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/effects/Wipe.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/Wipe.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Wipe.as
new file mode 100644
index 0000000..fe83935
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/Wipe.as
@@ -0,0 +1,156 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.flex.effects
+{
+
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IUIBase;
+import org.apache.flex.geom.Rectangle;
+
+/**
+ * The Fade effect animates a UI component's alpha or opacity.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+public class Wipe extends Tween implements IDocument
+{
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @param target Object ID or reference to an object that will
+ * have its x and/or y property animated.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function Wipe(target:IUIBase = null)
+ {
+ super();
+
+ this.actualTarget = target;
+
+ listener = this;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * The document.
+ */
+ private var document:Object;
+
+ /**
+ * @private
+ * The target.
+ */
+ private var actualTarget:IUIBase;
+
+ /**
+ * The target as the String id
+ * of a widget in an MXML Document.
+ */
+ public var target:String;
+
+ /**
+ * The direction of the Wipe. "up" means the top will be the last
+ * part to disappear. "down" will reveal from the top down.
+ */
+ public var direction:String;
+
+ private var wiper:PlatformWiper = new PlatformWiper();
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ public function setDocument(document:Object, id:String = null):void
+ {
+ this.document = document;
+ }
+
+ /**
+ * @private
+ */
+ override public function play():void
+ {
+ if (target != null)
+ actualTarget = document[target];
+
+
+ wiper.target = actualTarget;
+ if (direction == "up")
+ {
+ startValue = actualTarget.height;
+ endValue = 0;
+ }
+ else
+ {
+ startValue = 0;
+ endValue = actualTarget.height;
+ // WipeDown makes something appear
+ actualTarget.visible = true;
+ wiper.visibleRect = new Rectangle(0, 0, actualTarget.width, 0);
+ }
+
+ super.play();
+ }
+
+ public function onTweenUpdate(value:Number):void
+ {
+ trace(actualTarget, value);
+ wiper.visibleRect = new Rectangle(0, 0, actualTarget.width, value);
+ }
+
+ public function onTweenEnd(value:Number):void
+ {
+ // WipeUp makes something disappear
+ if (direction == "up")
+ actualTarget.visible = false;
+ wiper.target = null;
+ }
+}
+
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/as/src/org/apache/flex/states/Transition.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/states/Transition.as b/frameworks/projects/Effects/as/src/org/apache/flex/states/Transition.as
new file mode 100644
index 0000000..3469417
--- /dev/null
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/states/Transition.as
@@ -0,0 +1,80 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.states
+{
+
+ [DefaultProperty("effects")]
+
+ /**
+ * The Transition class holds information describing what to do when
+ * changing from one state to another.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class Transition
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function Transition()
+ {
+ super();
+ }
+
+ /**
+ * The state or states from which the view is leaving.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public var fromState:String;
+
+ /**
+ * The state or states to which the view is going.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public var toState:String;
+
+
+ /**
+ * The list of effects to play
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public var effects:Array;
+
+ }
+}
[4/5] git commit: [flex-asjs] [refs/heads/core_js_to_as] - clean
compile of effects
Posted by ah...@apache.org.
clean compile of effects
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/dee4a043
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/dee4a043
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/dee4a043
Branch: refs/heads/core_js_to_as
Commit: dee4a043f791150d2be92dc21d45ee867420430c
Parents: 8c0014a
Author: Alex Harui <ah...@apache.org>
Authored: Tue Nov 10 21:31:10 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Nov 10 21:31:10 2015 -0800
----------------------------------------------------------------------
.../projects/Effects/as/src/EffectsClasses.as | 6 +-
.../org/apache/flex/effects/PlatformWiper.as | 4 +-
frameworks/projects/Effects/build.xml | 83 +++++++++++---------
.../projects/Effects/compile-asjs-config.xml | 12 ++-
frameworks/projects/Effects/compile-config.xml | 6 --
5 files changed, 60 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/dee4a043/frameworks/projects/Effects/as/src/EffectsClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/EffectsClasses.as b/frameworks/projects/Effects/as/src/EffectsClasses.as
index c80d98c..4b529e8 100644
--- a/frameworks/projects/Effects/as/src/EffectsClasses.as
+++ b/frameworks/projects/Effects/as/src/EffectsClasses.as
@@ -27,7 +27,11 @@ package
*/
internal class EffectsClasses
{
- import org.apache.flex.effects.PlatformWiper; PlatformWiper;
+ import org.apache.flex.core.StatesWithTransitionsImpl; StatesWithTransitionsImpl;
+ import org.apache.flex.effects.Fade; Fade;
+ import org.apache.flex.effects.Move; Move;
+ import org.apache.flex.effects.PlatformWiper; PlatformWiper;
+ import org.apache.flex.effects.Tween; Tween;
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/dee4a043/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as b/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
index 2ffe9d9..1e3b412 100644
--- a/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
+++ b/frameworks/projects/Effects/as/src/org/apache/flex/effects/PlatformWiper.as
@@ -102,11 +102,11 @@ public class PlatformWiper
if (value == null)
{
if (_overflow == null)
- delete _target.positioner.style.overflow;
+ delete _target.positioner.style["overflow"];
else
_target.positioner.style.overflow = _overflow;
}
- _target = target;
+ _target = value;
if (value != null) {
_overflow = _target.positioner.style.overflow;
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/dee4a043/frameworks/projects/Effects/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/build.xml b/frameworks/projects/Effects/build.xml
index 3b37c30..3bbc94c 100644
--- a/frameworks/projects/Effects/build.xml
+++ b/frameworks/projects/Effects/build.xml
@@ -37,7 +37,7 @@
<target name="main" depends="clean,compile,test" description="Clean build of Effects.swc">
</target>
- <target name="all" depends="main,compile-asjs,lint-js,test-js" description="Full build of Effects.swc">
+ <target name="all" depends="clean,compile-asjs,compile-extern-swc,copy-js,compile" description="Full build of Effects.swc">
</target>
<target name="test" unless="is.jenkins">
@@ -99,11 +99,13 @@
<load-config filename="compile-config.xml" />
<arg value="+playerglobal.version=${playerglobal.version}" />
<arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+ <arg value="-define=COMPILE::AS3,true" />
+ <arg value="-define=COMPILE::JS,false" />
</compc>
</target>
-
- <target name="compile-asjs" >
- <echo message="Cross-compiling Effects/asjs"/>
+
+ <target name="compile-asjs">
+ <echo message="Cross-compiling Effects"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
<jvmarg value="-Xmx384m" />
@@ -118,45 +120,56 @@
<arg value="+playerglobal.version=${playerglobal.version}" />
<arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
<arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+ <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
+ <!-- this is not on external-library path otherwise goog.requires are not generated -->
+ <arg value="-library-path+=${FALCONJX_HOME}/../externs/GCL/out/bin/GCL.swc" />
+ <arg value="-define=COMPILE::AS3,false" />
+ <arg value="-define=COMPILE::JS,true" />
</java>
</target>
-
- <target name="lint-js" depends="gjslint, jshint, copy-js" />
+
+ <target name="compile-extern-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
+ <echo message="Compiling externs/Effects.swc"/>
+ <echo message="FLEX_HOME: ${FLEX_HOME}"/>
+ <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <!-- make JS output folder now so include-file doesn't error -->
+ <mkdir dir="${FLEXJS_HOME}/frameworks/externs"/>
+
+ <!-- Load the <compc> task. We can't do this at the <project> level -->
+ <!-- because targets that run before flexTasks.jar gets built would fail. -->
+ <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+ <!--
+ Link in the classes (and their dependencies) for the MXML tags
+ listed in this project's manifest.xml.
+ Also link the additional classes (and their dependencies)
+ listed in EffectsClasses.as,
+ because these aren't referenced by the manifest classes.
+ Keep the standard metadata when compiling.
+ Include the appropriate CSS files and assets in the SWC.
+ Don't include any resources in the SWC.
+ Write a bundle list of referenced resource bundles
+ into the file bundles.properties in this directory.
+ -->
+ <compc fork="true"
+ output="${FLEXJS_HOME}/frameworks/externs/Effects.swc">
+ <jvmarg line="${compc.jvm.args}"/>
+ <load-config filename="compile-asjs-config.xml" />
+ <arg value="+playerglobal.version=${playerglobal.version}" />
+ <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+ <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
+ <!-- this is not on external-library path otherwise goog.requires are not generated -->
+ <arg value="-library-path+=${FALCONJX_HOME}/../externs/GCL/out/bin/GCL.swc" />
+ <arg value="-define=COMPILE::AS3,false" />
+ <arg value="-define=COMPILE::JS,true" />
+ </compc>
+ </target>
+
<target name="copy-js" >
<copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs">
- <fileset dir="${basedir}/js/src">
- <include name="**/**" />
- </fileset>
<fileset dir="${basedir}/js/out">
<include name="**/**" />
</fileset>
</copy>
</target>
- <target name="gjslint" unless="no.lint">
- <echo>running gjslint</echo>
- <exec executable="${gjslint}" dir="${basedir}" failonerror="true">
- <arg value="--strict" />
- <arg value="--disable" />
- <arg value="006,100,214,300" />
- <!-- 006: wrong indentation -->
- <!-- 100: cannot have non-primitive value -->
- <!-- 214: @fileoverview tag missing description -->
- <!-- 300: missing newline at end of file -->
- <arg value="--max_line_length" />
- <arg value="120" />
- <arg value="-r" />
- <arg value="${basedir}/js/src" />
- </exec>
- </target>
-
- <target name="jshint" unless="no.lint">
- <echo>running jshint</echo>
- <exec executable="${jshint}" dir="${basedir}" failonerror="true">
- <arg value="--config" />
- <arg value="${FLEX_HOME}/frameworks/js/jshint.properties" />
- <arg value="${basedir}/js/src" />
- </exec>
- </target>
-
</project>
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/dee4a043/frameworks/projects/Effects/compile-asjs-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/compile-asjs-config.xml b/frameworks/projects/Effects/compile-asjs-config.xml
index 1131fa7..b315505 100644
--- a/frameworks/projects/Effects/compile-asjs-config.xml
+++ b/frameworks/projects/Effects/compile-asjs-config.xml
@@ -22,7 +22,6 @@
<accessible>false</accessible>
<external-library-path>
- <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
</external-library-path>
<mxml>
@@ -46,12 +45,11 @@
<!-- asjscompc won't 'link' these classes in, but will list their requires
if these swcs are on the external-library-path then their requires
will not be listed -->
- <path-element>../../libs/Core.swc</path-element>
- <path-element>../../libs/Effects.swc</path-element>
+ <path-element>../../externs/Core.swc</path-element>
</library-path>
<source-path>
- <path-element>asjs/src</path-element>
+ <path-element>as/src</path-element>
</source-path>
<warn-no-constructor>false</warn-no-constructor>
@@ -60,9 +58,9 @@
<include-file>
</include-file>
- <include-sources>
- <path-element>asjs/src</path-element>
- </include-sources>
+ <include-classes>
+ <class>EffectsClasses</class>
+ </include-classes>
<include-namespaces>
<uri>library://ns.apache.org/flexjs/basic</uri>
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/dee4a043/frameworks/projects/Effects/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/compile-config.xml b/frameworks/projects/Effects/compile-config.xml
index 68b4ab8..a07b904 100644
--- a/frameworks/projects/Effects/compile-config.xml
+++ b/frameworks/projects/Effects/compile-config.xml
@@ -54,7 +54,6 @@
<source-path>
<path-element>as/src</path-element>
- <path-element>asjs/src</path-element>
</source-path>
<warn-no-constructor>false</warn-no-constructor>
@@ -64,14 +63,9 @@
<name>js/out/*</name>
<path>js/out/*</path>
</include-file>
- <include-file>
- <name>js/src/*</name>
- <path>js/src/*</path>
- </include-file>
<include-classes>
<class>EffectsClasses</class>
- <class>EffectsASJSClasses</class>
</include-classes>
<include-namespaces>
[5/5] git commit: [flex-asjs] [refs/heads/core_js_to_as] - clean
compile of effects
Posted by ah...@apache.org.
clean compile of effects
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/18f159c1
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/18f159c1
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/18f159c1
Branch: refs/heads/core_js_to_as
Commit: 18f159c147d816b93cb64fda9462cdb8be4ff0f2
Parents: dee4a04
Author: Alex Harui <ah...@apache.org>
Authored: Tue Nov 10 21:35:21 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Nov 10 21:35:21 2015 -0800
----------------------------------------------------------------------
frameworks/build.xml | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/18f159c1/frameworks/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/build.xml b/frameworks/build.xml
index a244107..2248627 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -96,7 +96,6 @@
<target name="compile-asjs" description="Cross-compiles all SWCs">
<ant dir="${basedir}/projects/CreateJS" target="compile-asjs"/>
- <ant dir="${basedir}/projects/Effects" target="compile-asjs"/>
<ant dir="${basedir}/projects/Formatters" target="compile-asjs"/>
<ant dir="${basedir}/projects/GoogleMaps" target="compile-asjs"/>
<ant dir="${basedir}/projects/HTML5" target="compile-asjs"/>
@@ -107,7 +106,6 @@
<target name="lint-js" description="Cross-compiles all SWCs">
<ant dir="${basedir}/projects/CreateJS" target="lint-js"/>
- <ant dir="${basedir}/projects/Effects" target="lint-js"/>
<ant dir="${basedir}/projects/Flat" target="lint-js"/>
<ant dir="${basedir}/projects/Formatters" target="lint-js"/>
<ant dir="${basedir}/projects/GoogleMaps" target="lint-js"/>
@@ -121,7 +119,6 @@
<!-- order may matter due to dependencies -->
<ant dir="${basedir}/projects/Flat" target="compile"/>
<ant dir="${basedir}/projects/CreateJS" target="compile"/>
- <ant dir="${basedir}/projects/Effects" target="compile"/>
<ant dir="${basedir}/projects/Formatters" target="compile"/>
<ant dir="${basedir}/projects/GoogleMaps" target="compile"/>
<ant dir="${basedir}/projects/HTML5" target="compile"/>
@@ -217,7 +214,7 @@
</target>
<target name="Effects" description="Clean build of Effects.swc">
- <ant dir="${basedir}/projects/Effects"/>
+ <ant dir="${basedir}/projects/Effects" target="all"/>
</target>
<target name="Flat" description="Clean build of Flat.swc">
[2/5] git commit: [flex-asjs] [refs/heads/core_js_to_as] - move asjs
to as
Posted by ah...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/core/StatesWithTransitionsImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/core/StatesWithTransitionsImpl.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/core/StatesWithTransitionsImpl.as
deleted file mode 100644
index 9549bc8..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/core/StatesWithTransitionsImpl.as
+++ /dev/null
@@ -1,346 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStatesObject;
- import org.apache.flex.effects.Effect;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.ValueChangeEvent;
- import org.apache.flex.states.AddItems;
- import org.apache.flex.states.SetEventHandler;
- import org.apache.flex.states.SetProperty;
- import org.apache.flex.states.State;
- import org.apache.flex.states.Transition;
- import org.apache.flex.utils.MXMLDataInterpreter;
-
- /**
- * The StatesWithTransitionsImpl class implements a set of
- * view state functionality that includes transitions between states.
- * It only supports AddItems and SetProperty and SetEventHandler
- * changes at this time.
- *
- * @flexjsignoreimport org.apache.flex.core.IStatesObject
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class StatesWithTransitionsImpl extends EventDispatcher implements IStatesImpl, IBead
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function StatesWithTransitionsImpl()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- private var sawInitComplete:Boolean;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(_strand).addEventListener("currentStateChange", stateChangeHandler);
- IEventDispatcher(_strand).addEventListener("initComplete", initialStateHandler);
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.core.IStatesObject
- */
- private function initialStateHandler(event:org.apache.flex.events.Event):void
- {
- sawInitComplete = true;
- stateChangeHandler(new ValueChangeEvent("currentStateChange", false, false, null,
- IStatesObject(_strand).currentState));
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.core.IStatesObject
- */
- private function stateChangeHandler(event:ValueChangeEvent):void
- {
- if (!sawInitComplete)
- return;
-
- var doc:IStatesObject = _strand as IStatesObject;
- var transitions:Array = doc.transitions;
- if (transitions && transitions.length > 0)
- {
- for each (var t:Transition in transitions)
- {
- if (t.fromState == "*" || t.fromState == event.oldValue)
- {
- if (t.toState == "*" || t.toState == event.newValue)
- {
- transitionEffects = t.effects.slice();
- for each (var e:Effect in transitionEffects)
- {
- e.captureStartValues();
- }
- break;
- }
- }
- }
- }
- var arr:Array = doc.states;
- var oldState:State;
- var newState:State;
- for each (var s:State in arr)
- {
- if (s.name == event.oldValue)
- {
- oldState = s;
- break;
- }
- }
- for each (s in arr)
- {
- if (s.name == event.newValue)
- {
- newState = s;
- break;
- }
- }
- if (oldState)
- revert(oldState, newState);
- if (newState)
- apply(oldState, newState);
- if (transitionEffects && transitionEffects.length > 0)
- {
- for each (e in transitionEffects)
- {
- e.captureEndValues();
- }
- }
- var playingTransition:Boolean;
- if (transitionEffects && transitionEffects.length > 0)
- {
- playingTransition = true;
- for each (e in transitionEffects)
- {
- e.addEventListener(Effect.EFFECT_END, effectEndHandler);
- e.play();
- }
- }
- if (!playingTransition)
- doc.dispatchEvent(new Event("stateChangeComplete"));
- }
-
- private var transitionEffects:Array;
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.core.IStatesObject
- */
- private function effectEndHandler(event:Event):void
- {
- // in case of extraneous calls to effectEndHandler
- if (transitionEffects == null)
- return;
-
- var n:int = transitionEffects.length;
- for (var i:int = 0; i < n; i++)
- {
- event.target.removeEventListener(Effect.EFFECT_END, effectEndHandler);
- if (transitionEffects[i] == event.target)
- transitionEffects.splice(i, 1);
- }
- if (transitionEffects.length == 0)
- {
- transitionEffects = null;
- var doc:IStatesObject = _strand as IStatesObject;
- doc.dispatchEvent(new Event("stateChangeComplete"));
- }
- }
-
- private function isItemInState(child:Object, s:State):Boolean
- {
- if (s == null) return false;
-
- var arr:Array = s.overrides;
- for each (var o:Object in arr)
- {
- if (o is AddItems)
- {
- var ai:AddItems = AddItems(o);
- if (ai.items == null)
- {
- ai.items = ai.itemsDescriptor.items as Array;
- if (ai.items == null)
- {
- ai.items =
- MXMLDataInterpreter.generateMXMLArray(ai.document,
- null, ai.itemsDescriptor.descriptor);
- ai.itemsDescriptor.items = ai.items;
- }
- }
- for each (var item:IChild in ai.items)
- {
- if (item == child)
- return true;
- }
- }
- }
- return false;
- }
-
- private function revert(s:State, newState:State):void
- {
- var arr:Array = s.overrides;
- for each (var o:Object in arr)
- {
- if (o is AddItems)
- {
- var ai:AddItems = AddItems(o);
- var childrenAdded:Boolean = false;
- for each (var item:IChild in ai.items)
- {
- if (!isItemInState(item, newState))
- {
- var parent:IParent = item.parent as IParent;
- parent.removeElement(item);
- childrenAdded = true;
- }
- }
- if (childrenAdded && parent is IContainer)
- IContainer(parent).childrenAdded();
- }
- else if (o is SetProperty)
- {
- var sp:SetProperty = SetProperty(o);
- if (sp.target != null)
- sp.document[sp.target][sp.name] = sp.previousValue;
- else
- sp.document[sp.name] = sp.previousValue;
- }
- else if (o is SetEventHandler)
- {
- var seh:SetEventHandler = SetEventHandler(o);
- if (seh.target != null)
- {
- seh.document[seh.target].removeEventListener(seh.name, seh.handlerFunction);
- }
- else
- {
- seh.document.removeEventListener(seh.name, seh.handlerFunction);
- }
- }
- }
- }
-
- private function apply(oldState:State, s:State):void
- {
- var arr:Array = s.overrides;
- for each (var o:Object in arr)
- {
- if (o is AddItems)
- {
- var ai:AddItems = AddItems(o);
- if (ai.items == null)
- {
- ai.items = ai.itemsDescriptor.items as Array;
- if (ai.items == null)
- {
- ai.items =
- MXMLDataInterpreter.generateMXMLArray(ai.document,
- null, ai.itemsDescriptor.descriptor);
- ai.itemsDescriptor.items = ai.items;
- }
- }
- var childrenAdded:Boolean = false;
- for each (var item:Object in ai.items)
- {
- if (!isItemInState(item, oldState))
- {
- var parent:IParent = ai.document as IParent;
- if (ai.destination)
- parent = parent[ai.destination] as IParent;
- if (ai.relativeTo != null)
- {
- var child:Object = ai.document[ai.relativeTo];
- if (ai.destination)
- parent = IChild(child).parent as IParent;
- var index:int = parent.getElementIndex(child);
- if (ai.position == "after")
- index++;
- parent.addElementAt(item, index);
- childrenAdded = true;
- }
- else
- {
- parent.addElement(item);
- childrenAdded = true;
- }
- }
- }
- if (childrenAdded && parent is IContainer)
- IContainer(parent).childrenAdded();
- }
- else if (o is SetProperty)
- {
- var sp:SetProperty = SetProperty(o);
- if (sp.target != null)
- {
- sp.previousValue = sp.document[sp.target][sp.name];
- sp.document[sp.target][sp.name] = sp.value;
- }
- else
- {
- sp.previousValue = sp.document[sp.name];
- sp.document[sp.name] = sp.value;
- }
- }
- else if (o is SetEventHandler)
- {
- var seh:SetEventHandler = SetEventHandler(o);
- if (seh.target != null)
- {
- seh.document[seh.target].addEventListener(seh.name, seh.handlerFunction);
- }
- else
- {
- seh.document.addEventListener(seh.name, seh.handlerFunction);
- }
- }
- }
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Effect.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Effect.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Effect.as
deleted file mode 100644
index 7fabe6a..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Effect.as
+++ /dev/null
@@ -1,263 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.events.EventDispatcher;
-
-/**
- * Effect is the base class for effects in FlexJS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Effect extends EventDispatcher implements IEffect
-{
- //--------------------------------------------------------------------------
- //
- // Class constants
- //
- //--------------------------------------------------------------------------
-
- /**
- * The <code>Effect.EFFECT_END</code> constant defines the value of the
- * event object's <code>type</code> property for a <code>effectEnd</code> event.
- *
- * <p>The properties of the event object have the following values:</p>
- * <table class="innertable">
- * <tr><th>Property</th><th>Value</th></tr>
- * <tr><td><code>bubbles</code></td><td>false</td></tr>
- * <tr><td><code>cancelable</code></td><td>false</td></tr>
- * <tr><td><code>currentTarget</code></td><td>The Object that defines the
- * event listener that handles the event. For example, if you use
- * <code>myButton.addEventListener()</code> to register an event listener,
- * myButton is the value of the <code>currentTarget</code>. </td></tr>
- * <tr><td><code>target</code></td><td>The Object that dispatched the event;
- * it is not always the Object listening for the event.
- * Use the <code>currentTarget</code> property to always access the
- * Object listening for the event.</td></tr>
- * </table>
- *
- * @eventType effectEnd
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public static const EFFECT_END:String = "effectEnd";
-
- /**
- * The <code>Effect.EFFECT_START</code> constant defines the value of the
- * event object's <code>type</code> property for a <code>effectStart</code> event.
- *
- * <p>The properties of the event object have the following values:</p>
- * <table class="innertable">
- * <tr><th>Property</th><th>Value</th></tr>
- * <tr><td><code>bubbles</code></td><td>false</td></tr>
- * <tr><td><code>cancelable</code></td><td>false</td></tr>
- * <tr><td><code>currentTarget</code></td><td>The Object that defines the
- * event listener that handles the event. For example, if you use
- * <code>myButton.addEventListener()</code> to register an event listener,
- * myButton is the value of the <code>currentTarget</code>. </td></tr>
- * <tr><td><code>target</code></td><td>The Object that dispatched the event;
- * it is not always the Object listening for the event.
- * Use the <code>currentTarget</code> property to always access the
- * Object listening for the event.</td></tr>
- * </table>
- *
- * @eventType effectStart
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public static const EFFECT_START:String = "effectStart";
-
- /**
- * The <code>Effect.EFFECT_STOP</code> constant defines the value of the
- * event object's <code>type</code> property for a <code>effectStop</code> event.
- *
- * <p>The properties of the event object have the following values:</p>
- * <table class="innertable">
- * <tr><th>Property</th><th>Value</th></tr>
- * <tr><td><code>bubbles</code></td><td>false</td></tr>
- * <tr><td><code>cancelable</code></td><td>false</td></tr>
- * <tr><td><code>currentTarget</code></td><td>The Object that defines the
- * event listener that handles the event. For example, if you use
- * <code>myButton.addEventListener()</code> to register an event listener,
- * myButton is the value of the <code>currentTarget</code>. </td></tr>
- * <tr><td><code>target</code></td><td>The Object that dispatched the event;
- * it is not always the Object listening for the event.
- * Use the <code>currentTarget</code> property to always access the
- * Object listening for the event.</td></tr>
- * </table>
- *
- * @eventType effectStop
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public static const EFFECT_STOP:String = "effectStop";
-
-
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Effect()
- {
- }
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
- //----------------------------------
- // duration
- //----------------------------------
-
- private var _duration:Number = 500;
- /**
- * Duration of the animation, in milliseconds.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function get duration():Number
- {
- return _duration;
- }
- public function set duration(value:Number):void
- {
- _duration = value;
- }
-
-
- /**
- * Plays the effect in reverse,
- * starting from the current position of the effect.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function reverse():void
- {
- }
-
- /**
- * Pauses the effect until you call the <code>resume()</code> method.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function pause():void
- {
- }
-
- /**
- * Stops the tween, ending it without dispatching an event or calling
- * the Tween's endFunction or <code>onTweenEnd()</code>.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function play():void
- {
- }
-
- /**
- * Stops the tween, ending it without dispatching an event or calling
- * the Tween's endFunction or <code>onTweenEnd()</code>.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function stop():void
- {
- }
-
- /**
- * Resumes the effect after it has been paused
- * by a call to the <code>pause()</code> method.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function resume():void
- {
- }
-
- /**
- * @copy org.apache.flex.effects.IEffect#captureStartValues
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function captureStartValues():void
- {
- }
-
- /**
- * @copy org.apache.flex.effects.IEffect#captureEndValues
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function captureEndValues():void
- {
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Fade.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Fade.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Fade.as
deleted file mode 100644
index 28f0d16..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Fade.as
+++ /dev/null
@@ -1,165 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.core.IDocument;
-import org.apache.flex.core.IUIBase;
-
-/**
- * The Fade effect animates a UI component's alpha or opacity.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Fade extends Tween implements IDocument
-{
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @param target An object that will
- * have its x and/or y property animated.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Fade(target:IUIBase = null)
- {
- super();
-
- this.actualTarget = target;
- startValue = 0;
- endValue = 1;
-
- listener = this;
- }
-
- //--------------------------------------------------------------------------
- //
- // Variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * @private
- * The target.
- */
- private var actualTarget:IUIBase;
-
- /**
- * The target as the String id
- * of a widget in an MXML Document.
- */
- public var target:String;
-
- /**
- * @private
- * The change in alpha.
- */
- private var d:Number;
-
- /**
- * @private
- * The starting value.
- */
- private var start:Number;
-
- /**
- * Starting alpha value. If NaN, the current alpha value is used
- */
- public var alphaFrom:Number;
-
- /**
- * Ending alpha value. If NaN, the current alpha value is not changed
- */
- public var alphaTo:Number;
-
-
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
-
- //--------------------------------------------------------------------------
- //
- // Methods
- //
- //--------------------------------------------------------------------------
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
-
- /**
- * @private
- */
- override public function play():void
- {
- if (target != null)
- actualTarget = document[target];
-
- if (isNaN(alphaFrom))
- start = actualTarget.alpha;
- else
- start = alphaFrom;
-
- if (isNaN(alphaTo))
- d = 0;
- else
- d = alphaTo - start;
-
- super.play();
- }
-
- public function onTweenUpdate(value:Number):void
- {
- if (d)
- actualTarget.alpha = start + value * d;
- }
-
- public function onTweenEnd(value:Number):void
- {
- if (d)
- actualTarget.alpha = start + d;
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/IEffect.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/IEffect.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/IEffect.as
deleted file mode 100644
index f5b940c..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/IEffect.as
+++ /dev/null
@@ -1,136 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.events.IEventDispatcher;
-
-/**
- * IEffect is the lowest-level interface for effects in FlexJS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public interface IEffect extends IEventDispatcher
-{
-
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
- //----------------------------------
- // duration
- //----------------------------------
-
- /**
- * Duration of the animation, in milliseconds.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function get duration():Number;
- function set duration(value:Number):void;
-
-
- /**
- * Plays the effect in reverse,
- * starting from the current position of the effect.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function reverse():void;
-
- /**
- * Pauses the effect until you call the <code>resume()</code> method.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function pause():void;
-
- /**
- * Stops the tween, ending it without dispatching an event or calling
- * the Tween's endFunction or <code>onTweenEnd()</code>.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function play():void;
-
- /**
- * Stops the tween, ending it without dispatching an event or calling
- * the Tween's endFunction or <code>onTweenEnd()</code>.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function stop():void;
-
- /**
- * Resumes the effect after it has been paused
- * by a call to the <code>pause()</code> method.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function resume():void;
-
- /**
- * Tries to compute initial values
- * for effect
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function captureStartValues():void;
-
- /**
- * Tries to compute final values
- * for effect
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- function captureEndValues():void;
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Move.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Move.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Move.as
deleted file mode 100644
index 2a42b19..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Move.as
+++ /dev/null
@@ -1,240 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.core.IDocument;
-import org.apache.flex.core.IUIBase;
-
-/**
- * The Move effect animates a UI component's x or y position.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Move extends Tween implements IDocument
-{
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @param target Object ID or reference to an object that will
- * have its x and/or y property animated.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Move(target:IUIBase = null)
- {
- super();
-
- this.actualTarget = target;
- startValue = 0;
- endValue = 1;
-
- listener = this;
- }
-
- //--------------------------------------------------------------------------
- //
- // Variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * @private
- * The actual target.
- */
- private var actualTarget:IUIBase;
-
- /**
- * The target as the String id
- * of a widget in an MXML Document.
- */
- public var target:String;
-
- /**
- * The change in x.
- */
- public var xBy:Number;
-
- /**
- * The change in y.
- */
- public var yBy:Number;
-
- /**
- * @private
- * The starting x.
- */
- private var xStart:Number;
-
- /**
- * @private
- * The starting y.
- */
- private var yStart:Number;
-
- /**
- * @private
- * The total change for x.
- */
- private var xMove:Number;
-
- /**
- * @private
- * The total change for y.
- */
- private var yMove:Number;
-
- /**
- * Starting x value. If NaN, the current x value is used
- */
- public var xFrom:Number;
-
- /**
- * Ending x value. If NaN, the current x value is not changed
- */
- public var xTo:Number;
-
- /**
- * Starting y value. If NaN, the current y value is used
- */
- public var yFrom:Number;
-
- /**
- * Ending y value. If NaN, the current y value is not changed
- */
- public var yTo:Number;
-
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
-
- //--------------------------------------------------------------------------
- //
- // Methods
- //
- //--------------------------------------------------------------------------
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
-
- /**
- * @private
- */
- override public function play():void
- {
- if (target != null)
- actualTarget = document[target];
-
- if (isNaN(xFrom))
- xStart = actualTarget.x;
- else
- xStart = xFrom;
-
- if (isNaN(xBy))
- {
- if (isNaN(xTo))
- xMove = 0;
- else
- xMove = xTo - xStart;
- }
- else
- xMove = xBy;
-
- if (isNaN(yFrom))
- yStart = actualTarget.y;
- else
- yStart = yFrom;
- if (isNaN(yBy))
- {
- if (isNaN(yTo))
- yMove = 0;
- else
- yMove = yTo - yStart;
- }
- else
- yMove = yBy;
-
- super.play();
- }
-
- public function onTweenUpdate(value:Number):void
- {
- if (xMove)
- actualTarget.x = xStart + value * xMove;
- if (yMove)
- actualTarget.y = yStart + value * yMove;
- }
-
- public function onTweenEnd(value:Number):void
- {
- if (xMove)
- actualTarget.x = xStart + xMove;
- if (yMove)
- actualTarget.y = yStart + yMove;
-
- }
-
- override public function captureStartValues():void
- {
- if (target != null)
- {
- actualTarget = document[target];
- xFrom = actualTarget.x;
- yFrom = actualTarget.y;
- }
- }
-
- override public function captureEndValues():void
- {
- if (target != null)
- {
- actualTarget = document[target];
- xTo = actualTarget.x;
- yTo = actualTarget.y;
- }
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Parallel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Parallel.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Parallel.as
deleted file mode 100644
index 6d08012..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Parallel.as
+++ /dev/null
@@ -1,152 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.core.IDocument;
-import org.apache.flex.core.IUIBase;
-import org.apache.flex.events.Event;
-
-[DefaultProperty("children")]
-
-/**
- * The Parallel effect animates set of effects at the
- * same time.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Parallel extends Effect implements IDocument
-{
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Parallel()
- {
- super();
- }
-
- //--------------------------------------------------------------------------
- //
- // Variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * @private
- * The target.
- */
- private var target:IUIBase;
-
- /**
- * The children.
- */
- public var children:Array;
-
-
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- */
- override public function set duration(value:Number):void
- {
- var n:int = children.length;
- for (var i:int = 0; i < 0; i++)
- {
- children[i].duration = value;
- }
- super.duration = value;
- }
-
- //--------------------------------------------------------------------------
- //
- // Methods
- //
- //--------------------------------------------------------------------------
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
-
- public function addChild(child:IEffect):void
- {
- if (!children)
- children = [ child ];
- else
- children.push(child);
- }
-
- /**
- * @private
- */
- override public function play():void
- {
- dispatchEvent(new Event(Effect.EFFECT_START));
- current = 0;
- var n:int = children.length;
- for (var i:int = 0; i < n; i++)
- playChildEffect(i);
- }
-
- private var current:int;
-
- private function playChildEffect(index:int):void
- {
- var child:IEffect = children[index];
- child.addEventListener(Effect.EFFECT_END, effectEndHandler);
- child.play();
- }
-
- private function effectEndHandler(event:Event):void
- {
- current++;
- if (current >= children.length)
- dispatchEvent(new Event(Effect.EFFECT_END));
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Resize.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Resize.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Resize.as
deleted file mode 100644
index 2ee1e15..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Resize.as
+++ /dev/null
@@ -1,197 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.core.IDocument;
-import org.apache.flex.core.IUIBase;
-
-/**
- * The Resize effect animates a UI component's width or height.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Resize extends Tween implements IDocument
-{
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @param target Object ID or reference to an object that will
- * have its x and/or y property animated.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Resize(target:IUIBase = null)
- {
- super();
-
- this.actualTarget = target;
- startValue = 0;
- endValue = 1;
-
- listener = this;
- }
-
- //--------------------------------------------------------------------------
- //
- // Variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * @private
- * The target.
- */
- private var actualTarget:IUIBase;
-
- /**
- * The target as the String id
- * of a widget in an MXML Document.
- */
- public var target:String;
-
- /**
- * The change in width.
- */
- public var widthBy:Number;
-
- /**
- * The change in height.
- */
- public var heightBy:Number;
-
- /**
- * @private
- * The starting width.
- */
- private var widthStart:Number;
-
- /**
- * @private
- * The starting height.
- */
- private var heightStart:Number;
-
- /**
- * Starting width value. If NaN, the current width value is used
- */
- public var widthFrom:Number;
-
- /**
- * Starting height value. If NaN, the current height value is used
- */
- public var heightFrom:Number;
-
- /**
- * Ending width value.
- */
- public var widthTo:Number;
-
- /**
- * Ending height value.
- */
- public var heightTo:Number;
-
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
-
- //--------------------------------------------------------------------------
- //
- // Methods
- //
- //--------------------------------------------------------------------------
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
-
- /**
- * @private
- */
- override public function play():void
- {
- if (target != null)
- actualTarget = document[target];
-
- if (isNaN(widthFrom))
- widthStart = actualTarget.width;
- if (isNaN(widthBy))
- {
- if (isNaN(widthTo))
- widthBy = 0;
- else
- widthBy = widthTo - widthStart;
- }
-
- if (isNaN(heightFrom))
- heightStart = actualTarget.height;
- if (isNaN(heightBy))
- {
- if (isNaN(heightTo))
- heightBy = 0;
- else
- heightBy = heightTo - heightStart;
- }
- super.play();
- }
-
- public function onTweenUpdate(value:Number):void
- {
- if (widthBy)
- actualTarget.width = widthStart + value * widthBy;
- if (heightBy)
- actualTarget.height = heightStart + value * heightBy;
- }
-
- public function onTweenEnd(value:Number):void
- {
- if (widthBy)
- actualTarget.width = widthStart + widthBy;
- if (heightBy)
- actualTarget.height = heightStart + heightBy;
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Sequence.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Sequence.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Sequence.as
deleted file mode 100644
index f6c3343..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Sequence.as
+++ /dev/null
@@ -1,152 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.core.IDocument;
-import org.apache.flex.core.IUIBase;
-import org.apache.flex.events.Event;
-
-[DefaultProperty("children")]
-
-/**
- * The Sequence effect animates a set of effects one
- * at a time.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Sequence extends Effect implements IDocument
-{
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Sequence()
- {
- super();
- }
-
- //--------------------------------------------------------------------------
- //
- // Variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * @private
- * The target.
- */
- private var target:IUIBase;
-
- /**
- * The children.
- */
- public var children:Array;
-
-
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- */
- override public function set duration(value:Number):void
- {
- var n:int = children.length;
- for (var i:int = 0; i < 0; i++)
- {
- children[i].duration = value;
- }
- super.duration = value;
- }
-
- //--------------------------------------------------------------------------
- //
- // Methods
- //
- //--------------------------------------------------------------------------
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
-
- public function addChild(child:IEffect):void
- {
- if (!children)
- children = [ child ];
- else
- children.push(child);
- }
-
- /**
- * @private
- */
- override public function play():void
- {
- dispatchEvent(new Event(Effect.EFFECT_START));
- current = 0;
- playChildEffect();
- }
-
- private var current:int;
-
- private function playChildEffect():void
- {
- var child:IEffect = children[current];
- child.addEventListener(Effect.EFFECT_END, effectEndHandler);
- child.play();
- }
-
- private function effectEndHandler(event:Event):void
- {
- current++;
- if (current >= children.length)
- dispatchEvent(new Event(Effect.EFFECT_END));
- else
- playChildEffect();
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Tween.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Tween.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Tween.as
deleted file mode 100644
index 3b9415e..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Tween.as
+++ /dev/null
@@ -1,665 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.core.IEffectTimer;
-import org.apache.flex.core.ValuesManager;
-import org.apache.flex.events.ValueEvent;
-import org.apache.flex.events.Event;
-import org.apache.flex.events.EventDispatcher;
-
-/**
- * Tween is the underlying animation class for the effects in FlexJS.
- *
- * The Tween class defines a tween, a property animation performed
- * on a target object over a period of time.
- * That animation can be a change in position, such as performed by
- * the Move effect; a change in size, as performed by the Resize or
- * Zoom effects; a change in visibility, as performed by the Fade or
- * Dissolve effects; or other types of animations.
- *
- * <p>A Tween instance accepts the <code>startValue</code>,
- * <code>endValue</code>, and <code>duration</code> properties,
- * and an optional easing function to define the animation.</p>
- *
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Tween extends Effect
-{
- //--------------------------------------------------------------------------
- //
- // Class constants
- //
- //--------------------------------------------------------------------------
-
- /**
- * The <code>Tween.TWEEN_END</code> constant defines the value of the
- * event object's <code>type</code> property for a <code>tweenEnd</code> event.
- *
- * <p>The properties of the event object have the following values:</p>
- * <table class="innertable">
- * <tr><th>Property</th><th>Value</th></tr>
- * <tr><td><code>bubbles</code></td><td>false</td></tr>
- * <tr><td><code>cancelable</code></td><td>false</td></tr>
- * <tr><td><code>currentTarget</code></td><td>The Object that defines the
- * event listener that handles the event. For example, if you use
- * <code>myButton.addEventListener()</code> to register an event listener,
- * myButton is the value of the <code>currentTarget</code>. </td></tr>
- * <tr><td><code>target</code></td><td>The Object that dispatched the event;
- * it is not always the Object listening for the event.
- * Use the <code>currentTarget</code> property to always access the
- * Object listening for the event.</td></tr>
- * <tr><td><code>value</code></td><td>The value passed to the
- * <code>onTweenEnd()</code> method.</td></tr>
- * </table>
- *
- * @see org.apache.flex.effects.Effect
- * @see org.apache.flex.effects.TweenEffect
- * @see org.apache.flex.events.EffectEvent
- * @eventType tweenEnd
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public static const TWEEN_END:String = "tweenEnd";
-
- /**
- * The <code>Tween.TWEEN_START</code> constant defines the value of the
- * event object's <code>type</code> property for a <code>tweenStart</code> event.
- *
- * <p>The properties of the event object have the following values:</p>
- * <table class="innertable">
- * <tr><th>Property</th><th>Value</th></tr>
- * <tr><td><code>bubbles</code></td><td>false</td></tr>
- * <tr><td><code>cancelable</code></td><td>false</td></tr>
- * <tr><td><code>currentTarget</code></td><td>The Object that defines the
- * event listener that handles the event. For example, if you use
- * <code>myButton.addEventListener()</code> to register an event listener,
- * myButton is the value of the <code>currentTarget</code>. </td></tr>
- * <tr><td><code>target</code></td><td>The Object that dispatched the event;
- * it is not always the Object listening for the event.
- * Use the <code>currentTarget</code> property to always access the
- * Object listening for the event.</td></tr>
- * <tr><td><code>value</code></td><td>The value passed to the
- * <code>onTweenUpdate()</code> method.</td></tr>
- * </table>
- *
- * @eventType tweenStart
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public static const TWEEN_START:String = "tweenStart";
-
- /**
- * The <code>Tween.TWEEN_UPDATE</code> constant defines the value of the
- * event object's <code>type</code> property for a <code>tweenUpdate</code> event.
- *
- * <p>The properties of the event object have the following values:</p>
- * <table class="innertable">
- * <tr><th>Property</th><th>Value</th></tr>
- * <tr><td><code>bubbles</code></td><td>false</td></tr>
- * <tr><td><code>cancelable</code></td><td>false</td></tr>
- * <tr><td><code>currentTarget</code></td><td>The Object that defines the
- * event listener that handles the event. For example, if you use
- * <code>myButton.addEventListener()</code> to register an event listener,
- * myButton is the value of the <code>currentTarget</code>. </td></tr>
- * <tr><td><code>target</code></td><td>The Object that dispatched the event;
- * it is not always the Object listening for the event.
- * Use the <code>currentTarget</code> property to always access the
- * Object listening for the event.</td></tr>
- * <tr><td><code>value</code></td><td>The value passed to the
- * <code>onTweenUpdate()</code> method.</td></tr>
- * </table>
- *
- * @eventType tweenUpdate
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public static const TWEEN_UPDATE:String = "tweenUpdate";
-
-
- //--------------------------------------------------------------------------
- //
- // Class variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * The list of tweens that are currently playing.
- */
- public static var activeTweens:Object = {};
-
- private static var timer:IEffectTimer;
-
- private static var currentID:int = 1;
-
- //--------------------------------------------------------------------------
- //
- // Class properties
- //
- //--------------------------------------------------------------------------
-
- //----------------------------------
- // currentTime
- //----------------------------------
-
- /**
- * Used by effects to get the current effect time tick.
- */
- public static var currentTime:Number = NaN;
-
- //--------------------------------------------------------------------------
- //
- // Class methods
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- */
- private static function addTween(tween:Tween):void
- {
- tween.id = currentID++;
-
- activeTweens[tween.id] = tween;
-
- if (!timer)
- {
- timer = ValuesManager.valuesImpl.newInstance(tween, "iEffectTimer") as IEffectTimer;
- timer.addEventListener("update", updateHandler);
- }
- currentTime = timer.start();
-
- tween.startTime = tween.previousUpdateTime = currentTime;
- }
-
-
- /**
- * @private
- */
- private static function removeTween(tween:Tween):void
- {
- delete activeTweens[tween.id];
- if (activeTweens.length == 0)
- timer.stop();
- }
-
- /**
- * @private
- */
- private static function updateHandler(event:ValueEvent):void
- {
- var oldTime:Number = currentTime;
-
- // the IEFfectTimer can control the current time
- // if it wants. This can be useful for automated
- // testing.
- currentTime = event.value as Number;
-
- for (var id:String in activeTweens)
- {
- var tween:Tween = Tween(activeTweens[id]);
- tween.update();
- }
- }
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Tween()
- {
- }
-
- //--------------------------------------------------------------------------
- //
- // Variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- */
- private var id:int = -1;
-
- /**
- * @private
- */
- private var _doSeek:Boolean = false;
-
- /**
- * @private
- */
- private var _isPlaying:Boolean = true;
-
- /**
- * @private
- */
- private var _doReverse:Boolean = false;
-
- /**
- * @private
- */
- private var startTime:Number;
-
- /**
- * @private
- */
- private var previousUpdateTime:Number;
-
- /**
- * @private
- */
- private var userEquation:Function;
-
- /**
- * Final value of the animation.
- */
- public var endValue:Number;
-
- /**
- * Initial value of the animation.
- */
- public var startValue:Number;
-
- /**
- * @private
- */
- private var started:Boolean = false;
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
- //----------------------------------
- // listener
- //----------------------------------
-
- /**
- * Object that is notified at each interval of the animation.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public var listener:Object;
-
- //----------------------------------
- // playheadTime
- //----------------------------------
-
- /**
- * @private
- * Storage for the playheadTime property.
- */
- private var _playheadTime:Number = 0;
-
- /**
- * @private
- * The current millisecond position in the tween.
- * This value is between 0 and duration.
- * Use the seek() method to change the position of the tween.
- */
- private function get playheadTime():Number
- {
- return _playheadTime;
- }
-
- //----------------------------------
- // playReversed
- //----------------------------------
-
- /**
- * @private
- * Storage for the playReversed property.
- */
- private var _invertValues:Boolean = false;
-
- /**
- * @private
- * Starts playing reversed from start of tween.
- * Setting this property to <code>true</code>
- * inverts the values returned by the tween.
- * Using reverse inverts the values and only plays
- * for as much time that has already elapsed.
- */
- private function get playReversed():Boolean
- {
- return _invertValues;
- }
-
- /**
- * @private
- */
- private function set playReversed(value:Boolean):void
- {
- _invertValues = value;
- }
-
- //--------------------------------------------------------------------------
- //
- // Methods
- //
- //--------------------------------------------------------------------------
-
-
- /**
- * Sets the easing function for the animation.
- * The easing function is used to interpolate between
- * the <code>startValue</code> value and the <code>endValue</code>.
- * A trivial easing function does linear interpolation,
- * but more sophisticated easing functions create the illusion of
- * acceleration and deceleration, which makes the animation seem
- * more natural.
- *
- * <p>If no easing function is specified, an easing function based
- * on the <code>Math.sin()</code> method is used.</p>
- *
- * <p>The easing function follows the function signature
- * popularized by Robert Penner.
- * The function accepts four arguments.
- * The first argument is the "current time",
- * where the animation start time is 0.
- * The second argument is a the initial value
- * at the beginning of the animation (a Number).
- * The third argument is the ending value
- * minus the initial value.
- * The fourth argument is the duration of the animation.
- * The return value is the interpolated value for the current time
- * (usually a value between the initial value and the ending value).</p>
- *
- * <p>Flex includes a set of easing functions
- * in the mx.effects.easing package.</p>
- *
- * @param easingFunction Function that implements the easing equation.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function set easingFunction(value:Function):void
- {
- userEquation = value;
- }
-
- /**
- * Interrupt the tween, jump immediately to the end of the tween,
- * and invoke the <code>onTweenEnd()</code> callback function.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function endTween():void
- {
- var event:ValueEvent = new ValueEvent(Tween.TWEEN_END);
- var value:Object = getCurrentValue(duration);
-
- event.value = value;
-
- dispatchEvent(event);
-
- listener.onTweenEnd(value);
-
- dispatchEvent(new Event(Effect.EFFECT_END));
-
- // If tween has been added, id >= 0
- // but if duration = 0, this might not be the case.
- if (id >= 0) {
- Tween.removeTween(this);
- id = -1;
- }
- }
-
- /**
- * @private
- * Returns true if the tween has ended.
- */
- protected function update():Boolean
- {
- var tweenEnded:Boolean = false;
-
- // If user specified a minimum frames per second, we can't guarantee
- // that we'll be called often enough to satisfy that request.
- // However, we can avoid skipping over part of the animation.
- // If this callback arrives too late, adjust the animation startTime,
- // so that the animation starts up 'maxDelay' milliseconds
- // after its last update.
- /*
- if (intervalTime - previousUpdateTime > maxDelay)
- {
- startTime += intervalTime - previousUpdateTime - maxDelay;
- }
- */
- previousUpdateTime = currentTime;
-
- if (_isPlaying || _doSeek)
- {
-
- var elapsedTime:Number = currentTime - startTime;
- _playheadTime = elapsedTime;
-
- var currentValue:Object =
- getCurrentValue(elapsedTime);
-
- if (elapsedTime >= duration && !_doSeek)
- {
- endTween();
- tweenEnded = true;
- }
- else
- {
- if (!started)
- {
- var startEvent:ValueEvent = new ValueEvent(Tween.TWEEN_START);
- dispatchEvent(startEvent);
- started = true;
- }
-
- var event:ValueEvent =
- new ValueEvent(Tween.TWEEN_UPDATE);
- event.value = currentValue;
-
- dispatchEvent(event);
-
- listener.onTweenUpdate(currentValue);
- }
-
- _doSeek = false;
- }
- return tweenEnded;
- }
-
- /**
- * @private
- */
- protected function getCurrentValue(currentTime:Number):Object
- {
- if (duration == 0)
- {
- return endValue;
- }
-
- if (_invertValues)
- currentTime = duration - currentTime;
-
- return userEquation(currentTime, startValue,
- endValue - startValue,
- duration);
- }
-
- /**
- * @private
- */
- private function defaultEasingFunction(t:Number, b:Number,
- c:Number, d:Number):Number
- {
- return c / 2 * (Math.sin(Math.PI * (t / d - 0.5)) + 1) + b;
- }
-
- /**
- * Advances the tween effect to the specified position.
- *
- * @param playheadTime The position, in milliseconds, between 0
- * and the value of the <code>duration</code> property.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function seek(playheadTime:Number):void
- {
- // Set value between 0 and duration
- //playheadTime = Math.min(Math.max(playheadTime, 0), duration);
-
- var clockTime:Number = currentTime;
-
- // Reset the previous update time
- previousUpdateTime = clockTime;
-
- // Reset the start time
- startTime = clockTime - playheadTime;
-
- _doSeek = true;
-
- update();
- }
-
- /**
- * Plays the effect in reverse,
- * starting from the current position of the effect.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- override public function reverse():void
- {
- if (_isPlaying)
- {
- _doReverse = false;
- seek(duration - _playheadTime);
- _invertValues = !_invertValues;
- }
- else
- {
- _doReverse = !_doReverse;
- }
- }
-
- /**
- * Pauses the effect until you call the <code>resume()</code> method.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- override public function pause():void
- {
- _isPlaying = false;
- }
-
- /**
- * Stops the tween, ending it without dispatching an event or calling
- * the Tween's endFunction or <code>onTweenEnd()</code>.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- override public function play():void
- {
- if (userEquation == null)
- userEquation = defaultEasingFunction;
- Tween.addTween(this);
- }
-
- /**
- * Stops the tween, ending it without dispatching an event or calling
- * the Tween's endFunction or <code>onTweenEnd()</code>.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- override public function stop():void
- {
- if (id >= 0) {
- Tween.removeTween(this);
- id = -1;
- }
- }
-
- /**
- * Resumes the effect after it has been paused
- * by a call to the <code>pause()</code> method.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- override public function resume():void
- {
- _isPlaying = true;
-
- startTime = currentTime - _playheadTime;
- if (_doReverse)
- {
- reverse();
- _doReverse = false;
- }
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Wipe.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Wipe.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Wipe.as
deleted file mode 100644
index fe83935..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/effects/Wipe.as
+++ /dev/null
@@ -1,156 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package org.apache.flex.effects
-{
-
-import org.apache.flex.core.IDocument;
-import org.apache.flex.core.IUIBase;
-import org.apache.flex.geom.Rectangle;
-
-/**
- * The Fade effect animates a UI component's alpha or opacity.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-public class Wipe extends Tween implements IDocument
-{
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructor.
- *
- * @param target Object ID or reference to an object that will
- * have its x and/or y property animated.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function Wipe(target:IUIBase = null)
- {
- super();
-
- this.actualTarget = target;
-
- listener = this;
- }
-
- //--------------------------------------------------------------------------
- //
- // Variables
- //
- //--------------------------------------------------------------------------
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * @private
- * The target.
- */
- private var actualTarget:IUIBase;
-
- /**
- * The target as the String id
- * of a widget in an MXML Document.
- */
- public var target:String;
-
- /**
- * The direction of the Wipe. "up" means the top will be the last
- * part to disappear. "down" will reveal from the top down.
- */
- public var direction:String;
-
- private var wiper:PlatformWiper = new PlatformWiper();
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
-
- //--------------------------------------------------------------------------
- //
- // Methods
- //
- //--------------------------------------------------------------------------
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
-
- /**
- * @private
- */
- override public function play():void
- {
- if (target != null)
- actualTarget = document[target];
-
-
- wiper.target = actualTarget;
- if (direction == "up")
- {
- startValue = actualTarget.height;
- endValue = 0;
- }
- else
- {
- startValue = 0;
- endValue = actualTarget.height;
- // WipeDown makes something appear
- actualTarget.visible = true;
- wiper.visibleRect = new Rectangle(0, 0, actualTarget.width, 0);
- }
-
- super.play();
- }
-
- public function onTweenUpdate(value:Number):void
- {
- trace(actualTarget, value);
- wiper.visibleRect = new Rectangle(0, 0, actualTarget.width, value);
- }
-
- public function onTweenEnd(value:Number):void
- {
- // WipeUp makes something disappear
- if (direction == "up")
- actualTarget.visible = false;
- wiper.target = null;
- }
-}
-
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8c0014ae/frameworks/projects/Effects/asjs/src/org/apache/flex/states/Transition.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Effects/asjs/src/org/apache/flex/states/Transition.as b/frameworks/projects/Effects/asjs/src/org/apache/flex/states/Transition.as
deleted file mode 100644
index 3469417..0000000
--- a/frameworks/projects/Effects/asjs/src/org/apache/flex/states/Transition.as
+++ /dev/null
@@ -1,80 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.states
-{
-
- [DefaultProperty("effects")]
-
- /**
- * The Transition class holds information describing what to do when
- * changing from one state to another.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Transition
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Transition()
- {
- super();
- }
-
- /**
- * The state or states from which the view is leaving.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var fromState:String;
-
- /**
- * The state or states to which the view is going.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var toState:String;
-
-
- /**
- * The list of effects to play
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var effects:Array;
-
- }
-}