<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Notes from the Flex Flash and ColdFusion Trenches - flashplayer</title>
			<link>http://blogs.digitalprimates.net/jefftapper/index.cfm</link>
			<description>Jeff Tapper&apos;s Blog</description>
			<language>en-us</language>
			<pubDate>Mon, 06 Sep 2010 14:14:42 -0400</pubDate>
			<lastBuildDate>Wed, 10 Mar 2010 14:45:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>jtapper@digitalprimates.net (Jeff Tapper)</managingEditor>
			<webMaster>jtapper@digitalprimates.net (Jeff Tapper)</webMaster>
			
			<item>
				<title>Ouch, it hurts when i do that</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2010/3/10/Ouch-it-hurts-when-i-do-that</link>
				<description>
				
				As promised, here are the slides for &quot;Ouch! It hurts when i do that.&quot; presentation first delivered at 360Flex San Jose, March 10th, 2010.
&lt;img style=&quot;visibility:hidden;width:0px;height:0px;&quot; border=0 width=0 height=0 src=&quot;http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNjgyNTAyODYzOTcmcHQ9MTI2ODI1MDg2MzQ2MiZwPTEwMDA3NTImZD*mZz*yJm89N2I3ZWQxZTcyODI5NGY2MTkz/NjE3NWRiZGEzNTNlNmUmb2Y9MA==.gif&quot; /&gt;&lt;object height=&quot;378&quot; width=&quot;490&quot;&gt;
	&lt;param name=&quot;movie&quot; value=&quot;http://slidesix.com/viewer/SlideSixViewer.swf?alias=Ouch--It-hurts-when-I-do-that&quot;/&gt;
	&lt;param name=&quot;menu&quot; value=&quot;false&quot;/&gt;
	&lt;param name=&quot;scale&quot; value=&quot;noScale&quot;/&gt;
	&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;
	&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;
	&lt;embed src=&quot;http://slidesix.com/viewer/SlideSixViewer.swf?alias=Ouch--It-hurts-when-I-do-that&quot; allowscriptaccess=&quot;always&quot; allowFullScreen=&quot;true&quot; height=&quot;378&quot; width=&quot;490&quot; type=&quot;application/x-shockwave-flash&quot;  FlashVars=&quot;gig_lt=1268250286397&amp;gig_pt=1268250863462&amp;gig_g=2&quot;/&gt;
 &lt;param name=&quot;FlashVars&quot; value=&quot;gig_lt=1268250286397&amp;gig_pt=1268250863462&amp;gig_g=2&quot; /&gt;&lt;/object&gt; 
				</description>
				
				<category>fp10</category>				
				
				<category>flex4</category>				
				
				<category>actionscript3</category>				
				
				<category>Speaking Conferences</category>				
				
				<category>flash</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>flash9</category>				
				
				<category>as3</category>				
				
				<category>flex</category>				
				
				<pubDate>Wed, 10 Mar 2010 14:45:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2010/3/10/Ouch-it-hurts-when-i-do-that</guid>
				
			</item>
			
			<item>
				<title>Flex 4 for Flex 3 developers</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2010/2/26/Flex-4-for-Flex-3-developers</link>
				<description>
				
				Today, I presented my Flex 4 for Flex 3 developers presentation at FlashCamp Chicago.  For those that wanted the slide deck, you can find it &lt;a href=&quot;http://slidesix.com/view/Flex-4-for-Flex-3-developers&quot;&gt;here&lt;/a&gt;.

In this, I discuss a number of differences between flex 3 and flex 4, and what an existing Flex 3 developer will need to know to start being productive in Flex 4.

