<?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 - matrix</title>
 <link>http://www.m2osw.com/taxonomy/term/629/all</link>
 <description></description>
 <language>en</language>
<item>
 <title>DefineScalingGrid</title>
 <link>http://www.m2osw.com/swf_tag_definescalinggrid</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-swf-tag-info&quot;&gt;&lt;legend&gt;Tag Info&lt;/legend&gt;&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-number&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Number:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    78        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-content-taxonomy field-field-tag-swf-type&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Type:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Define        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&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-tag-def&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag 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;
struct swf_definescalinggrid {
	&lt;a href=&quot;/swf_struct_tag&quot;&gt;swf_tag&lt;/a&gt;				f_tag;		&lt;font color=&quot;green&quot;&gt;/* 78 */&lt;/font&gt;
	unsigned short			f_button_id_ref;
	&lt;a href=&quot;/swf_struct_rect&quot;&gt;swf_rect&lt;/a&gt;			f_rect;
};&lt;/pre&gt;

        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;This definition is used so the scaling factors applied on an object affects only     the center of the object fully. The borders are only affected in one direction     and the corners are not scaled (note, restrictions apply, see below.) This is     quite useful to draw a scalable button or window.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.m2osw.com/mo_references_view/sswf_docs/images/scaling-grid.gif&quot; /&gt;     &lt;br /&gt;
&lt;small&gt;Fig 1 &amp;mdash; Sample button being scaled with a scaling grid&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_tag_definescalinggrid&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_tag_definescalinggrid#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/579">Action</category>
 <category domain="http://www.m2osw.com/taxonomy/term/588">DefineButton</category>
 <category domain="http://www.m2osw.com/taxonomy/term/675">DefineScalingGrid</category>
 <category domain="http://www.m2osw.com/taxonomy/term/638">DefineSprite</category>
 <category domain="http://www.m2osw.com/taxonomy/term/585">PlaceObject</category>
 <category domain="http://www.m2osw.com/taxonomy/term/624">Sprite</category>
 <pubDate>Fri, 18 Dec 2009 06:20:52 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">307 at http://www.m2osw.com</guid>
</item>
<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 — 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>SWF Button (swf_button)</title>
 <link>http://www.m2osw.com/swf_struct_button</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;
                    1        &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;
struct swf_button {
	char align;
	unsigned		f_button_reserved : 2;
	if(version &amp;gt;= 8) {
		unsigned		f_button_blend_mode : 1;
		unsigned		f_button_filter_list : 1;
	}
	else {
		unsigned		f_button_reserved : 2;
	}
	unsigned		f_button_state_hit_test : 1;
	unsigned		f_button_state_down : 1;
	unsigned		f_button_state_over : 1;
	unsigned		f_button_state_up : 1;
	if(any f_button_state_... != 0) {
		unsigned short		f_button_id_ref;
		unsigned short		f_button_layer;
		&lt;a href=&quot;/swf_struct_matrix&quot;&gt;swf_matrix&lt;/a&gt;		f_matrix;
		if(f_tag == DefineButton2) {
			&lt;a href=&quot;/swf_struct_color_transform&quot;&gt;swf_color_transform&lt;/a&gt;		f_color_transform;
		}
		if(f_button_filter_list) {
			unsigned char		f_filter_count;
			&lt;a href=&quot;/swf_struct_any_filter&quot;&gt;swf_any_filter&lt;/a&gt;		f_filter;
		}
		if(f_button_blend_mode) {
			unsigned char		f_blend_mode;
		}
	}
};&lt;/pre&gt;

        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;A button structure defines a state and a corresponding shape reference.   The shape will be affected by the specified matrix whenever used.&lt;/p&gt;
