<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.m2osw.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Made to Order Software Corporation - appendix</title>
 <link>http://www.m2osw.com/taxonomy/term/573/all</link>
 <description></description>
 <language>en</language>
<item>
 <title>Appendix B — History of the SSWF reference</title>
 <link>http://www.m2osw.com/swf_appendix_b_history</link>
 <description>&lt;h3&gt;Dec 2, 2009&lt;/h3&gt;
&lt;p&gt;Moved the monolithic documentation to a multi-page hierarchical document that includes everything we had before plus many links, many terms attached to all pages (tags, English words.) And revision of most of the text for better English and clarification in some places.&lt;/p&gt;
&lt;p&gt;Strengthen the formatting with CCK fields so all declarations look alike.&lt;/p&gt;
&lt;p&gt;Broken up the actions from one large table to a set of pages.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_appendix_b_history&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_b_history#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/672">CSMTextSettings</category>
 <category domain="http://www.m2osw.com/taxonomy/term/635">DefineButton2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/599">DefineButtonSound</category>
 <category domain="http://www.m2osw.com/taxonomy/term/648">DefineEditText</category>
 <category domain="http://www.m2osw.com/taxonomy/term/646">DefineFont2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/673">DefineFont3</category>
 <category domain="http://www.m2osw.com/taxonomy/term/664">DefineFontAlignZones</category>
 <category domain="http://www.m2osw.com/taxonomy/term/595">DefineFontInfo</category>
 <category domain="http://www.m2osw.com/taxonomy/term/677">DefineMorphShape2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/675">DefineScalingGrid</category>
 <category domain="http://www.m2osw.com/taxonomy/term/676">DefineShape4</category>
 <category domain="http://www.m2osw.com/taxonomy/term/638">DefineSprite</category>
 <category domain="http://www.m2osw.com/taxonomy/term/655">DefineVideoStream</category>
 <category domain="http://www.m2osw.com/taxonomy/term/678">DoABC</category>
 <category domain="http://www.m2osw.com/taxonomy/term/654">DoInitAction</category>
 <category domain="http://www.m2osw.com/taxonomy/term/581">End</category>
 <category domain="http://www.m2osw.com/taxonomy/term/627">Export</category>
 <category domain="http://www.m2osw.com/taxonomy/term/661">FileAttributes</category>
 <category domain="http://www.m2osw.com/taxonomy/term/626">Import</category>
 <category domain="http://www.m2osw.com/taxonomy/term/663">Import2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/589">JPEGTables</category>
 <category domain="http://www.m2osw.com/taxonomy/term/674">Metadata</category>
 <category domain="http://www.m2osw.com/taxonomy/term/609">PlaceObject2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/662">PlaceObject3</category>
 <category domain="http://www.m2osw.com/taxonomy/term/607">Protect</category>
 <category domain="http://www.m2osw.com/taxonomy/term/653">ProtectDebug</category>
 <category domain="http://www.m2osw.com/taxonomy/term/658">ProtectDebug2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/659">ScriptLimits</category>
 <category domain="http://www.m2osw.com/taxonomy/term/660">SetTabIndex</category>
 <category domain="http://www.m2osw.com/taxonomy/term/582">ShowFrame</category>
 <pubDate>Sun, 13 Dec 2009 09:04:57 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">263 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Appendix A — The geometry in SWF — Images</title>
 <link>http://www.m2osw.com/swf_appendix_a_images</link>
 <description>&lt;p&gt;When appropriate, images can also be included in SWF files. All the images       can be full color and also have an alpha channel.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_appendix_a_images&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_a_images#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/587">DefineBitsJPEG</category>
 <category domain="http://www.m2osw.com/taxonomy/term/602">DefineBitsLossless</category>
 <category domain="http://www.m2osw.com/taxonomy/term/583">DefineShape</category>
 <category domain="http://www.m2osw.com/taxonomy/term/585">PlaceObject</category>
 <pubDate>Sun, 13 Dec 2009 08:13:32 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">261 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Appendix A — The geometry in SWF — Gradient Fills</title>
 <link>http://www.m2osw.com/swf_appendix_a_gradientfills</link>
 <description>&lt;p&gt;It is possible in SWF to use gradient fills. The gradient definitions are pretty raw and require you to draw large objects (that you can scale down later if you wish). A radial fill will usually be used to draw a round corner or a big &amp;amp; smooth dot. A linear fill can be used to draw objects which go from one color to another. The linear fill goes from left to right by default. It can be rotation as required though. Yet, in either case what is drawn in the shape object needs to be at the right scale and in the right direction. This may not always prove easy to deal with!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_appendix_a_gradientfills&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_a_gradientfills#comments</comments>
 <pubDate>Sun, 13 Dec 2009 08:06:32 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">260 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Appendix A — The geometry in SWF — Edges</title>
 <link>http://www.m2osw.com/swf_appendix_a_edges</link>
 <description>&lt;p&gt;Edges are used to define a shape vector based and also coordinates       where images need to be drawn. The edges are always coordinates       from where ever your last point was to where ever you want the       next point to be (a little like a turtle in LOGO).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_appendix_a_edges&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_a_edges#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/581">End</category>
 <pubDate>Sun, 13 Dec 2009 08:02:03 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">259 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Appendix A — The geometry in SWF — Matrix</title>
 <link>http://www.m2osw.com/swf_appendix_a_matrix</link>
 <description>&lt;p&gt;The coordinates are often transformed with the use of a matrix.       The matrix is similar to a transformation matrix in Postscript.       It includes a set of scaling factors, rotation angles and       translations.&lt;/p&gt;