&lt;img style=&quot;visibility:hidden;width:0px;height:0px;&quot; border=0 width=0 height=0 src=&quot;http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNzE2OTU5Nzc*ODUmcHQ9MTI3MTY5NTk4Mjg3MiZwPTEwMDA3NTImZD*mZz*yJm89N2I3ZWQxZTcyODI5NGY2MTkz/NjE3NWRiZGEzNTNlNmUmb2Y9MA==.gif&quot; /&gt;&lt;object height=&quot;378&quot; width=&quot;490&quot;&gt;
	&lt;param name=&quot;movie&quot; value=&quot;http://slidesix.com/viewer/SlideSixViewer.swf?alias=Flex-4-for-Flex-3-developers&quot;/&gt;
	&lt;param name=&quot;menu&quot; value=&quot;false&quot;/&gt;
	&lt;param name=&quot;scale&quot; value=&quot;noScale&quot;/&gt;
	&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;
	&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;
	&lt;embed src=&quot;http://slidesix.com/viewer/SlideSixViewer.swf?alias=Flex-4-for-Flex-3-developers&quot; allowscriptaccess=&quot;always&quot; allowFullScreen=&quot;true&quot; height=&quot;378&quot; width=&quot;490&quot; type=&quot;application/x-shockwave-flash&quot;  FlashVars=&quot;gig_lt=1271695977485&amp;gig_pt=1271695982872&amp;gig_g=2&quot;/&gt;
 &lt;param name=&quot;FlashVars&quot; value=&quot;gig_lt=1271695977485&amp;gig_pt=1271695982872&amp;gig_g=2&quot; /&gt;&lt;/object&gt; 
				</description>
				
				<category>flex</category>				
				
				<category>flex3</category>				
				
				<category>flex4</category>				
				
				<category>flashplayer</category>				
				
				<category>flash</category>				
				
				<pubDate>Fri, 26 Feb 2010 14:27:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2010/2/26/Flex-4-for-Flex-3-developers</guid>
				
			</item>
			
			<item>
				<title>Flex 360 tickets selling fast</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2009/12/17/Flex-360-tickets-selling-fast</link>
				<description>
				
				Down to the last 5 (Cheap) tickets left for 360|Flex. &lt;a href=&quot;http://360flex-jefft.eventbrite.com/&quot;&gt;Register now&lt;/a&gt;, save $100 and get the same awesome content for a little less coin. Act fast, these last tickets won&apos;t last. When they&apos;re gone, the regular price of $599 kicks in. 

Come on out and hear me give advice how not to hurt yourself with code, in my &quot;Ouch, it hurts when i do that&quot; talk. 
				</description>
				
				<category>fp10</category>				
				
				<category>flex4</category>				
				
				<category>actionscript3</category>				
				
				<category>fp9</category>				
				
				<category>Speaking Conferences</category>				
				
				<category>flash</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>FlexUnit4</category>				
				
				<category>flex</category>				
				
				<pubDate>Thu, 17 Dec 2009 12:13:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2009/12/17/Flex-360-tickets-selling-fast</guid>
				
			</item>
			
			<item>
				<title>FlexUnit 4 feature overview</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2009/5/20/FlexUnit-4-feature-overview</link>
				<description>
				
				&lt;div style=&quot;width:425px;text-align:left&quot; id=&quot;__ss_1464219&quot;&gt;&lt;a style=&quot;font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/jefftapper/flex-unit-4-feature-overview?type=presentation&quot; title=&quot;Flex Unit 4 Feature Overview&quot;&gt;Flex Unit 4 Feature Overview&lt;/a&gt;&lt;object style=&quot;margin:0px&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flexunit4featureoverview-090520082319-phpapp02&amp;stripped_title=flex-unit-4-feature-overview&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flexunit4featureoverview-090520082319-phpapp02&amp;stripped_title=flex-unit-4-feature-overview&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;&quot;&gt;View more &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/jefftapper&quot;&gt;jefftapper&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;

More details available on &lt;a href=&quot;http://blogs.adobe.com/codeslinger&quot;&gt;Labriola&apos;s blog&lt;/a&gt; and &lt;a href=&quot;http://opensource.adobe.com/wiki/display/flexunit/FlexUnit+4+feature+overview&quot;&gt;openSource.adobe&lt;/a&gt; 
				</description>
				
				<category>fluint</category>				
				
				<category>AIR</category>				
				
				<category>actionscript3</category>				
				
				<category>flash</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>FlexUnit4</category>				
				
				<category>as3</category>				
				
				<category>flex</category>				
				
				<pubDate>Wed, 20 May 2009 09:29:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2009/5/20/FlexUnit-4-feature-overview</guid>
				
			</item>
			
			<item>
				<title>I woke up this morning...</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2008/5/15/I-woke-up-this-morning</link>
				<description>
				
				and found the public beta of flash player 10 was out.  How cool is that.  

