mx.effects

# Zoom - AS3 Flex

Package | mx.effects
Class | public class Zoom
Inheritance | Zoom TweenEffect Effect EventDispatcher Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The Zoom effect zooms the object in or out on a center point.

When you apply a Zoom effect to text rendered using a system font, Flex scales the text between whole point sizes. While you do not have to use embedded fonts when you apply a Zoom effect to text, the Zoom will appear smoother when you apply it to embedded fonts.

Note: The Zoom effect does not work when the `Container.autoLayout` property is `false`.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

The `<mx:Zoom>` tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

      <mx:Zoom
        id="ID"
        captureRollEvents="false|true"
        originX="Calculated"
        originY="Calculated"
        zoomWidthFrom="0.01"
        zoomWidthTo="1.0"
        zoomHeightFrom="0.01"
        zoomHeightTo="1.0"
      />

View the examples

Learn more

About effects
Using MX effects
Handling MX effect events
About transitions

Related API Elements

mx.effects.effectClasses.ZoomInstance
mx.managers.LayoutManager

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | captureRollEvents : Boolean If true, prevents Flex from dispatching the rollOut and rollOver events if the mouse has not moved. | Zoom
|  | className : String [read-only] The name of the effect class, such as "Fade". | Effect
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | customFilter : mx.effects:EffectTargetFilter Specifies a custom filter object, of type EffectTargetFilter, used by the effect to determine the targets on which to play the effect. | Effect
|  | duration : Number Duration of the effect in milliseconds. | Effect
|  | easingFunction : Function = null The easing function for the animation. | TweenEffect
|  | effectTargetHost : mx.effects:IEffectTargetHost A property that lets you access the target list-based control of a data effect. | Effect
|  | filter : String Specifies an algorithm for filtering targets for an effect. | Effect
|  | hideFocusRing : Boolean Determines whether the effect should hide the focus ring when starting the effect. | Effect
|  | instanceClass : Class An object of type Class that specifies the effect instance class class for this effect class. | Effect
|  | isPlaying : Boolean [read-only] A read-only flag which is true if any instances of the effect are currently playing, and false if none are. | Effect
|  | originX : Number Number that represents the x-position of the zoom origin when the effect target is in a container that supports absolute positioning, such as the Canvas container. | Zoom
|  | originY : Number Number that represents the y-position of the zoom origin when the effect target is in a container that supports absolute positioning, such as the Canvas container. | Zoom
|  | perElementOffset : Number Additional delay, in milliseconds, for effect targets after the first target of the effect. | Effect
|  | playheadTime : Number Current time position of the effect. | Effect
|  | relevantProperties : Array An Array of property names to use when performing filtering. | Effect
|  | relevantStyles : Array An Array of style names to use when performing filtering. | Effect
|  | repeatCount : int = 1 Number of times to repeat the effect. | Effect
|  | repeatDelay : int = 0 Amount of time, in milliseconds, to wait before repeating the effect. | Effect
|  | startDelay : int = 0 Amount of time, in milliseconds, to wait before starting the effect. | Effect
|  | suspendBackgroundProcessing : Boolean = false If true, blocks all background processing while the effect is playing. | Effect
|  | target : Object The object to which this effect is applied. | Effect
|  | targets : Array An Array of objects that are targets for the effect. | Effect
|  | triggerEvent : Event The Event object passed to this Effect by the EffectManager when an effect is triggered, or null if the effect is not being played by the EffectManager. | Effect
|  | zoomHeightFrom : Number Number that represents the scale at which to start the height zoom, as a percent between 0.01 and 1.0. | Zoom
|  | zoomHeightTo : Number Number that represents the scale at which to complete the height zoom, as a percent between 0.01 and 1.0. | Zoom
|  | zoomWidthFrom : Number Number that represents the scale at which to start the width zoom, as a percent between 0.01 and 1.0. | Zoom
|  | zoomWidthTo : Number Number that represents the scale at which to complete the width zoom, as a percent between 0.01 and 1.0. | Zoom

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | applyTransitionEndProperties : Boolean This flag controls whether the effect, when run in a transition, automatically applies the property values according to the end state, as opposed to leaving values as set by the effect itself. | Effect
|  | endValuesCaptured : Boolean = false A flag containing true if the end values of an effect have already been determined, or false if they should be acquired from the current properties of the effect targets when the effect runs. | Effect

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | Zoom(target:Object = null) Constructor. | Zoom
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | captureEndValues():void Captures the current values of the relevant properties on the effect's targets and saves them as end values. | Effect
|  | captureMoreStartValues(targets:Array):void Captures the current values of the relevant properties of an additional set of targets Flex uses this function when a data change effect is run. | Effect
|  | captureStartValues():void Captures the current values of the relevant properties on the effect's targets. | Effect
|  | createInstance(target:Object = null):IEffectInstance Creates a single effect instance and initializes it. | Effect
|  | createInstances(targets:Array = null):Array Takes an Array of target objects and invokes the createInstance() method on each target. | Effect
|  | deleteInstance(instance:IEffectInstance):void Removes event listeners from an instance and removes it from the list of instances. | Effect
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | end(effectInstance:IEffectInstance = null):void Interrupts an effect that is currently playing, and jumps immediately to the end of the effect. | Effect
|  | getAffectedProperties():Array Returns an Array of Strings, where each String is the name of a property changed by this effect. | Effect
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | pause():void Pauses the effect until you call the resume() method. | Effect
|  | play(targets:Array = null, playReversedFromEnd:Boolean = false):Array Begins playing the effect. | Effect
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | resume():void Resumes the effect after it has been paused by a call to the pause() method. | Effect
|  | reverse():void Plays the effect in reverse, if the effect is currently playing, starting from the current position of the effect. | Effect
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stop():void Stops the effect, leaving the effect targets in their current state. | Effect
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | applyValueToTarget(target:Object, property:String, value:*, props:Object):void Used internally by the Effect infrastructure. | Effect
|  | effectEndHandler(event:EffectEvent):void Called when an effect instance has finished playing. | Effect
|  | effectStartHandler(event:EffectEvent):void This method is called when the effect instance starts playing. | Effect
|  | effectStopHandler(event:EffectEvent):void Called when an effect instance has stopped by a call to the stop() method. | Effect
|  | filterInstance(propChanges:Array, target:Object):Boolean Determines the logic for filtering out an effect instance. | Effect
|  | getValueFromTarget(target:Object, property:String):* Called by the captureStartValues() method to get the value of a property from the target. | Effect
|  | initInstance(instance:IEffectInstance):void Copies properties of the effect to the effect instance. | Effect
|  | tweenEventHandler(event:mx.events:TweenEvent):void Called when the TweenEffect dispatches a TweenEvent. | TweenEffect

