royale-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alinak...@apache.org
Subject [royale-asjs] branch feature/MXRoyale updated: TweenEffectInstance.as Added
Date Mon, 30 Apr 2018 10:24:39 GMT
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 <ALINAKAZI1990@GMAIL.COM>
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
alinakazi@apache.org.

Mime
View raw message