ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Hide Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes

Language Reference only
Filters: AIR 32.0 and earlier, Flash Player 32.0 and earlier, Flash Lite 4
Flex 4.6 and earlier, Flash Pro CS6 and earlier
Hide Filters
flash.events 

TransformGestureEvent  - AS3

Packagesx

Top Level
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Language Elements

Global Constants
Global Functions
Operators
Statements, Keywords & Directives
Special Types

Appendixes

What's New
Compiler Errors
Compiler Warnings
Run-Time Errors
Migrating to ActionScript 3
Supported Character Sets
MXML Only Tags
Motion XML Elements
Timed Text Tags
List of deprecated elements
Accessibility Implementation Constants
How to Use ActionScript Examples
Legal notices

Package flash.events

Interfaces
IEventDispatcher
 
Classes
AccelerometerEvent
ActivityEvent
AsyncErrorEvent
AudioOutputChangeEvent
AVDictionaryDataEvent
AVHTTPStatusEvent
AVPauseAtPeriodEndEvent
BrowserInvokeEvent    
ContextMenuEvent
DataEvent
DatagramSocketDataEvent    
DeviceRotationEvent    
DNSResolverEvent    
DRMAuthenticateEvent    
DRMAuthenticationCompleteEvent
DRMAuthenticationErrorEvent
DRMDeviceGroupErrorEvent
DRMDeviceGroupEvent
DRMErrorEvent
DRMLicenseRequestEvent
DRMMetadataEvent
DRMReturnVoucherCompleteEvent
DRMReturnVoucherErrorEvent
DRMStatusEvent
ErrorEvent
Event
EventDispatcher
EventPhase
FileListEvent    
FocusEvent
FullScreenEvent
GameInputEvent    
GeolocationEvent
GestureEvent
GesturePhase
HTMLUncaughtScriptExceptionEvent    
HTTPStatusEvent
IMEEvent
InvokeEvent    
IOErrorEvent
KeyboardEvent
LocationChangeEvent    
MediaEvent    
MouseEvent
NativeDragEvent    
NativeProcessExitEvent    
NativeWindowBoundsEvent    
NativeWindowDisplayStateEvent    
NetDataEvent
NetMonitorEvent
NetStatusEvent
OutputProgressEvent    
PermissionEvent
PressAndTapGestureEvent
ProgressEvent
RemoteNotificationEvent    
SampleDataEvent
ScreenMouseEvent    
SecurityErrorEvent
ServerSocketConnectEvent    
ShaderEvent
SoftKeyboardEvent
SoftKeyboardTrigger
SQLErrorEvent    
SQLEvent    
SQLUpdateEvent    
StageOrientationEvent    
StageVideoAvailabilityEvent
StageVideoEvent
StatusEvent
StorageVolumeChangeEvent    
SyncEvent
TextEvent
ThrottleEvent
ThrottleType
TimerEvent
TouchEvent
TouchEventIntent    
TransformGestureEvent
UncaughtErrorEvent
UncaughtErrorEvents
VideoEvent
VideoTextureEvent
VsyncStateChangeAvailabilityEvent    
Packageflash.events
Classpublic class TransformGestureEvent
InheritanceTransformGestureEvent Inheritance GestureEvent Inheritance Event Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

The TransformGestureEvent class lets you handle complex movement input events (such as moving fingers across a touch screen) that the device or operating system interprets as a gesture. A gesture can have one or more touch points. When a user interacts with a device such as a mobile phone or tablet with a touch screen, the user typically touches and moves across the screen with his or her fingers or a pointing device. You can develop applications that respond to this user interaction with the GestureEvent, PressAndTapGestureEvent, and TransformGestureEvent classes. Create event listeners using the event types defined here, or in the related GestureEvent and TouchEvent classes. And, use the properties and methods of these classes to construct event handlers that respond to the user touching the device.

A device or operating system interprets gesture input. So, different devices or operating systems have different requirements for individual gesture types. A swipe on one device might require different input movement than a swipe on another device. Refer to the hardware or operating system documentation to discover how the device or operating system interprets contact as a specific gesture.

