<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jonathan Campos' Blog</title>
	
	<link>http://www.unitedmindset.com/jonbcampos</link>
	<description>Blog on technology and software development typically around Adobe Flash, Flex, and AIR.</description>
	<lastBuildDate>Thu, 21 Mar 2013 15:37:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/TheWorldInAStateOfFlex" /><feedburner:info uri="theworldinastateofflex" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Speaking at the first 360Stack</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/WslrBDdQUQ4/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2013/03/21/speaking-at-the-first-360stack/#comments</comments>
		<pubDate>Thu, 21 Mar 2013 15:37:58 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2595</guid>
		<description><![CDATA[Recently I&#8217;ve been kept SUPER DUPER busy with many different development projects that are all seeming to wrap up at the same time. Soon you&#8217;ll see some new Flash work coming out of an innovative ad delivery company in San Fran, plenty of Flex Mobile and Feathers Mobile work that you won&#8217;t see &#8211; all [...]]]></description>
				<content:encoded><![CDATA[<p>Recently I&#8217;ve been kept SUPER DUPER busy with many different development projects that are all seeming to wrap up at the same time. Soon you&#8217;ll see some new Flash work coming out of an innovative ad delivery company in San Fran, plenty of Flex Mobile and Feathers Mobile work that you won&#8217;t see &#8211; all internal stuff.</p>
<p><span id="more-2595"></span></p>
<p>For some of my clients I&#8217;ve been lucky enough to work with some new development and put out some projects with some new technology and some technology that is &#8220;new to me&#8221;. It&#8217;s been fun recently putting out apps made with Native Android though I can definitely say that I miss some of my <a href="http://manning.com/campos/">old Flex Mobile tricks</a> that I&#8217;ve gotten really good at.</p>
<p>At <a href="https://twitter.com/360stack">360Stack</a> I&#8217;m going to be sharing some of the lessons I&#8217;ve learned from some of these projects. One project was made with <a href="http://backbonejs.org/">Backbone.js</a> and <a href="http://jquerymobile.com/">jQuery Mobile</a>. That was a fun project that was fairly straight forward and really showed me what is possible &#8211; and the limitations &#8211; of mobile applications running on JavaScript. I&#8217;ll give you a quick heads up, lots is possible though some times you&#8217;ll just have to accept slow downs in places you may not have expected.</p>
<p>The next project that I&#8217;m sure you know about and have watched with great anticipation &#8211; just like every nerd in the World &#8211; is <a href="http://www.google.com/glass/start/">Google Glass</a>. I&#8217;m lucky enough to be explorer #315 and will be sharing what I&#8217;ve uncovered from working with Glass, share code, and basically geek out with everyone.</p>
<p>If you&#8217;ve never been to a <a href="http://www.360stack.com/">360</a> before you&#8217;re missing out as it is one of my favorite conferences to go to. You can see the <a href="http://www.360stack.com/schedule/">fantastic schedule here</a> if you have any questions about the caliber of the conference. What I like is this is a &#8220;small&#8221; conference where you can really sit down and interact with other conference goers and the speakers and drill into technology, not just get spoken to.</p>
<p>I hope to see you in Denver!</p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/WslrBDdQUQ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2013/03/21/speaking-at-the-first-360stack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2013/03/21/speaking-at-the-first-360stack/</feedburner:origLink></item>
		<item>
		<title>What have I been up to?</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/5TETkpqom70/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2012/11/10/what-have-i-been-up-to/#comments</comments>
		<pubDate>Sat, 10 Nov 2012 20:22:51 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2586</guid>
		<description><![CDATA[This blog has been neglected for a LONG time. First it was because I was spending time writing a book. Then it was because I spent too much time with too many clients building too many apps. Then it was because I spent just the right amount of time learning (a lot) of new stuff. [...]]]></description>
				<content:encoded><![CDATA[<p>This blog has been neglected for a LONG time. First it was because I was spending time writing a book. Then it was because I spent too much time with too many clients building too many apps. Then it was because I spent just the right amount of time learning (a lot) of new stuff.</p>
<p>As I&#8217;m wanting to get back into my blogging I&#8217;m using this as my kickoff. If I have some time I&#8217;ll update the look, but for now it will have to stay the same.</p>
<p>So what have I been up to?</p>
<p><span id="more-2586"></span></p>
<p><strong>1. Flex/Air Mobile Development</strong></p>
<p>Clients love the Air Platform. Being able to make one app that runs on a variety of devices just blows their mind. And <a href="http://incubator.apache.org/flex/">Apache Flex</a> still knocks out the job best for fast customizable development. I&#8217;ve put out around a dozen apps on various platforms &#8211; some public many private.</p>
<p><strong>2. Android Development</strong></p>
<p>Many of my clients are using the <a href="http://www.android.com/">Android Platform</a>. In over a year I haven&#8217;t even heard the iOS platform been requested. Well that isn&#8217;t 100% true &#8211; when doing AIR development they like having the ability to output to iOS. Android just works in so many places and with some of the newest Jelly Bean developments clients are just tickled &#8220;jelly bean&#8221; pink to have apps on Android.</p>
<p>I&#8217;ve said it before that the <a href="https://plus.google.com/+projectglass/posts">Google Glass Project</a> may be a success or may be a total failure but I have a bunch of clients that have a variety of plans for those little toys. They are all waiting for the hardware to become available.  As such I&#8217;ve been brushing up on my Java flavored Android.</p>
<p><strong>3. New Developments in HTML5 Development</strong></p>
<p>I used to be waist deep in HTML/JS development back in the day. Then Flex came and made life fun. With everything changing the way it is I&#8217;ve had to keep up with what is going on though so far most of my clients prefer to have Native or AIR applications over HTML development. As important as the new changes in HTML are they currently don&#8217;t meet the same level of Native or AIR applications &#8211; though <a href="http://phonegap.com/">Phonegap</a> (one of the things I&#8217;m playing with) helps.</p>
<p><strong>4. Feathers/AIR Development</strong></p>
<p>I&#8217;ve been having fun with <a href="http://feathersui.com/">FeathersUI</a> recently and need to share some of the application designs I&#8217;ve been using successfully for quite a while. FeathersUI is similar enough to Flex with a high speed turbo boost thanks to it running on Stage3D.</p>
<p><strong>What&#8217;s Next?</strong></p>
<p>For now this is the plan. Keep moving forward at moving forward. Lots of development to do and as a developer I pick up whatever is necessary. This year I&#8217;m looking forward to enjoying playing with new technology and new ways to interact with data. I&#8217;m getting bored with the screen and keyboard along with mobile phones.</p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/5TETkpqom70" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2012/11/10/what-have-i-been-up-to/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2012/11/10/what-have-i-been-up-to/</feedburner:origLink></item>
		<item>
		<title>Flex Mobile In Action</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/wZ2Akg-A1NE/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2012/04/10/flex-mobile-in-action/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 16:55:06 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2581</guid>
		<description><![CDATA[I know that my blog posts have gone to almost zero for the last few months, but there is a really good reason for that&#8230; I wrote a book! Almost 400 pages in all, this book focuses on using Flex to build mobile application for Android, iOS, and QNX platforms using Adobe Air. Flex Mobile [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://manning.com/campos/"><img class="alignleft size-full wp-image-2582" style="margin-left: 10px; margin-right: 10px; margin-top: 0px; margin-bottom: 0px;" title="Flex Mobile In Action" src="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2012/04/campos_cover150.jpg" alt="Flex Mobile In Action Cover Image" width="150" height="188" /></a> I know that my blog posts have gone to almost zero for the last few months, but there is a really good reason for that&#8230; I wrote a book! Almost 400 pages in all, this book focuses on using Flex to build mobile application for Android, iOS, and QNX platforms using Adobe Air.</p>
<p><em><a href="http://manning.com/campos/">Flex Mobile in Action</a></em> teaches you to use the powerful Flex Platform to create applications that can stretch across Apple iOS, Android, and BlackBerry devices. It focuses on practical application development techniques such as accessing native device capabilities, choosing the right architectural patterns, building data access models, and more. For developers new to Flex, the book provides a quick overview that will get you started in no time.</p>
<p>I am quickly wrapping up this book with final versions going out soon, now is a great time to get into mobile with Flex and AIR. Making one application that targets multiple platforms has never been easier. Go ahead and get your copy now.</p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/wZ2Akg-A1NE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2012/04/10/flex-mobile-in-action/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2012/04/10/flex-mobile-in-action/</feedburner:origLink></item>
		<item>
		<title>360Flex 2012</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/_gApC2tWAe0/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2012/03/08/360flex-2012/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 03:46:59 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2577</guid>
		<description><![CDATA[360Flex is a conference that I always look forward to. No other conference has the ability to bring together new and old initiates into the community and end with everyone as close friends. Every year I look forward to the conversations, drinking, long walks on the beach&#8230; you get the idea. This year my talk [...]]]></description>
				<content:encoded><![CDATA[<p>360Flex is a conference that I always look forward to. No other conference has the ability to bring together new and old initiates into the community and end with everyone as close friends. Every year I look forward to the conversations, drinking, long walks on the beach&#8230; you get the idea.</p>
<p>This year my talk is going to be a bit different than any other song and dance I&#8217;ve done before. Could be bad. Could be great! We&#8217;ll have to see.</p>
<p>This is where you come in.</p>
<p>I am looking for questions from the community now and all the way till we are all in the same room together about mobile development. Over the last 2 years I&#8217;ve been fortunate to have a long string of mobile projects &#8211; both for clients and home grown. I am looking at spending this time to discuss theory, best practices, code, and whatever else may just be slowing you down in your mobile development. Please post questions here in the comments or contact me at <a href="https://twitter.com/#!/jonbcampos">@jonbcampos</a>.</p>
<p><a href="http://www.360flex.com/schedule/">I will be presenting in a general session on wednesday.</a></p>
<p>In additional to my presentation 360Flex is an exciting time because that is when my book, <a href="http://manning.com/campos/">Flex Mobile In Action</a>, will be released. I will be giving away 5 copies of my book at 360Flex to the 5 best questions that I receive.</p>
<p>I look forward to your questions.</p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/_gApC2tWAe0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2012/03/08/360flex-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2012/03/08/360flex-2012/</feedburner:origLink></item>
		<item>
		<title>ApplicationFinder.ane</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/RLD4F4eAzQI/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2011/11/07/applicationfinder-ane/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 22:32:18 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[Air for Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[ane]]></category>
		<category><![CDATA[applicationfinder]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2571</guid>
		<description><![CDATA[This is the first ANE that I made for my own project&#8230; hopefully my other ones can be released soon. Anyways, let&#8217;s get right to it. The ApplicationFinder ANE is something I created to help you find other Applications on your Android system. You can get information 2 ways. isAppInstalled(package:String):PackageInfo This method looks to see [...]]]></description>
				<content:encoded><![CDATA[<p>This is the first ANE that I made for my own project&#8230; hopefully my other ones can be released soon.</p>
<p>Anyways, let&#8217;s get right to it.</p>
<p>The ApplicationFinder ANE is something I created to help you find other Applications on your Android system. You can get information 2 ways.</p>
<p><em>isAppInstalled(package:String):PackageInfo</em></p>
<p>This method looks to see if a particular application (by app id) is installed. If the application is installed ApplicationFinder returns the name, package id, version number, and version name of the application. If the app isn&#8217;t installed you get <em>null</em>.</p>
<p><em>getInstalledApps():Array</em></p>
<p>This method just returns to you the entire list of installed apps. Go nuts, search and find what you need. Like the <em>isAppInstalled</em> you get the name, package id, version number, and version name of the application.</p>
<p>Later I&#8217;ll add things like also returning the app icon, possibly some app management methods (startup, shutdown, etc).</p>
<p>I&#8217;ve included my test app here so you can run it, and then the ANE also. Enjoy!</p>
<p><a href="http://unitedmindset.com/jonbcampos/wp-content/flex_content/applicationfinder/ApplicationFinderApp.fxp">Test Application (FXP)</a><br />
<a href="http://unitedmindset.com/jonbcampos/wp-content/flex_content/applicationfinder/ApplicationFinder.ane">ApplicationFinder.ane</a></p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/RLD4F4eAzQI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2011/11/07/applicationfinder-ane/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2011/11/07/applicationfinder-ane/</feedburner:origLink></item>
		<item>
		<title>Queue Manager for Sony Tablets</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/G_hXA8oFRGw/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2011/10/27/queue-manager-for-sony-tablets/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 03:33:41 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[Air for Android]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[queue manager]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2564</guid>
		<description><![CDATA[Today I am releasing a custom Queue Manager for the Sony Tablets and the Air App Challenge. Thanks to Adobe AIR and Flex this process was extremely simple. Feel free to poke through if you have a Netflix account. This new version uses the newest versions of Flex and AIR. Feel free to leave comments [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/10/icon128.png" alt="" title="Queue Manager Icon" width="128" height="128" class="alignleft size-full wp-image-2565" /> Today I am releasing a custom Queue Manager for the Sony Tablets and the Air App Challenge.</p>
<p>Thanks to Adobe AIR and Flex this process was extremely simple. Feel free to poke through if you have a Netflix account. This new version uses the newest versions of Flex and AIR.</p>
<p>Feel free to leave comments and let me know your thoughts.</p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/G_hXA8oFRGw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2011/10/27/queue-manager-for-sony-tablets/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2011/10/27/queue-manager-for-sony-tablets/</feedburner:origLink></item>
		<item>
		<title>Reflections on Adobe Max 2011</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/CblReKbNBTw/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2011/10/11/reflections-on-adobe-max-2012/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 17:00:55 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2552</guid>
		<description><![CDATA[Disclaimer: First off, I&#8217;m not an Adobe employee and so all the thoughts presented are my own. I do however make a living off of Adobe products and use them daily&#8230; basically consistently. As such I feel that I have a good grasp of the possible pitfalls when using the tooling. Anyways, enough disclaimer. Rather [...]]]></description>
				<content:encoded><![CDATA[<p>Disclaimer:<br />
First off, I&#8217;m not an Adobe employee and so all the thoughts presented are my own. I do however make a living off of Adobe products and use them daily&#8230; basically consistently. As such I feel that I have a good grasp of the possible pitfalls when using the tooling. Anyways, enough disclaimer.</p>
<p><a href="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/10/Screen-shot-2011-10-11-at-10.32.05-AM.png"><img class="alignnone size-medium wp-image-2553" title="Screen shot 2011-10-11 at 10.32.05 AM" src="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/10/Screen-shot-2011-10-11-at-10.32.05-AM-300x70.png" alt="" width="300" height="70" /></a></p>
<p>Rather than just saying &#8220;I loved it&#8221; or &#8220;I hated it&#8221; I&#8217;m going to run you through my flow of emotions throughout the week to try and communicate my stream of consciousness &#8211; hopefully it doesn&#8217;t drive you too crazy.</p>
<p><strong>PreMAX</strong></p>
<p><a href="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/10/big-tx-android-bbq-logo.png"><img class="alignleft size-full wp-image-2554" title="big-tx-android-bbq-logo" src="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/10/big-tx-android-bbq-logo.png" alt="" width="249" height="234" /></a>The week started for me already on the road going to and coming from the Big Android BBQ in Austin. Being crushed with the stress of trying to finish up my Air App Challenge application and prepping for 8 presentations in the next few days I definitely wasn&#8217;t as social as I usually would have been. I took a train to Austin to give me some time to work and when I arrived the Android Guys were doing what they do well &#8211; drink heavily. It was fun to see friends from last year&#8217;s conference and many people immediately recognized me as the person that represented Adobe and AIR at last year&#8217;s conference &#8211; many of them telling me how well their Air for Android apps were doing.</p>
<p>I was extremely impressed the entire time in Austin how well the Android Community opened their arms to Adobe and Adobe is doing all they can to repay them in kind. Presentation 1 was a panel with Terry Ryan, Todd Sanders, Kevin Schmidt, and Liz Fredrick. The first question out of the gate was &#8220;what is up with html5 vs flash&#8221;. Interrupting the Adobe people there I got on my soap box that Adobe isn&#8217;t Flash, it is just one tool in the toolbox. Long story short &#8211; as I will talk about HTML5 vs Flash later &#8211; things went well and the Android folks asked great questions with very frank answers returned.</p>
<p>Crazy rush off to Max and sadly missed the BBQ itself.</p>
<p>Arriving in LA the festivities started and continued into the great community summit the next day. Community Summit is no secret but only available for community leaders. If you want to join then start leading a user group or become an ACP. Glazing over what happened at Summit presentation 2 went down pretty well.</p>
<p>Only thing that got me upset was having a phone robbed from me at the community summit. No I didn&#8217;t get my phone taken, but &#8211; listen up motorola guys! &#8211; I totally deserved that phone and had barely stepped out of the room. Robbed.</p>
<p>Festivities continue and we are now into Day 1 of Max.<br />
<span id="more-2552"></span><br />
<strong>Day 1</strong><br />
Day 1 started with the Keynote and I will say I was very happy to see this Keynote. Even as a developer I will say that the last few years Keynotes seemed a bit too Flex and Flash heavy. I was very happy to see the designers get some love and the new set of apps and Cloud services. Lack of Oprah moments aside I was very happy with it and rushed off to presentation 3 knowing that day 2 Keynote was supposed to be developer heavy. Seems fair to me.</p>
<p>During the Day 1 Keynote though the information dropped that Adobe bought PhoneGap. I was immediately very excited by this and happy for the purchase for both Adobe and Nitobi. Having worked with the PhoneGap guys previously for SXSW I was very happy because now Adobe seemed to have a very real mobile HTML story along with the Adobe AIR story. I felt there was a lot of &#8220;synergies&#8221; in this marriage and everyone should be happy. Having seen the PhoneGap cloud solutions at SXSW I felt between the different HTML mobile stories they were the most &#8220;complete&#8221; and have been nothing but impressed by their output. Again, great job Nitobi.</p>
<blockquote><p>- SXSW Reminder -<br />
Dedo Inc. was proudly picked to present at SXSW in Austin during the summer and brought together Adobe and Nitobi to each show off their multi-screen stories. With a few hundred people in attendance the presentation seemed to go pretty well. I already knew the AIR story by that point but while on the panel I even let Brian of Nitobi know how impressed I was by their solution. Even then I thought &#8220;if these two came together that would be awesome&#8221;.</p></blockquote>
<p>I knocked Presentation 3 out and Presentation 4 by that evening and we got into the sponsor&#8217;s bash or whatever it&#8217;s called. Everything seemed to be going well and I was looking forward to a busy day 2, interested in the Day 2 Keynote.</p>
<p><strong>Day 2</strong><br />
Day 2 keynote was a low point for me. Ben Forta did a great job, I don&#8217;t want to take that from him, but on the whole the pace was slow and we were walked through a giant horse and pony show of other people&#8217;s products when what I really wanted to see was what Adobe was bringing to the table.</p>
<p>Furthermore Adobe&#8217;s keynote was very focused on how they are supporting HTML5. Like day 1 I felt this very necessary and happy to hear but without a balanced message of the new Flash and AIR runtimes I felt that there was very little that spoke to me on the developer day. Walking away from the keynote I definitely felt that if I didn&#8217;t create games then the Flash Player was becoming not for me.</p>
<p>Nowholditrightthere!</p>
<p>I do know better. There is a lot of development in the pipe around Flex and AIR for many platforms. Even with just a little bit of my free time I&#8217;ve been able to create many application based on the same &#8220;core&#8221; that have received HUGE adoption numbers. These facts cannot be discounted.</p>
<p>Ultimately I think what happened was there was too much content and Flash/Flex got bumped for games and whatever-the-crap-that-tv-show-thing-was. The games are cool, totally cool, but how many people are creating triple A games and how many people are creating application for desktop and mobile for themselves or for clients. I left feeling that Adobe did a great job with the HTML segment and then completely talked to the &gt;1% of high end game developers. The only thing that would have saved that is if Adobe spent all that time on games to lead up to and announced a third purchase of Unity. Then I would have completely understood the lead up.</p>
<p>I left the keynote pretty underwhelmed and now &#8211; except for sneaks &#8211; on the downward path towards the end of Max for 2011. No more surprises to be had.</p>
<p>I knocked out another presentation, missed one (sorry Ryan), gave the <a href="http://itunes.apple.com/us/podcast/ria-radio/id421544947">NerdRadio kings an interview</a>, and finally joined in with Flash Jeopardy challenge. I&#8217;m very much hoping that a video of that is posted and soon because it was so much fun I hope others get to see it &#8211; even if I was robbed again at the end (Tony)!</p>
<p><strong>Sneaks</strong><br />
Sneaks were awesome as always. Rainn Wilson knocked it out of the ballpark and as you probably know by now Adobe showed why they are leaders in the industry with showing off software that we only dream about.</p>
<p><iframe src="http://www.youtube.com/embed/xxjiQoTp864" frameborder="0" width="560" height="315"></iframe></p>
<p><strong>MAX BASH</strong><br />
Awesome. Completely blew away last years. On par with the best ones I&#8217;ve been to. Again, great job Adobe.</p>
<p><strong>Day 3</strong><br />
Day 3 ended strong with me starting off as a TA and ending with 2 back to back presentations. It was nice to close things up and talk with people finally and spend time in the community lounge &#8211; I barely got that time previously. I also had fun catching up with Jesse F over some breakfast between everything else &#8211; good times.</p>
<p><strong>PS</strong><br />
Since Max many of the Evangelists have made posts saying that the message that came out was incomplete or miscommunicated. I do believe this is the truth, I just want to see the next few months to a year as proof of Adobe&#8217;s interest in application developers.</p>
<p><strong>Requests</strong></p>
<ul>
<li>Keep the Flex and the AIR teams going the way they are.</li>
<li>Don&#8217;t side burner them or ship it (Flex, AIR) all overseas.</li>
<li>Continue to innovate with Flash and deliver stellar releases.</li>
<li>Support open source communities like Spoon. (SPPOOOOOONNNN!!)</li>
<li>Continue to use your own tools to create applications (great job with those tablet apps)</li>
<li>I&#8217;d like to see a cloud build system for Flex/AIR/Flash projects like PhoneGap has. (I&#8217;ve said that before and I&#8217;ll say it again)</li>
<li>I&#8217;d love to see &#8220;MovieClip&#8221; have it&#8217;s own file type. So designers could create animations and hand over just the &#8220;movieclip&#8221; segment to a developer to be included with a larger project. Rather than FLA files which don&#8217;t play well with repositories.</li>
</ul>
<div>I have many more but it&#8217;s time to get back to work!</div>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/CblReKbNBTw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2011/10/11/reflections-on-adobe-max-2012/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2011/10/11/reflections-on-adobe-max-2012/</feedburner:origLink></item>
		<item>
		<title>TourDeFlex – Rotten Tomatoes AS3 API</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/tVyNzqL16LE/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2011/08/10/tourdeflex-rotten-tomatoes-as3-api/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 14:18:12 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[rotten tomatoes]]></category>
		<category><![CDATA[tourdeflex]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2546</guid>
		<description><![CDATA[Hey look at that! I added into Tour De Flex an example of my Rotten Tomatoes AS3 API. If you are looking to pull movie details this API is VASTLY simpler to use compared to the Netflix AS3 API that I also keep up. Hope you enjoy it! Feel free to let me know what [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/08/Screen-shot-2011-08-10-at-9.12.34-AM.png"><img class="alignnone size-medium wp-image-2547" title="Screen shot 2011-08-10 at 9.12.34 AM" src="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/08/Screen-shot-2011-08-10-at-9.12.34-AM-300x195.png" alt="" width="300" height="195" /></a><br />
Hey look at that!</p>
<p>I added into Tour De Flex an example of my Rotten Tomatoes AS3 API. If you are looking to pull movie details this API is VASTLY simpler to use compared to the Netflix AS3 API that I also keep up.</p>
<p>Hope you enjoy it! Feel free to let me know what you think!</p>
<p><iframe src="http://tourdeflex.adobe.com/badge/" frameborder="0" scrolling="no" width="216" height="182"></iframe></p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/tVyNzqL16LE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2011/08/10/tourdeflex-rotten-tomatoes-as3-api/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2011/08/10/tourdeflex-rotten-tomatoes-as3-api/</feedburner:origLink></item>
		<item>
		<title>Customizable Busy Indicator</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/507ToS-SbiU/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2011/08/05/customizable-busy-indicator/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 14:44:05 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Busy Indicator]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2531</guid>
		<description><![CDATA[A good friend of mine, Antonio Holguin, inspired me to write this blog post when he wanted a good, customized busy indicator for a new application that he is creating &#8211; and he wanted to know what the heck I did with Queue Manager. If you&#8217;ve seen my Queue Manager application you&#8217;ve probably noticed that [...]]]></description>
				<content:encoded><![CDATA[<p>A good friend of mine, <a href="http://blog.swfhead.com/" target="_blank">Antonio Holguin</a>, inspired me to write this blog post when he wanted a good, customized busy indicator for a new application that he is creating &#8211; and he wanted to know what the heck I did with Queue Manager. If you&#8217;ve seen my Queue Manager application you&#8217;ve probably noticed that I have a custom busy indicator that looks like an &#8220;N&#8221; as it&#8217;s loading (Designed by <a href="http://feedgrids.com/" target="_blank">Dimi Arhontidis</a>). </p>
<p><a href="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/08/Screen-shot-2011-08-05-at-9.21.42-AM.png"><img src="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/08/Screen-shot-2011-08-05-at-9.21.42-AM.png" alt="" title="Screen shot 2011-08-05 at 9.21.42 AM" width="375" height="146" class="alignnone size-full wp-image-2537" /></a></p>
<p>In this post I&#8217;m going to show you a class that I made after studying the Flex &#8220;BusyIndicator&#8221; class. Adobe has spent a great amount of time creating a great Busy Indicator, however I didn&#8217;t feel that the BusyIndicator was easily customizable, so I changed that.</p>
<p>Below is my code and some implementations.</p>
<p><span id="more-2531"></span></p>
<p>First, my custom class. The class is fairly straight forward and a slight modification of the Adobe provided BusyIndicator, however the thing that I did was add an easy way to override the shape creation function and give you two options to know where the loader is in progress, either through the selected index or the current rotation value. If you are using a circular loader then the &#8220;currentRotation&#8221; value may be better for you. For anything else the selectedIndex value may be better for you.</p>
<p>Use these values when you draw your symbols.</p>
<p><strong>CustomizableBusyIndicator</strong></p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package com.<span style="color: #006600;">unitedmindset</span>.<span style="color: #006600;">components</span><br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Graphics</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">TimerEvent</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">utils</span>.<span style="color: #006600;">Timer</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">DPIClassification</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">DesignLayer</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">FlexGlobals</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">IUIComponent</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">IVisualElement</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">UIComponent</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">events</span>.<span style="color: #006600;">FlexEvent</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">events</span>.<span style="color: #006600;">PropertyChangeEvent</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp;* &nbsp;The interval to delay, in milliseconds, between rotations of this<br />
&nbsp; &nbsp; &nbsp;* &nbsp;component. Controls the speed at which this component spins. <br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* &nbsp;@default 50<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* &nbsp;@langversion 3.0<br />
&nbsp; &nbsp; &nbsp;* &nbsp;@playerversion AIR 2.5<br />
&nbsp; &nbsp; &nbsp;* &nbsp;@productversion Flex 4.5<br />
&nbsp; &nbsp; &nbsp;* &nbsp; <br />
&nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span>Style<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">name</span>=<span style="color: #ff0000;">&quot;rotationInterval&quot;</span>, <span style="color: #0066CC;">type</span>=<span style="color: #ff0000;">&quot;Number&quot;</span>, format=<span style="color: #ff0000;">&quot;Time&quot;</span>, inherit=<span style="color: #ff0000;">&quot;no&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp;* &nbsp;Color of the symbols of the spinner.<br />
&nbsp; &nbsp; &nbsp;* &nbsp; <br />
&nbsp; &nbsp; &nbsp;* &nbsp;@default 0x000000<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* &nbsp;@langversion 3.0<br />
&nbsp; &nbsp; &nbsp;* &nbsp;@playerversion AIR 2.5<br />
&nbsp; &nbsp; &nbsp;* &nbsp;@productversion Flex 4.5<br />
&nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span>Style<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">name</span>=<span style="color: #ff0000;">&quot;symbolColor&quot;</span>, <span style="color: #0066CC;">type</span>=<span style="color: #ff0000;">&quot;uint&quot;</span>, format=<span style="color: #ff0000;">&quot;Color&quot;</span>, inherit=<span style="color: #ff0000;">&quot;yes&quot;</span>, theme=<span style="color: #ff0000;">&quot;spark,mobile&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Busy Indicator with easy to customize symbols.<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* Just override the drawSymbol() method to customize your symbols.<br />
&nbsp; &nbsp; &nbsp;* Override the measure method to adjust the sizes of the<br />
&nbsp; &nbsp; &nbsp;* busyindicator for different dpis. This is slightly modified code<br />
&nbsp; &nbsp; &nbsp;* from the Flex framework to make the busy indicator easier to customize<br />
&nbsp; &nbsp; &nbsp;* in my opinion while still being as lightweight as possible.<br />
&nbsp; &nbsp; &nbsp;* &nbsp;<br />
&nbsp; &nbsp; &nbsp;* @author jonbcampos<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CustomizableBusyIndicator <span style="color: #0066CC;">extends</span> UIComponent<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Constructor</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> CustomizableBusyIndicator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Listen to added to stage and removed from stage.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Start rotating when we are on the stage and stop</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// when we are removed from the stage.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addEventListener<span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">ADDED_TO_STAGE</span>, addedToStageHandler<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addEventListener<span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">REMOVED_FROM_STAGE</span>, removedFromStageHandler<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Class constants</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">static</span> <span style="color: #0066CC;">private</span> const DEFAULT_ROTATION_INTERVAL:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">50</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">static</span> <span style="color: #0066CC;">private</span> const DEFAULT_MINIMUM_WIDTH_SIZE:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">28</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">static</span> <span style="color: #0066CC;">private</span> const DEFAULT_MINIMUM_HEIGHT_SIZE:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">38</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Variables</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> effectiveVisibility:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> effectiveVisibilityChanged:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> oldUnscaledHeight:<span style="color: #0066CC;">Number</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> oldUnscaledWidth:<span style="color: #0066CC;">Number</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> rotationTimer:Timer;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Current rotation of this component in degrees.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Mimicked by the selectedIndex, though in index form.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; protected <span style="color: #000000; font-weight: bold;">var</span> currentRotation:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Current selected index of the symbols.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Mimicked by the currentRotation, though in degrees. <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; protected <span style="color: #000000; font-weight: bold;">var</span> selectedIndex:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _symbolQuantity:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _symbolQuantityChanged:<span style="color: #0066CC;">Boolean</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* The fewer the symbols the less the drawing<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* the faster the component.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* @return <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> symbolQuantity<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">int</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #b1b100;">return</span> _symbolQuantity; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> symbolQuantity<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>_symbolQuantity == value<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>value<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; value = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _symbolQuantity = value;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _symbolQuantityChanged = <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Private Properties </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Cache the last value of applicationDPI.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _applicationDPI:<span style="color: #0066CC;">Number</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Get the applicationDPI in use.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> applicationDPI<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>_applicationDPI<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> _applicationDPI;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> application:<span style="color: #0066CC;">Object</span> = FlexGlobals.<span style="color: #006600;">topLevelApplication</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;applicationDPI&quot;</span> <span style="color: #b1b100;">in</span> application<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _applicationDPI = application<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;applicationDPI&quot;</span><span style="color: #66cc66;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> _applicationDPI; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Overridden properties: UIComponent</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> designLayer<span style="color: #66cc66;">&#40;</span>value:DesignLayer<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">designLayer</span> = value;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibilityChanged = <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Overridden methods: UIComponent</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> commitProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">commitProperties</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>effectiveVisibilityChanged<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// if visibility changed, re-compute them here</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; computeEffectiveVisibility<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>canRotate<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stopRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibilityChanged = <span style="color: #000000; font-weight: bold;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>_symbolQuantityChanged<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _symbolQuantityChanged = <span style="color: #000000; font-weight: bold;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; updateSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> measure<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">measure</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Set the default measured size depending on the</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// applicationDPI</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>applicationDPI == DPIClassification.<span style="color: #006600;">DPI_320</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//12x12</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredWidth = <span style="color: #cc66cc;">42</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredHeight = <span style="color: #cc66cc;">42</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>applicationDPI == DPIClassification.<span style="color: #006600;">DPI_240</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//10x10</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredWidth = <span style="color: #cc66cc;">34</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredHeight = <span style="color: #cc66cc;">34</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>applicationDPI == DPIClassification.<span style="color: #006600;">DPI_160</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//8x8</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredWidth = <span style="color: #cc66cc;">28</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredHeight = <span style="color: #cc66cc;">28</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredWidth = DEFAULT_MINIMUM_WIDTH_SIZE;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredHeight = DEFAULT_MINIMUM_HEIGHT_SIZE;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredMinWidth = DEFAULT_MINIMUM_WIDTH_SIZE;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; measuredMinHeight = DEFAULT_MINIMUM_HEIGHT_SIZE;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Override so we know when visibility is set. The initialized<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;property calls setVisible() with noEvent == true<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;so we wouldn't get a visibility event if we just listened<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;for events.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> setVisible<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Boolean</span>, noEvent:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">setVisible</span><span style="color: #66cc66;">&#40;</span>value, noEvent<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibilityChanged = <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> styleChanged<span style="color: #66cc66;">&#40;</span>styleProp:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">styleChanged</span><span style="color: #66cc66;">&#40;</span>styleProp<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> allStyles:<span style="color: #0066CC;">Boolean</span> = <span style="color: #66cc66;">!</span>styleName <span style="color: #66cc66;">||</span> styleName == <span style="color: #ff0000;">&quot;styleName&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Check for skin/icon changes here.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// We could only throw out any skins that change,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// but since dynamic re-skinning is uncommon, we'll take</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// the simpler approach of throwing out all skins.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>allStyles <span style="color: #66cc66;">||</span> styleName == <span style="color: #ff0000;">&quot;rotationInterval&quot;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Update the timer if the rotation interval has changed.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>isRotating<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stopRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>allStyles <span style="color: #66cc66;">||</span> styleName == <span style="color: #ff0000;">&quot;symbolColor&quot;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; updateSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> updateDisplayList<span style="color: #66cc66;">&#40;</span>unscaledWidth:<span style="color: #0066CC;">Number</span>, unscaledHeight:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">updateDisplayList</span><span style="color: #66cc66;">&#40;</span>unscaledWidth, unscaledHeight<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// If the size changed, then create a new spinner.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>oldUnscaledWidth <span style="color: #66cc66;">!</span>= unscaledWidth <span style="color: #66cc66;">||</span> oldUnscaledHeight <span style="color: #66cc66;">!</span>= unscaledHeight<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> newDiameter:<span style="color: #0066CC;">Number</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; updateSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oldUnscaledWidth = unscaledWidth;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oldUnscaledHeight = unscaledHeight;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Methods</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp; @private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp; Update the spinner properties and redraw.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> updateSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> isRotating:<span style="color: #0066CC;">Boolean</span> = isRotating<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>isRotating<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stopRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; drawSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>isRotating<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Draw the spinner using the graphics property of this component.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; protected <span style="color: #000000; font-weight: bold;">function</span> drawSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> g:Graphics = graphics;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span> = -<span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span>++index<span style="color: #66cc66;">&lt;</span>symbolQuantity<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; drawSymbol<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Draws the symbol, use the index to determine the position, color, etc.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* @param index<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; protected <span style="color: #000000; font-weight: bold;">function</span> drawSymbol<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> startRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>rotationTimer<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> rotationInterval:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;rotationInterval&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">isNaN</span><span style="color: #66cc66;">&#40;</span>rotationInterval<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationInterval = DEFAULT_ROTATION_INTERVAL;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>rotationInterval <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">16.6</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationInterval = <span style="color: #cc66cc;">16.6</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationTimer = <span style="color: #000000; font-weight: bold;">new</span> Timer<span style="color: #66cc66;">&#40;</span>rotationInterval<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>rotationTimer.<span style="color: #006600;">hasEventListener</span><span style="color: #66cc66;">&#40;</span>TimerEvent.<span style="color: #006600;">TIMER</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationTimer.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TimerEvent.<span style="color: #006600;">TIMER</span>, timerHandler<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationTimer.<span style="color: #0066CC;">start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> stopRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>rotationTimer<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationTimer.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>TimerEvent.<span style="color: #006600;">TIMER</span>, timerHandler<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationTimer.<span style="color: #0066CC;">stop</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rotationTimer = <span style="color: #000000; font-weight: bold;">null</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> isRotating<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Boolean</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> rotationTimer <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;The BusyIndicator can be rotated if it is both on the display list and <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;visible.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@returns true if the BusyIndicator can be rotated, false otherwise.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> canRotate<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Boolean</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>effectiveVisibility <span style="color: #66cc66;">&amp;&amp;</span> <span style="color: #0066CC;">stage</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> computeEffectiveVisibility<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Check our design layer first.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>designLayer <span style="color: #66cc66;">&amp;&amp;</span> <span style="color: #66cc66;">!</span>designLayer.<span style="color: #006600;">effectiveVisibility</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibility = <span style="color: #000000; font-weight: bold;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Start out with true visibility and enablement</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// then loop up parent-chain to see if any of them are false.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibility = <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> current:IVisualElement = <span style="color: #0066CC;">this</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>current<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>current.<span style="color: #0066CC;">visible</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span><span style="color: #66cc66;">&#40;</span>current is IUIComponent<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">||</span> <span style="color: #66cc66;">!</span>IUIComponent<span style="color: #66cc66;">&#40;</span>current<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">isPopUp</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Treat all pop ups as if they were visible. This is to </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// fix a bug where the BusyIndicator does not spin when it </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// is inside modal popup. The problem is in we do not get </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// an event when the modal window is made visible in </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// PopUpManagerImpl.fadeInEffectEndHandler(). When the modal</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// window is made visible, setVisible() is passed &quot;true&quot; so </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// as to not send an event. When do get events when the </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// non-modal windows are popped up. Only modal windows are</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// a problem.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// The downside of this fix is BusyIndicator components that are</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// inside of hidden, non-modal, popup windows will paint themselves</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// on a timer.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibility = <span style="color: #000000; font-weight: bold;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current = current.<span style="color: #006600;">parent</span> as IVisualElement;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Add event listeners for SHOW and HIDE on all the ancestors up the parent chain.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Adding weak event listeners just to be safe.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> addVisibilityListeners<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> current:IVisualElement = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">parent</span> as IVisualElement;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>current<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// add visibility listeners to the parent</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>FlexEvent.<span style="color: #0066CC;">HIDE</span>, visibilityChangedHandler, <span style="color: #000000; font-weight: bold;">false</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>FlexEvent.<span style="color: #0066CC;">SHOW</span>, visibilityChangedHandler, <span style="color: #000000; font-weight: bold;">false</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current = current.<span style="color: #006600;">parent</span> as IVisualElement;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Remove event listeners for SHOW and HIDE on all the ancestors up the parent chain.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> removeVisibilityListeners<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> current:IVisualElement = <span style="color: #0066CC;">this</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>current<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>FlexEvent.<span style="color: #0066CC;">HIDE</span>, visibilityChangedHandler, <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>FlexEvent.<span style="color: #0066CC;">SHOW</span>, visibilityChangedHandler, <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current = current.<span style="color: #006600;">parent</span> as IVisualElement;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Overridden event handlers: UIComponent</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> layer_PropertyChange<span style="color: #66cc66;">&#40;</span>event:PropertyChangeEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">layer_PropertyChange</span><span style="color: #66cc66;">&#40;</span>event<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">property</span> == <span style="color: #ff0000;">&quot;effectiveVisibility&quot;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibilityChanged = <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// &nbsp;Event Handlers</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//--------------------------------------------------------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> addedToStageHandler<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Check our visibility here since we haven't added</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// visibility listeners yet.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; computeEffectiveVisibility<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>canRotate<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addVisibilityListeners<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> removedFromStageHandler<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stopRotation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; removeVisibilityListeners<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Event call back whenever the visibility of us or one of our ancestors <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;changes<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> visibilityChangedHandler<span style="color: #66cc66;">&#40;</span>event:FlexEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; effectiveVisibilityChanged = <span style="color: #000000; font-weight: bold;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;@private<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;Rotate the spinner once for each timer event.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> timerHandler<span style="color: #66cc66;">&#40;</span>event:TimerEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentRotation += <span style="color: #cc66cc;">360</span><span style="color: #66cc66;">/</span>symbolQuantity;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selectedIndex++;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>currentRotation <span style="color: #66cc66;">&gt;</span>= <span style="color: #cc66cc;">360</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentRotation = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selectedIndex = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; drawSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; event.<span style="color: #0066CC;">updateAfterEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>Next we need to customize and subclass the CustomizableBusyIndicator by overriding the <strong>drawSymbol</strong> method. Below are two examples of the customized busy indicator. The first I modeled after the Nintendo DS Loader &#8211; I was just playing Zelda, it&#8217;s all I could come up with.</p>
<p>The second is modeled after another loader I&#8217;ve seen, can&#8217;t remember where.</p>
<p>Customizing is easy and best of all the loader has been performance optimized. So you can create something custom is with the mental security you&#8217;re not screwing anything up. <img src='http://www.unitedmindset.com/jonbcampos/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_2532" class="wp-caption alignnone" style="width: 171px"><a href="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/08/Screen-shot-2011-08-05-at-9.13.56-AM.png"><img src="http://www.unitedmindset.com/jonbcampos/wp-content/uploads/2011/08/Screen-shot-2011-08-05-at-9.13.56-AM.png" alt="Busy Indicators" title="Busy Indicators" width="161" height="184" class="size-full wp-image-2532" /></a><p class="wp-caption-text">Busy Indicators</p></div>
<p><strong>DS Loader</strong></p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package com.<span style="color: #006600;">unitedmindset</span>.<span style="color: #006600;">components</span><br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Graphics</span>;<br />
<br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Busy Indicator modeled after the Nintendo DS Busy Indicator.<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @author jonbcampos<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;*/</span> <br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> DSBusyIndicator <span style="color: #0066CC;">extends</span> CustomizableBusyIndicator<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> DSBusyIndicator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//the quantity of symbols for this indicator.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//8 squares</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; symbolQuantity = <span style="color: #cc66cc;">8</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _symbolPadding:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _symbolWidth:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _symbolHeight:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Measures and sets size based on DPI. <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> measure<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//use the default sizes.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//I could also make different</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//sizes for my component by overriding.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">measure</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//I only want to make this</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//calculation when the measurement</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//changes, but it isn't super</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//necessary here. I would put it in the</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//drawSymbols method.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _symbolHeight = <span style="color: #66cc66;">&#40;</span>measuredHeight - <span style="color: #66cc66;">&#40;</span>_symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">3</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _symbolWidth = <span style="color: #66cc66;">&#40;</span>measuredWidth - <span style="color: #66cc66;">&#40;</span>_symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">3</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Kick starts drawing all the individual symbols. <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> drawSymbols<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">drawSymbols</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> symbolColor:uint = <span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;symbolColor&quot;</span><span style="color: #66cc66;">&#41;</span> as uint;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//make center square</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> g:Graphics = graphics;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>symbolColor, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> centerX:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span>measuredWidth - _symbolWidth<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> centerY:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span>measuredHeight - _symbolHeight<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span>centerX, centerY, _symbolWidth, _symbolHeight<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Draws one symbol.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* @param index The index shows which symbol in the matrix you are making. <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* This value is arbitrary and you can layout your symbols however you want<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* in whatever index order you want.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> drawSymbol<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">_alpha</span>:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> _posX:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> _posY:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> _alpha1:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0.4</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> _alpha2:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0.6</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">switch</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">0</span>: <span style="color: #808080; font-style: italic;">//top left</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//default pos</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span>: <span style="color: #808080; font-style: italic;">//top center</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = _symbolWidth + _symbolPadding;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span>: <span style="color: #808080; font-style: italic;">//top right</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = _symbolWidth<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span> + _symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">3</span>: <span style="color: #808080; font-style: italic;">//mid right</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = _symbolWidth<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span> + _symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = _symbolHeight + _symbolPadding;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">4</span>: <span style="color: #808080; font-style: italic;">//bottom right</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = _symbolWidth<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span> + _symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = _symbolHeight<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span> + _symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">5</span>: <span style="color: #808080; font-style: italic;">//bottom center</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = _symbolWidth + _symbolPadding;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = _symbolHeight<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span> + _symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">6</span>: <span style="color: #808080; font-style: italic;">//bottom left</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = _symbolHeight<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span> + _symbolPadding<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">7</span>: <span style="color: #808080; font-style: italic;">//mid left</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set alpha if it is the selected symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>selectedIndex==<span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = _alpha2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//position symbol</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = _symbolHeight + _symbolPadding;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//get the symbol style color</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> symbolColor:uint = <span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;symbolColor&quot;</span><span style="color: #66cc66;">&#41;</span> as uint;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//with all my positions determined,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//now actual draw the graphic</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> g:Graphics = graphics;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>symbolColor, <span style="color: #0066CC;">_alpha</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span>_posX, _posY, _symbolWidth, _symbolHeight<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p><strong>Other Loader</strong></p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package com.<span style="color: #006600;">unitedmindset</span>.<span style="color: #006600;">components</span><br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Graphics</span>;<br />
<br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Busy Indicator modeled after ?. <br />
&nbsp; &nbsp; &nbsp;* @author jonbcampos<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CirclesBusyIndicator <span style="color: #0066CC;">extends</span> CustomizableBusyIndicator<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> CirclesBusyIndicator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//the quantity of symbols for this indicator.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//6 circles</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; symbolQuantity = <span style="color: #cc66cc;">6</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//make it just a bit slower</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//you could also adjust the</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//speed by setting the style on</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//the component instance.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;rotationInterval&quot;</span>, <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _symbolWidth:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _symbolHeight:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _radius:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Measures and sets size based on DPI. <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> measure<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//use the default sizes.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//I could also make different</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//sizes for my component by overriding.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">super</span>.<span style="color: #006600;">measure</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//I only want to make this</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//calculation when the measurement</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//changes, but it isn't super</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//necessary here. I would put it in the</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//drawSymbols method.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _symbolHeight = measuredHeight<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">3</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _symbolWidth = measuredWidth<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">3</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _radius = measuredWidth <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">7</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* Draws one symbol.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* @param index The index shows which symbol in the matrix you are making. <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* This value is arbitrary and you can layout your symbols however you want<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* in whatever index order you want.<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; override protected <span style="color: #000000; font-weight: bold;">function</span> drawSymbol<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">_alpha</span>:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> _posX:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> _posY:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//if the selected index</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//is the index we are drawing</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//set it's alpha lower</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span>==selectedIndex<span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">_alpha</span> = <span style="color: #cc66cc;">0.5</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">switch</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">0</span>: <span style="color: #808080; font-style: italic;">//top left</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = measuredWidth <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">3</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = measuredHeight <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">6</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span>: <span style="color: #808080; font-style: italic;">//top right</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = measuredWidth - _symbolWidth;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = measuredHeight <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">6</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span>: <span style="color: #808080; font-style: italic;">//mid right</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = <span style="color: #66cc66;">&#40;</span>measuredWidth + measuredWidth<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span> - _symbolWidth;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = measuredHeight <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">3</span>: <span style="color: #808080; font-style: italic;">//bottom right</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = measuredWidth - _symbolWidth;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = <span style="color: #66cc66;">&#40;</span>measuredHeight + measuredHeight<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span> - _symbolHeight;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">4</span>: <span style="color: #808080; font-style: italic;">//bottom left</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = measuredWidth <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">3</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = <span style="color: #66cc66;">&#40;</span>measuredHeight + measuredHeight<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span> - _symbolHeight;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">5</span>: <span style="color: #808080; font-style: italic;">//mid left</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posX = measuredWidth <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">6</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _posY = measuredHeight <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//get the symbol style color</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> symbolColor:uint = <span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;symbolColor&quot;</span><span style="color: #66cc66;">&#41;</span> as uint;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//with all my positions determined,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//now actual draw the graphic</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> g:Graphics = graphics;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>symbolColor, <span style="color: #0066CC;">_alpha</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span>_posX, _posY, _radius<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/507ToS-SbiU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2011/08/05/customizable-busy-indicator/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2011/08/05/customizable-busy-indicator/</feedburner:origLink></item>
		<item>
		<title>Speaking at MAX 2011</title>
		<link>http://feedproxy.google.com/~r/TheWorldInAStateOfFlex/~3/k7QJL0agNbI/</link>
		<comments>http://www.unitedmindset.com/jonbcampos/2011/07/28/speaking-at-max-2011/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 20:24:54 +0000</pubDate>
		<dc:creator>jonbcampos</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[max]]></category>

		<guid isPermaLink="false">http://www.unitedmindset.com/jonbcampos/?p=2526</guid>
		<description><![CDATA[I&#8217;m excited to again be fortunate enough to present at Adobe Max 2011. If you are interested in learning about Mobile Applications I will be giving a the first half of a 2 part lab in conjunction with Asfusion! We will start with the application basics and go as far as using custom Native Extensions [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://max.adobe.com?sdid=ISMTQ"><img alt="" src="http://www.adobe-max.com/published/adobemax2011/global_files/MAX11_125x125_SPEAKER_dancers.jpg" title="Adobe Max 2011" class="alignleft" width="125" height="125" /></a>I&#8217;m excited to again be fortunate enough to present at Adobe Max 2011.</p>
<p>If you are interested in learning about Mobile Applications I will be giving a the first half of a 2 part lab in conjunction with Asfusion!</p>
<p>We will start with the application basics and go as far as using custom Native Extensions and Density Aware skins. It&#8217;s quite a learning event.</p>
<p>If you haven&#8217;t signed up for Adobe Max, <a href="http://max.adobe.com?sdid=ISMTQ" title="Adobe Max Signup!" target="_blank">do it now!</a></p>
<p>Make sure to sign up for the labs, they are filling up very quickly!<br />
<a href="http://bit.ly/nxx5mv" target="_blank">(First Presentation) Lab, Tuesday at 8am</a><br />
<a href="http://bit.ly/nxx5mv" target="_blank">(Second Presentation) Lab, Wednesday at 4pm</a></p>
<p>The same content will be shown at each of these labs. The 2nd half presentation presented by Asfusion hasn&#8217;t had it&#8217;s times set yet, keep watching out for it!</p>
<img src="http://feeds.feedburner.com/~r/TheWorldInAStateOfFlex/~4/k7QJL0agNbI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.unitedmindset.com/jonbcampos/2011/07/28/speaking-at-max-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.unitedmindset.com/jonbcampos/2011/07/28/speaking-at-max-2011/</feedburner:origLink></item>
	</channel>
</rss>
