<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>GridLinked to RUX &#187; Fireworks</title>
	<atom:link href="http://www.gridlinked.info/Flex/design/fireworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gridlinked.info</link>
	<description>Patterns with Flex, RUX, and software</description>
	<lastBuildDate>Sun, 29 Aug 2010 17:03:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Automation with Fireworks CS4 Commands &#8211; Reflections</title>
		<link>http://www.gridlinked.info/reflections-made-easy-with-fireworks-cs4-commands/</link>
		<comments>http://www.gridlinked.info/reflections-made-easy-with-fireworks-cs4-commands/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 01:08:44 +0000</pubDate>
		<dc:creator>thomasb</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Fireworks]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[reflections]]></category>
		<category><![CDATA[storyboarding]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.gridlinked.info/?p=163</guid>
        
		                <description><![CDATA[Fireworks CS4 is an amazing web design and storyboarding tool. Learn how to use Commands for automation of complex features such as Lighting and Reflections. With the Create Reflection command, you can easily add RUX concepts to your designs. Includes commented source code and introduces the Ustrive2 Sellit ShopBOT widget.  ]]></description>
				                    <content:encoded><![CDATA[<p>While working at <a href="http://www.sellit.com/pages/for_partners" target="_blank"><span style="text-decoration: underline;">Ustrive2, Inc.</span></a> I initiated some redesign efforts for the <a href="http://www.sellit.com/pages/for_merchants" target="_blank"><span style="text-decoration: underline;">Sellit Administrator</span></a> tools. Focused on creating a fantastic, rich user experience, The dev team [DanM, JesseF, MichaelF, and MikeC] used Fireworks CS4 to quickly iterate through several design prototypes and deliver designs that satisfied many complex feature requirements. </p>
<p>One aspect of those designs was to create a sense of depth [and engage the user] by judiciously highlighting key components with lighting and <span style="color: #0070C0">reflections</span>. Many of the resulting storyboard pages contained 2 or more components with reflections. </p>
<p>Manually creating a reflection requires 20 or more steps and about 60 seconds to complete&#8230; for <span style="text-decoration: italic;">each</span> component. I will not bother listing each step&#8230; it is non-trivial and tedious [and the code at the bottom of this blog shows you the details]. There had to be a way to <span style="color: #0070C0;">automate</span> the process. I realized that a Fireworks Command was the solution! </p>
<div style="margin: 1px 0pt;" id="pullquote-con">Fireworks CS4 is an amazing <a href="http://tv.adobe.com/?promoid=DRHYB#vi+f15383v1022" target="_blank"><span style="text-decoration: underline;">web design</span></a> and <a href="http://odeo.com/episodes/22108974-Storyboarding-in-Production-Premium-CS3" target="_blank"><span style="text-decoration: underline;">storyboarding</span></a> tool. If you are not leveraging its power within your own design processes you are crazy.</div>
<p>With a Fireworks command and associated hot-key, I could automate 20+ steps and many mouse movements to a single command. And I could easily invoke that command using a hotkey. Wow! But how would I create the command if I did not know the Fireworks API?  Before we solve the automation issue, let&#8217;s first see what the <span style="color: #0070C0">Reflection</span> command actually does. Then we will learn how to create such a command. </p>
<p><span style="font-weight:bold;font-size:1.1em;">Click</span> on any of the thumbnails below to see the examples of using a &#8216;Create Reflection&#8217; command.</p>
<div class="gallery">
<dl class="gallery-item">
<dt class="gallery-icon"> <div class="img size-thumbnail wp-image-165" style="width:125px;">
	<a href="http://www.gridlinked.info/images/2009/03/reflect_1.jpg" rel="shadowbox[fireworks_reflection];options={resizeDuration:.05,fadeDuration:.05}"><img src="http://www.gridlinked.info/images/2009/03/reflect_1-150x150.jpg" alt="Sellit ShopBOT " width="125" height="125" /></a>
	<div>Sellit ShopBOT</div>
</div> </dt>
</dl>
<dl class="gallery-item">
<dt class="gallery-icon"><div class="img size-thumbnail wp-image-166" style="width:125px;">
	<a href="http://www.gridlinked.info/images/2009/03/reflect_2.jpg" rel="shadowbox[fireworks_reflection];options={resizeDuration:.05,fadeDuration:.05}"><img src="http://www.gridlinked.info/images/2009/03/reflect_2-150x150.jpg" alt="ShopBOT w/ Reflection" width="125" height="125" /></a>
	<div>ShopBOT w/ Reflection</div>
</div> </dt>
</dl>
<dl class="gallery-item">
<dt class="gallery-icon"> <div class="img size-thumbnail wp-image-169" style="width:125px;">
	<a href="http://www.gridlinked.info/images/2009/03/reflect_4.jpg" rel="shadowbox[fireworks_reflection];options={resizeDuration:.05,fadeDuration:.05}"><img src="http://www.gridlinked.info/images/2009/03/reflect_4-150x150.jpg" alt="Reflections on many ShopBOTs" width="125" height="125" /></a>
	<div>Reflections on many ShopBOTs</div>
</div> </dt>
</dl>
<dl class="gallery-item">
<dt class="gallery-icon">
<div class="img size-thumbnail wp-image-249" style="width:125px;">
	<a href="http://www.gridlinked.info/images/2009/03/4shopbots.jpg" rel="shadowbox[fireworks_reflection];options={resizeDuration:.05,fadeDuration:.05}"><img src="http://www.gridlinked.info/images/2009/03/4shopbots-150x150.jpg" alt="More Reflections on ShopBOTs" width="125" height="125" /></a>
	<div>More Reflections on ShopBOTs</div>
</div>
 </dt>
</dl>
</div>
<p><br/></p>
<p>Below is an outline of the process you can use to create your own reflection command. Let Fireworks record all your steps and save those steps as javascript code. Then you can fine-tune that code as desired:</p>
<ol>
<li>Open the History panel and make sure the history is clear,</li>
<li>Manually create a reflection with the 20 or more steps (painful details not included),</li>
<li>In the History palette, select the steps that match the process to create the reflection,</li>
<li>Using the History Menu, select the &#8216;Save as Command&#8230;&#8217; menu option,</li>
<li>Specify the name &#8216;Create Reflection&#8217; and click OK</li>
<li>Edit the javascript command code to perform as desired:
<ol>
<li>Use a text or code editor to open the &#8216;Create Reflection.jsf&#8217; file (directory location below),</li>
<li>Modify the code to programmatically support clip height, opacity, offsets, etc.</li>
<li>Save modified command file,</li>
<li>Return to Fireworks, select a object, and invoke the &#8216;Create Reflection&#8217; command</li>
</ol>
</li>
<li>Did your changes work? If not go to Step (6) make more coding changes and iterate&#8230;</li>
</ol>
<div id="pullquote-con" style="font-size:1.3em;">Did you know about the <a href="http://www.adobe.dougwinnie.com/?p=45" target="_blank"><span style="text-decoration:underline;color:0x00D000">Export Pages as PDF</span></a> feature and its click support to jump between pages. Your PDFs can be used for storyboarding, collaborating, sharing prototypes, and walkthrus.</div>
<div id='conclusion' style="vertical-align:top;">
<div id="attachment_164" class="wp-caption alignright" style="width: 160px"><a href="http://www.gridlinked.info/images/2009/03/command_loc.jpg" rel="shadowbox;options={resizeDuration:.05,fadeDuration:.05}""><img src="http://www.gridlinked.info/images/2009/03/command_loc-150x150.jpg" alt="Commands Directory (Mac OS X)" width="150" height="150" class="size-medium wp-image-164" /></a><p class="wp-caption-text">Fireworks Commands Directory (Mac OS X)</p></div><br />
But where [which directory] should you open/edit/save the &#8216;Create Reflection.jsf&#8217; command file?  Click the thumbnail on the right to zoom for details.</p>
<p>After the challenging [and fun] time invested to create my own working command, my &#8216;Create Reflection&#8217; works great. The Ustrive2 developers loved using it for their own design efforts.  </p>
<p>With the code [shown below] and a copy of the &#8216;Create Reflection.jsf&#8217; command file, it is my hope that you will also enjoy using this command.<br />
<br/>
</div>
<p>Below is the javascript code contained in the link for your own <span style="text-decoration:underline;color:0x00D000"><a href="http://www.gridlinked.info/data/CreateReflection.zip">Create Reflection.jsf</a></span> command (click to download):</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">/*</span>
<span style="color: #006600; font-style: italic;">&nbsp;* CreateReflection is a Fireworks Command that creates a vertical reflection [of the currently selected items].</span>
<span style="color: #006600; font-style: italic;">&nbsp;*</span>
<span style="color: #006600; font-style: italic;">&nbsp;* This is an incredible timesaver and allows the designer to quickly create reflections for anything.</span>
<span style="color: #006600; font-style: italic;">&nbsp;* When 1 or more items are selected in the current canvas area, those items are:</span>
<span style="color: #006600; font-style: italic;">&nbsp;*   1) Duplicated, flipped vertically, and flatten (original items are unchanged and deselected)</span>
<span style="color: #006600; font-style: italic;">&nbsp;*   2) The flattened copy is cropped to the top 40 pixels</span>
<span style="color: #006600; font-style: italic;">&nbsp;*   3) A gradient alpha mask is applied to the cropped image</span>
<span style="color: #006600; font-style: italic;">&nbsp;*   4) Both the mask and image are flattened and opacity set to 20%</span>
<span style="color: #006600; font-style: italic;">&nbsp;*</span>
<span style="color: #006600; font-style: italic;">&nbsp;* TODOs:</span>
<span style="color: #006600; font-style: italic;">&nbsp;*    1) Add support to skew/distort the selected images and reflection (for 3D perspective effect)</span>
<span style="color: #006600; font-style: italic;">&nbsp;*    2) Create runtime UI dialog to request clip height, offset, opacity, and skew parameters</span>
<span style="color: #006600; font-style: italic;">&nbsp;*    3) Check for no items currently selected and posting feedback to designer</span>
<span style="color: #006600; font-style: italic;">&nbsp;*</span>
<span style="color: #006600; font-style: italic;">&nbsp;* Author:  Thomas Burleson, Flex/Groovy Consultant</span>
<span style="color: #006600; font-style: italic;">&nbsp;*</span>
<span style="color: #006600; font-style: italic;">&nbsp;*          Blog    @ http://www.gridlinked.info</span>
<span style="color: #006600; font-style: italic;">&nbsp;*          Profile @ http://www.LinkedIn.com/in/ThomasBurleson</span>
<span style="color: #006600; font-style: italic;">&nbsp;*          eMail   @ ThomasBurleson@gmail.com</span>
<span style="color: #006600; font-style: italic;">&nbsp;*</span>
<span style="color: #006600; font-style: italic;">&nbsp;*</span>
<span style="color: #006600; font-style: italic;">&nbsp;* Date:  Feb 24, 2009</span>
<span style="color: #006600; font-style: italic;">&nbsp;*/</span> 
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> OFFSET         <span style="color: #339933;">=</span> <span style="color: #CC0000;">4</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> REFLECT_HEIGHT <span style="color: #339933;">=</span> <span style="color: #CC0000;">40</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> dom            <span style="color: #339933;">=</span> fw.<span style="color: #660066;">getDocumentDOM</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> reflections    <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Copy and flip selection, move to OFFSET below the original, and flatten to bitmap </span>
dom.<span style="color: #660066;">clipCopy</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">clipPaste</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
dom.<span style="color: #660066;">group</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">reflectSelection</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;autoTrimImages transformAttributes&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">flattenSelection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> bounds <span style="color: #339933;">=</span> dom.<span style="color: #660066;">getSelectionBounds</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">moveSelectionBy</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> y<span style="color: #339933;">:</span>bounds.<span style="color: #660066;">bottom</span><span style="color: #339933;">-</span>bounds.<span style="color: #660066;">top</span><span style="color: #339933;">+</span>OFFSET<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Clip image to REFLECT_HEIGHT,</span>
bounds <span style="color: #339933;">=</span> dom.<span style="color: #660066;">getSelectionBounds</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
bounds.<span style="color: #660066;">bottom</span> <span style="color: #339933;">=</span> bounds.<span style="color: #660066;">top</span> <span style="color: #339933;">+</span> REFLECT_HEIGHT<span style="color: #339933;">;</span>
dom.<span style="color: #660066;">setSelectionMask</span><span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#123;</span>  maskBounds<span style="color: #339933;">:</span>bounds<span style="color: #339933;">,</span> 
                                       maskKind<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;rectangle&quot;</span><span style="color: #339933;">,</span> 
                                       maskEdgeMode<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;hard edge&quot;</span><span style="color: #339933;">,</span> 
                                       featherAmount<span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> 
                                       maskData<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">null</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> 
                                    <span style="color: #3366CC;">&quot;replace&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">exitPaintMode</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">cropSelection</span><span style="color: #009900;">&#40;</span>bounds<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Cache the reflection...</span>