Use the Multitouch class to determine the current environment's support for touch interaction, and to manage the support of touch interaction if the current environment supports it.

Note: When objects are nested on the display list, touch events target the deepest possible nested object that is visible in the display list. This object is called the target node. To have a target node's ancestor (an object containing the target node in the display list) receive notification of a touch event, use EventDispatcher.addEventListener() on the ancestor node with the type parameter set to the specific touch event you want to detect.

While the user is in contact with the device, the TransformGestureEvent object's scale, rotation, and offset properties are incremental values from the previous gesture event. For example, as a gesture increases the size of a display object, the scale values might go in sequence 1.03, 1.01, 1.01, 1.02 indicating the display object scaled 1.0717 times its original size by the end of the gesture.

For TransformGestureEvent objects, properties not modified by the current gesture are set to identity values. For example, a pan gesture does not have a rotation or scale transformation, so the rotation value of the event object is 0, the scaleX and scaleY properties are 1.

View the examples

More examples

Related API Elements



Public Properties
 PropertyDefined By
 InheritedaltKey : Boolean
Indicates whether the Alt key is active (true) or inactive (false).
GestureEvent
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inherited    commandKey : Boolean
Indicates whether the command key is activated (Mac only).
GestureEvent
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcontrolKey : Boolean
Indicates whether the Control key is activated on Mac and whether the Ctrl key is activated on Windows or Linux.
GestureEvent
 InheritedctrlKey : Boolean
On Windows or Linux, indicates whether the Ctrl key is active (true) or inactive (false).
GestureEvent
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
 InheritedlocalX : Number
The horizontal coordinate at which the event occurred relative to the containing sprite.
GestureEvent
 InheritedlocalY : Number
The vertical coordinate at which the event occurred relative to the containing sprite.
GestureEvent
  offsetX : Number
The horizontal translation of the display object, since the previous gesture event.
TransformGestureEvent
  offsetY : Number
The vertical translation of the display object, since the previous gesture event.
TransformGestureEvent
 Inheritedphase : String
A value from the GesturePhase class indicating the progress of the touch gesture.
GestureEvent
  rotation : Number
The current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event.
TransformGestureEvent
  scaleX : Number
The horizontal scale of the display object, since the previous gesture event.
TransformGestureEvent
  scaleY : Number
The vertical scale of the display object, since the previous gesture event.
TransformGestureEvent
 InheritedshiftKey : Boolean
Indicates whether the Shift key is active (true) or inactive (false).
GestureEvent
 InheritedstageX : Number
[read-only] The horizontal coordinate at which the event occurred in global Stage coordinates.
GestureEvent
 InheritedstageY : Number
[read-only] The vertical coordinate at which the event occurred in global Stage coordinates.
GestureEvent
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtype : String
[read-only] The type of event.
Event
  velocity : Number
The velocity, in pixels per second, of the transform gesture event.
TransformGestureEvent
Public Methods
 MethodDefined By
  
TransformGestureEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, phase:String = null, localX:Number = 0, localY:Number = 0, scaleX:Number = 1.0, scaleY:Number = 1.0, rotation:Number = 0, offsetX:Number = 0, offsetY:Number = 0, ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false, commandKey:Boolean = false, controlKey:Boolean = false, velocity:Number = 0)
Creates an Event object that contains information about complex multi-touch events, such as a user sliding his or her finger across a screen.
TransformGestureEvent
  
[override] Creates a copy of the TransformGestureEvent object and sets the value of each property to match that of the original.
TransformGestureEvent
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
[override] Returns a string that contains all the properties of the TransformGestureEvent object.
TransformGestureEvent
 Inherited
Refreshes the Flash runtime display after processing the gesture event, in case the display list has been modified by the event handler.
GestureEvent
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
  GESTURE_DIRECTIONAL_TAP : String = "gestureDirectionalTap"
[static] Defines the value of the type property of a GESTURE_DIRECTIONAL_TAP touch event object.
TransformGestureEvent
  GESTURE_PAN : String = "gesturePan"
[static] Defines the value of the type property of a GESTURE_PAN touch event object.
TransformGestureEvent
  GESTURE_ROTATE : String = "gestureRotate"
