Packagemx.effects
Interfacepublic interface IEffectInstance
Implementors EffectInstance

The IEffectInstance interface represents an instance of an effect playing on a target. Each target has a separate effect instance associated with it. An effect instance's lifetime is transitory. An instance is created when the effect is played on a target and is destroyed when the effect has finished playing. If there are multiple effects playing on a target at the same time (for example, a Parallel effect), there is a separate effect instance for each effect.

Effect developers must create an instance class for their custom effects.

See also

mx.effects.Effect


Public Properties
 PropertyDefined By
  className : String
[read-only] The name of the effect class, such as "FadeInstance".
IEffectInstance
  duration : Number
The duration of the effect, in milliseconds.
IEffectInstance
  effect : IEffect
The IEffect object that created this IEffectInstance object.
IEffectInstance
  effectTargetHost : mx.effects:IEffectTargetHost
A property that lets you access the target list-based control of a data effect.
IEffectInstance
  hideFocusRing : Boolean
Determines whether the effect should hide the focus ring when starting the effect.
IEffectInstance
  playheadTime : Number
[read-only] Current position in time of the effect.
IEffectInstance
  propertyChanges : PropertyChanges
Specifies the PropertyChanges object containing the start and end values for the set of properties relevant to the effect's targets.
IEffectInstance
  repeatCount : int
Number of times to repeat the effect.
IEffectInstance
  repeatDelay : int
Amount of time, in milliseconds, to wait before repeating the effect.
IEffectInstance
  startDelay : int
Amount of time, in milliseconds, to wait before starting the effect.
IEffectInstance
  suspendBackgroundProcessing : Boolean
If true, blocks all background processing while the effect is playing.
IEffectInstance
  target : Object
The UIComponent object to which this effect is applied.
IEffectInstance
  triggerEvent : Event
The event, if any, which triggered the playing of the effect.
IEffectInstance
Public Methods
 MethodDefined By
  
Interrupts an effect instance that is currently playing, and jumps immediately to the end of the effect.
IEffectInstance
  
Called by the end() method when the effect finishes playing.
IEffectInstance
  
Called after each iteration of a repeated effect finishes playing.
IEffectInstance
  
This method is called if the effect was triggered by the EffectManager.
IEffectInstance
  
Pauses the effect until you call the resume() method.
IEffectInstance
  
Plays the effect instance on the target.
IEffectInstance
  
Resumes the effect after it has been paused by a call to the pause() method.
IEffectInstance
  
Plays the effect in reverse, starting from the current position of the effect.
IEffectInstance
  
Plays the effect instance on the target after the startDelay period has elapsed.
IEffectInstance
  
Stops the effect, leaving the target in its current state.
IEffectInstance
Property Detail
classNameproperty
className:String  [read-only]

The name of the effect class, such as "FadeInstance".

This is a short or "unqualified" class name that does not include the package name. If you need the qualified name, use the getQualifiedClassName() method in the flash.utils package.



Implementation
    public function get className():String
durationproperty 
duration:Number

The duration of the effect, in milliseconds.

The default value is 500.



Implementation
    public function get duration():Number
    public function set duration(value:Number):void
effectproperty 
effect:IEffect

The IEffect object that created this IEffectInstance object.



Implementation
    public function get effect():IEffect
    public function set effect(value:IEffect):void
effectTargetHostproperty 
effectTargetHost:mx.effects:IEffectTargetHost

A property that lets you access the target list-based control of a data effect. This property enables an instance of an effect class to communicate with the list-based control on which the effect is playing.



Implementation
    public function get effectTargetHost():mx.effects:IEffectTargetHost
    public function set effectTargetHost(value:mx.effects:IEffectTargetHost):void
hideFocusRingproperty 
hideFocusRing:Boolean

Determines whether the effect should hide the focus ring when starting the effect. The effect target is responsible for the hiding the focus ring. Subclasses of the UIComponent class hide the focus ring automatically. If the effect target is not a subclass of the UIComponent class, you must add functionality to it to hide the focus ring.

Set this property to true to hide the focus ring during the effect.

For subclasses of Effect, the default value is false. For subclasses of MaskEffect, the default value is true.



Implementation
    public function get hideFocusRing():Boolean
    public function set hideFocusRing(value:Boolean):void
playheadTimeproperty 
playheadTime:Number  [read-only]

Current position in time of the effect. This property has a value between 0 and the actual duration (which includes the value of the startDelay, repeatCount, and repeatDelay properties).



Implementation
    public function get playheadTime():Number