I knew this would be coming before too long, but didnt realize that it would be out so quickly.  This new version is filled with lots of new features aimed at allowing greater &quot;expressiveness&quot; in flash player content, such as 3d effects, custom filters, enhanced text rendering, and revs to the drawing API.  Of course, like each version before it, FP10 also has lots of performance enhancements.  What are you waiting for go get it on &lt;a href=&quot;http://labs.adobe.com&quot;&gt;adobe labs&lt;/a&gt;


I&apos;m particularly looking forward to working with the Advanced Text Rendering features, which promise to allow lots of layout possibilities, including bi-directional text!

more later 
				</description>
				
				<category>fp10</category>				
				
				<category>actionscript3</category>				
				
				<category>as3</category>				
				
				<category>flashplayer</category>				
				
				<category>flash</category>				
				
				<pubDate>Thu, 15 May 2008 08:26:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2008/5/15/I-woke-up-this-morning</guid>
				
			</item>
			
			<item>
				<title>My Speaking Engagements for the first half of 2008</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2008/1/22/My-Speaking-Engagements-for-the-first-half-of-2008</link>
				<description>
				
				&lt;p&gt;1/18 - &lt;a href=&quot;http://www.flexcampchicago.com/&quot;&gt;Flex Camp Chicago&lt;/a&gt;&lt;/p&gt;&lt;p&gt;1/24 - &lt;a href=&quot;http://www.omahaflexcamp.org/&quot;&gt;Flex Camp Omaha&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2/24-2/27 - &lt;a href=&quot;http://www.360conferences.com/360flex/&quot;&gt;Flex 360 Atlanta&lt;/a&gt;&lt;/p&gt;&lt;p&gt;3/12-3/13 - &lt;a href=&quot;/cfunited_europe.htm&quot;&gt;CFUnited Europe&lt;/a&gt;&lt;/p&gt;&lt;p&gt;5/1-5/4 - &lt;a href=&quot;http://www.cfobjective.com/&quot;&gt;CF.Objective()&lt;/a&gt;&lt;/p&gt;&lt;p&gt;5/19-5/23 - &lt;a href=&quot;http://www.webmaniacsconference.com/&quot;&gt;WebManiacs&lt;/a&gt;&lt;/p&gt;&lt;p&gt;6/25-6/28 - &lt;a href=&quot;http://cfunited.com/&quot;&gt;CFUnited&lt;/a&gt;&lt;/p&gt; 
				</description>
				
				<category>cfunited</category>				
				
				<category>cfmx7</category>				
				
				<category>actionscript3</category>				
				
				<category>fp9</category>				
				
				<category>adobe</category>				
				
				<category>Speaking Conferences</category>				
				
				<category>flash</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>apollo</category>				
				
				<category>coldfusion</category>				
				
				<category>flash9</category>				
				
				<category>FMS</category>				
				
				<category>as3</category>				
				
				<category>flex</category>				
				
				<category>enterprise</category>				
				
				<pubDate>Tue, 22 Jan 2008 12:36:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2008/1/22/My-Speaking-Engagements-for-the-first-half-of-2008</guid>
				
			</item>
			
			<item>
				<title>Hey, what am I doing on blogs.digitalprimates.net?</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2007/12/6/Hey-what-am-I-doing-on-blogsdigitalprimatesnet</link>
				<description>
				
				&lt;p&gt;I&amp;#39;ve been a bit slow in getting this announcement out, as I see several other bloggers have already posted on this, but the rumors are true.&amp;nbsp; Tapper, Nimer and Associates. Inc.&amp;nbsp;has teamed up with Digital Primates Inc.&amp;nbsp;&amp;nbsp;&amp;nbsp; Some of you may recall, it was just over a year ago that I teamed up with Mike Nimer to form Tapper, Nimer and Associates.&amp;nbsp; It&amp;#39;s quite an odd experience for me to go from a solo propietorship to a team of 15 or so developers in about 16 months.&amp;nbsp;&amp;nbsp; With all the great minds from both our companies working together, we will be able to help more customer on bigger and better projects.&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;p&gt;Many of you probably know Mike Labriola for his work on custom Flex Components, he has extended the Flex framework in ways that the developers at Adobe never even imagined.&amp;nbsp; He is also frequently speaking at conferences and User groups.&amp;nbsp; Both Nimer and I ran across him at dozens of speaking events across the country, and as we talked, we&amp;nbsp;found there were far more similarities between us then differences.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;One of our first meetings at a conference ended up with him as&amp;nbsp;a co-author on the Flex 2 book.&amp;nbsp;&amp;nbsp;A year and a half of meeting at conferences later, and we were helping each other out on projects so frequently that it made sense to explore further integrating our companies.&amp;nbsp;&amp;nbsp;When the opportunity for Nimer and I to join forces with him and his company, it was much too enticing to pass up.&lt;/p&gt;