[static] Defines the value of the type property of a GESTURE_ROTATE touch event object.
TransformGestureEvent
  GESTURE_SWIPE : String = "gestureSwipe"
[static] Defines the value of the type property of a GESTURE_SWIPE touch event object.
TransformGestureEvent
  GESTURE_ZOOM : String = "gestureZoom"
[static] Defines the value of the type property of a GESTURE_ZOOM touch event object.
TransformGestureEvent
Property Detail

offsetX

property
offsetX:Number

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

The horizontal translation of the display object, since the previous gesture event.



Implementation
    public function get offsetX():Number
    public function set offsetX(value:Number):void

offsetY

property 
offsetY:Number

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

The vertical translation of the display object, since the previous gesture event.



Implementation
    public function get offsetY():Number
    public function set offsetY(value:Number):void

rotation

property 
rotation:Number

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

The current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event.



Implementation
    public function get rotation():Number
    public function set rotation(value:Number):void

scaleX

property 
scaleX:Number

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

The horizontal scale of the display object, since the previous gesture event.



Implementation
    public function get scaleX():Number
    public function set scaleX(value:Number):void

scaleY

property 
scaleY:Number

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

The vertical scale of the display object, since the previous gesture event.



Implementation
    public function get scaleY():Number
    public function set scaleY(value:Number):void

velocity

property 
velocity:Number

Language Version: ActionScript 3.0
Runtime Versions: AIR 24, Flash Lite 4

The velocity, in pixels per second, of the transform gesture event.



Implementation
    public function get velocity():Number
    public function set velocity(value:Number):void
Constructor Detail

TransformGestureEvent

()Constructor
public function TransformGestureEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, phase:String = null, localX:Number = 0, localY:Number = 0, scaleX:Number = 1.0, scaleY:Number = 1.0, rotation:Number = 0, offsetX:Number = 0, offsetY:Number = 0, ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false, commandKey:Boolean = false, controlKey:Boolean = false, velocity:Number = 0)

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

Creates an Event object that contains information about complex multi-touch events, such as a user sliding his or her finger across a screen. Event objects are passed as parameters to event listeners.

Parameters
type:String — The type of the event. Possible values are: TransformGestureEvent.GESTURE_PAN, TransformGestureEvent.GESTURE_ROTATE, TransformGestureEvent.GESTURE_SWIPE and TransformGestureEvent.GESTURE_ZOOM.
 
bubbles:Boolean (default = true) — Determines whether the Event object participates in the bubbling phase of the event flow.
 
cancelable:Boolean (default = false) — Determines whether the Event object can be canceled.
 
phase:String (default = null) — This values tracks the beginning, progress, and end of a touch gesture. Possible values are: GesturePhase.BEGIN, GesturePhase.END, and GesturePhase.UPDATE.
 
localX:Number (default = 0) — The horizontal coordinate at which the event occurred relative to the containing display object.
 
localY:Number (default = 0) — The vertical coordinate at which the event occurred relative to the containing display object.
 
scaleX:Number (default = 1.0) — The horizontal scale of the display object.
 
scaleY:Number (default = 1.0) — The vertical scale of the display object.
 
rotation:Number (default = 0) — The current rotation angle, in degrees, of the display object along the z-axis.
 
offsetX:Number (default = 0) — The horizontal translation of the display object from its original position.
 
offsetY:Number (default = 0) — The vertical translation of the display object from its original position.
 
ctrlKey:Boolean (default = false) — (AIR only) The velocity of transform gesture in pixels per second.
 
altKey:Boolean (default = false) — On Windows or Linux, indicates whether the Ctrl key is activated. On Mac, indicates whether either the Ctrl key or the Command key is activated.
 
shiftKey:Boolean (default = false) — Indicates whether the Alt key is activated (Windows or Linux only).
 
commandKey:Boolean (default = false) — Indicates whether the Shift key is activated.
 
controlKey:Boolean (default = false) — (AIR only) Indicates whether the Command key is activated (Mac only). This parameter is for Adobe AIR only; do not set it for Flash Player content.
 
velocity:Number (default = 0) — (AIR only) Indicates whether the Control or Ctrl key is activated. This parameter is for Adobe AIR only; do not set it for Flash Player content.