reflections.<span style="color: #660066;">push</span><span style="color: #009900;">&#40;</span>fw.<span style="color: #660066;">selection</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Build an alpha clip mask and set transparency to 20%</span>
dom.<span style="color: #660066;">addNewRectanglePrimitive</span><span style="color: #009900;">&#40;</span>bounds<span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">setBrushNColor</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#ffffff00&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">setFillVectorStart</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>x<span style="color: #339933;">:</span>bounds.<span style="color: #660066;">left</span><span style="color: #339933;">,</span> y<span style="color: #339933;">:</span>bounds.<span style="color: #660066;">top</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">setFill</span><span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#123;</span> category     <span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;fc_Linear&quot;</span><span style="color: #339933;">,</span> 
			   ditherColors <span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span> <span style="color: #3366CC;">&quot;#000000&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;#000000&quot;</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
			   edgeType     <span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;antialiased&quot;</span><span style="color: #339933;">,</span> 
			   feather      <span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> 
			   gradient     <span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span> <span style="color: #000066;">name</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;cn_Custom&quot;</span><span style="color: #339933;">,</span> nodes<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#123;</span> color<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;#ffffff&quot;</span><span style="color: #339933;">,</span>  isOpacityNode<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span> position<span style="color: #339933;">:</span><span style="color: #CC0000;">0</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span> color<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;#ffffff&quot;</span><span style="color: #339933;">,</span>  isOpacityNode<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span> position<span style="color: #339933;">:</span><span style="color: #CC0000;">1</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> opacityNodes<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#123;</span> color<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;#000000&quot;</span><span style="color: #339933;">,</span>  isOpacityNode<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>  position<span style="color: #339933;">:</span><span style="color: #CC0000;">0</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span> color<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;#00000000&quot;</span><span style="color: #339933;">,</span>isOpacityNode<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>  position<span style="color: #339933;">:</span><span style="color: #CC0000;">1</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> 
			   <span style="color: #000066;">name</span>         <span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;fn_Linear&quot;</span><span style="color: #339933;">,</span> 
			   pattern      <span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> 
			   shape        <span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;linear&quot;</span><span style="color: #339933;">,</span> 
			   stampingMode <span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;blend opaque&quot;</span><span style="color: #339933;">,</span> 
			   textureBlend <span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> 
			   webDitherTransparent<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Cache the alpha mask</span>