&lt;p&gt;We are looking forward to doing great work together, continuing to build cutting-edge applications for our clients, continuing to teach the world to build better RIAs, and continuing to serve the community.&amp;nbsp; &lt;/p&gt; 
				</description>
				
				<category>books</category>				
				
				<category>actionscript3</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>flex2</category>				
				
				<category>ria</category>				
				
				<category>FMS</category>				
				
				<category>as3</category>				
				
				<category>flex</category>				
				
				<category>enterprise</category>				
				
				<pubDate>Thu, 06 Dec 2007 10:40:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2007/12/6/Hey-what-am-I-doing-on-blogsdigitalprimatesnet</guid>
				
			</item>
			
			<item>
				<title>Reflecting an image in Flex</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A811B068-A0C2-FCBE-B0F81DC5BDCB980C</link>
				<description>
				
				&lt;p&gt;Increasingly, clients have been asking for a &amp;quot;reflection&amp;quot; effect, showing a vertically flipped image of a component next to the actual component.&amp;#160; After reinventing the wheel on this several times, I came up with this simple reusable component:&lt;/p&gt;&lt;pre&gt;package com.tappernimer.components{&lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;import mx.containers.Canvas;&lt;/pre&gt;&lt;pre&gt;import mx.core.UIComponent;&lt;/pre&gt;&lt;pre&gt;import flash.display.BitmapData;&lt;/pre&gt;&lt;pre&gt;import flash.geom.Matrix;&lt;/pre&gt;&lt;pre&gt;import flash.display.IBitmapDrawable;&lt;/pre&gt;&lt;pre&gt;public class VerticalReflection extends Canvas{&lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;private var _component:UIComponent;&lt;/pre&gt;&lt;pre&gt;public var trans:Number=.5;&lt;/pre&gt;&lt;pre&gt;public var filterArray:Array=new Array();&lt;/pre&gt;&lt;pre&gt;public var skewY:Number=0;&lt;/pre&gt;&lt;pre&gt;public var skewX:Number=0;&lt;/pre&gt;&lt;pre&gt;public function get component():UIComponent{&lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;return _component;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;pre&gt;public function set component(c:UIComponent):void{&lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;this._component = c;&lt;/pre&gt;&lt;pre&gt;// hack to work around issue with component being &lt;/pre&gt;&lt;pre&gt;// a dynamically loaded image its possible for the &lt;/pre&gt;&lt;pre&gt;// image to be fully loaded, but its height or width &lt;/pre&gt;&lt;pre&gt;// not yet set this call later, keeps retrying until &lt;/pre&gt;&lt;pre&gt;// the values are set.&lt;/pre&gt;&lt;pre&gt;if(c.width ==0 || c.height==0){&lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;callLater(resetComponent,[c]);&lt;/pre&gt;&lt;pre&gt;return;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;pre&gt;doReflection();&lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;pre&gt;private function resetComponent(c:UIComponent):void{&lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;this.component = c;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;pre&gt;private function doReflection():void {&lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;// create bitmap object&lt;/pre&gt;&lt;pre&gt;var bmpData:BitmapData = new BitmapData(&lt;/pre&gt;&lt;pre&gt;	component.width,component.height);&lt;/pre&gt;&lt;pre&gt;// create matrix&lt;/pre&gt;&lt;pre&gt;var invertMatrix:Matrix = new Matrix(1,skewY,skewX);&lt;/pre&gt;&lt;pre&gt;// set matrix to invert vertically, but normal horizontally&lt;/pre&gt;&lt;pre&gt;invertMatrix.scale(1, -1);&lt;/pre&gt;&lt;pre&gt;// move matrix, so top is at bottom, and vice versa&lt;/pre&gt;&lt;pre&gt;invertMatrix.translate(0, component.height);&lt;/pre&gt;&lt;pre&gt;// draw component flipped&lt;/pre&gt;&lt;pre&gt;bmpData.draw(component as IBitmapDrawable,invertMatrix);&lt;/pre&gt;&lt;pre&gt;// create a new holder for the image&lt;/pre&gt;&lt;pre&gt;var ref:UIComponent = new UIComponent();&lt;/pre&gt;&lt;pre&gt;// match new holders size to the original&lt;/pre&gt;&lt;pre&gt;ref.setActualSize(component.width,component.height);&lt;/pre&gt;&lt;pre&gt;// fill the new component with the image&lt;/pre&gt;&lt;pre&gt;ref.graphics.beginBitmapFill(bmpData);&lt;/pre&gt;&lt;pre&gt;ref.graphics.drawRect(0, 0, &lt;/pre&gt;&lt;pre&gt;	component.width, component.height);&lt;/pre&gt;&lt;pre&gt;ref.graphics.endFill();&lt;/pre&gt;&lt;pre&gt;// set the transparency&lt;/pre&gt;&lt;pre&gt;ref.alpha = trans;&lt;/pre&gt;&lt;pre&gt;// apply any filters&lt;/pre&gt;&lt;pre&gt;ref.filters = filterArray;&lt;/pre&gt;&lt;pre&gt;// add image to stage&lt;/pre&gt;&lt;pre&gt;addChild(ref);&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;} &lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre&gt;}&lt;/pre&gt;&lt;p&gt;This component can then be passed any other component to reflect, accepting filters (filterArray), alpha value (trans), and arguments to allow you to skew the reflection.&amp;#160; In fact, using it can be as simple as this:&lt;/p&gt;&lt;font size=&quot;2&quot;&gt;&lt;p align=&quot;left&quot;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;pre&gt;&amp;lt;mx:Application xmlns:mx=&lt;a href=&quot;http://www.adobe.com/2006/mxml&quot;&gt;http://www.adobe.com/2006/mxml&lt;/a&gt; &lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;xmlns:c=&amp;quot;com.tappernimer.components.*&amp;quot; &lt;/pre&gt;&lt;pre&gt;layout=&amp;quot;absolute&amp;quot;&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;pre&gt;&amp;lt;mx:Image id=&amp;quot;image&amp;quot; source=&amp;quot;images/tn_logo_full.jpg&amp;quot;/&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;c:VerticalReflection id=&amp;quot;ref&amp;quot; &lt;/pre&gt;&lt;blockquote&gt;&lt;pre&gt;component=&amp;quot;{image}&amp;quot; &lt;/pre&gt;&lt;pre&gt;x=&amp;quot;{image.x}&amp;quot; y=&amp;quot;{image.height}&amp;quot; &lt;/pre&gt;&lt;pre&gt;filterArray=&amp;quot;{new Array(new BlurFilter())}&amp;quot;/&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;pre&gt;&amp;lt;/mx:Application&amp;gt;&lt;/pre&gt;&lt;pre&gt;Here is the code running:&lt;br /&gt;&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0&quot; width=&quot;225&quot; height=&quot;225&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://files.blog-city.com/files/J05/88593/b/reflectiontest.swf&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;menu&quot; value=&quot;false&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;&quot; /&gt;&lt;embed src=&quot;http://files.blog-city.com/files/J05/88593/b/reflectiontest.swf&quot; wmode=&quot;&quot; quality=&quot;high&quot; menu=&quot;false&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;225&quot; height=&quot;225&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/pre&gt;&lt;pre&gt;&amp;#160;&lt;/pre&gt;&lt;pre&gt;&amp;#160;&lt;/pre&gt; 
				</description>
				
				<category>runtime</category>				
				
				<category>actionscript3</category>				
				
				<category>fp9</category>				
				
				<category>flash</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>flex2</category>				
				
				<category>flash9</category>				
				
				<category>as3</category>				
				
				<category>flex</category>				
				
				<pubDate>Fri, 21 Sep 2007 19:09:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A811B068-A0C2-FCBE-B0F81DC5BDCB980C</guid>
				
			</item>
			
			<item>
				<title>H.264  Support in FlashPlayer</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A811091A-9BFB-7D44-44D5872FF8FF3C89</link>
				<description>
				
				&lt;p&gt;I missed it yesterday, &lt;a href=&quot;http://www.adobe.com/aboutadobe/pressroom/pressreleases/200708/082107FlashPlayer.html&quot; target=&quot;_blank&quot;&gt;when it was announced&lt;/a&gt;, but Adobe has now announced support for &lt;a href=&quot;http://en.wikipedia.org/wiki/H.264&quot; target=&quot;_blank&quot;&gt;H.264 (also know as MPEG4)&lt;/a&gt; in an upcoming version of the flash player.&amp;#160; H.264 is the same standard which is used by BluRay and HD-DVD -- the ability to have this type of video in our web applications is absolutly huge.&amp;#160; Remember, not that long ago, Adobe announced plans for the Adobe Media Player (AMP), as a desktop application which was built with AIR and Flash -- now, AMP will be able to use H.264 as well as FLV for its video content.&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt; 
				</description>
				
				<category>apollo</category>				
				
				<category>actionscript3</category>				
				
				<category>fp9</category>				
				
				<category>adobe</category>				
				
				<category>flash</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>mpeg4</category>				
				
				<category>flex2</category>				
				
				<category>flash9</category>				
				
				<category>h264</category>				
				
				<category>as3</category>				
				
				<category>enterprise</category>				
				
				<pubDate>Wed, 22 Aug 2007 11:46:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A811091A-9BFB-7D44-44D5872FF8FF3C89</guid>
				
			</item>
			
			<item>
				<title>FlexManiacs 2007 - Getting Started with Apollo</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A8115470-A238-3B56-AB49241A909E772B</link>
				<description>
				
				&lt;p&gt;As promised, here are the &lt;a href=&quot;http://files.blog-city.com/files/J05/88593/b/providedsource.zip&quot;&gt;starting files from my &amp;quot;FlexManiacs 2007 - Getting Started with Apollo&amp;quot; session&lt;/a&gt;.&amp;#160; Thanks for attending my session, I hope you enjoyed it and the FlexManiacs Conference.&lt;/p&gt;&lt;p&gt;Overall, i thought this conference was a great success.&amp;#160; Many attendees of all levels.&amp;#160; Great networking, Great debates, and an all around good time.&lt;/p&gt; 
				</description>
				
				<category>ria</category>				
				
				<category>actionscript3</category>				
				
				<category>fp9</category>				
				
				<category>adobe</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>apollo</category>				
				
				<category>flex2</category>				
				
				<category>flash9</category>				
				
				<category>as3</category>				
				
				<pubDate>Wed, 27 Jun 2007 12:08:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A8115470-A238-3B56-AB49241A909E772B</guid>
				
			</item>
			
			<item>
				<title>A Great big pile of public beta&apos;s from Adobe</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A8114DF3-A88D-0C49-0A5AAC29B0CEF692</link>
				<description>
				
				Today, Adobe has released 3 new public beta&amp;#39;s on &lt;a href=&quot;http://labs.adobe.com&quot; target=&quot;_blank&quot;&gt;Adobe Labs&lt;/a&gt;:&amp;#160;&amp;#160; The &lt;a href=&quot;http://labs.adobe.com/technologies/air/&quot; target=&quot;_blank&quot;&gt;Adobe Integrated Runtime (formerly known as Apollo) beta&lt;/a&gt;, the &lt;a href=&quot;http://labs.adobe.com/technologies/flex/&quot; target=&quot;_blank&quot;&gt;Flex 3 Beta,&lt;/a&gt; and the &lt;a href=&quot;http://labs.adobe.com/technologies/flashplayer9/&quot; target=&quot;_blank&quot;&gt;Flash Player Updater&lt;/a&gt; were all publicly released on Labs today.&amp;#160; I&amp;#39;ve been recovering from a failed hard drive all day (remind me to post a blog about the wonders of &lt;a href=&quot;http://www.grc.com/spinrite.htm&quot; target=&quot;_blank&quot;&gt;SpinRite 6.0 &lt;/a&gt;when i get a minute), but I&amp;#39;ll post more about all 3 of these, as well as the &lt;a href=&quot;http://labs.adobe.com/technologies/coldfusion8/&quot; target=&quot;_blank&quot;&gt;ColdFusion 8 (Scorpio)&lt;/a&gt; beta released 2 weeks ago, when i get a few minutes. 
				</description>
				
				<category>scorpio</category>				
				
				<category>actionscript3</category>				
				
				<category>fp9</category>				
				
				<category>adobe</category>				
				
				<category>flash</category>				
				
				<category>flashplayer</category>				
				
				<category>flex3</category>				
				
				<category>apollo</category>				
				
				<category>free</category>				
				
				<category>ajax</category>				
				
				<category>flash9</category>				
				
				<category>as3</category>				
				
				<pubDate>Mon, 11 Jun 2007 22:39:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A8114DF3-A88D-0C49-0A5AAC29B0CEF692</guid>
				
			</item>
			
			<item>
				<title>Flash Player 9.0.28 bug - embeded images and ContextMenu</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm/2007/2/1/Flash-Player-9028-bug--embeded-images-and-ContextMenu</link>
				<description>
				
				&lt;p&gt;In work for a particular client, we noticed an odd little bug with the latest Flash Player (9.0.28).&amp;#160; It seems that context menus (the items which appear when you right click) dont work when the right click is on an embeded image.&amp;#160; Take a look at this simple example:&lt;/p&gt;