&lt;p&gt;There are many acceptable combinations. The object which is referenced   is drawn when its state matches the current state of the button. If only the   &lt;i&gt;f_button_state_hit_test&lt;/i&gt; is set, then the shape is always displayed.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_struct_button&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_struct_button#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/577">Define</category>
 <category domain="http://www.m2osw.com/taxonomy/term/581">End</category>
 <category domain="http://www.m2osw.com/taxonomy/term/624">Sprite</category>
 <pubDate>Sun, 13 Dec 2009 05:36:06 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">245 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>SWF Gradient Record (swf_gradient_record)</title>
 <link>http://www.m2osw.com/swf_struct_gradient_record</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;
                    3        &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;
struct swf_gradient_record {
	if(f_tag == &lt;a href=&quot;/swf_tag_defineshape&quot;&gt;DefineMorphShape&lt;/a&gt; || f_tag == &lt;a href=&quot;/swf_tag_defineshape2&quot;&gt;DefineMorphShape2&lt;/a&gt;) {
		unsigned char	f_position;
		&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;	f_rgba;
		unsigned char	f_position_morph;
		&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;	f_rgba_morph;
	}
	else if(f_tag == &lt;a href=&quot;/swf_tag_defineshape3&quot;&gt;DefineShape3&lt;/a&gt; || f_tag == &lt;a href=&quot;/swf_tag_defineshape4&quot;&gt;DefineShape4&lt;/a&gt;) {
		unsigned char	f_position;
		&lt;a href=&quot;/swf_struct_rgba&quot;&gt;swf_rgba&lt;/a&gt;	f_rgba;
	}
	else {
		unsigned char	f_position;
		&lt;a href=&quot;/swf_struct_rgb&quot;&gt;swf_rgb&lt;/a&gt;		f_rgb;
	}
};&lt;/pre&gt;

        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;The first record position should be 0 and the last 255. The   intermediate should use the corresponding value depending   on their position in the gradient effect.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_struct_gradient_record&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_struct_gradient_record#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/577">Define</category>
 <pubDate>Sun, 13 Dec 2009 02:44:26 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">240 at http://www.m2osw.com</guid>
</item>
<item>
 <title>SWF Matrix (swf_matrix)</title>
 <link>http://www.m2osw.com/swf_struct_matrix</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;
                    1        &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;
struct swf_matrix {
	char align;
	unsigned		f_has_scale : 1;
	if(f_has_scale) {
		unsigned	f_scale_bits : 5;
		signed fixed	f_scale_x : f_scale_bits;
		signed fixed	f_scale_y : f_scale_bits;
	}
	unsigned		f_has_rotate : 1;
	if(f_has_rotate) {
		unsigned	f_rotate_bits : 5;
		signed fixed	f_rotate_skew0 : f_rotate_bits;
		signed fixed	f_rotate_skew1 : f_rotate_bits;
	}
	unsigned		f_translate_bits : 5;
	signed			f_translate_x : f_rotate_bits;
	signed			f_translate_y : f_rotate_bits;
};&lt;/pre&gt;

        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;By default...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;f_scale_x and f_scale_y are set to 1.0&lt;/li&gt;
    &lt;li&gt;f_rotate_skew0 and f_rotate_skew1 are set to 0.0&lt;/li&gt;
    &lt;li&gt;f_translate_x and f_translate_y must be specified. The translation can be set to (0, 0) to avoid any side effects.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Scale is a ratio. Rotate is an angle in radian. Translate is in TWIPs (1/20&lt;sup&gt;th&lt;/sup&gt; of a pixel.)&lt;/p&gt;

</description>
 <comments>http://www.m2osw.com/swf_struct_matrix#comments</comments>
 <pubDate>Sun, 13 Dec 2009 01:44:07 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">236 at http://www.m2osw.com</guid>