reflections.<span style="color: #660066;">push</span><span style="color: #009900;">&#40;</span>fw.<span style="color: #660066;">selection</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Select the reflection and alpha mask, then group and set opacity...</span>
<span style="display:block;background-color: #ffc;">fw.<span style="color: #660066;">selection</span> <span style="color: #339933;">=</span> reflections<span style="color: #339933;">;</span></span>&nbsp;
dom.<span style="color: #660066;">group</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;mask to image&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">flattenSelection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dom.<span style="color: #660066;">setOpacity</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// DONE!</span></pre></div></div>

<p>After this tutorial, you should explore more solutions and start creating your own cool Fireworks commands. I will let you figure out how to assign a hotkey sequence to a command. <span style="color:0x00D000;">With commands and hotkeys, your design life becomes FUN!</span></p>
<p>If you extend or enhance &#8216;Create Reflection&#8217;, please send me a copy <img src='http://www.gridlinked.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   And don&#8217;t forget, please comment and rate this article (rate by select the star levels) below.<br />
<br/></p>
<hr />
<p><small>© Thomas Burleson for <a href="http://www.gridlinked.info">GridLinked to RUX</a>, 2009.   
&nbsp;	&nbsp;	&nbsp;	&nbsp;	&nbsp;	&nbsp;  
<a href="http://feedburner.google.com/fb/a/mailverify?uri=GridlinkedToRux&amp;loc=en_US"><span style="color:#900">Subscribe by Email</span></a> |
<a href="mailto:ThomasBurleson@GMail.com">Contact Author</a> 	&nbsp;	&nbsp;	&nbsp;	&nbsp;	&nbsp;	&nbsp;
<a href="http://www.gridlinked.info/reflections-made-easy-with-fireworks-cs4-commands/">Permalink</a> |    
<a href="http://www.gridlinked.info/reflections-made-easy-with-fireworks-cs4-commands/#comments">4 comments</a>
<br/>
</small></p>]]></content:encoded>
                        
		<wfw:commentRss>http://www.gridlinked.info/reflections-made-easy-with-fireworks-cs4-commands/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