&lt;p&gt;main.mxml:&lt;/p&gt;
&lt;pre&gt;&amp;#160;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;mx:Application xmlns:mx=&amp;quot;http://www.adobe.com/2006/mxml&amp;quot; &lt;br /&gt;&amp;#160;xmlns:v=&amp;quot;*&amp;quot;&lt;br /&gt;&amp;#160;layout=&amp;quot;vertical&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;v:DisplayIcon label=&amp;quot;Embeded&amp;quot; useEmbeded=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;v:DisplayIcon label=&amp;quot;Loaded&amp;quot; useEmbeded=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/mx:Application&amp;gt;&lt;/pre&gt;
&lt;p&gt;DisplayIcon.mxml:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;mx:Canvas xmlns:mx=&amp;quot;http://www.adobe.com/2006/mxml&amp;quot; &lt;br /&gt;&amp;#160;creationComplete=&amp;quot;buildContextMenu()&amp;quot; height=&amp;quot;110&amp;quot; width=&amp;quot;216&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;mx:Image id=&amp;quot;img&amp;quot; horizontalCenter=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;mx:Label text=&amp;quot;{label}&amp;quot;&amp;#160; horizontalCenter=&amp;quot;0&amp;quot; bottom=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;mx:Script&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;lt;![CDATA[&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;import flash.ui.ContextMenu;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;import flash.ui.ContextMenuItem;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;[Embed(source=&amp;quot;TapperNimer_logo.png&amp;quot;)]&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public const yellowBevelPerson:Class;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;[Bindable]&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public var textStr:String;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public var useEmbeded:Boolean&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public function doEmbed():void{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(useEmbeded){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;img.source = yellowBevelPerson;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;} else {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;img.source = &amp;quot;TapperNimer_logo.png&amp;quot;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;protected function buildContextMenu():void{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var myContextMenu:ContextMenu = new ContextMenu();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;myContextMenu.hideBuiltInItems();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var items:Array = new Array();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var item:ContextMenuItem = new ContextMenuItem(&amp;quot;Display Text&amp;quot;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;items.push(item);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;myContextMenu.customItems = items;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;this.contextMenu = myContextMenu;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;doEmbed();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;]]&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;/mx:Script&amp;gt;&lt;br /&gt;&amp;lt;/mx:Canvas&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;As you can see, the DisplayIcon component has an image and a label, and based&amp;#160; on the value of the useEmbeded property, it will either embed the image, or load it dynamically at run time.&amp;#160; As you can see from these 2 screen shots, the problem arises when i right click on the top (embeded) image.&amp;#160; it shows the default context menu, rather than the custom one i have specified.

