<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.9.2 (http://www.squarespace.com/) on Thu, 11 Mar 2010 02:31:14 GMT--><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rss="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:cc="http://web.resource.org/cc/"><rss:channel rdf:about="http://www.alterlogic.co.uk/blog/"><rss:title>AlterLogic Blog</rss:title><rss:link>http://www.alterlogic.co.uk/blog/</rss:link><rss:description></rss:description><dc:language>en-US</dc:language><dc:date>2010-03-11T02:31:14Z</dc:date><admin:generatorAgent rdf:resource="http://www.squarespace.com/">Squarespace Site Server v5.9.2 (http://www.squarespace.com/)</admin:generatorAgent><rss:items><rdf:Seq><rdf:li rdf:resource="http://www.alterlogic.co.uk/blog/2009/1/20/air-tilielist-drag-bug-workaround.html"/><rdf:li rdf:resource="http://www.alterlogic.co.uk/blog/2009/1/20/mouse-events-outside-the-browser-window.html"/><rdf:li rdf:resource="http://www.alterlogic.co.uk/blog/2009/1/20/flex-component-clipcontent-problems-and-mask-gotchas.html"/><rdf:li rdf:resource="http://www.alterlogic.co.uk/blog/2009/1/7/welcome.html"/></rdf:Seq></rss:items></rss:channel><rss:item rdf:about="http://www.alterlogic.co.uk/blog/2009/1/20/air-tilielist-drag-bug-workaround.html"><rss:title>Air TilieList drag bug workaround</rss:title><rss:link>http://www.alterlogic.co.uk/blog/2009/1/20/air-tilielist-drag-bug-workaround.html</rss:link><dc:creator>Alex Peretti</dc:creator><dc:date>2009-01-20T21:45:32Z</dc:date><dc:subject>Air Flex</dc:subject><content:encoded><![CDATA[<p>This fix (more of a workaround really) is regarding a bug raised here</p>
<p><a title="http://bugs.adobe.com/jira/browse/SDK-14156" href="http://bugs.adobe.com/jira/browse/SDK-14156" target="_blank">http://bugs.adobe.com/jira/browse/SDK-14156</a></p>
<p>In Air (even v1.5), when an item is dragged from a TileList, the image data is not visible in the drag icon.</p>
<p><span>To circumvent the issue I created a </span>ListItemDragProxyPro class which allows us to create a custom drag icon for use with the TileList.</p>
<p>Since the drag proxy is completely custom I added a selection counter in the corner (the CircleIndicator component).</p>
<p>Here is an image of what it looks like.</p>
<p><span class="full-image-block ssNonEditable"><span><img src="http://media.alterlogic.co.uk/examples/AirTileListDragBugFix/AirTileListPro.jpg?__SQUARESPACE_CACHEVERSION=1232488161860" alt="" /></span></span></p>
<p>&nbsp;</p>
<p>To test this for yourself please feel free to view source and use it for your own projects.</p>
<p><a href="http://media.alterlogic.co.uk/examples/AirTileListDragBugFix/srcview/index.html" target="_blank">View Source&nbsp;</a>(a .air package is also included with the source)</p>
<p>If you have any questions about the code let me know and I'll go into it in more detail.</p>]]></content:encoded></rss:item><rss:item rdf:about="http://www.alterlogic.co.uk/blog/2009/1/20/mouse-events-outside-the-browser-window.html"><rss:title>Mouse events outside the browser window</rss:title><rss:link>http://www.alterlogic.co.uk/blog/2009/1/20/mouse-events-outside-the-browser-window.html</rss:link><dc:creator>Alex Peretti</dc:creator><dc:date>2009-01-20T19:58:45Z</dc:date><dc:subject>Flash Flex</dc:subject><content:encoded><![CDATA[<p>The mouseX and mouseY values are not accurate outside of the web browser window (in Flex or Flash applications), the values stop at the boundaries of the stage.</p>
<p>However, the values do get updated if the mouse button is down. Which is an important thing to notice when creating scrollbars for a Flash application or any draggable UI element.</p>
<p>The other thing to notice is that MOUSE_UP events do not fire outside of the browser window, and the buttonDown property of MouseEvents stay set to buttonDown == true, even though the button was depressed outside the window.</p>
<p>To solve this issue, we can track the MOUSE_LEAVE event, this event usually gets fired when the cursor leaves the stage. But if the mouse button is down, the event gets fired on MOUSE_UP.</p>
<p>No it doesn't make a huge amount of sense but it does work in Flash and Flex, flash player v9 and v10 (probably in previous versions too).</p>
<p>This means that when MOUSE_LEAVE is fired, we can compare the mouse position with the stage size to determine whether the mouse button was depressed outside the browser window.</p>
<p>Play with the example and view the source to see how this works in more detail.</p>
<script type="text/javascript" src="http://media.alterlogic.co.uk/deploy/js/swfobject.js"></script>
<p><div id="MouseEventTestsContent">
		<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">The Flash Plugin Version 9 is required to enter this site. Click here to download.</a>
	</div>

	<script type="text/javascript">
swfobject.embedSWF("http://media.alterlogic.co.uk/examples/MouseEventTests/MouseEventTests.swf", "MouseEventTestsContent", "700", "400", "9.0.0", "http://media.alterlogic.co.uk/deploy/expressInstall.swf")
	</script>
</p>
<a href="http://media.alterlogic.co.uk/examples/MouseEventTests/srcview/index.html" target="_blank">View Source</a>]]></content:encoded></rss:item><rss:item rdf:about="http://www.alterlogic.co.uk/blog/2009/1/20/flex-component-clipcontent-problems-and-mask-gotchas.html"><rss:title>Flex component clipContent problems and mask gotchas</rss:title><rss:link>http://www.alterlogic.co.uk/blog/2009/1/20/flex-component-clipcontent-problems-and-mask-gotchas.html</rss:link><dc:creator>Alex Peretti</dc:creator><dc:date>2009-01-20T15:22:14Z</dc:date><dc:subject>Flex</dc:subject><content:encoded><![CDATA[<script type="text/javascript" src="http://media.alterlogic.co.uk/deploy/js/swfobject.js"></script>
<p>The clipContent property of Flex component doesn't always work as it should, especially when the content which needs clipping is in the negative x and y range.</p>
<p>Drag and move the black box outside of the blue square, and you will see that the clipping doesn't come into play until you release the mouse.&nbsp;</p>
<div id="flashcontent">
		<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">The Flash Plugin Version 9 is required to enter this site. Click here to download.</a>
	</div>

	<script type="text/javascript">
