This is an automated email from the ASF dual-hosted git repository.

alinakazi pushed a commit to branch feature/MXRoyale
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/feature/MXRoyale by this push:
     new a4d55b4  TweenEffectInstance.as Added
a4d55b4 is described below

commit a4d55b4c5eafdd0d5c353ae215227ba5779638d4
Author: alinakazi <[email protected]>
AuthorDate: Mon Apr 30 15:24:37 2018 +0500

    TweenEffectInstance.as Added
---
 .../effects/effectClasses/TweenEffectInstance.as   | 449 +++++++++++++++++++++
 1 file changed, 449 insertions(+)

diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/effects/effectClasses/TweenEffectInstance.as
 
b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/effectClasses/TweenEffectInstance.as
new file mode 100644
index 0000000..87c7873
--- /dev/null
+++ 
b/frameworks/projects/MXRoyale/src/main/royale/mx/effects/effectClasses/TweenEffectInstance.as
@@ -0,0 +1,449 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.effects.effectClasses
+{
+
+//import mx.core.UIComponentGlobals;
+import mx.core.mx_internal;
+import mx.effects.EffectInstance;
+import mx.effects.Tween;
+//import mx.events.TweenEvent;
+
+use namespace mx_internal;
+                                 
+/**
+ *
+ *  The TweenEffectInstance class implements the instance class
+ *  for the TweenEffect.
+ *  Flex creates an instance of this class when it plays a TweenEffect;
+ *  you do not create one yourself.
+ *
+ *  @see mx.effects.Tween
+ *  @see mx.effects.TweenEffect 
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+public class TweenEffectInstance extends EffectInstance
+{
+/*     include "../../core/Version.as";
+ */
+       
//--------------------------------------------------------------------------
+       //
+       //  Constructor
+       //
+       
//--------------------------------------------------------------------------
+ 
+       /**
+        *  Constructor.
+        *
+        *  @param target The Object to animate with this effect.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       public function TweenEffectInstance(target:Object)
+       {
+               super(target);
+       }
+       
+       
//--------------------------------------------------------------------------
+       //
+       //  Variables
+       //
+       
//--------------------------------------------------------------------------
+
+       /**
+        *  @private
+        */
+       //mx_internal var needToLayout:Boolean = false;
+
+       /**
+        *  @private.
+        *  Used internally to hold the value of the new playhead position
+        *  if the tween doesn't currently exist.
+        */
+       //private var _seekTime:Number = 0;
+       
+       
//--------------------------------------------------------------------------
+       //
+       //  Properties
+       //
+       
//--------------------------------------------------------------------------
+
+       //----------------------------------
+       //  easingFunction
+       //----------------------------------
+       
+       /**
+        *  The easing function for the animation.
+        *  By default, effects use the same easing function
+        *  as the TweenEffect class.
+        *
+        *  @see mx.effects.TweenEffect#easingFunction
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       public var easingFunction:Function;
+       
+       //----------------------------------
+       //  playReversed
+       //----------------------------------
+
+       /**
+        *  @private
+        */
+       /* override mx_internal function set playReversed(value:Boolean):void
+       {
+               super.playReversed = value;
+       
+               if (tween)
+                       tween.playReversed = value;                     
+       } */
+       
+       //----------------------------------
+       //  playheadTime
+       //----------------------------------
+
+       /**
+        *  @inheritDoc
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       /* override public function get playheadTime():Number
+       {
+               if (tween)
+                       return tween.playheadTime + super.playheadTime;
+               else
+                       return 0;
+       } */
+
+    /**
+     * @private
+     */
+    /* override public function set playheadTime(value:Number):void
+    {
+        if (tween)
+            tween.seek(value);
+        else
+            _seekTime = value;
+    }  */
+    
+       
+       //----------------------------------
+       //  tween
+       //----------------------------------
+ 
+       /**
+        *  The Tween object, which determines the animation.
+        *  To create an effect, you must create a Tween instance
+        *  in the override of the <code>EffectInstance.play()</code> method
+        *  and assign it to the <code>tween</code> property. 
+        *  Use the <code>createTween()</code> method to create your Tween 
object.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       public var tween:Tween;
+       
+       
//--------------------------------------------------------------------------
+       //
+       //  Overridden methods
+       //
+       
//--------------------------------------------------------------------------
+
+       /**
+        *  @private
+        */
+       /* override public function pause():void
+       {
+               super.pause();
+               
+               if (tween)
+                       tween.pause();
+       } */
+
+       /**
+        *  @private
+        */
+       /* override public function stop():void
+       {
+               super.stop();
+               
+               if (tween)
+                       tween.stop();
+       }        */
+       
+       /**
+        *  @private
+        */
+       /* override public function resume():void
+       {
+               super.resume();
+       
+               if (tween)
+                       tween.resume();
+       } */
+               
+       /**
+        *  @private
+        */
+       /* override public function reverse():void
+       {
+               super.reverse();
+       
+               if (tween)
+                       tween.reverse();
+               
+               super.playReversed = !playReversed;     
+       } */
+       
+       /**
+        *  Interrupts an effect that is currently playing,
+        *  and immediately jumps to the end of the effect.
+        *  Calls the <code>Tween.endTween()</code> method
+        *  on the <code>tween</code> property. 
+     *  This method implements the method of the superclass. 
+        *
+        *  <p>If you create a subclass of TweenEffectInstance,
+        *  you can optionally override this method.</p>
+     *
+        *  <p>The effect dispatches the <code>effectEnd</code> event.</p>
+        *
+        *  @see mx.effects.EffectInstance#end()
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       /* override public function end():void
+       {
+               stopRepeat = true;
+               if (delayTimer)
+                       delayTimer.reset();
+               // Jump to the end of the animation.
+               if (tween)
+               {
+                       tween.endTween();
+                       tween = null;
+               }
+
+               // Don't call super.endEffect because ending the tween
+               // will eventually call finishEffect() for us.  
+               //super.end(); 
+       }
+                */
+       
//--------------------------------------------------------------------------
+       //
+       //  Methods
+       //
+       
//--------------------------------------------------------------------------
+
+       /**
+        *  Creates a Tween instance,
+        *  assigns it the start, end, and duration values. If an easing 
function has 
+        *  been specified, then it is assigned to the Tween instance. The 
Tween instance is assigned 
+        *  event listeners for the TweenEvents: <code>tweenStart</code>, 
<code>tweenUpdate</code>, 
+        *  and <code>tweenEnd</code>.
+        *  Typically, you call this method from your override of 
+        *  the <code>EffectInstance.play()</code> method 
+        *  which effectively starts the animation timer. 
+        *
+        *  @param listener Object that is notified at each interval
+        *  of the animation. You typically pass the <code>this</code> 
+        *  keyword as the value.
+        *  The <code>listener</code> must define the 
+        *  <code>onTweenUpdate()</code> method and optionally the  
+        *  <code>onTweenEnd()</code> method.
+        *  The <code>onTweenUpdate()</code> method is invoked for each 
interval of the animation,
+        *  and the <code>onTweenEnd()</code> method is invoked just after the 
animation finishes.
+        *
+        *  @param startValue Initial value(s) of the animation.
+        *  Either a number or an Array of numbers.
+        *  If a number is passed, the Tween interpolates
+        *  between this number and the number passed
+        *  in the <code>endValue</code> parameter.
+        *  If an Array of numbers is passed, 
+        *  each number in the Array is interpolated.
+        *
+        *  @param endValue Final value(s) of the animation.
+        *  The type of this argument must match the <code>startValue</code>
+        *  parameter.
+        *
+        *  @param duration Duration of the animation, in milliseconds.
+        *
+        *  @param minFps Minimum number of times that the
+        *  <code>onTweenUpdate()</code> method should be called every second.
+        *  The tween code tries to call the <code>onTweenUpdate()</code>
+        *  method as frequently as possible (up to 100 times per second).
+        *  However, if the frequency falls below <code>minFps</code>, 
+        *  the duration of the animation automatically increases.
+        *  As a result, an animation that temporarily freezes
+        *  (because it is not getting any CPU cycles) begins again
+        *  where it left off, instead of suddenly jumping ahead. 
+        *
+        *  @return The newly created Tween instance.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       protected function createTween(listener:Object,
+                                                                    
startValue:Object,
+                                                                    
endValue:Object,
+                                                                    
duration:Number = -1,
+                                                                    
minFps:Number = -1):Tween
+       {
+               var newTween:Tween =
+                       new Tween(listener, startValue, endValue, duration, 
minFps);
+               
+               //newTween.addEventListener(TweenEvent.TWEEN_START, 
tweenEventHandler);
+               //newTween.addEventListener(TweenEvent.TWEEN_UPDATE, 
tweenEventHandler);
+               //newTween.addEventListener(TweenEvent.TWEEN_END, 
tweenEventHandler);
+               
+               // If the caller supplied their own easing equation, override 
the
+               // one that's baked into Tween.
+               if (easingFunction != null)
+                       newTween.easingFunction = easingFunction;
+               
+               /* if (_seekTime > 0)
+                       newTween.seek(_seekTime);
+               */
+               //newTween.playReversed = playReversed;
+       
+               return newTween;
+       }
+       
+       /* mx_internal function applyTweenStartValues():void
+       {
+               if (duration > 0)
+               {
+                       onTweenUpdate(tween.getCurrentValue(0));
+               }
+       }
+       
+       private function tweenEventHandler(event:TweenEvent):void
+       {
+               dispatchEvent(event);
+       } */
+
+       // Tween invokes two callback functions: onTweenUpdate() and 
onTweenEnd().
+       // The onTweenUpdate() function must be overridden by each subclass.
+       // The onTweenEnd() function may be overridden,
+       // or this default implementation may be used.
+
+       /** 
+        *  Callback method that is called when the target should be updated
+        *  by the effect.
+        *  The Tween class uses the easing function and the
+        *  <code>Tween.startValue</code>, <code>Tween.endValue</code>
+        *  and <code>Tween.duration</code> properties to calculate
+        *  the value of the <code>value</code> argument.
+        *  The <code>value</code> argument can be either a Number
+        *  or an Array of Numbers. 
+        *
+        *  <p>All subclasses must override this method.
+        *  It is not necessary to call the super version of this function
+        *  when overriding this method.</p>
+        *
+        *  @param value The value of the <code>value</code> argument
+        *  is an interpolated value determined by the
+        *  <code>Tween.startValue</code> property,
+        *  <code>Tween.endValue</code> property, and interpolation function 
+        *  specified by the implementation of the effect in its 
+        *  <code>play()</code> method.
+        *  The <code>play()</code> method uses these values to create
+        *  a Tween object that plays the effect over a time period.
+        *  The <code>value</code> argument can be either a Number
+        *  or an Array of Numbers. 
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       public function onTweenUpdate(value:Object):void
+       {
+               // Subclasses will override this function.
+       }
+
+       /** 
+        *  Callback method that is called when the target should be updated
+        *  by the effect for the last time. 
+        *  The Tween class passes <code>Tween.endValue</code> as the value 
+        *  of the <code>value</code> argument. 
+        *  The <code>value</code> argument can be either a Number
+        *  or an Array of Numbers. 
+        * 
+        *  <p>Overriding this function is optional. 
+        *  You must also call the super version of this method
+        *  from the end of your override, <code>super.onTweenEnd(val)</code>,
+        *  after your logic.</p>
+        *
+        *  @param value The value of the <code>value</code> argument
+        *  is an interpolated value determined by the
+        *  <code>Tween.startValue</code> property, 
+        *  <code>Tween.endValue</code> property, and interpolation function 
+        *  specified by the implementation of the effect in its 
+        *  <code>play()</code> method.
+        *  The <code>play()</code> method  uses these values to create
+        *  a Tween object that plays the effect over a time period. 
+     *  The <code>value</code> argument can be either a Number
+        *  or an Array of Numbers. 
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion Royale 0.9.3
+        */
+       /* public function onTweenEnd(value:Object):void 
+       {
+               // Update to the final frame of the animation
+               onTweenUpdate(value);
+
+               tween = null;
+
+               if (needToLayout)
+                       UIComponentGlobals.layoutManager.validateNow();
+               
+               // Notify the object that created this effect (either the
+               // effect manager or a composite effect) that the effect is
+               // finished executing.
+               finishRepeat();
+       } */
+
+}
+
+}

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to