Related API Elements

Method Detail

clone

()method
override public function clone():Event

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

Creates a copy of the TransformGestureEvent object and sets the value of each property to match that of the original.

Returns
Event — A new TransformGestureEvent object with property values that match those of the original.

toString

()method 
override public function toString():String

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

Returns a string that contains all the properties of the TransformGestureEvent object. The string is in the following format:

[TransformGestureEvent type=value bubbles=value cancelable=value ... ]

Returns
String — A string that contains all the properties of the TransformGestureEvent object.
Constant Detail

GESTURE_DIRECTIONAL_TAP

Constant
public static const GESTURE_DIRECTIONAL_TAP:String = "gestureDirectionalTap"

Language Version: ActionScript 3.0
Runtime Versions: AIR 24, Flash Lite 4

Defines the value of the type property of a GESTURE_DIRECTIONAL_TAP touch event object.

The dispatched TransformGestureEvent object has the following properties:

PropertyValue
altKeytrue if the Alt key is active (Windows or Linux).
bubblestrue
cancelablefalse; there is no default behavior to cancel.
commandKeytrue on the Mac if the Command key is active; false if it is inactive. Always false on Windows.
controlKeytrue if the Ctrl or Control key is active; false if it is inactive.
ctrlKeytrue on Windows or Linux if the Ctrl key is active. true on Mac if either the Ctrl key or the Command key is active. Otherwise, false.
currentTargetThe object that is actively processing the Event object with an event listener.
phaseThe current phase in the event flow. For swipe events, this value is always all corresponding to the value GesturePhase.ALL once the event is dispatched.
localXThe horizontal coordinate at which the event occurred relative to the containing sprite.For directional tap gestures this value is centre of the screen.
localYThe vertical coordinate at which the event occurred relative to the containing sprite.For directional tap gestures this value is centre of the screen.
scaleXThe horizontal scale of the display object. For directional tap gestures this value is 1
scaleYThe vertical scale of the display object. For directional tap gestures this value is 1
rotationThe current rotation angle, in degrees, of the display object along the z-axis. For directional tap gestures this value is 0
offsetXIndicates horizontal direction: 1 for right and -1 for left.
offsetYIndicates vertical direction: 1 for down and -1 for up.
velocityIndicates velocity of the swipe gesture in pixels per second (AIR only).
shiftKeytrue if the Shift key is active; false if it is inactive.
targetThe InteractiveObject instance under the touching device. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

Related API Elements

GESTURE_PAN

Constant 
public static const GESTURE_PAN:String = "gesturePan"

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the type property of a GESTURE_PAN touch event object.

The dispatched TransformGestureEvent object has the following properties:

PropertyValue
altKeytrue if the Alt key is active (Windows or Linux).
bubblestrue
cancelablefalse; there is no default behavior to cancel.
commandKeytrue on the Mac if the Command key is active; false if it is inactive. Always false on Windows.
controlKeytrue if the Ctrl or Control key is active; false if it is inactive.
ctrlKeytrue on Windows or Linux if the Ctrl key is active. true on Mac if either the Ctrl key or the Command key is active. Otherwise, false.
currentTargetThe object that is actively processing the Event object with an event listener.
phaseThe current phase in the event flow; a value from the GesturePhase class.
localXThe horizontal coordinate at which the event occurred relative to the containing display object.
localYThe vertical coordinate at which the event occurred relative to the containing display object.
scaleXThe horizontal scale of the display object since the previous gesture event. For pan gestures this value is 1.
scaleYThe vertical scale of the display object since the previous gesture event. For pan gestures this value is 1.
rotationThe current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event. For pan gestures this value is 0.
offsetXThe horizontal translation of the display object from its position at the previous gesture event.
offsetYThe vertical translation of the display object from its position at the previous gesture event.
velocityThe velocity of the gesture event in pixels per second (AIR only). For pan gesture this value is 0
shiftKeytrue if the Shift key is active; false if it is inactive.
targetThe InteractiveObject instance under the touching device. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

Related API Elements


Example  ( How to use this example )