&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; summary=&quot;&quot; border=&quot;1&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign=&quot;top&quot;&gt;&amp;#160;&lt;img height=&quot;382&quot; alt=&quot;&quot; width=&quot;371&quot; src=&quot;http://files.blog-city.com/files/J05/88593/b/contextmenu_fails.png&quot; /&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign=&quot;top&quot;&gt;&amp;#160;&lt;img height=&quot;334&quot; alt=&quot;&quot; width=&quot;400&quot; src=&quot;http://files.blog-city.com/files/J05/88593/b/contextmenu_works.png&quot; /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Arial&quot;&gt;Fortunately, the work around is easy enough, if you set the mouseEnabled property of the image tag to false, it solves the problem&lt;/font&gt;&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;mx:Canvas xmlns:mx=&amp;quot;http://www.adobe.com/2006/mxml&amp;quot; &lt;br /&gt;&amp;#160;&amp;#160;creationComplete=&amp;quot;buildContextMenu()&amp;quot; height=&amp;quot;110&amp;quot; width=&amp;quot;216&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;pre&gt;&amp;#160;&amp;lt;mx:Image id=&amp;quot;img&amp;quot; horizontalCenter=&amp;quot;0&amp;quot; &lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;mouseEnabled=&amp;quot;false&amp;quot;&lt;/font&gt;&lt;/strong&gt; /&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;mx:Label text=&amp;quot;{label}&amp;quot;&amp;#160; horizontalCenter=&amp;quot;0&amp;quot; bottom=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;mx:Script&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;lt;![CDATA[&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;import flash.ui.ContextMenu;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;import flash.ui.ContextMenuItem;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;[Embed(source=&amp;quot;TapperNimer_logo.png&amp;quot;)]&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public const yellowBevelPerson:Class;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;[Bindable]&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public var textStr:String;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public var useEmbeded:Boolean&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;public function doEmbed():void{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(useEmbeded){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;img.source = yellowBevelPerson;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;} else {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;img.source = &amp;quot;TapperNimer_logo.png&amp;quot;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;protected function buildContextMenu():void{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var myContextMenu:ContextMenu = new ContextMenu();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;myContextMenu.hideBuiltInItems();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var items:Array = new Array();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var item:ContextMenuItem = new ContextMenuItem(&amp;quot;Display Text&amp;quot;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;items.push(item);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;myContextMenu.customItems = items;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;this.contextMenu = myContextMenu;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;doEmbed();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;]]&amp;gt;&lt;br /&gt;&amp;#160;&amp;lt;/mx:Script&amp;gt;&lt;br /&gt;&amp;lt;/mx:Canvas&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; summary=&quot;&quot; border=&quot;1&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign=&quot;top&quot;&gt;
            &lt;pre&gt;&amp;#160;&lt;img height=&quot;251&quot; alt=&quot;&quot; width=&quot;411&quot; src=&quot;http://files.blog-city.com/files/J05/88593/b/contextmenu_works_2.png&quot; /&gt;&lt;/pre&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign=&quot;top&quot;&gt;&amp;#160;&lt;img alt=&quot;&quot; src=&quot;http://files.blog-city.com/files/J05/88593/b/contextmenu_works_3.png&quot; /&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;This bug has been filed and acknowleded by Adobe, so will hopefully be solved in the next release of the flash player...&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt; 
				</description>
				
				<category>flashplayer</category>				
				
				<pubDate>Thu, 01 Feb 2007 14:59:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm/2007/2/1/Flash-Player-9028-bug--embeded-images-and-ContextMenu</guid>
				
			</item>
			
			<item>
				<title>Flash Player 8.5 has been renamed flash player 9</title>
				<link>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A810FACC-B3F3-6F67-9296D77512AB76EE</link>
				<description>
				
				In a wise marketing move, Adobe has renamed the flash player 8.5 public beta as the flash player 9 beta.&lt;br /&gt;According to the &lt;a href=&quot;http://labs.macromedia.com/wiki/index.php?title=Flash_Player#FAQs&quot;&gt;Flash Player FAQ &lt;/a&gt;on Adobe labs, they will be publicly releasing the first beta of FP9 with Beta 3 of Flex 2.&amp;#160; They also acknowledge that the next version of the Flash Authoring tool (code named Blaze) will target the same Flash Player 9.&lt;br /&gt;&lt;br /&gt;Considering the new Flash Player has a entirely reworked runtime (or virtual machine, if you prefer), it would seem that the next player is taking as large a step as any release since Flash Player 5, so the full version number, as opposed to a .5 version makes complete sense.&lt;br /&gt;&lt;br /&gt;Any of you detecting for FP8 in your applications should ensure your code is looking for a major version &amp;gt;= 8, not simply == 8. 
				</description>
				
				<category>as3</category>				
				
				<category>flashplayer</category>				
				
				<category>fp9</category>				
				
				<pubDate>Sat, 22 Apr 2006 16:37:00 -0400</pubDate>
				<guid>http://blogs.digitalprimates.net/jefftapper/index.cfm?mode=entry&amp;entry=A810FACC-B3F3-6F67-9296D77512AB76EE</guid>
				
			</item>
			</channel></rss>