| <!-- |
| 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. |
| --> |
| <!-- saved from url=(0014)about:internet -->
|
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| <html xmlns="http://www.w3.org/1999/xhtml">
|
| <head>
|
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
| <title>SampleMultitouch.mxml</title>
|
| <link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
|
| </head>
|
|
|
| <body>
|
| <pre><span class="MXMLProcessing_Instruction"> <?xml version="1.0" encoding="utf-8"?></span>
|
| <span class="MXMLComponent_Tag"><s:View</span><span class="MXMLDefault_Text"> xmlns:fx="</span><span class="MXMLString">http://ns.adobe.com/mxml/2009</span><span class="MXMLDefault_Text">" viewActivate="view1_viewActivateHandler(event)"
|
| xmlns:s="</span><span class="MXMLString">library://ns.adobe.com/flex/spark</span><span class="MXMLDefault_Text">" title="</span><span class="MXMLString">Multitouch</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">></span>
|
|
|
| <span class="MXMLSpecial_Tag"><fx:Declarations></span>
|
| <span class="MXMLSpecial_Tag"><fx:Component</span><span class="MXMLDefault_Text"> className="</span><span class="MXMLString">Circle</span><span class="MXMLDefault_Text">"</span><span class="MXMLSpecial_Tag">></span>
|
| <span class="MXMLComponent_Tag"><s:Ellipse</span><span class="MXMLDefault_Text"> width="</span><span class="MXMLString">120</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">120</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">></span>
|
| <span class="MXMLComponent_Tag"><s:fill></span>
|
| <span class="MXMLComponent_Tag"><s:SolidColor</span><span class="MXMLDefault_Text"> color="</span><span class="MXMLString">haloBlue</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:fill></span>
|
| <span class="MXMLComponent_Tag"></s:Ellipse></span>
|
| <span class="MXMLSpecial_Tag"></fx:Component></span>
|
| <span class="MXMLSpecial_Tag"></fx:Declarations></span>
|
|
|
| <span class="MXMLSpecial_Tag"><fx:Script></span>
|
| <![CDATA[
|
| <span class="ActionScriptReserved">import</span> spark.components.supportClasses.StyleableTextField;
|
| <span class="ActionScriptReserved">import</span> spark.events.ViewNavigatorEvent;
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">circles</span>:<span class="ActionScriptDefault_Text">Object</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Object</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
|
|
|
| <span class="ActionScriptReserved">protected</span> function view1_viewActivateHandler(event:ViewNavigatorEvent):<span class="ActionScriptReserved">void</span>
|
| {
|
| <span class="ActionScriptReserved">if</span> (!Multitouch.supportsTouchEvents)
|
| currentState = <span class="ActionScriptString">"unsupported"</span>;
|
| <span class="ActionScriptReserved">else</span>
|
| {
|
| currentState = <span class="ActionScriptString">"normal"</span>;
|
| Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
|
| log.appendText(<span class="ActionScriptString">"Max touch points supported: "</span> + Multitouch.maxTouchPoints +<span class="ActionScriptString">"\n"</span>);
|
| <span class="ActionScriptReserved"></span>addEventListener(TouchEvent.TOUCH_BEGIN,onTouchBegin);
|
| addEventListener(TouchEvent.TOUCH_END,onTouchEnd);
|
| <span class="ActionScriptReserved"></span>addEventListener(TouchEvent.TOUCH_MOVE,onTouchMove);
|
| <span class="ActionScriptReserved"></span>addEventListener(TouchEvent.TOUCH_OUT,onTouchOut);
|
| <span class="ActionScriptReserved"></span>addEventListener(TouchEvent.TOUCH_OVER,onTouchOver);
|
| <span class="ActionScriptReserved"></span>addEventListener(TouchEvent.TOUCH_ROLL_OUT,onTouchRollOut);
|
| <span class="ActionScriptReserved"></span>addEventListener(TouchEvent.TOUCH_ROLL_OVER,onTouchRollOver);
|
| <span class="ActionScriptReserved"></span>addEventListener(TouchEvent.TOUCH_TAP,onTouchTap);
|
| }
|
| }
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onTouchBegin</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">TouchEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendText</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"Touch Begin\n"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">c</span>:<span class="ActionScriptDefault_Text">Circle</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Circle</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">c</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">x</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">localX</span> <span class="ActionScriptOperator">-</span> 70;
|
| <span class="ActionScriptDefault_Text">c</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">y</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">localY</span> <span class="ActionScriptOperator">-</span> 70;
|
| pnl.<span class="ActionScriptDefault_Text">addElement</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">c</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">circles</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">touchPointID</span><span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">c</span>;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onTouchEnd</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">TouchEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendText</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"Touch End\n"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">circles</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">touchPointID</span><span class="ActionScriptBracket/Brace">]</span> <span class="ActionScriptOperator">!=</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">pnl.removeElement(circles[event.touchPointID]);</span>
|
| <span class="ActionScriptReserved">delete</span> <span class="ActionScriptDefault_Text">circles</span><span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptDefault_Text">event</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">touchPointID</span><span class="ActionScriptBracket/Brace">]</span>;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
| <span class="ActionScriptReserved">else</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| log.appendText(<span class="ActionScriptString">"couldn't find "</span> + event.touchPointID);
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> onTouchMove(event:TouchEvent):<span class="ActionScriptReserved">void</span>
|
| {
|
| log.appendText(<span class="ActionScriptString">"Touch Move\n"</span>);
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| <span class="ActionScriptReserved">if</span> (circles[event.touchPointID] != <span class="ActionScriptReserved">null</span>)
|
| {
|
| circles[event.touchPointID].x = event.localX - 70;
|
| circles[event.touchPointID].y = event.localY - 70;
|
| }
|
| <span class="ActionScriptReserved">else</span>
|
| {
|
| log.appendText(<span class="ActionScriptString">"couldn't find "</span> + event.touchPointID);
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| }
|
| }
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onTouchOut</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">TouchEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendText</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"Touch Out\n"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onTouchOver</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">TouchEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendText</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"Touch Over\n"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onTouchRollOut</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">TouchEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendText</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"Touch Roll Out\n"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onTouchRollOver</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">TouchEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendText</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"Touch Roll Over\n"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onTouchTap</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">event</span>:<span class="ActionScriptDefault_Text">TouchEvent</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">appendText</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"Touch Tap\n"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| StyleableTextField(log.textDisplay).scrollV = StyleableTextField(log.textDisplay).scrollV+1;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
| <span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">></span>
|
| <span class="MXMLSpecial_Tag"></fx:Script></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:states></span>
|
| <span class="MXMLComponent_Tag"><s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">normal</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">unsupported</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:states></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:layout></span>
|
| <span class="MXMLComponent_Tag"><s:VerticalLayout</span><span class="MXMLDefault_Text"> paddingTop="</span><span class="MXMLString">25</span><span class="MXMLDefault_Text">" paddingBottom="</span><span class="MXMLString">5</span><span class="MXMLDefault_Text">" paddingLeft="</span><span class="MXMLString">5</span><span class="MXMLDefault_Text">" paddingRight="</span><span class="MXMLString">5</span><span class="MXMLDefault_Text">" gap="</span><span class="MXMLString">5</span><span class="MXMLDefault_Text">"
|
| horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:layout></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">This device does not support multitouch.</span><span class="MXMLDefault_Text">" includeIn="</span><span class="MXMLString">unsupported</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:TextArea</span><span class="MXMLDefault_Text"> editable="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">"
|
| width="</span><span class="MXMLString">95%</span><span class="MXMLDefault_Text">" includeIn="</span><span class="MXMLString">normal</span><span class="MXMLDefault_Text">" paddingTop="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">" paddingLeft="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">" paddingRight="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">"
|
| text="</span><span class="MXMLString">Touch the screen to see a circle show up at the location where the touch event was received.</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:VGroup</span><span class="MXMLDefault_Text"> width="</span><span class="MXMLString">400</span><span class="MXMLDefault_Text">" includeIn="</span><span class="MXMLString">normal</span><span class="MXMLDefault_Text">" bottom="</span><span class="MXMLString">10</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">></span>
|
| <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">Event Log:</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:TextArea</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">log</span><span class="MXMLDefault_Text">" editable="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">300</span><span class="MXMLDefault_Text">" enabled="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:Button</span><span class="MXMLDefault_Text"> label="</span><span class="MXMLString">Clear log</span><span class="MXMLDefault_Text">" click="</span><span class="ActionScriptDefault_Text">log</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">text</span><span class="ActionScriptOperator">=</span><span class="ActionScriptString">''</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:VGroup></span>
|
| <span class="MXMLComponent_Tag"></s:View></span></pre></body>
|
| </html>
|