</item>
<item>
 <title>PlaceObject2</title>
 <link>http://www.m2osw.com/swf_tag_placeobject2</link>
 <description>&lt;fieldset class=&quot;fieldgroup group-swf-tag-info&quot;&gt;&lt;legend&gt;Tag Info&lt;/legend&gt;&lt;div class=&quot;field field-type-number-integer field-field-swf-tag-number&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Number:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    26        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-content-taxonomy field-field-tag-swf-type&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag Type:&amp;nbsp;&lt;/div&gt;
    &lt;div class=&quot;field-items&quot;&gt;
            &lt;div class=&quot;field-item odd&quot;&gt;
                    Define        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&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;
                    3        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;field field-type-text field-field-swf-tag-def&quot;&gt;
      &lt;div class=&quot;field-label&quot;&gt;Tag 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;
struct swf_placeobject2 {	&lt;font color=&quot;green&quot;&gt;/* and swf_placeobject3 */&lt;/font&gt;
	&lt;a href=&quot;/swf_struct_tag&quot;&gt;swf_tag&lt;/a&gt;			f_tag;		&lt;font color=&quot;green&quot;&gt;/* 26 or 70 */&lt;/font&gt;
	&lt;font color=&quot;green&quot;&gt;/* NOTE: the following flags can be read as one or two bytes also */&lt;/font&gt;
	if(version &amp;gt;= 8) {
		unsigned	f_place_reserved : 5;
		unsigned	f_place_bitmap_caching : 1;
		unsigned	f_place_blend_mode : 1;
		unsigned	f_place_filters : 1;
	}
	if(version &amp;gt;= 5) {
		unsigned	f_place_has_actions : 1;
	}
	else {
		unsigned	f_place_reserved : 1;
	}
	unsigned		f_place_has_clipping_depth : 1;
	unsigned		f_place_has_name : 1;
	unsigned		f_place_has_morph_position : 1;
	unsigned		f_place_has_color_transform : 1;
	unsigned		f_place_has_matrix : 1;
	unsigned		f_place_has_id_ref : 1;
	unsigned		f_place_has_move : 1;
	unsigned short		f_depth;
	if(f_place_has_id_ref) {
		unsigned short		f_object_id_ref;
	}
	if(f_place_has_matrix) {
		&lt;a href=&quot;/swf_struct_matrix&quot;&gt;swf_matrix&lt;/a&gt;		f_matrix;
	}
	if(f_place_has_color_transform) {
		&lt;a href=&quot;/swf_struct_color_transform&quot;&gt;swf_color_transform&lt;/a&gt;	f_color_transform;
	}
	if(f_place_has_morph_position) {
		unsigned short		f_morph_position;
	}
	if(f_place_has_name) {
		string			f_name;&lt;a class=&quot;see-footnote&quot; id=&quot;footnoteref1_pc33odx&quot; title=&quot;Assuming that this PlaceObject2 references a DefineSprite, this name becomes the name of this instance of the sprite. This feature enables you to place the same DefineSprite multiple times in your display list each time using a different name.&quot; href=&quot;#footnote1_pc33odx&quot;&gt;1&lt;/a&gt;
	}
	if(f_place_has_clipping_depth) {
		unsigned short		f_clipping_depth;
	}
	&lt;font color=&quot;green&quot;&gt;/* 3 next entries since v8.0 */&lt;/font&gt;
	if(f_place_filters) {
		unsigned char		f_filter_count;
		&lt;a href=&quot;/swf_struct_any_filter&quot;&gt;swf_any_filter&lt;/a&gt;		f_filter;
	}
	if(f_place_blend_mode) {
		unsigned char		f_blend_mode;
	}
	if(f_place_bitmap_caching) {
		&lt;font color=&quot;green&quot;&gt;/* WARNING: this is not defined in the Macromedia documentation&lt;br /&gt;		 * it may be that it was part of the blend mode whenever the person&lt;br /&gt;		 * who defined this byte was testing (I copied that from somewhere else!).&lt;br /&gt;		 */&lt;/font&gt;
		unsigned char		f_bitmap_caching;
	}
	&lt;font color=&quot;green&quot;&gt;/* since v5.0 */&lt;/font&gt;
	if(f_place_has_actions) {
		unsigned short		f_reserved;
		if(version &amp;gt;= 6) {
			unsigned long	f_all_flags;
		}
		else {
			unsigned short	f_all_flags;
		}
		&lt;a href=&quot;/swf_struct_event&quot;&gt;swf_event&lt;/a&gt;		f_event[&lt;i&gt;&amp;lt;variable&amp;gt;&lt;/i&gt;];
		if(version &amp;gt;= 6) {
			unsigned long	f_end;	&lt;font color=&quot;green&quot;&gt;/* always zero */&lt;/font&gt;
		}
		else {
			unsigned short	f_end;	&lt;font color=&quot;green&quot;&gt;/* always zero */&lt;/font&gt;
		}
	}
};&lt;/pre&gt;