propertyChangesproperty 
propertyChanges:PropertyChanges

Specifies the PropertyChanges object containing the start and end values for the set of properties relevant to the effect's targets. This property is only set if the captureStartValues() method was called on the effect that created this effect instance.

You often use the propertyChanges property to create an effect that is used as part of a transition. Flex automatically calls the captureStartValues() method when it starts a transition. Within your override of the Effectinstance.play() method, you can examine the information within the propertyChanges() method to initialize the start and end values of the effect.



Implementation
    public function get propertyChanges():PropertyChanges
    public function set propertyChanges(value:PropertyChanges):void

See also

repeatCountproperty 
repeatCount:int

Number of times to repeat the effect. Possible values are any integer greater than or equal to 0.

The default value is 1.



Implementation
    public function get repeatCount():int
    public function set repeatCount(value:int):void

See also

repeatDelayproperty 
repeatDelay:int

Amount of time, in milliseconds, to wait before repeating the effect.

The default value is 0.



Implementation
    public function get repeatDelay():int
    public function set repeatDelay(value:int):void

See also

startDelayproperty 
startDelay:int

Amount of time, in milliseconds, to wait before starting the effect. Possible values are any int greater than or equal to 0. If the effect is repeated by using the repeatCount property, the startDelay property is applied only the first time the effect is played.

The default value is 0.



Implementation
    public function get startDelay():int
    public function set startDelay(value:int):void
suspendBackgroundProcessingproperty 
suspendBackgroundProcessing:Boolean

If true, blocks all background processing while the effect is playing. Background processing includes measurement, layout, and processing responses that have arrived from the server.

The default value is false.



Implementation
    public function get suspendBackgroundProcessing():Boolean
    public function set suspendBackgroundProcessing(value:Boolean):void

See also

targetproperty 
target:Object

The UIComponent object to which this effect is applied.



Implementation
    public function get target():Object
    public function set target(value:Object):void

See also

triggerEventproperty 
triggerEvent:Event

The event, if any, which triggered the playing of the effect. This property is useful when an effect is assigned to multiple triggering events.

If the effect was played programmatically by a call to the play() method, rather than being triggered by an event, this property is null.



Implementation
    public function get triggerEvent():Event
    public function set triggerEvent(value:Event):void
Method Detail
end()method
public function end():void

Interrupts an effect instance that is currently playing, and jumps immediately to the end of the effect. This method is invoked by a call to the Effect.end() method. As part of its implementation, it calls the finishEffect() method.

The effect instance dispatches an effectEnd event when you call this method as part of ending the effect.

In a subclass of EffectInstance, you can optionally override this method As part of your override, you should call the super.end() method from the end of your override, after your logic.

See also

finishEffect()method 
public function finishEffect():void

Called by the end() method when the effect finishes playing. This function dispatches an endEffect event for the effect target.

You do not have to override this method in a subclass. You do not need to call this method when using effects, but you may need to call it if you create an effect subclass.

See also

finishRepeat()method 
public function finishRepeat():void

Called after each iteration of a repeated effect finishes playing.

You do not have to override this method in a subclass. You do not need to call this method when using effects.

initEffect()method 
public function initEffect(event:Event):void

This method is called if the effect was triggered by the EffectManager. This base class version saves the event that triggered the effect in the triggerEvent property. Each subclass should override this method.

Parameters

event:Event — The Event object that was dispatched to trigger the effect. For example, if the trigger was a mouseDownEffect, the event would be a MouseEvent with type equal to MouseEvent.MOUSEDOWN.

pause()method 
public function pause():void

Pauses the effect until you call the resume() method.

play()method 
public function play():void

Plays the effect instance on the target. Call the startEffect() method instead to make an effect start playing on an EffectInstance.

In a subclass of EffectInstance, you must override this method. The override must call the super.play() method so that an effectStart event is dispatched from the target.

resume()method 
public function resume():void

Resumes the effect after it has been paused by a call to the pause() method.

reverse()method 
public function reverse():void

Plays the effect in reverse, starting from the current position of the effect.

startEffect()method 
public function startEffect():void

Plays the effect instance on the target after the startDelay period has elapsed. Called by the Effect class. Use this function instead of the play() method when starting an EffectInstance.

stop()method 
public function stop():void

Stops the effect, leaving the target in its current state. This method is invoked by a call to the Effect.stop() method. As part of its implementation, it calls the finishEffect() method.

The effect instance dispatches an effectEnd event when you call this method as part of ending the effect.