The following example shows event handling for the GESTURE_PAN events. While the user performs a pan gesture on the touch-enabled device, myTextField populates with the current phase.
Multitouch.inputMode = MultitouchInputMode.GESTURE;

var mySprite = new Sprite();
mySprite.addEventListener(TransformGestureEvent.GESTURE_PAN , onPan);
mySprite.graphics.beginFill(0x336699);
mySprite.graphics.drawRect(0, 0, 100, 80);
var myTextField = new TextField();
myTextField.y = 200;
addChild(mySprite);
addChild(myTextField);

function onPan(evt:TransformGestureEvent):void {

    evt.target.localX++;

    if (evt.phase==GesturePhase.BEGIN) {
        myTextField.text = "Begin";
    }
    if (evt.phase==GesturePhase.UPDATE) {
        myTextField.text = "Update";
    }
    if (evt.phase==GesturePhase.END) {
        myTextField.text = "End";
    }
}

GESTURE_ROTATE

Constant 
public static const GESTURE_ROTATE:String = "gestureRotate"

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the type property of a GESTURE_ROTATE touch event object.

During this event, the rotation property contains the rotation angle. The rotation values are as follows:

  • 0 to 180 degrees for clockwise direction
  • - 180 to 0 degrees for counter-clockwise direction

The dispatched TransformGestureEvent object has the following properties:

PropertyValue
altKeytrue if the Alt key is active (Windows or Linux).
bubblestrue
cancelablefalse; there is no default behavior to cancel.
commandKeytrue on the Mac if the Command key is active; false if it is inactive. Always false on Windows.
controlKeytrue if the Ctrl or Control key is active; false if it is inactive.
ctrlKeytrue on Windows or Linux if the Ctrl key is active. true on Mac if either the Ctrl key or the Command key is active. Otherwise, false.
currentTargetThe object that is actively processing the Event object with an event listener.
phaseThe current phase in the event flow; a value from the GesturePhase class.
localXThe horizontal coordinate at which the event occurred relative to the containing display object.
localYThe vertical coordinate at which the event occurred relative to the containing display object.
scaleXThe horizontal scale of the display object since the previous gesture event.
scaleYThe vertical scale of the display object since the previous gesture event.
rotationThe current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event.
offsetXThe horizontal translation of the display object from its position at the previous gesture event.
offsetYThe vertical translation of the display object from its position at the previous gesture event.
velocityThe velocity of the gesture event in pixels per second (AIR only). For rotate gesture this value is 0
shiftKeytrue if the Shift key is active; false if it is inactive.
targetThe InteractiveObject instance under the touching device. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

Related API Elements


Example  ( How to use this example )

The following example shows event handling for the GESTURE_ROTATE events. While the user performs a rotation gesture on the touch-enabled device, mySprite rotates and myTextField populates with the current phase.
Multitouch.inputMode = MultitouchInputMode.GESTURE;

var mySprite = new Sprite();
mySprite.addEventListener(TransformGestureEvent.GESTURE_ROTATE , onRotate );
mySprite.graphics.beginFill(0x336699);
mySprite.graphics.drawRect(0, 0, 100, 80);
var myTextField = new TextField();
myTextField.y = 200;
addChild(mySprite);
addChild(myTextField);

function onRotate(evt:TransformGestureEvent):void {

    evt.target.rotation -= 45;

    if (evt.phase==GesturePhase.BEGIN) {
        myTextField.text = "Begin";
    }
    if (evt.phase==GesturePhase.UPDATE) {
        myTextField.text = "Update";
    }
    if (evt.phase==GesturePhase.END) {
        myTextField.text = "End";
    }
}

GESTURE_SWIPE

Constant 
public static const GESTURE_SWIPE:String = "gestureSwipe"

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the type property of a GESTURE_SWIPE touch event object.

The dispatched TransformGestureEvent object has the following properties:

PropertyValue
altKeytrue if the Alt key is active (Windows or Linux).
bubblestrue
cancelablefalse; there is no default behavior to cancel.
commandKeytrue on the Mac if the Command key is active; false if it is inactive. Always false on Windows.
controlKeytrue if the Ctrl or Control key is active; false if it is inactive.
ctrlKeytrue on Windows or Linux if the Ctrl key is active. true on Mac if either the Ctrl key or the Command key is active. Otherwise, false.
currentTargetThe object that is actively processing the Event object with an event listener.
phaseThe current phase in the event flow. For swipe events, this value is always all corresponding to the value GesturePhase.ALL once the event is dispatched.
localXThe horizontal coordinate at which the event occurred relative to the containing sprite.
localYThe vertical coordinate at which the event occurred relative to the containing sprite.
scaleXThe horizontal scale of the display object. For swipe gestures this value is 1
scaleYThe vertical scale of the display object. For swipe gestures this value is 1
rotationThe current rotation angle, in degrees, of the display object along the z-axis. For swipe gestures this value is 0
offsetXIndicates horizontal direction: 1 for right and -1 for left.
offsetYIndicates vertical direction: 1 for down and -1 for up.
velocityIndicates velocity of the swipe gesture in pixels per second (AIR only). For rest, this value is 0
shiftKeytrue if the Shift key is active; false if it is inactive.
targetThe InteractiveObject instance under the touching device. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

Related API Elements


Example  ( How to use this example )

The following example shows event handling for the GESTURE_SWIPE events. While the user performs a swipe gesture on the touch-enabled device, myTextField populates with the phase all, which is the only phase for swipe events.
Multitouch.inputMode = MultitouchInputMode.GESTURE;

var mySprite = new Sprite();
mySprite.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
mySprite.graphics.beginFill(0x336699);
mySprite.graphics.drawRect(0, 0, 100, 80);
var myTextField = new TextField();
myTextField.y = 200;
addChild(mySprite);
addChild(myTextField);

function onSwipe(evt:TransformGestureEvent):void {

    if (evt.offsetX == 1 ) {
    myTextField.text = "right";
    }
    if (evt.offsetY == -1) {
    myTextField.text = "up";
    }
    myTextField.text = evt.phase;

}

GESTURE_ZOOM

Constant 
public static const GESTURE_ZOOM:String = "gestureZoom"

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the type property of a GESTURE_ZOOM touch event object.

The dispatched TransformGestureEvent object has the following properties:

PropertyValue
altKeytrue if the Alt key is active (Windows or Linux).
bubblestrue
cancelablefalse; there is no default behavior to cancel.
commandKeytrue on the Mac if the Command key is active; false if it is inactive. Always false on Windows.
controlKeytrue if the Ctrl or Control key is active; false if it is inactive.
ctrlKeytrue on Windows or Linux if the Ctrl key is active. true on Mac if either the Ctrl key or the Command key is active. Otherwise, false.
currentTargetThe object that is actively processing the Event object with an event listener.
phaseThe current phase in the event flow; a value from the GesturePhase class.
localXThe horizontal coordinate at which the event occurred relative to the containing display object.
localYThe vertical coordinate at which the event occurred relative to the containing display object.
scaleXThe horizontal scale of the display object since the previous gesture event.
scaleYThe vertical scale of the display object since the previous gesture event.
rotationThe current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event.
offsetXThe horizontal translation of the display object from its position at the previous gesture event.
offsetYThe vertical translation of the display object from its position at the previous gesture event.
velocityThe velocity of the gesture event in pixels per second (AIR only). For zoom gesture this value is 0
shiftKeytrue if the Shift key is active; false if it is inactive.
targetThe InteractiveObject instance under the touching device. The target is not always the object in the display list that registered the event listener. Use the currentTarget property to access the object in the display list that is currently processing the event.

Related API Elements


Example  ( How to use this example )

The following example shows event handling for the GESTURE_ZOOM events. While the user performs a zoom gesture on the touch-enabled device, myTextField populates with the current phase.
Multitouch.inputMode = MultitouchInputMode.GESTURE;

var mySprite = new Sprite();
mySprite.addEventListener(TransformGestureEvent.GESTURE_ZOOM , onZoom);
mySprite.graphics.beginFill(0x336699);
mySprite.graphics.drawRect(0, 0, 100, 80);
var myTextField = new TextField();
myTextField.y = 200;
addChild(mySprite);
addChild(myTextField);