&lt;p&gt;When only the scaling factors are used (no rotation) then these       are ratios as one would expect. If a rotation is also applied,       then the scaling ratios will be affected accordingly.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_appendix_a_matrix&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_a_matrix#comments</comments>
 <pubDate>Sun, 13 Dec 2009 07:52:53 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">258 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Appendix A — The geometry in SWF — Coordinates</title>
 <link>http://www.m2osw.com/swf_appendix_a_coordinates</link>
 <description>&lt;p&gt;The most common and simple geometric information are the       object coordinates on the output screen. These are defined       in TWIPs. There are 20 twips per pixels. Note that an embedded       SWF file can be enlarged and/or reduced thus changing this       basic scaling factor. To have exactly 20 twips per pixel you       must ensure that the EMBED and/or OBJECT tags use a WIDTH and       HEIGHT with exactly the same value as in the rectangle defined       in the SWF header file divided by 20.

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_appendix_a_coordinates&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_a_coordinates#comments</comments>
 <pubDate>Sun, 13 Dec 2009 07:36:39 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">257 at http://www.m2osw.com</guid>
</item>
<item>
 <title>Appendix A — The geometry in SWF</title>
 <link>http://www.m2osw.com/swf_appendix_a</link>
 <description>&lt;p&gt;This appendix describes different aspects of the geometry in Flash. Note that some of the description uses 3D matrices. It is rather easy to simplify them and use just and only 2D matrices. The simplifications can usually be such that only 2 or 3 operations are required to get the proper coordinates used to render objects.&lt;/p&gt;
&lt;p&gt;Remember that Flash uses TWIPs and thus you certainly will want to use floating points to make it easy on you.&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_appendix_a#comments</comments>
 <pubDate>Sun, 13 Dec 2009 07:31:47 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">256 at http://www.m2osw.com</guid>
</item>
<item>
 <title>SWF Any Filter (swf_any_filter)</title>
 <link>http://www.m2osw.com/swf_struct_any_filter</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-swf-structure&quot;&gt;&lt;legend&gt;SWF Structure Info&lt;/legend&gt;&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-version&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Flash Version:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    8        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-structure&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;SWF Structure:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    &lt;pre&gt;&lt;a name=&quot;swf_filter_type&quot;&gt;&lt;font color=&quot;green&quot;&gt;/* the filter type */&lt;/font&gt;&lt;/a&gt;
struct swf_filter_type {
	unsigned char	f_type;
};

struct swf_filter_glow {
	swf_filter_type	f_type;		&lt;font color=&quot;green&quot;&gt;/* 0, 2, 3, 4 or 7 */&lt;/font&gt;
	if(f_type == GradientGlow || f_type == GradientBevel) {
		unsigned char		f_count;
	}
	else {
		f_count = 1;
	}
	&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;		f_rgba[f_count];
	if(f_type == Bevel) {
		&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;		f_highlight_rgba[f_count];
	}
	if(f_type == GradientGlow || f_type == GradientBevel) {
		unsigned char		f_position[f_count];
	}
	signed long fixed	f_blur_horizontal;
	signed long fixed	f_blur_vertical;
	if(f_type != Glow) {
		signed long fixed	f_radian_angle;
		signed long fixed	f_distance;
	}
	signed short fixed	f_strength;
	unsigned		f_inner_shadow : 1;
	unsigned		f_knock_out : 1;
	unsigned		f_composite_source : 1;
	if(f_type == Bevel) {
		unsigned		f_on_top : 1;
	}
	else {
		unsigned		f_reserved : 1;
	}
	if(f_type == GradientGlow || f_type == GradientBevel) {
		unsigned		f_passes : 4;
	}
	else {
		unsigned		f_reserved : 4;
	}
};