Events
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | effectEnd | Dispatched when one of the effect's instances finishes playing, either when the instance finishes playing or when the effect is interrupted by a call to the end() method. | Effect
|  | effectStart | Dispatched when the effect starts playing. | Effect
|  | effectStop | Dispatched when the effect has been stopped, which only occurs when the effect is interrupted by a call to the stop() method. | Effect
|  | tweenEnd | Dispatched when the tween effect ends. | TweenEffect
|  | tweenStart | Dispatched when the tween effect starts, which corresponds to the first call to the onTweenUpdate() method. | TweenEffect
|  | tweenUpdate | Dispatched every time the tween effect updates the target. | TweenEffect

Property Detail

### captureRollEvents

property

`public var captureRollEvents:Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

If `true`, prevents Flex from dispatching the `rollOut` and `rollOver` events if the mouse has not moved. Set this property to `true` when you use the Zoom effect to toggle the effect target between a big and small size.

For example, you use the `rollOverEffect` to trigger the Zoom effect to reduce the size of the target. As the target shrinks, the mouse pointer is no longer over the target, triggering a `rollOut` event, and the corresponding `rollOutEffect`. By setting the `captureRollEvents` property to `true`, you prevent Flex from dispatching the `rollOut` event unless it occurs because you moved the mouse.

The default value is `false.`

### originX

property

`public var originX:Number`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Number that represents the x-position of the zoom origin when the effect target is in a container that supports absolute positioning, such as the Canvas container. The zoom origin is the position on the target around which the Zoom effect is centered.

The value must be between 0 and the width of the target component.

The default value is `target.width` / 2, which is the center of the target.

### originY

property

`public var originY:Number`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Number that represents the y-position of the zoom origin when the effect target is in a container that supports absolute positioning, such as the Canvas container. The zoom origin is the position on the target around which the Zoom effect is centered.

The value must be between 0 and the height of the target component.

The default value is `target.height` / 2, which is the center of the target.

### zoomHeightFrom

property

`public var zoomHeightFrom:Number`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Number that represents the scale at which to start the height zoom, as a percent between 0.01 and 1.0. The default value is 0.01, which is very small.

### zoomHeightTo

property

`public var zoomHeightTo:Number`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Number that represents the scale at which to complete the height zoom, as a percent between 0.01 and 1.0. The default value is 1.0, which is the object's normal size.

### zoomWidthFrom

property

`public var zoomWidthFrom:Number`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Number that represents the scale at which to start the width zoom, as a percent between 0.01 and 1.0. The default value is 0.01, which is very small.

### zoomWidthTo

property

`public var zoomWidthTo:Number`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Number that represents the scale at which to complete the width zoom, as a percent between 0.01 and 1.0. The default value is 1.0, which is the object's normal size.

Constructor Detail

### Zoom

()
Constructor

`public function Zoom(target:Object = null)`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Constructor.

Parameters

| `target:Object` (default = `null`)`` — The Object to animate with this effect.

Examples How to use this example
ZoomEffectExample.mxml
Copy

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Simple example to demonstrate the Zoom effect. -->
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
            xmlns:s="library://ns.adobe.com/flex/spark"
            xmlns:mx="library://ns.adobe.com/flex/mx">

        <fx:Script>
            <![CDATA[
                import flash.events.MouseEvent;

                public function doZoom(event:MouseEvent):void {
                    if (zoomAll.isPlaying) {
                        zoomAll.reverse();
                    }
                    else {
                        // If this is a ROLL_OUT event, play the effect backwards.
                        // If this is a ROLL_OVER event, play the effect forwards.
                        zoomAll.play([event.target], event.type == MouseEvent.ROLL_OUT ? true : false);
                    }
                }
            ]]>
        </fx:Script>

        <fx:Declarations>
            <mx:Zoom id="zoomAll" zoomWidthTo="1" zoomHeightTo="1" zoomWidthFrom=".5" zoomHeightFrom=".5"  />
        </fx:Declarations>

        <s:Panel title="Zoom Effect Example" width="95%" height="95%" >
            <s:VGroup left="20" right="20" top="20" bottom="20">

                <s:Label width="100%" color="blue"
                    text="Move the mouse over the image to enlarge it. Move the mouse off of the image to shrink it."/>

                <mx:Image id="img"
                    source="@Embed(source='assets/Nokia_6630.png')"
                    scaleX=".5" scaleY=".5"
                    rollOver="doZoom(event)"
                    rollOut="doZoom(event)"/>
            </s:VGroup>

        </s:Panel>
    </s:Application>

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00