function onZoom(evt:TransformGestureEvent):void {

    evt.target.scaleX++;

    if (evt.phase==GesturePhase.BEGIN) {
        myTextField.text = "Begin";
    }
    if (evt.phase==GesturePhase.UPDATE) {
        myTextField.text = "Update";
    }
    if (evt.phase==GesturePhase.END) {
        myTextField.text = "End";
    }
}
TransformGestureEventExample.as

The following example shows event handling for the GESTURE_ROTATE events. While the user performs a rotation gesture on the touch-enabled device, mySprite rotates and myTextField populates with the current phase.
Multitouch.inputMode = MultitouchInputMode.GESTURE;

var mySprite = new Sprite();
mySprite.addEventListener(TransformGestureEvent.GESTURE_ROTATE , onRotate );
mySprite.graphics.beginFill(0x336699);
mySprite.graphics.drawRect(0, 0, 100, 80);
var myTextField = new TextField();
myTextField.y = 200;
addChild(mySprite);
addChild(myTextField);

function onRotate(evt:TransformGestureEvent):void {

    evt.target.rotation -= 45;

    if (evt.phase==GesturePhase.BEGIN) {
        myTextField.text = "Begin";
    }
    if (evt.phase==GesturePhase.UPDATE) {
        myTextField.text = "Update";
    }
    if (evt.phase==GesturePhase.END) {
        myTextField.text = "End";
    }
}
TransformGestureExample2.as

The following example shows how to handle transform gesture events. This example assumes an image is on your local system called "african_elephant.jpg" and in the same directory as the TransformGestureExample2 class. This example comes from Christian Cantrell, and is explained in more detail in his quickstart: Multi-touch and gesture support on the Flash Platform.
 package
{
    import flash.display.Bitmap;
    import flash.display.Sprite;
    import flash.events.TransformGestureEvent;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.ui.Multitouch;
    import flash.ui.MultitouchInputMode;
    
    [SWF(width=320, height=460, frameRate=24, backgroundColor=0x000000)]
    public class TransformGestureExample2 extends Sprite
    {
        [Embed(source="african_elephant.jpg")]
        public var ElephantImage:Class;
        public var scaleDebug:TextField;
        public var rotateDebug:TextField;

        public function TransformGestureExample2()
        {
            // Debug
            var tf:TextFormat = new TextFormat();
            tf.color = 0xffffff;
            tf.font = "Helvetica";
            tf.size = 11;
            this.scaleDebug = new TextField();
            this.scaleDebug.width = 310;
            this.scaleDebug.defaultTextFormat = tf;
            this.scaleDebug.x = 2;
            this.scaleDebug.y = 2;
            this.stage.addChild(this.scaleDebug);
            this.rotateDebug = new TextField();
            this.rotateDebug.width = 310;
            this.rotateDebug.defaultTextFormat = tf;
            this.rotateDebug.x = 2;
            this.rotateDebug.y = 15;
            this.stage.addChild(this.rotateDebug);

            var elephantBitmap:Bitmap = new ElephantImage();
            var elephant:Sprite = new Sprite();
            
            elephant.addChild(elephantBitmap);
            
            elephant.x = 160;
            elephant.y = 230;
            
            elephantBitmap.x = (300 - (elephantBitmap.bitmapData.width / 2)) * -1;
            elephantBitmap.y = (400 - (elephantBitmap.bitmapData.height / 2)) *-1;
            
            this.addChild(elephant);

            Multitouch.inputMode = MultitouchInputMode.GESTURE;
            elephant.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
            elephant.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate);
        }
        
        private function onZoom(e:TransformGestureEvent):void
        {
            this.scaleDebug.text = (e.scaleX + ", " + e.scaleY);
            var elephant:Sprite = e.target as Sprite;
            elephant.scaleX *= e.scaleX;
            elephant.scaleY *= e.scaleY;
        }
        
        private function onRotate(e:TransformGestureEvent):void
        {
            var elephant:Sprite = e.target as Sprite;
            this.rotateDebug.text = String(e.rotation);
            elephant.rotation += e.rotation;
        }
    }
}