struct swf_filter_blur {
	swf_filter_type		f_type;	&lt;font color=&quot;green&quot;&gt;/* 1 */&lt;/font&gt;
	unsigned long fixed	f_blur_horizontal;
	unsigned long fixed	f_blur_vertical;
	unsigned		f_passes : 5;
	unsigned		f_reserved : 3;
};

struct swf_filter_convolution {
	swf_filter_type	f_type;		&lt;font color=&quot;green&quot;&gt;/* 5 */&lt;/font&gt;
	unsigned char	f_columns;
	unsigned char	f_rows;
	long float	f_divisor;
	long float	f_bias;
	long float	f_weights[f_columns &amp;times; f_rows];
	&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;	f_default_color;
	unsigned	f_reserved : 6;
	unsigned	f_clamp : 1;
	unsigned	f_preserve_alpha : 1;
};

struct swf_filter_colormatrix {
	swf_filter_type	f_type;		&lt;font color=&quot;green&quot;&gt;/* 6 */&lt;/font&gt;
	long float	f_matrix[20];
};

struct swf_any_filter {
	&lt;a href=&quot;#swf_filter_type&quot;&gt;swf_filter_type&lt;/a&gt;			f_fitler_type;
	&lt;a href=&quot;#swf_filter_blur&quot;&gt;swf_filter_blur&lt;/a&gt;			f_filter_blur;
	&lt;a href=&quot;#swf_filter_colormatrix&quot;&gt;swf_filter_colormatrix&lt;/a&gt;		f_filter_colormatrix;
	&lt;a href=&quot;#swf_filter_convolution&quot;&gt;swf_filter_convolution&lt;/a&gt;		f_filter_convolution;
	&lt;a href=&quot;#swf_filter_glow&quot;&gt;swf_filter_glow&lt;/a&gt;			f_filter_glow;
};
&lt;/pre&gt;

        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;A filter defines how to transform the objects it is attached to. The first byte is the filter type. The data following depend on the type. Because each filter is much different, they are defined in separate structures. You can attach a filter to an object using an ActionScript or the &lt;a class=&quot;swf_tagname&quot; href=&quot;/swf_tag_placeobject3&quot;&gt;&lt;strong&gt;PlaceObject3&lt;/strong&gt;&lt;/a&gt; tag.&lt;/p&gt;
&lt;p&gt;The following describes the different filters available since version 8.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_struct_any_filter&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_struct_any_filter#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/578">Display</category>
 <category domain="http://www.m2osw.com/taxonomy/term/581">End</category>
 <category domain="http://www.m2osw.com/taxonomy/term/662">PlaceObject3</category>
 <pubDate>Sun, 13 Dec 2009 04:32:03 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">242 at http://www.m2osw.com</guid>
</item>
<item>
 <title>About SWF</title>
 <link>http://www.m2osw.com/swf_about</link>
 <description>&lt;h3&gt;&lt;b&gt;Brief History&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;At the very beginning, a company created the SWF format to generate   small vector animations on the Internet called Shockwave Flash (hence the name of the format, SWF.) It also included images.   This company was bought by Macromedia around 1997 (if I recall properly).   This is when Flash v3 was created. Since then, Macromedia created a new   version about once a year up to version 8. At that time (in 2005/2006),   Macromedia sealed a deal with Adobe which wanted to use the SWF format   in their PDF files.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_about&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_about#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/594">DoAction</category>
 <category domain="http://www.m2osw.com/taxonomy/term/581">End</category>
 <pubDate>Sun, 29 Nov 2009 01:53:32 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">162 at http://www.m2osw.com</guid>
</item>
<item>
 <title>SSWF Authors</title>
 <link>http://www.m2osw.com/sswf_authors</link>
 <description>&lt;p&gt;This document was written by &lt;a href=&quot;/user/1&quot;&gt;Alexis Wilke&lt;/a&gt;. Different people have helped   in fixing mistakes in the different structures defined here. Their names   appear in the &lt;span class=&quot;insert-node insert-node1 insert-nid263&quot;&gt;&lt;span class=&quot;insert-node-link&quot;&gt;&lt;a href=&quot;/swf_appendix_b_history&quot;&gt;Appendix B — History of the SSWF reference&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;

</description>
 <comments>http://www.m2osw.com/sswf_authors#comments</comments>
 <pubDate>Sun, 29 Nov 2009 01:26:51 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">160 at http://www.m2osw.com</guid>
</item>
</channel>
</rss>