swfobject.embedSWF("http://media.alterlogic.co.uk/examples/CanvasMaskExample/CanvasMaskExample.swf", "flashcontent", "700", "400", "9.0.0", "http://media.alterlogic.co.uk/deploy/expressInstall.swf")
	</script>
<a href="http://media.alterlogic.co.uk/examples/CanvasMaskExample/srcview/index.html" target="_blank">View Source</a>
<p>This was a big problem for my application UI so I figured I would use the mask property of the component. Well it works.... kinda. There are a couple of gotchas I would like to highlight here.</p>
<p>1) Make sure the DisplayObject which will act as a mask is a <span><span style="text-decoration: underline;">child</span></span>, of the DisplayObject being masked</p>
<p>2) If you are using Flex component such as Canvas to do the masking, make sure it has a backgroundColor set otherwise the mask will not be applied properly.</p>
<p><strong>Furthermore</strong>, if you simply want to emulate what clipContent does, it's best to use scrollRect.&nbsp;scrollRect will perform much quicker than setting a mask.</p>
<p>Click the "enable scrollRect" button in the example above and move the black box again to see the difference.</p>]]></content:encoded></rss:item><rss:item rdf:about="http://www.alterlogic.co.uk/blog/2009/1/7/welcome.html"><rss:title>Welcome</rss:title><rss:link>http://www.alterlogic.co.uk/blog/2009/1/7/welcome.html</rss:link><dc:creator>Alex Peretti</dc:creator><dc:date>2009-01-07T19:24:52Z</dc:date><dc:subject></dc:subject><content:encoded><![CDATA[<p>This is a blog about technology, the web and the Flash platform.</p>]]></content:encoded></rss:item></rdf:RDF>