&lt;ul class=&quot;footnotes&quot;&gt;&lt;li class=&quot;footnote&quot; id=&quot;footnote1_pc33odx&quot;&gt;&lt;a class=&quot;footnote-label&quot; href=&quot;#footnoteref1_pc33odx&quot;&gt;1.&lt;/a&gt; Assuming that this &lt;strong&gt;PlaceObject2&lt;/strong&gt; references a &lt;a href=&quot;/swf_tag_definesprite&quot;&gt;&lt;strong&gt;DefineSprite&lt;/strong&gt;&lt;/a&gt;, this name becomes the name of this instance of the sprite. This feature enables you to place the same &lt;strong&gt;DefineSprite&lt;/strong&gt; multiple times in your display list each time using a different name.&lt;/li&gt;
&lt;/ul&gt;
        &lt;/div&gt;
        &lt;/div&gt;
&lt;/div&gt;
&lt;/fieldset&gt;
&lt;p&gt;This tag will be used to specify where and how to place an object   in the next frame. The &lt;a href=&quot;/swf_tag_placeobject&quot; class=&quot;swf_tagname&quot;&gt;&lt;b&gt;PlaceObject&lt;/b&gt;&lt;/a&gt;   is much different and is presented separately.&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;f_depth&lt;/i&gt; field is used to indicate at which depth the character is   inserted in the current frame. There can be only one object per depth value   (thus a maximum of 65536 objects can appear on a single frame).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.m2osw.com/swf_tag_placeobject2&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.m2osw.com/swf_tag_placeobject2#comments</comments>
 <category domain="http://www.m2osw.com/taxonomy/term/579">Action</category>
 <category domain="http://www.m2osw.com/taxonomy/term/588">DefineButton</category>
 <category domain="http://www.m2osw.com/taxonomy/term/635">DefineButton2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/648">DefineEditText</category>
 <category domain="http://www.m2osw.com/taxonomy/term/644">DefineMorphShape</category>
 <category domain="http://www.m2osw.com/taxonomy/term/583">DefineShape</category>
 <category domain="http://www.m2osw.com/taxonomy/term/605">DefineShape2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/618">DefineShape3</category>
 <category domain="http://www.m2osw.com/taxonomy/term/638">DefineSprite</category>
 <category domain="http://www.m2osw.com/taxonomy/term/592">DefineText</category>
 <category domain="http://www.m2osw.com/taxonomy/term/578">Display</category>
 <category domain="http://www.m2osw.com/taxonomy/term/585">PlaceObject</category>
 <category domain="http://www.m2osw.com/taxonomy/term/609">PlaceObject2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/610">RemoveObject2</category>
 <category domain="http://www.m2osw.com/taxonomy/term/624">Sprite</category>
 <category domain="http://www.m2osw.com/taxonomy/term/625">VideoFrame</category>
 <pubDate>Tue, 01 Dec 2009 08:10:31 +0000</pubDate>
 <dc:creator>Alexis Wilke</dc:creator>
 <guid isPermaLink="false">208 at http://www.m2osw.com</guid>
</item>
</channel>
</rss>


