swfmill 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +23 -0
- data/.swfmill +240 -0
- data/LICENSE +340 -0
- data/README.rdoc +37 -0
- data/Rakefile +59 -0
- data/VERSION +1 -0
- data/ext/.gitignore +5 -0
- data/ext/extconf.rb +86 -0
- data/ext/swfmill/.gitignore +27 -0
- data/ext/swfmill/AUTHORS +9 -0
- data/ext/swfmill/COPYING +340 -0
- data/ext/swfmill/Makefile.am +14 -0
- data/ext/swfmill/Makefile.in +635 -0
- data/ext/swfmill/NEWS +189 -0
- data/ext/swfmill/README +170 -0
- data/ext/swfmill/TODO +33 -0
- data/ext/swfmill/aclocal.m4 +7712 -0
- data/ext/swfmill/autogen.sh +7 -0
- data/ext/swfmill/compile +142 -0
- data/ext/swfmill/config.guess +1516 -0
- data/ext/swfmill/config.sub +1626 -0
- data/ext/swfmill/configure +21868 -0
- data/ext/swfmill/configure.ac +55 -0
- data/ext/swfmill/depcomp +589 -0
- data/ext/swfmill/install-sh +519 -0
- data/ext/swfmill/ltmain.sh +6964 -0
- data/ext/swfmill/missing +367 -0
- data/ext/swfmill/src/Geom.cpp +107 -0
- data/ext/swfmill/src/Geom.h +100 -0
- data/ext/swfmill/src/Makefile.am +86 -0
- data/ext/swfmill/src/Makefile.in +1025 -0
- data/ext/swfmill/src/SWF.h +11941 -0
- data/ext/swfmill/src/SWFAction.cpp +41 -0
- data/ext/swfmill/src/SWFAction.h +19 -0
- data/ext/swfmill/src/SWFBasic.h +7 -0
- data/ext/swfmill/src/SWFFile.cpp +406 -0
- data/ext/swfmill/src/SWFFile.h +34 -0
- data/ext/swfmill/src/SWFFilter.cpp +25 -0
- data/ext/swfmill/src/SWFFilter.h +15 -0
- data/ext/swfmill/src/SWFGlyphList.cpp +262 -0
- data/ext/swfmill/src/SWFGlyphList.h +34 -0
- data/ext/swfmill/src/SWFIdItem.h +85 -0
- data/ext/swfmill/src/SWFIdItems.h +16 -0
- data/ext/swfmill/src/SWFItem.cpp +235 -0
- data/ext/swfmill/src/SWFItem.h +60 -0
- data/ext/swfmill/src/SWFList.h +179 -0
- data/ext/swfmill/src/SWFReader.cpp +352 -0
- data/ext/swfmill/src/SWFReader.h +73 -0
- data/ext/swfmill/src/SWFShapeItem.cpp +220 -0
- data/ext/swfmill/src/SWFShapeItem.h +45 -0
- data/ext/swfmill/src/SWFShapeMaker.cpp +401 -0
- data/ext/swfmill/src/SWFShapeMaker.h +128 -0
- data/ext/swfmill/src/SWFTag.cpp +49 -0
- data/ext/swfmill/src/SWFTag.h +20 -0
- data/ext/swfmill/src/SWFTrait.cpp +35 -0
- data/ext/swfmill/src/SWFTrait.h +22 -0
- data/ext/swfmill/src/SWFWriter.cpp +312 -0
- data/ext/swfmill/src/SWFWriter.h +84 -0
- data/ext/swfmill/src/base64.c +110 -0
- data/ext/swfmill/src/base64.h +15 -0
- data/ext/swfmill/src/codegen/Makefile.am +15 -0
- data/ext/swfmill/src/codegen/Makefile.in +346 -0
- data/ext/swfmill/src/codegen/basic.xsl +45 -0
- data/ext/swfmill/src/codegen/basics.xsl +235 -0
- data/ext/swfmill/src/codegen/dumper.xsl +109 -0
- data/ext/swfmill/src/codegen/header.xsl +131 -0
- data/ext/swfmill/src/codegen/mk.xsl +26 -0
- data/ext/swfmill/src/codegen/parser.xsl +196 -0
- data/ext/swfmill/src/codegen/parsexml.xsl +312 -0
- data/ext/swfmill/src/codegen/size.xsl +189 -0
- data/ext/swfmill/src/codegen/source.xml +2197 -0
- data/ext/swfmill/src/codegen/writer.xsl +190 -0
- data/ext/swfmill/src/codegen/writexml.xsl +138 -0
- data/ext/swfmill/src/swfmill.cpp +482 -0
- data/ext/swfmill/src/swft/Makefile.am +55 -0
- data/ext/swfmill/src/swft/Makefile.in +717 -0
- data/ext/swfmill/src/swft/Parser.cpp +76 -0
- data/ext/swfmill/src/swft/Parser.h +37 -0
- data/ext/swfmill/src/swft/SVGAttributeParser.cpp +78 -0
- data/ext/swfmill/src/swft/SVGAttributeParser.h +35 -0
- data/ext/swfmill/src/swft/SVGColor.cpp +116 -0
- data/ext/swfmill/src/swft/SVGColor.h +37 -0
- data/ext/swfmill/src/swft/SVGColors.h +167 -0
- data/ext/swfmill/src/swft/SVGGradient.cpp +258 -0
- data/ext/swfmill/src/swft/SVGGradient.h +81 -0
- data/ext/swfmill/src/swft/SVGPathParser.cpp +155 -0
- data/ext/swfmill/src/swft/SVGPathParser.h +126 -0
- data/ext/swfmill/src/swft/SVGPointsParser.cpp +51 -0
- data/ext/swfmill/src/swft/SVGPointsParser.h +25 -0
- data/ext/swfmill/src/swft/SVGStyle.cpp +181 -0
- data/ext/swfmill/src/swft/SVGStyle.h +80 -0
- data/ext/swfmill/src/swft/SVGTransformParser.cpp +72 -0
- data/ext/swfmill/src/swft/SVGTransformParser.h +32 -0
- data/ext/swfmill/src/swft/readpng.c +305 -0
- data/ext/swfmill/src/swft/readpng.h +92 -0
- data/ext/swfmill/src/swft/swft.cpp +251 -0
- data/ext/swfmill/src/swft/swft.h +64 -0
- data/ext/swfmill/src/swft/swft_document.cpp +57 -0
- data/ext/swfmill/src/swft/swft_import.cpp +38 -0
- data/ext/swfmill/src/swft/swft_import_binary.cpp +82 -0
- data/ext/swfmill/src/swft/swft_import_jpeg.cpp +255 -0
- data/ext/swfmill/src/swft/swft_import_mp3.cpp +268 -0
- data/ext/swfmill/src/swft/swft_import_png.cpp +231 -0
- data/ext/swfmill/src/swft/swft_import_ttf.cpp +519 -0
- data/ext/swfmill/src/swft/swft_import_wav.cpp +255 -0
- data/ext/swfmill/src/swft/swft_path.cpp +178 -0
- data/ext/swfmill/src/xslt/Makefile.am +51 -0
- data/ext/swfmill/src/xslt/Makefile.in +536 -0
- data/ext/swfmill/src/xslt/README +19 -0
- data/ext/swfmill/src/xslt/assemble.xsl +38 -0
- data/ext/swfmill/src/xslt/simple-deprecated.xslt +62 -0
- data/ext/swfmill/src/xslt/simple-elements.xslt +627 -0
- data/ext/swfmill/src/xslt/simple-import.xslt +565 -0
- data/ext/swfmill/src/xslt/simple-svg.xslt +383 -0
- data/ext/swfmill/src/xslt/simple-tools.xslt +255 -0
- data/ext/swfmill/src/xslt/simple.cpp +1686 -0
- data/ext/swfmill/src/xslt/simple.xml +7 -0
- data/ext/swfmill/src/xslt/xslt.h +7 -0
- data/ext/swfmill/test/Makefile.am +1 -0
- data/ext/swfmill/test/Makefile.in +490 -0
- data/ext/swfmill/test/xml/Makefile.am +20 -0
- data/ext/swfmill/test/xml/Makefile.in +353 -0
- data/ext/swfmill/test/xml/test-xml +21 -0
- data/ext/swfmill_ext.cc +375 -0
- data/lib/swfmill.rb +30 -0
- data/spec/data/swfmill-banner1.swf +0 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/swfmill_spec.rb +125 -0
- metadata +206 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
2005-07-19 building the internal stylesheets
|
|
3
|
+
|
|
4
|
+
* swfmill uses internal stylesheets for some commands ("simple").
|
|
5
|
+
* these get big, so they are split into parts (*.xslt)
|
|
6
|
+
* a .xml file (e.g. simple.xml) describes which parts should get assembled
|
|
7
|
+
to form a single internal sheet.
|
|
8
|
+
* the .xml is transformed along assemble.xsl, including the parts,
|
|
9
|
+
producing a .cpp that contains the stylesheet as a static string.
|
|
10
|
+
|
|
11
|
+
a new internal stylesheet (foo) would need:
|
|
12
|
+
* foo.xml <compilation> description
|
|
13
|
+
* ? anything else
|
|
14
|
+
* mentions in Makefile.am
|
|
15
|
+
* mention in xslt.h
|
|
16
|
+
* command in swfmill.cpp
|
|
17
|
+
|
|
18
|
+
(PS, yes i know about xsl:import and :include, but i would have to hack
|
|
19
|
+
libxslt to read from something like memory:// urls, which is not nice either)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
3
|
+
version='1.0'>
|
|
4
|
+
|
|
5
|
+
<xsl:output method="xml" indent="yes"/>
|
|
6
|
+
|
|
7
|
+
<xsl:template match="compilation">
|
|
8
|
+
<xsl:element name="xsl:stylesheet">
|
|
9
|
+
<xsl:attribute name="namespaces">hack</xsl:attribute>
|
|
10
|
+
<xsl:attribute name="extension-element-prefixes">swft</xsl:attribute>
|
|
11
|
+
<xsl:attribute name="version">1.0</xsl:attribute>
|
|
12
|
+
<xsl:text>
|
|
13
|
+
</xsl:text>
|
|
14
|
+
|
|
15
|
+
<xsl:element name="xsl:output">
|
|
16
|
+
<xsl:attribute name="method">xml</xsl:attribute>
|
|
17
|
+
<xsl:attribute name="indent">yes</xsl:attribute>
|
|
18
|
+
</xsl:element>
|
|
19
|
+
|
|
20
|
+
<xsl:element name="xsl:param">
|
|
21
|
+
<xsl:attribute name="name">quiet</xsl:attribute>
|
|
22
|
+
<xsl:attribute name="select">'false'</xsl:attribute>
|
|
23
|
+
</xsl:element>
|
|
24
|
+
|
|
25
|
+
<xsl:apply-templates/>
|
|
26
|
+
|
|
27
|
+
</xsl:element>
|
|
28
|
+
</xsl:template>
|
|
29
|
+
|
|
30
|
+
<xsl:template match="include">
|
|
31
|
+
<xsl:for-each select="document(@src)/xsl:stylesheet/*">
|
|
32
|
+
<xsl:text>
|
|
33
|
+
</xsl:text>
|
|
34
|
+
<xsl:copy-of select="."/>
|
|
35
|
+
</xsl:for-each>
|
|
36
|
+
</xsl:template>
|
|
37
|
+
|
|
38
|
+
</xsl:stylesheet>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
3
|
+
xmlns:swft="http://subsignal.org/swfml/swft"
|
|
4
|
+
xmlns:str="http://exslt.org/strings"
|
|
5
|
+
xmlns:math="http://exslt.org/math"
|
|
6
|
+
extension-element-prefixes="swft"
|
|
7
|
+
version='1.0'>
|
|
8
|
+
|
|
9
|
+
<!-- set -->
|
|
10
|
+
<xsl:template match="set">
|
|
11
|
+
<xsl:if test="$quiet != 'true'">
|
|
12
|
+
<xsl:message>"set" is deprecated, please use assignments in place</xsl:message>
|
|
13
|
+
</xsl:if>
|
|
14
|
+
|
|
15
|
+
<xsl:variable name="spriteid">
|
|
16
|
+
<xsl:value-of select="swft:next-id()"/>
|
|
17
|
+
</xsl:variable>
|
|
18
|
+
<DefineSprite objectID="{$spriteid}" frames="1">
|
|
19
|
+
<tags>
|
|
20
|
+
<End/>
|
|
21
|
+
</tags>
|
|
22
|
+
</DefineSprite>
|
|
23
|
+
<Export>
|
|
24
|
+
<symbols>
|
|
25
|
+
<Symbol objectID="{$spriteid}" name="__Packages.swfmill.set.{@name}.{@member}"/>
|
|
26
|
+
</symbols>
|
|
27
|
+
</Export>
|
|
28
|
+
<DoInitAction sprite="{$spriteid}">
|
|
29
|
+
<actions>
|
|
30
|
+
<Dictionary>
|
|
31
|
+
<strings>
|
|
32
|
+
<String value="_root"/>
|
|
33
|
+
<String value="{@name}"/>
|
|
34
|
+
<String value="{@member}"/>
|
|
35
|
+
<String value="{@value}"/>
|
|
36
|
+
</strings>
|
|
37
|
+
</Dictionary>
|
|
38
|
+
<PushData>
|
|
39
|
+
<items>
|
|
40
|
+
<StackDictionaryLookup index="0"/>
|
|
41
|
+
</items>
|
|
42
|
+
</PushData>
|
|
43
|
+
<GetVariable/>
|
|
44
|
+
<PushData>
|
|
45
|
+
<items>
|
|
46
|
+
<StackDictionaryLookup index="1"/>
|
|
47
|
+
</items>
|
|
48
|
+
</PushData>
|
|
49
|
+
<GetMember/>
|
|
50
|
+
<PushData>
|
|
51
|
+
<items>
|
|
52
|
+
<StackDictionaryLookup index="2"/>
|
|
53
|
+
<StackDictionaryLookup index="3"/>
|
|
54
|
+
</items>
|
|
55
|
+
</PushData>
|
|
56
|
+
<SetMember/>
|
|
57
|
+
<EndAction/>
|
|
58
|
+
</actions>
|
|
59
|
+
</DoInitAction>
|
|
60
|
+
</xsl:template>
|
|
61
|
+
|
|
62
|
+
</xsl:stylesheet>
|
|
@@ -0,0 +1,627 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
3
|
+
xmlns:swft="http://subsignal.org/swfml/swft"
|
|
4
|
+
xmlns:str="http://exslt.org/strings"
|
|
5
|
+
xmlns:math="http://exslt.org/math"
|
|
6
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
8
|
+
extension-element-prefixes="swft"
|
|
9
|
+
version='1.0'>
|
|
10
|
+
|
|
11
|
+
<!--
|
|
12
|
+
contains templates for most of the swfml-simple elements
|
|
13
|
+
-->
|
|
14
|
+
|
|
15
|
+
<xsl:variable name="movie-version">
|
|
16
|
+
<xsl:choose>
|
|
17
|
+
<xsl:when test="movie/@version"><xsl:value-of select="movie/@version"/></xsl:when>
|
|
18
|
+
<xsl:otherwise>7</xsl:otherwise>
|
|
19
|
+
</xsl:choose>
|
|
20
|
+
</xsl:variable>
|
|
21
|
+
|
|
22
|
+
<!-- basic SWF setup -->
|
|
23
|
+
<xsl:template match="movie">
|
|
24
|
+
<!-- set defaults for movie -->
|
|
25
|
+
<xsl:variable name="version" select="$movie-version"/>
|
|
26
|
+
<xsl:variable name="compressed">
|
|
27
|
+
<xsl:choose>
|
|
28
|
+
<xsl:when test="@compressed='true'">1</xsl:when>
|
|
29
|
+
<xsl:when test="@compressed='false'">0</xsl:when>
|
|
30
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
31
|
+
</xsl:choose>
|
|
32
|
+
</xsl:variable>
|
|
33
|
+
<xsl:variable name="framerate">
|
|
34
|
+
<xsl:choose>
|
|
35
|
+
<xsl:when test="@framerate"><xsl:value-of select="@framerate"/></xsl:when>
|
|
36
|
+
<xsl:otherwise>12</xsl:otherwise>
|
|
37
|
+
</xsl:choose>
|
|
38
|
+
</xsl:variable>
|
|
39
|
+
<xsl:variable name="frames">
|
|
40
|
+
<xsl:choose>
|
|
41
|
+
<xsl:when test="@frames"><xsl:value-of select="@frames"/></xsl:when>
|
|
42
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
43
|
+
</xsl:choose>
|
|
44
|
+
</xsl:variable>
|
|
45
|
+
<xsl:variable name="left">
|
|
46
|
+
<xsl:choose>
|
|
47
|
+
<xsl:when test="@left"><xsl:value-of select="@left * 20"/></xsl:when>
|
|
48
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
49
|
+
</xsl:choose>
|
|
50
|
+
</xsl:variable>
|
|
51
|
+
<xsl:variable name="top">
|
|
52
|
+
<xsl:choose>
|
|
53
|
+
<xsl:when test="@top"><xsl:value-of select="@top * 20"/></xsl:when>
|
|
54
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
55
|
+
</xsl:choose>
|
|
56
|
+
</xsl:variable>
|
|
57
|
+
<xsl:variable name="right">
|
|
58
|
+
<xsl:choose>
|
|
59
|
+
<xsl:when test="@width"><xsl:value-of select="$left + (@width * 20)"/></xsl:when>
|
|
60
|
+
<xsl:otherwise>6400</xsl:otherwise>
|
|
61
|
+
</xsl:choose>
|
|
62
|
+
</xsl:variable>
|
|
63
|
+
<xsl:variable name="bottom">
|
|
64
|
+
<xsl:choose>
|
|
65
|
+
<xsl:when test="@height"><xsl:value-of select="$top + (@height * 20)"/></xsl:when>
|
|
66
|
+
<xsl:otherwise>4800</xsl:otherwise>
|
|
67
|
+
</xsl:choose>
|
|
68
|
+
</xsl:variable>
|
|
69
|
+
<xsl:variable name="hasMetaData">
|
|
70
|
+
<xsl:choose>
|
|
71
|
+
<xsl:when test="count(meta) > 0">1</xsl:when>
|
|
72
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
73
|
+
</xsl:choose>
|
|
74
|
+
</xsl:variable>
|
|
75
|
+
<xsl:variable name="useNetwork">
|
|
76
|
+
<xsl:choose>
|
|
77
|
+
<xsl:when test="@local-access = 'network'">1</xsl:when>
|
|
78
|
+
<xsl:when test="@local-access = 'filesystem'">0</xsl:when>
|
|
79
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
80
|
+
</xsl:choose>
|
|
81
|
+
</xsl:variable>
|
|
82
|
+
<xsl:variable name="as3">
|
|
83
|
+
<xsl:choose>
|
|
84
|
+
<xsl:when test="@as3">1</xsl:when>
|
|
85
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
86
|
+
</xsl:choose>
|
|
87
|
+
</xsl:variable>
|
|
88
|
+
|
|
89
|
+
<swf version="{$version}" compressed="{$compressed}">
|
|
90
|
+
<Header framerate="{$framerate}" frames="{$frames}">
|
|
91
|
+
<size>
|
|
92
|
+
<Rectangle left="{$left}" right="{$right}" top="{$top}" bottom="{$bottom}"/>
|
|
93
|
+
</size>
|
|
94
|
+
<tags>
|
|
95
|
+
<xsl:if test="$version >= 8">
|
|
96
|
+
<FileAttributes hasMetaData="{$hasMetaData}" useNetwork="{$useNetwork}" allowABC="{$as3}"/>
|
|
97
|
+
</xsl:if>
|
|
98
|
+
<xsl:apply-templates/>
|
|
99
|
+
<End/>
|
|
100
|
+
</tags>
|
|
101
|
+
</Header>
|
|
102
|
+
</swf>
|
|
103
|
+
</xsl:template>
|
|
104
|
+
|
|
105
|
+
<!-- background color -->
|
|
106
|
+
<xsl:template match="background">
|
|
107
|
+
<SetBackgroundColor>
|
|
108
|
+
<color>
|
|
109
|
+
<xsl:call-template name="color"/>
|
|
110
|
+
</color>
|
|
111
|
+
</SetBackgroundColor>
|
|
112
|
+
</xsl:template>
|
|
113
|
+
|
|
114
|
+
<xsl:template match="meta">
|
|
115
|
+
<Metadata>
|
|
116
|
+
<rdf:RDF>
|
|
117
|
+
<rdf:Description>
|
|
118
|
+
<xsl:apply-templates select="@*" mode="meta"/>
|
|
119
|
+
</rdf:Description>
|
|
120
|
+
<xsl:copy-of select="*"/>
|
|
121
|
+
</rdf:RDF>
|
|
122
|
+
</Metadata>
|
|
123
|
+
</xsl:template>
|
|
124
|
+
|
|
125
|
+
<xsl:template match="@title" mode="meta">
|
|
126
|
+
<dc:title>
|
|
127
|
+
<xsl:apply-templates/>
|
|
128
|
+
</dc:title>
|
|
129
|
+
</xsl:template>
|
|
130
|
+
|
|
131
|
+
<xsl:template match="@description" mode="meta">
|
|
132
|
+
<dc:description>
|
|
133
|
+
<xsl:apply-templates/>
|
|
134
|
+
</dc:description>
|
|
135
|
+
</xsl:template>
|
|
136
|
+
|
|
137
|
+
<xsl:template match="*|text()" mode="meta"/>
|
|
138
|
+
|
|
139
|
+
<!-- library just passes thru, children decide wether to export by themselves -->
|
|
140
|
+
<xsl:template match="library">
|
|
141
|
+
<xsl:apply-templates/>
|
|
142
|
+
</xsl:template>
|
|
143
|
+
|
|
144
|
+
<!-- linkage export -->
|
|
145
|
+
<xsl:template match="@id" mode="export">
|
|
146
|
+
<xsl:param name="id"/>
|
|
147
|
+
<Export count="1">
|
|
148
|
+
<symbols>
|
|
149
|
+
<Symbol objectID="{$id}">
|
|
150
|
+
<xsl:attribute name="name"><xsl:value-of select="."/></xsl:attribute>
|
|
151
|
+
</Symbol>
|
|
152
|
+
</symbols>
|
|
153
|
+
</Export>
|
|
154
|
+
</xsl:template>
|
|
155
|
+
<xsl:template match="@*" mode="export" priority="-1"/>
|
|
156
|
+
|
|
157
|
+
<!-- place -->
|
|
158
|
+
<xsl:template match="place">
|
|
159
|
+
<xsl:variable name="id">
|
|
160
|
+
<xsl:value-of select="swft:map-id(@id)"/>
|
|
161
|
+
</xsl:variable>
|
|
162
|
+
<xsl:variable name="x">
|
|
163
|
+
<xsl:choose>
|
|
164
|
+
<xsl:when test="@x"><xsl:value-of select="@x * 20"/></xsl:when>
|
|
165
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
166
|
+
</xsl:choose>
|
|
167
|
+
</xsl:variable>
|
|
168
|
+
<xsl:variable name="y">
|
|
169
|
+
<xsl:choose>
|
|
170
|
+
<xsl:when test="@y"><xsl:value-of select="@y * 20"/></xsl:when>
|
|
171
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
172
|
+
</xsl:choose>
|
|
173
|
+
</xsl:variable>
|
|
174
|
+
<xsl:variable name="scale">
|
|
175
|
+
<xsl:choose>
|
|
176
|
+
<xsl:when test="@scale"><xsl:value-of select="@scale"/></xsl:when>
|
|
177
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
178
|
+
</xsl:choose>
|
|
179
|
+
</xsl:variable>
|
|
180
|
+
<xsl:variable name="skewx">
|
|
181
|
+
<xsl:choose>
|
|
182
|
+
<xsl:when test="@skewx"><xsl:value-of select="@skewx"/></xsl:when>
|
|
183
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
184
|
+
</xsl:choose>
|
|
185
|
+
</xsl:variable>
|
|
186
|
+
<xsl:variable name="skewy">
|
|
187
|
+
<xsl:choose>
|
|
188
|
+
<xsl:when test="@skewy"><xsl:value-of select="@skewy"/></xsl:when>
|
|
189
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
190
|
+
</xsl:choose>
|
|
191
|
+
</xsl:variable>
|
|
192
|
+
<xsl:variable name="scalex">
|
|
193
|
+
<xsl:choose>
|
|
194
|
+
<xsl:when test="@scalex"><xsl:value-of select="@scalex"/></xsl:when>
|
|
195
|
+
<xsl:when test="@scale"><xsl:value-of select="@scale"/></xsl:when>
|
|
196
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
197
|
+
</xsl:choose>
|
|
198
|
+
</xsl:variable>
|
|
199
|
+
<xsl:variable name="scaley">
|
|
200
|
+
<xsl:choose>
|
|
201
|
+
<xsl:when test="@scaley"><xsl:value-of select="@scaley"/></xsl:when>
|
|
202
|
+
<xsl:when test="@scale"><xsl:value-of select="@scale"/></xsl:when>
|
|
203
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
204
|
+
</xsl:choose>
|
|
205
|
+
</xsl:variable>
|
|
206
|
+
|
|
207
|
+
<xsl:variable name="depth"><xsl:value-of select="@depth"/></xsl:variable>
|
|
208
|
+
|
|
209
|
+
<!-- Setting replace="1" doesn't work if we are replacing a sprite.
|
|
210
|
+
Instead, we remove the previous sprite with RemoveObject2,
|
|
211
|
+
and increment "morph". This strange requirement isn't
|
|
212
|
+
documented anywhere, but this is what Flash does, and it
|
|
213
|
+
works. See bug #409165 on Launchpad. -->
|
|
214
|
+
<xsl:variable name="replace">
|
|
215
|
+
<xsl:choose>
|
|
216
|
+
<xsl:when test="preceding-sibling::place[@depth=$depth] or ../preceding-sibling::frame/place[@depth=$depth]">1</xsl:when>
|
|
217
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
218
|
+
</xsl:choose>
|
|
219
|
+
</xsl:variable>
|
|
220
|
+
<xsl:variable name="morph">
|
|
221
|
+
<xsl:value-of select="count(preceding-sibling::place[@depth=$depth] |
|
|
222
|
+
../preceding-sibling::frame/place[@depth=$depth])"/>
|
|
223
|
+
</xsl:variable>
|
|
224
|
+
<xsl:if test="$replace = '1'">
|
|
225
|
+
<RemoveObject2 depth="{@depth}"/>
|
|
226
|
+
</xsl:if>
|
|
227
|
+
<PlaceObject2 replace="0" morph="{$morph}" depth="{$depth}" objectID="{$id}">
|
|
228
|
+
<xsl:if test="@name">
|
|
229
|
+
<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
|
|
230
|
+
</xsl:if>
|
|
231
|
+
<xsl:if test="*">
|
|
232
|
+
<!-- 0x200: initialize -->
|
|
233
|
+
<xsl:attribute name="allflags1">0x200</xsl:attribute>
|
|
234
|
+
<events>
|
|
235
|
+
<Event flags1="0x200">
|
|
236
|
+
<actions>
|
|
237
|
+
<xsl:apply-templates mode="set"/>
|
|
238
|
+
<EndAction/>
|
|
239
|
+
</actions>
|
|
240
|
+
</Event>
|
|
241
|
+
<Event/>
|
|
242
|
+
</events>
|
|
243
|
+
</xsl:if>
|
|
244
|
+
<transform>
|
|
245
|
+
<Transform transX="{$x}" transY="{$y}" scaleX="{$scalex}" scaleY="{$scaley}" skewX="{$skewx}" skewY="{$skewy}"/>
|
|
246
|
+
</transform>
|
|
247
|
+
</PlaceObject2>
|
|
248
|
+
</xsl:template>
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
<!-- transform -->
|
|
252
|
+
<xsl:template match="transform">
|
|
253
|
+
<xsl:variable name="id">
|
|
254
|
+
<xsl:value-of select="swft:map-id(@id)"/>
|
|
255
|
+
</xsl:variable>
|
|
256
|
+
<xsl:variable name="myid">
|
|
257
|
+
<xsl:value-of select="@id"/>
|
|
258
|
+
</xsl:variable>
|
|
259
|
+
<xsl:variable name="x">
|
|
260
|
+
<xsl:choose>
|
|
261
|
+
<xsl:when test="@x"><xsl:value-of select="@x * 20"/></xsl:when>
|
|
262
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
263
|
+
</xsl:choose>
|
|
264
|
+
</xsl:variable>
|
|
265
|
+
<xsl:variable name="y">
|
|
266
|
+
<xsl:choose>
|
|
267
|
+
<xsl:when test="@y"><xsl:value-of select="@y * 20"/></xsl:when>
|
|
268
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
269
|
+
</xsl:choose>
|
|
270
|
+
</xsl:variable>
|
|
271
|
+
<xsl:variable name="scale">
|
|
272
|
+
<xsl:choose>
|
|
273
|
+
<xsl:when test="@scale"><xsl:value-of select="@scale"/></xsl:when>
|
|
274
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
275
|
+
</xsl:choose>
|
|
276
|
+
</xsl:variable>
|
|
277
|
+
|
|
278
|
+
<xsl:variable name="scalex">
|
|
279
|
+
<xsl:choose>
|
|
280
|
+
<xsl:when test="@scalex"><xsl:value-of select="@scalex"/></xsl:when>
|
|
281
|
+
<xsl:when test="@scale"><xsl:value-of select="@scale"/></xsl:when>
|
|
282
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
283
|
+
</xsl:choose>
|
|
284
|
+
</xsl:variable>
|
|
285
|
+
<xsl:variable name="scaley">
|
|
286
|
+
<xsl:choose>
|
|
287
|
+
<xsl:when test="@scaley"><xsl:value-of select="@scaley"/></xsl:when>
|
|
288
|
+
<xsl:when test="@scale"><xsl:value-of select="@scale"/></xsl:when>
|
|
289
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
290
|
+
</xsl:choose>
|
|
291
|
+
</xsl:variable>
|
|
292
|
+
<xsl:variable name="skewx">
|
|
293
|
+
<xsl:choose>
|
|
294
|
+
<xsl:when test="@skewx"><xsl:value-of select="@skewx"/></xsl:when>
|
|
295
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
296
|
+
</xsl:choose>
|
|
297
|
+
</xsl:variable>
|
|
298
|
+
<xsl:variable name="skewy">
|
|
299
|
+
<xsl:choose>
|
|
300
|
+
<xsl:when test="@skewy"><xsl:value-of select="@skewy"/></xsl:when>
|
|
301
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
302
|
+
</xsl:choose>
|
|
303
|
+
</xsl:variable>
|
|
304
|
+
|
|
305
|
+
<xsl:variable name="depth">
|
|
306
|
+
<xsl:value-of select="preceding-sibling::place[@id=$myid]/@depth"/>
|
|
307
|
+
</xsl:variable>
|
|
308
|
+
|
|
309
|
+
<PlaceObject2 replace="1" depth="{$depth}" objectID="{$id}">
|
|
310
|
+
<transform>
|
|
311
|
+
<Transform transX="{$x}" transY="{$y}" scaleX="{$scalex}" scaleY="{$scaley}" skewX="{$skewx}" skewY="{$skewy}"/>
|
|
312
|
+
</transform>
|
|
313
|
+
</PlaceObject2>
|
|
314
|
+
</xsl:template>
|
|
315
|
+
|
|
316
|
+
<!-- textfield -->
|
|
317
|
+
<xsl:template match="textfield">
|
|
318
|
+
<xsl:variable name="id">
|
|
319
|
+
<xsl:value-of select="swft:map-id(@id)"/>
|
|
320
|
+
</xsl:variable>
|
|
321
|
+
<xsl:variable name="x">
|
|
322
|
+
<xsl:choose>
|
|
323
|
+
<xsl:when test="@x"><xsl:value-of select="@x * 20"/></xsl:when>
|
|
324
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
325
|
+
</xsl:choose>
|
|
326
|
+
</xsl:variable>
|
|
327
|
+
<xsl:variable name="y">
|
|
328
|
+
<xsl:choose>
|
|
329
|
+
<xsl:when test="@y"><xsl:value-of select="@y * 20"/></xsl:when>
|
|
330
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
331
|
+
</xsl:choose>
|
|
332
|
+
</xsl:variable>
|
|
333
|
+
<xsl:variable name="width">
|
|
334
|
+
<xsl:choose>
|
|
335
|
+
<xsl:when test="@width"><xsl:value-of select="@width * 20"/></xsl:when>
|
|
336
|
+
<xsl:otherwise>100</xsl:otherwise>
|
|
337
|
+
</xsl:choose>
|
|
338
|
+
</xsl:variable>
|
|
339
|
+
<xsl:variable name="height">
|
|
340
|
+
<xsl:choose>
|
|
341
|
+
<xsl:when test="@height"><xsl:value-of select="@height * 20"/></xsl:when>
|
|
342
|
+
<xsl:otherwise>100</xsl:otherwise>
|
|
343
|
+
</xsl:choose>
|
|
344
|
+
</xsl:variable>
|
|
345
|
+
<xsl:variable name="size">
|
|
346
|
+
<xsl:choose>
|
|
347
|
+
<xsl:when test="@size"><xsl:value-of select="@size * 20"/></xsl:when>
|
|
348
|
+
<xsl:otherwise>240</xsl:otherwise>
|
|
349
|
+
</xsl:choose>
|
|
350
|
+
</xsl:variable>
|
|
351
|
+
<xsl:variable name="leading">
|
|
352
|
+
<xsl:choose>
|
|
353
|
+
<xsl:when test="@leading"><xsl:value-of select="@leading * 20"/></xsl:when>
|
|
354
|
+
<xsl:otherwise>20</xsl:otherwise>
|
|
355
|
+
</xsl:choose>
|
|
356
|
+
</xsl:variable>
|
|
357
|
+
|
|
358
|
+
<DefineEditText objectID="{$id}"
|
|
359
|
+
fontRef="{swft:map-id(@font)}" fontHeight="{$size}"
|
|
360
|
+
readOnly="0" autoSize="0" hasLayout="0"
|
|
361
|
+
notSelectable="0" hasBorder="0" isHTML="0" useOutlines="{@useOutlines}"
|
|
362
|
+
align="0" leftMargin="0" rightMargin="0" indent="0" leading="{$leading}"
|
|
363
|
+
wordWrap="1" multiLine="1" password="0"
|
|
364
|
+
variableName="{@name}"
|
|
365
|
+
>
|
|
366
|
+
<xsl:for-each select="@wordWrap|@multiLine|@password|@readOnly|@autoSize|@notSelectable|@hasBorder|@isHTML|@useOutlines|@align|@leftMargin|@rightMargin|@indent">
|
|
367
|
+
<xsl:copy-of select="."/>
|
|
368
|
+
</xsl:for-each>
|
|
369
|
+
<xsl:choose>
|
|
370
|
+
<xsl:when test="*|text()">
|
|
371
|
+
<xsl:attribute name="initialText">
|
|
372
|
+
<xsl:apply-templates select="*|text()" mode="htmltext"/>
|
|
373
|
+
</xsl:attribute>
|
|
374
|
+
</xsl:when>
|
|
375
|
+
<xsl:when test="@text">
|
|
376
|
+
<xsl:attribute name="initialText">
|
|
377
|
+
<xsl:value-of select="@text"/>
|
|
378
|
+
</xsl:attribute>
|
|
379
|
+
</xsl:when>
|
|
380
|
+
</xsl:choose>
|
|
381
|
+
<size>
|
|
382
|
+
<Rectangle left="{$x}" right="{$x + $width}" top="{$y}" bottom="{$y + $height}"/>
|
|
383
|
+
</size>
|
|
384
|
+
<color>
|
|
385
|
+
<xsl:call-template name="color-rgba"/>
|
|
386
|
+
</color>
|
|
387
|
+
</DefineEditText>
|
|
388
|
+
|
|
389
|
+
<xsl:if test="$movie-version > 7">
|
|
390
|
+
<xsl:apply-templates select="text-settings">
|
|
391
|
+
<xsl:with-param name="id" select="$id"/>
|
|
392
|
+
</xsl:apply-templates>
|
|
393
|
+
</xsl:if>
|
|
394
|
+
|
|
395
|
+
</xsl:template>
|
|
396
|
+
|
|
397
|
+
<xsl:template match="text-settings">
|
|
398
|
+
<xsl:param name="id" select="0"/>
|
|
399
|
+
|
|
400
|
+
<CSMTextSettings objectId="{$id}">
|
|
401
|
+
<xsl:attribute name="useFlashType">
|
|
402
|
+
<xsl:choose>
|
|
403
|
+
<xsl:when test="@render = 'advanced'">1</xsl:when>
|
|
404
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
405
|
+
</xsl:choose>
|
|
406
|
+
</xsl:attribute>
|
|
407
|
+
<xsl:attribute name="gridFit">
|
|
408
|
+
<xsl:choose>
|
|
409
|
+
<xsl:when test="@grid = 'sub-pixel'">2</xsl:when>
|
|
410
|
+
<xsl:when test="@grid = 'pixel'">1</xsl:when>
|
|
411
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
412
|
+
</xsl:choose>
|
|
413
|
+
</xsl:attribute>
|
|
414
|
+
<xsl:attribute name="thickness">
|
|
415
|
+
<xsl:choose>
|
|
416
|
+
<xsl:when test="@thickness">
|
|
417
|
+
<xsl:choose>
|
|
418
|
+
<xsl:when test="@thickness < -200">
|
|
419
|
+
<xsl:value-of select="-200"/>
|
|
420
|
+
</xsl:when>
|
|
421
|
+
<xsl:when test="@thickness > 200">
|
|
422
|
+
<xsl:value-of select="200"/>
|
|
423
|
+
</xsl:when>
|
|
424
|
+
<xsl:otherwise>
|
|
425
|
+
<xsl:value-of select="@thickness"/>
|
|
426
|
+
</xsl:otherwise>
|
|
427
|
+
</xsl:choose>
|
|
428
|
+
</xsl:when>
|
|
429
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
430
|
+
</xsl:choose>
|
|
431
|
+
</xsl:attribute>
|
|
432
|
+
<xsl:attribute name="sharpness">
|
|
433
|
+
<xsl:choose>
|
|
434
|
+
<xsl:when test="@sharpness">
|
|
435
|
+
<xsl:choose>
|
|
436
|
+
<xsl:when test="@sharpness < -400">
|
|
437
|
+
<xsl:value-of select="-400"/>
|
|
438
|
+
</xsl:when>
|
|
439
|
+
<xsl:when test="@sharpness > 400">
|
|
440
|
+
<xsl:value-of select="400"/>
|
|
441
|
+
</xsl:when>
|
|
442
|
+
<xsl:otherwise>
|
|
443
|
+
<xsl:value-of select="@sharpness"/>
|
|
444
|
+
</xsl:otherwise>
|
|
445
|
+
</xsl:choose>
|
|
446
|
+
</xsl:when>
|
|
447
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
448
|
+
</xsl:choose>
|
|
449
|
+
</xsl:attribute>
|
|
450
|
+
</CSMTextSettings>
|
|
451
|
+
</xsl:template>
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
<!-- video object -->
|
|
455
|
+
<xsl:template match="video">
|
|
456
|
+
<xsl:variable name="id">
|
|
457
|
+
<xsl:choose>
|
|
458
|
+
<xsl:when test="@id">
|
|
459
|
+
<xsl:value-of select="swft:map-id(@id)"/>
|
|
460
|
+
</xsl:when>
|
|
461
|
+
<xsl:otherwise>
|
|
462
|
+
<xsl:value-of select="swft:next-id()"/>
|
|
463
|
+
</xsl:otherwise>
|
|
464
|
+
</xsl:choose>
|
|
465
|
+
</xsl:variable>
|
|
466
|
+
<xsl:variable name="frames">
|
|
467
|
+
<xsl:choose>
|
|
468
|
+
<xsl:when test="@frames"><xsl:value-of select="@frames"/></xsl:when>
|
|
469
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
470
|
+
</xsl:choose>
|
|
471
|
+
</xsl:variable>
|
|
472
|
+
<xsl:variable name="width">
|
|
473
|
+
<xsl:choose>
|
|
474
|
+
<xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
|
|
475
|
+
<xsl:otherwise>160</xsl:otherwise>
|
|
476
|
+
</xsl:choose>
|
|
477
|
+
</xsl:variable>
|
|
478
|
+
<xsl:variable name="height">
|
|
479
|
+
<xsl:choose>
|
|
480
|
+
<xsl:when test="@height"><xsl:value-of select="@height"/></xsl:when>
|
|
481
|
+
<xsl:otherwise>120</xsl:otherwise>
|
|
482
|
+
</xsl:choose>
|
|
483
|
+
</xsl:variable>
|
|
484
|
+
<xsl:variable name="deblocking">
|
|
485
|
+
<xsl:choose>
|
|
486
|
+
<xsl:when test="@deblocking"><xsl:value-of select="@deblocking"/></xsl:when>
|
|
487
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
488
|
+
</xsl:choose>
|
|
489
|
+
</xsl:variable>
|
|
490
|
+
<xsl:variable name="smoothing">
|
|
491
|
+
<xsl:choose>
|
|
492
|
+
<xsl:when test="@smoothing">1</xsl:when>
|
|
493
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
494
|
+
</xsl:choose>
|
|
495
|
+
</xsl:variable>
|
|
496
|
+
<xsl:variable name="codec">
|
|
497
|
+
<xsl:choose>
|
|
498
|
+
<xsl:when test="@codec"><xsl:value-of select="@codec"/></xsl:when>
|
|
499
|
+
<xsl:otherwise>0</xsl:otherwise>
|
|
500
|
+
</xsl:choose>
|
|
501
|
+
</xsl:variable>
|
|
502
|
+
<DefineVideoStream objectID="{$id}" frames="{$frames}" width="{$width}" height="{$height}" deblocking="{$deblocking}" smoothing="{$smoothing}" codec="{$codec}"/>
|
|
503
|
+
</xsl:template>
|
|
504
|
+
|
|
505
|
+
<!-- frame -->
|
|
506
|
+
<xsl:template match="frame">
|
|
507
|
+
<xsl:apply-templates/>
|
|
508
|
+
<xsl:if test="@name">
|
|
509
|
+
<FrameLabel label="{@name}"/>
|
|
510
|
+
</xsl:if>
|
|
511
|
+
<ShowFrame/>
|
|
512
|
+
</xsl:template>
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
<!-- generic clip (w/o @import, these are handled in simple-import.xslt) -->
|
|
516
|
+
<xsl:template match="clip" priority="-1">
|
|
517
|
+
<xsl:variable name="id">
|
|
518
|
+
<xsl:choose>
|
|
519
|
+
<xsl:when test="@id">
|
|
520
|
+
<xsl:value-of select="swft:map-id(@id)"/>
|
|
521
|
+
</xsl:when>
|
|
522
|
+
<xsl:otherwise>
|
|
523
|
+
<xsl:value-of select="swft:next-id()"/>
|
|
524
|
+
</xsl:otherwise>
|
|
525
|
+
</xsl:choose>
|
|
526
|
+
</xsl:variable>
|
|
527
|
+
<xsl:variable name="frames">
|
|
528
|
+
<xsl:choose>
|
|
529
|
+
<xsl:when test="count(frame)">
|
|
530
|
+
<xsl:value-of select="count(frame)"/>
|
|
531
|
+
</xsl:when>
|
|
532
|
+
<xsl:otherwise>1</xsl:otherwise>
|
|
533
|
+
</xsl:choose>
|
|
534
|
+
</xsl:variable>
|
|
535
|
+
<DefineSprite objectID="{$id}" frames="{$frames}">
|
|
536
|
+
<tags>
|
|
537
|
+
<xsl:apply-templates/>
|
|
538
|
+
<End/>
|
|
539
|
+
</tags>
|
|
540
|
+
</DefineSprite>
|
|
541
|
+
<xsl:if test="ancestor::library">
|
|
542
|
+
<xsl:apply-templates select="*|@*" mode="export">
|
|
543
|
+
<xsl:with-param name="id"><xsl:value-of select="$id"/></xsl:with-param>
|
|
544
|
+
</xsl:apply-templates>
|
|
545
|
+
</xsl:if>
|
|
546
|
+
<xsl:if test="@class">
|
|
547
|
+
<xsl:call-template name="register-class">
|
|
548
|
+
<xsl:with-param name="class" select="@class"/>
|
|
549
|
+
<xsl:with-param name="linkage-id" select="@id"/>
|
|
550
|
+
</xsl:call-template>
|
|
551
|
+
</xsl:if>
|
|
552
|
+
</xsl:template>
|
|
553
|
+
|
|
554
|
+
<!-- scale grid -->
|
|
555
|
+
<xsl:template match="scale-grid">
|
|
556
|
+
<xsl:variable name="id">
|
|
557
|
+
<xsl:value-of select="swft:map-id(@id)"/>
|
|
558
|
+
</xsl:variable>
|
|
559
|
+
<xsl:if test="number(/movie/@version) >= 8">
|
|
560
|
+
<DefineScalingGrid objectID="{$id}"> <!-- FIXME ID not Id? does it matter? -->
|
|
561
|
+
<splitter>
|
|
562
|
+
<Rectangle left="{@left * 20}" right="{@right * 20}" top="{@top * 20}" bottom="{@bottom * 20}"/>
|
|
563
|
+
</splitter>
|
|
564
|
+
</DefineScalingGrid>
|
|
565
|
+
</xsl:if>
|
|
566
|
+
</xsl:template>
|
|
567
|
+
|
|
568
|
+
<!-- stop -->
|
|
569
|
+
<xsl:template match="stop">
|
|
570
|
+
<DoAction>
|
|
571
|
+
<actions>
|
|
572
|
+
<Stop/>
|
|
573
|
+
<EndAction/>
|
|
574
|
+
</actions>
|
|
575
|
+
</DoAction>
|
|
576
|
+
</xsl:template>
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
<!-- call -->
|
|
580
|
+
<xsl:template match="call">
|
|
581
|
+
<xsl:variable name="object">
|
|
582
|
+
<xsl:choose>
|
|
583
|
+
<xsl:when test="@object"><xsl:value-of select="@object"/></xsl:when>
|
|
584
|
+
<xsl:otherwise>Main</xsl:otherwise>
|
|
585
|
+
</xsl:choose>
|
|
586
|
+
</xsl:variable>
|
|
587
|
+
<xsl:variable name="method">
|
|
588
|
+
<xsl:choose>
|
|
589
|
+
<xsl:when test="@method"><xsl:value-of select="@method"/></xsl:when>
|
|
590
|
+
<xsl:otherwise>main</xsl:otherwise>
|
|
591
|
+
</xsl:choose>
|
|
592
|
+
</xsl:variable>
|
|
593
|
+
<xsl:variable name="spriteid">
|
|
594
|
+
<xsl:value-of select="swft:next-id()"/>
|
|
595
|
+
</xsl:variable>
|
|
596
|
+
<DefineSprite objectID="{$spriteid}" frames="1">
|
|
597
|
+
<tags>
|
|
598
|
+
<End/>
|
|
599
|
+
</tags>
|
|
600
|
+
</DefineSprite>
|
|
601
|
+
<Export>
|
|
602
|
+
<symbols>
|
|
603
|
+
<Symbol objectID="{$spriteid}" name="__Packages.swfmill.call.{$object}.{$method}"/>
|
|
604
|
+
</symbols>
|
|
605
|
+
</Export>
|
|
606
|
+
<DoInitAction sprite="{$spriteid}">
|
|
607
|
+
<actions>
|
|
608
|
+
<PushData>
|
|
609
|
+
<items>
|
|
610
|
+
<StackString value="{@object}"/>
|
|
611
|
+
</items>
|
|
612
|
+
</PushData>
|
|
613
|
+
<GetVariable/>
|
|
614
|
+
<PushData>
|
|
615
|
+
<items>
|
|
616
|
+
<StackString value="{@method}"/>
|
|
617
|
+
</items>
|
|
618
|
+
</PushData>
|
|
619
|
+
<CallMethod/>
|
|
620
|
+
<Pop/>
|
|
621
|
+
<EndAction/>
|
|
622
|
+
</actions>
|
|
623
|
+
</DoInitAction>
|
|
624
|
+
</xsl:template>
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
</xsl:stylesheet>
|