Mercurial > MadButterfly
changeset 1422:6fa411fd9549
Commit merged result
author | wycc |
---|---|
date | Wed, 06 Apr 2011 21:35:21 +0800 |
parents | 5dd46a4f6257 (current diff) ce981aa3fbf2 (diff) |
children | 167873cd35c5 |
files | nodejs/examples/mce/main.svg nodejs/examples/mce/mainmenu.js nodejs/mbapp.js nodejs/svg.js |
diffstat | 5 files changed, 305 insertions(+), 278 deletions(-) [+] |
line wrap: on
line diff
--- a/nodejs/examples/mce/main.svg Wed Apr 06 08:17:00 2011 +0800 +++ b/nodejs/examples/mce/main.svg Wed Apr 06 21:35:21 2011 +0800 @@ -1,40 +1,22 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:ns0="http://madbutterfly.sourceforge.net/DTD/madbutterfly.dtd" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="744.09448" - height="1052.3622" - id="svg2" - version="1.1" - inkscape:version="0.48+devel r9798 custom" - sodipodi:docname="test1.svg" - style="display:inline"> - <defs id="defs4"> +<svg:svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="744.09448" height="1052.3622" id="svg2" version="1.1" inkscape:version="0.48+devel r9798 custom" sodipodi:docname="main.svg" style="display:inline" inkscape:dataloss="true"> + <svg:defs id="defs4"> <inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 526.18109 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="744.09448 : 526.18109 : 1" inkscape:persp3d-origin="372.04724 : 350.78739 : 1" id="perspective13"/> <inkscape:perspective id="perspective2973" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/> <inkscape:perspective id="perspective2975" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/> <inkscape:perspective id="perspective2993" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/> - </defs> - <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.35" inkscape:cx="269.83901" inkscape:cy="483.73232" inkscape:document-units="px" inkscape:current-layer="s19539" showgrid="false" inkscape:window-width="1680" inkscape:window-height="975" inkscape:window-x="0" inkscape:window-y="25" inkscape:window-maximized="1"/> - <metadata id="metadata7"> + </svg:defs> + <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.35" inkscape:cx="-28.732419" inkscape:cy="483.73232" inkscape:document-units="px" inkscape:current-layer="s19539" showgrid="false" inkscape:window-width="1680" inkscape:window-height="975" inkscape:window-x="0" inkscape:window-y="25" inkscape:window-maximized="1"/> + <svg:metadata id="metadata7"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format> + image/svg+xml + </dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> - <dc:title> - - </dc:title> + <dc:title/> </cc:Work> </rdf:RDF> <ns0:scenes> @@ -48,127 +30,128 @@ <ns0:scene start="98" type="normal" ref="s19539"/> </ns0:scenes> <ns0:components/> - </metadata> - <g inkscape:groupmode="layer" id="layer2" inkscape:label="Background" style="display:inline"> - <image y="-27.637817" x="0" id="image2977" height="1080" width="1920" xlink:href="file:///home/wycc/devel/md6/MadButterfly/nodejs/examples/mce/background.png" inkscape:bbox-x="0.000000" inkscape:bbox-y="0.000000" inkscape:bbox-width="1920.000000" inkscape:bbox-height="1080.000000"/> - <g id="s39685" inkscape:label="dup" sodipodi:insensitive="true" style="display: none" inkscape:bbox-x="0.000000" inkscape:bbox-y="0.000000" inkscape:bbox-width="-0.561527" inkscape:bbox-height="-0.000000"/> - </g> - <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" style="display:inline"> - <g id="Layer 1s1841" inkscape:groupmode="layer" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="41.428564" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> - <g transform="translate(7.14163,8.5714057)" id="g2999" inkscape:label="lightbar" inkscape:bbox-x="114.284498" inkscape:bbox-y="41.428564" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"> - <image xlink:href="file:///home/wycc/devel/md6/MadButterfly/nodejs/examples/mce/vod1-select.png" width="228.57144" height="865.71429" id="image2995" x="107.14287" y="136.64792" inkscape:bbox-x="114.284498" inkscape:bbox-y="41.428564" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - </g> - <g transform="matrix(1,0,0,1.4982517,7.14163,-142.33937)" id="g2922" inkscape:label="cat0" inkscape:bbox-x="124.784483" inkscape:bbox-y="311.336273" inkscape:bbox-width="200.000000" inkscape:bbox-height="429.573928"> - <image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat0.jpg" xlink:href="./cat0.jpg" inkscape:label="" width="200" height="286.7168" id="image3058" x="117.64285" y="302.88058" inkscape:bbox-x="124.784483" inkscape:bbox-y="311.336273" inkscape:bbox-width="200.000000" inkscape:bbox-height="429.573928"/> - </g> - <g transform="translate(7.14163,8.5714057)" id="g2923" inkscape:label="cat1" inkscape:bbox-x="366.355955" inkscape:bbox-y="446.857153" inkscape:bbox-width="200.000000" inkscape:bbox-height="291.094147"> - <image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat1.jpg" xlink:href="./cat1.jpg" inkscape:label="" width="200" height="291.09415" id="image3116" x="359.21432" y="305.83948" inkscape:bbox-x="366.355955" inkscape:bbox-y="446.857153" inkscape:bbox-width="200.000000" inkscape:bbox-height="291.094147"/> - </g> - <g transform="translate(7.14163,8.571406)" id="g2926" inkscape:label="cat2" inkscape:bbox-x="606.213041" inkscape:bbox-y="449.714300" inkscape:bbox-width="200.000000" inkscape:bbox-height="286.716797"> - <image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat2.jpg" xlink:href="./cat2.jpg" inkscape:label="" width="200" height="286.7168" id="image3174" x="599.07141" y="307.35968" inkscape:bbox-x="606.213041" inkscape:bbox-y="449.714300" inkscape:bbox-width="200.000000" inkscape:bbox-height="286.716797"/> - </g> - <g transform="translate(7.14163,8.5714057)" id="g2929" inkscape:label="cat3" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> - <image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat3.jpg" xlink:href="./cat3.jpg" inkscape:label="" width="200" height="289.10892" id="image3232" x="821.35712" y="306.539" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <path sodipodi:type="star" style="fill:#00c280;fill-opacity:1" id="path3235" sodipodi:sides="3" sodipodi:cx="-171.42857" sodipodi:cy="186.6479" sodipodi:r1="48.760139" sodipodi:r2="24.38007" sodipodi:arg1="1.0153026" sodipodi:arg2="2.0625001" inkscape:flatsided="false" inkscape:rounded="0" inkscape:randomized="0" d="m -145.71429,228.07648 -37.22481,-19.93682 -37.22481,-19.93682 35.87819,-22.26922 35.8782,-22.26923 1.34662,42.20604 z" inkscape:transform-center-x="11.746635" inkscape:transform-center-y="-0.50892793" transform="matrix(0.9999393,0.01101845,-0.01101845,0.9999393,246.33065,273.32876)" inkscape:label="leftarrow" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <path transform="matrix(-0.99874276,-0.05012887,0.05012887,-0.99874276,1666.5721,621.61046)" inkscape:transform-center-y="-0.445031" inkscape:transform-center-x="-11.802598" d="m -145.71429,228.07648 -37.22481,-19.93682 -37.22481,-19.93682 35.87819,-22.26922 35.8782,-22.26923 1.34662,42.20604 z" inkscape:randomized="0" inkscape:rounded="0" inkscape:flatsided="false" sodipodi:arg2="2.0625001" sodipodi:arg1="1.0153026" sodipodi:r2="24.38007" sodipodi:r1="48.760139" sodipodi:cy="186.6479" sodipodi:cx="-171.42857" sodipodi:sides="3" id="path4005" style="fill:#00c280;fill-opacity:1" sodipodi:type="star" inkscape:label="rightarrow" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <g inkscape:label="cat4" id="g2931" transform="translate(221.14163,8.5714057)" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> - <image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat4.jpg" xlink:href="./cat4.jpg" y="306.539" x="821.35712" id="image2933" height="289.10892" width="200" inkscape:label="" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <g transform="translate(445.14163,8.5714057)" id="g2935" inkscape:label="cat5" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> - <image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat5.jpg" xlink:href="./cat5.jpg" inkscape:label="" width="200" height="289.10892" id="image2937" x="821.35712" y="306.539" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <g inkscape:label="cat6" id="g2939" transform="translate(661.14163,8.5714057)" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> - <image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat6.jpg" xlink:href="./cat6.jpg" y="306.539" x="821.35712" id="image2941" height="289.10892" width="200" inkscape:label="" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - </g> - <g id="s55849" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="41.428564" inkscape:bbox-width="1871.787214" inkscape:bbox-height="888.053078"> - <use id="s60171" xlink:href="#g2999" ns0:duplicate-src="g2999" x="0" y="0" width="1" height="1" transform="translate(237.14286,0)" inkscape:bbox-x="351.427358" inkscape:bbox-y="41.428564" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - <use id="s85547" xlink:href="#g2922" ns0:duplicate-src="g2922" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.67694445,8.5714286,-87.955149)" inkscape:bbox-x="133.355911" inkscape:bbox-y="638.683955" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - <use id="s67576" xlink:href="#g2923" ns0:duplicate-src="g2923" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.3926074,0,-123.44004)" inkscape:bbox-x="366.355955" inkscape:bbox-y="332.571437" inkscape:bbox-width="200.000000" inkscape:bbox-height="405.379863"/> - <use id="s26403" xlink:href="#g2926" ns0:duplicate-src="g2926" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="449.714300" inkscape:bbox-width="200.000000" inkscape:bbox-height="286.716797"/> - <use id="s25527" xlink:href="#g2929" ns0:duplicate-src="g2929" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s55231" xlink:href="#path3235" ns0:duplicate-src="path3235" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <use id="s10123" xlink:href="#path4005" ns0:duplicate-src="path4005" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <use id="s2449" xlink:href="#g2931" ns0:duplicate-src="g2931" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s65737" xlink:href="#g2935" ns0:duplicate-src="g2935" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s26407" xlink:href="#g2939" ns0:duplicate-src="g2939" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <g id="s75117" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="69.999993" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> - <use id="s75819" xlink:href="#s60171" ns0:duplicate-src="s60171" x="0" y="0" width="1" height="1" transform="translate(240,-28.571429)" inkscape:bbox-x="591.427358" inkscape:bbox-y="69.999993" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - <use id="s17255" xlink:href="#s85547" ns0:duplicate-src="s85547" x="0" y="0" width="1" height="1" transform="translate(-8.5714286,188.57143)" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - <use id="s98116" xlink:href="#s67576" ns0:duplicate-src="s67576" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.72512554,0,86.423522)" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> - <use id="s25163" xlink:href="#s26403" ns0:duplicate-src="s26403" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.5281468,0,-166.85801)" inkscape:bbox-x="606.213041" inkscape:bbox-y="298.285759" inkscape:bbox-width="200.000000" inkscape:bbox-height="438.145356"/> - <use id="s79688" xlink:href="#s25527" ns0:duplicate-src="s25527" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s52635" xlink:href="#s55231" ns0:duplicate-src="s55231" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <use id="s63895" xlink:href="#s10123" ns0:duplicate-src="s10123" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <use id="s81039" xlink:href="#s2449" ns0:duplicate-src="s2449" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s8065" xlink:href="#s65737" ns0:duplicate-src="s65737" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s48773" xlink:href="#s26407" ns0:duplicate-src="s26407" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <g id="s36543" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="98.571422" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> - <use id="s25123" xlink:href="#s75819" ns0:duplicate-src="s75819" x="0" y="0" width="1" height="1" transform="translate(222.85714,-28.571429)" inkscape:bbox-x="814.284498" inkscape:bbox-y="98.571422" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - <use id="s66394" xlink:href="#s17255" ns0:duplicate-src="s17255" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - <use id="s35701" xlink:href="#s98116" ns0:duplicate-src="s98116" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> - <use id="s22394" xlink:href="#s25163" ns0:duplicate-src="s25163" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.68047134,0,100.94903)" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> - <use id="s6489" xlink:href="#s79688" ns0:duplicate-src="s79688" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.5830724,0,-183.73218)" inkscape:bbox-x="828.498747" inkscape:bbox-y="279.571427" inkscape:bbox-width="200.000000" inkscape:bbox-height="457.680347"/> - <use id="s44817" xlink:href="#s52635" ns0:duplicate-src="s52635" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <use id="s31228" xlink:href="#s63895" ns0:duplicate-src="s63895" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <use id="s6027" xlink:href="#s81039" ns0:duplicate-src="s81039" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s90551" xlink:href="#s8065" ns0:duplicate-src="s8065" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s56729" xlink:href="#s48773" ns0:duplicate-src="s48773" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <g id="s60342" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> - <use id="s76549" xlink:href="#s25123" ns0:duplicate-src="s25123" x="0" y="0" width="1" height="1" transform="translate(217.14286,-8.5714286)" inkscape:bbox-x="1031.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - <use id="s89971" xlink:href="#s66394" ns0:duplicate-src="s66394" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - <use id="s51134" xlink:href="#s35701" ns0:duplicate-src="s35701" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> - <use id="s33981" xlink:href="#s22394" ns0:duplicate-src="s22394" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> - <use id="s96513" xlink:href="#s6489" ns0:duplicate-src="s6489" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.65665369,0,108.192)" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> - <use id="s7826" xlink:href="#s44817" ns0:duplicate-src="s44817" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <use id="s78357" xlink:href="#s31228" ns0:duplicate-src="s31228" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <use id="s785" xlink:href="#s6027" ns0:duplicate-src="s6027" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.5237769,0,-165.04755)" inkscape:bbox-x="1042.498747" inkscape:bbox-y="296.714284" inkscape:bbox-width="200.000000" inkscape:bbox-height="440.537490"/> - <use id="s25037" xlink:href="#s90551" ns0:duplicate-src="s90551" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - <use id="s56894" xlink:href="#s56729" ns0:duplicate-src="s56729" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <g id="s33699" inkscape:label="dup" sodipodi:insensitive="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> - <use transform="matrix(1.0,0.0,0.0,1.0,329.0,0.0)" height="1" width="1" y="0" x="0" ns0:duplicate-src="s76549" xlink:href="#s76549" id="use483" ref="s46783" inkscape:bbox-x="1360.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - <use height="1" width="1" y="0" x="0" ns0:duplicate-src="s89971" xlink:href="#s89971" id="use485" ref="s9254" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - <use height="1" width="1" y="0" x="0" ns0:duplicate-src="s51134" xlink:href="#s51134" id="use487" ref="s64160" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> - <use height="1" width="1" y="0" x="0" ns0:duplicate-src="s33981" xlink:href="#s33981" id="use489" ref="s30363" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> - <use height="1" width="1" y="0" x="0" ns0:duplicate-src="s96513" xlink:href="#s96513" id="use491" ref="s8103" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> - <use height="1" width="1" y="0" x="0" ns0:duplicate-src="s7826" xlink:href="#s7826" id="use493" ref="s60974" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <use height="1" width="1" y="0" x="0" ns0:duplicate-src="s78357" xlink:href="#s78357" id="use495" ref="s1545" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <use transform="matrix(1.0,0.0,0.0,0.68869197,0.0,98.0964)" height="1" width="1" y="0" x="0" ns0:duplicate-src="s785" xlink:href="#s785" id="use497" ref="s49240" inkscape:bbox-x="1042.498747" inkscape:bbox-y="433.857142" inkscape:bbox-width="200.000000" inkscape:bbox-height="303.394632"/> - <use transform="matrix(1.0,0.0,0.0,1.27177106649,0.0,-85.6378756687)" height="1" width="1" y="0" x="0" ns0:duplicate-src="s25037" xlink:href="#s25037" id="use499" ref="s80471" inkscape:bbox-x="1266.498747" inkscape:bbox-y="369.571404" inkscape:bbox-width="200.000000" inkscape:bbox-height="367.680356"/> - <use height="1" width="1" y="0" x="0" ns0:duplicate-src="s56894" xlink:href="#s56894" id="use501" ref="s41223" transform="matrix(1.0,0.0,0.0,1.30636005,0.0,-96.5372503254)" inkscape:bbox-x="1482.498747" inkscape:bbox-y="359.571446" inkscape:bbox-width="200.000000" inkscape:bbox-height="377.680340"/> - </g> - <g id="s46101" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> - <use id="s46783" xlink:href="#s76549" ns0:duplicate-src="s76549" x="0" y="0" width="1" height="1" transform="translate(218,0)" inkscape:bbox-x="1249.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - <use id="s9254" xlink:href="#s89971" ns0:duplicate-src="s89971" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - <use id="s64160" xlink:href="#s51134" ns0:duplicate-src="s51134" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> - <use id="s30363" xlink:href="#s33981" ns0:duplicate-src="s33981" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> - <use id="s8103" xlink:href="#s96513" ns0:duplicate-src="s96513" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> - <use id="s60974" xlink:href="#s7826" ns0:duplicate-src="s7826" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <use id="s1545" xlink:href="#s78357" ns0:duplicate-src="s78357" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <use id="s49240" xlink:href="#s785" ns0:duplicate-src="s785" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.68869197,0,98.0964)" inkscape:bbox-x="1042.498747" inkscape:bbox-y="433.857142" inkscape:bbox-width="200.000000" inkscape:bbox-height="303.394632"/> - <use id="s80471" xlink:href="#s25037" ns0:duplicate-src="s25037" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.4842466,0,-152.59113)" inkscape:bbox-x="1266.498747" inkscape:bbox-y="308.142835" inkscape:bbox-width="200.000000" inkscape:bbox-height="429.108927"/> - <use id="s41223" xlink:href="#s56894" ns0:duplicate-src="s56894" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> - </g> - <g id="s78836" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> - <use id="s39744" xlink:href="#s46783" ns0:duplicate-src="s46783" x="0" y="0" width="1" height="1" transform="translate(222,0)" inkscape:bbox-x="1471.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> - <use id="s58261" xlink:href="#s9254" ns0:duplicate-src="s9254" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - <use id="s82698" xlink:href="#s64160" ns0:duplicate-src="s64160" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> - <use id="s87837" xlink:href="#s30363" ns0:duplicate-src="s30363" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> - <use id="s65619" xlink:href="#s8103" ns0:duplicate-src="s8103" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> - <use id="s97994" xlink:href="#s60974" ns0:duplicate-src="s60974" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> - <use id="s29117" xlink:href="#s1545" ns0:duplicate-src="s1545" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> - <use id="s46682" xlink:href="#s49240" ns0:duplicate-src="s49240" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="433.857142" inkscape:bbox-width="200.000000" inkscape:bbox-height="303.394632"/> - <use id="s92098" xlink:href="#s80471" ns0:duplicate-src="s80471" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.71369241,0,90.218505)" inkscape:bbox-x="1266.498747" inkscape:bbox-y="430.999978" inkscape:bbox-width="200.000000" inkscape:bbox-height="306.251785"/> - <use id="s11142" xlink:href="#s41223" ns0:duplicate-src="s41223" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.6127201,0,-193.07449)" inkscape:bbox-x="1482.498747" inkscape:bbox-y="271.000023" inkscape:bbox-width="200.000000" inkscape:bbox-height="466.251762"/> - </g> - <g id="s19539" inkscape:groupmode="layer" scene_group="true" style="display:inline" inkscape:bbox-x="114.285713" inkscape:bbox-y="574.601155" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"> - <use style="display:inline" id="s58261-1" xlink:href="#s9254" ns0:duplicate-src="s9254" x="0" y="0" width="1" height="1" transform="translate(-10.49877,-124.48863)" inkscape:bbox-x="114.285713" inkscape:bbox-y="574.601155" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> - </g> - </g> - <g inkscape:label="components" id="s49280"/> -</svg> + </svg:metadata> + <svg:g inkscape:groupmode="layer" id="layer2" inkscape:label="Background" style="display:inline"> + <svg:image y="-27.637817" x="0" id="image2977" height="1080" width="1920" xlink:href="file:///home/wycc/devel/md6/MadButterfly/nodejs/examples/mce/background.png" inkscape:bbox-x="0.000000" inkscape:bbox-y="0.000000" inkscape:bbox-width="1920.000000" inkscape:bbox-height="1080.000000"/> + <svg:g id="s39685" inkscape:label="dup" sodipodi:insensitive="true" style="display: none" inkscape:bbox-x="0.000000" inkscape:bbox-y="0.000000" inkscape:bbox-width="-0.096194" inkscape:bbox-height="-0.000000"/> + </svg:g> + <svg:g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" style="display:inline"> + <svg:g id="Layer 1s1841" inkscape:groupmode="layer" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="41.428564" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> + <svg:g transform="translate(7.14163,8.5714057)" id="g2999" inkscape:label="lightbar" inkscape:bbox-x="114.284498" inkscape:bbox-y="41.428564" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"> + <svg:image xlink:href="file:///home/wycc/devel/md6/MadButterfly/nodejs/examples/mce/vod1-select.png" width="228.57144" height="865.71429" id="image2995" x="107.14287" y="136.64792" inkscape:bbox-x="114.284498" inkscape:bbox-y="41.428564" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + </svg:g> + <svg:g transform="matrix(1,0,0,1.4982517,7.14163,-142.33937)" id="g2922" inkscape:label="cat0" inkscape:bbox-x="124.784483" inkscape:bbox-y="311.336273" inkscape:bbox-width="200.000000" inkscape:bbox-height="429.573928"> + <svg:image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat0.jpg" xlink:href="./cat0.jpg" inkscape:label="" width="200" height="286.7168" id="image3058" x="117.64285" y="302.88058" inkscape:bbox-x="124.784483" inkscape:bbox-y="311.336273" inkscape:bbox-width="200.000000" inkscape:bbox-height="429.573928"/> + </svg:g> + <svg:g transform="translate(7.14163,8.5714057)" id="g2923" inkscape:label="cat1" inkscape:bbox-x="366.355955" inkscape:bbox-y="446.857153" inkscape:bbox-width="200.000000" inkscape:bbox-height="291.094147"> + <svg:image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat1.jpg" xlink:href="./cat1.jpg" inkscape:label="" width="200" height="291.09415" id="image3116" x="359.21432" y="305.83948" inkscape:bbox-x="366.355955" inkscape:bbox-y="446.857153" inkscape:bbox-width="200.000000" inkscape:bbox-height="291.094147"/> + </svg:g> + <svg:g transform="translate(7.14163,8.571406)" id="g2926" inkscape:label="cat2" inkscape:bbox-x="606.213041" inkscape:bbox-y="449.714300" inkscape:bbox-width="200.000000" inkscape:bbox-height="286.716797"> + <svg:image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat2.jpg" xlink:href="./cat2.jpg" inkscape:label="" width="200" height="286.7168" id="image3174" x="599.07141" y="307.35968" inkscape:bbox-x="606.213041" inkscape:bbox-y="449.714300" inkscape:bbox-width="200.000000" inkscape:bbox-height="286.716797"/> + </svg:g> + <svg:g transform="translate(7.14163,8.5714057)" id="g2929" inkscape:label="cat3" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> + <svg:image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat3.jpg" xlink:href="./cat3.jpg" inkscape:label="" width="200" height="289.10892" id="image3232" x="821.35712" y="306.539" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:path sodipodi:type="star" style="fill:#00c280;fill-opacity:1" id="path3235" sodipodi:sides="3" sodipodi:cx="-171.42857" sodipodi:cy="186.6479" sodipodi:r1="48.760139" sodipodi:r2="24.38007" sodipodi:arg1="1.0153026" sodipodi:arg2="2.0625001" inkscape:flatsided="false" inkscape:rounded="0" inkscape:randomized="0" d="m -145.71429,228.07648 -37.22481,-19.93682 -37.22481,-19.93682 35.87819,-22.26922 35.8782,-22.26923 1.34662,42.20604 z" inkscape:transform-center-x="11.746635" inkscape:transform-center-y="-0.50892793" transform="matrix(0.9999393,0.01101845,-0.01101845,0.9999393,246.33065,273.32876)" inkscape:label="leftarrow" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:path transform="matrix(-0.99874276,-0.05012887,0.05012887,-0.99874276,1666.5721,621.61046)" inkscape:transform-center-y="-0.445031" inkscape:transform-center-x="-11.802598" d="m -145.71429,228.07648 -37.22481,-19.93682 -37.22481,-19.93682 35.87819,-22.26922 35.8782,-22.26923 1.34662,42.20604 z" inkscape:randomized="0" inkscape:rounded="0" inkscape:flatsided="false" sodipodi:arg2="2.0625001" sodipodi:arg1="1.0153026" sodipodi:r2="24.38007" sodipodi:r1="48.760139" sodipodi:cy="186.6479" sodipodi:cx="-171.42857" sodipodi:sides="3" id="path4005" style="fill:#00c280;fill-opacity:1" sodipodi:type="star" inkscape:label="rightarrow" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:g inkscape:label="cat4" id="g2931" transform="translate(221.14163,8.5714057)" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> + <svg:image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat4.jpg" xlink:href="./cat4.jpg" y="306.539" x="821.35712" id="image2933" height="289.10892" width="200" inkscape:label="" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:g transform="translate(445.14163,8.5714057)" id="g2935" inkscape:label="cat5" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> + <svg:image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat5.jpg" xlink:href="./cat5.jpg" inkscape:label="" width="200" height="289.10892" id="image2937" x="821.35712" y="306.539" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:g inkscape:label="cat6" id="g2939" transform="translate(661.14163,8.5714057)" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"> + <svg:image sodipodi:absref="/home/wycc/devel/md8/MadButterfly/nodejs/examples/mce/./cat6.jpg" xlink:href="./cat6.jpg" y="306.539" x="821.35712" id="image2941" height="289.10892" width="200" inkscape:label="" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + </svg:g> + <svg:g id="s55849" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="41.428564" inkscape:bbox-width="1871.787214" inkscape:bbox-height="888.053078"> + <svg:use id="s60171" xlink:href="#g2999" ns0:duplicate-src="g2999" x="0" y="0" width="1" height="1" transform="translate(237.14286,0)" inkscape:bbox-x="351.427358" inkscape:bbox-y="41.428564" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + <svg:use id="s85547" xlink:href="#g2922" ns0:duplicate-src="g2922" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.67694445,8.5714286,-87.955149)" inkscape:bbox-x="133.355911" inkscape:bbox-y="638.683955" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + <svg:use id="s67576" xlink:href="#g2923" ns0:duplicate-src="g2923" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.3926074,0,-123.44004)" inkscape:bbox-x="366.355955" inkscape:bbox-y="332.571437" inkscape:bbox-width="200.000000" inkscape:bbox-height="405.379863"/> + <svg:use id="s26403" xlink:href="#g2926" ns0:duplicate-src="g2926" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="449.714300" inkscape:bbox-width="200.000000" inkscape:bbox-height="286.716797"/> + <svg:use id="s25527" xlink:href="#g2929" ns0:duplicate-src="g2929" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s55231" xlink:href="#path3235" ns0:duplicate-src="path3235" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:use id="s10123" xlink:href="#path4005" ns0:duplicate-src="path4005" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:use id="s2449" xlink:href="#g2931" ns0:duplicate-src="g2931" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s65737" xlink:href="#g2935" ns0:duplicate-src="g2935" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s26407" xlink:href="#g2939" ns0:duplicate-src="g2939" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:g id="s75117" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="69.999993" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> + <svg:use id="s75819" xlink:href="#s60171" ns0:duplicate-src="s60171" x="0" y="0" width="1" height="1" transform="translate(240,-28.571429)" inkscape:bbox-x="591.427358" inkscape:bbox-y="69.999993" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + <svg:use id="s17255" xlink:href="#s85547" ns0:duplicate-src="s85547" x="0" y="0" width="1" height="1" transform="translate(-8.5714286,188.57143)" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + <svg:use id="s98116" xlink:href="#s67576" ns0:duplicate-src="s67576" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.72512554,0,86.423522)" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> + <svg:use id="s25163" xlink:href="#s26403" ns0:duplicate-src="s26403" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.5281468,0,-166.85801)" inkscape:bbox-x="606.213041" inkscape:bbox-y="298.285759" inkscape:bbox-width="200.000000" inkscape:bbox-height="438.145356"/> + <svg:use id="s79688" xlink:href="#s25527" ns0:duplicate-src="s25527" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s52635" xlink:href="#s55231" ns0:duplicate-src="s55231" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:use id="s63895" xlink:href="#s10123" ns0:duplicate-src="s10123" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:use id="s81039" xlink:href="#s2449" ns0:duplicate-src="s2449" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s8065" xlink:href="#s65737" ns0:duplicate-src="s65737" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s48773" xlink:href="#s26407" ns0:duplicate-src="s26407" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:g id="s36543" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="98.571422" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> + <svg:use id="s25123" xlink:href="#s75819" ns0:duplicate-src="s75819" x="0" y="0" width="1" height="1" transform="translate(222.85714,-28.571429)" inkscape:bbox-x="814.284498" inkscape:bbox-y="98.571422" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + <svg:use id="s66394" xlink:href="#s17255" ns0:duplicate-src="s17255" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + <svg:use id="s35701" xlink:href="#s98116" ns0:duplicate-src="s98116" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> + <svg:use id="s22394" xlink:href="#s25163" ns0:duplicate-src="s25163" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.68047134,0,100.94903)" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> + <svg:use id="s6489" xlink:href="#s79688" ns0:duplicate-src="s79688" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.5830724,0,-183.73218)" inkscape:bbox-x="828.498747" inkscape:bbox-y="279.571427" inkscape:bbox-width="200.000000" inkscape:bbox-height="457.680347"/> + <svg:use id="s44817" xlink:href="#s52635" ns0:duplicate-src="s52635" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:use id="s31228" xlink:href="#s63895" ns0:duplicate-src="s63895" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:use id="s6027" xlink:href="#s81039" ns0:duplicate-src="s81039" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s90551" xlink:href="#s8065" ns0:duplicate-src="s8065" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s56729" xlink:href="#s48773" ns0:duplicate-src="s48773" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:g id="s60342" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> + <svg:use id="s76549" xlink:href="#s25123" ns0:duplicate-src="s25123" x="0" y="0" width="1" height="1" transform="translate(217.14286,-8.5714286)" inkscape:bbox-x="1031.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + <svg:use id="s89971" xlink:href="#s66394" ns0:duplicate-src="s66394" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + <svg:use id="s51134" xlink:href="#s35701" ns0:duplicate-src="s35701" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> + <svg:use id="s33981" xlink:href="#s22394" ns0:duplicate-src="s22394" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> + <svg:use id="s96513" xlink:href="#s6489" ns0:duplicate-src="s6489" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.65665369,0,108.192)" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> + <svg:use id="s7826" xlink:href="#s44817" ns0:duplicate-src="s44817" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:use id="s78357" xlink:href="#s31228" ns0:duplicate-src="s31228" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:use id="s785" xlink:href="#s6027" ns0:duplicate-src="s6027" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.5237769,0,-165.04755)" inkscape:bbox-x="1042.498747" inkscape:bbox-y="296.714284" inkscape:bbox-width="200.000000" inkscape:bbox-height="440.537490"/> + <svg:use id="s25037" xlink:href="#s90551" ns0:duplicate-src="s90551" x="0" y="0" width="1" height="1" inkscape:bbox-x="1266.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + <svg:use id="s56894" xlink:href="#s56729" ns0:duplicate-src="s56729" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:g id="s33699" inkscape:label="dup" sodipodi:insensitive="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> + <svg:use transform="matrix(1.0,0.0,0.0,1.0,329.0,0.0)" height="1" width="1" y="0" x="0" ns0:duplicate-src="s76549" xlink:href="#s76549" id="use483" ref="s46783" inkscape:bbox-x="1360.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + <svg:use height="1" width="1" y="0" x="0" ns0:duplicate-src="s89971" xlink:href="#s89971" id="use485" ref="s9254" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + <svg:use height="1" width="1" y="0" x="0" ns0:duplicate-src="s51134" xlink:href="#s51134" id="use487" ref="s64160" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> + <svg:use height="1" width="1" y="0" x="0" ns0:duplicate-src="s33981" xlink:href="#s33981" id="use489" ref="s30363" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> + <svg:use height="1" width="1" y="0" x="0" ns0:duplicate-src="s96513" xlink:href="#s96513" id="use491" ref="s8103" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> + <svg:use height="1" width="1" y="0" x="0" ns0:duplicate-src="s7826" xlink:href="#s7826" id="use493" ref="s60974" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:use height="1" width="1" y="0" x="0" ns0:duplicate-src="s78357" xlink:href="#s78357" id="use495" ref="s1545" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:use transform="matrix(1.0,0.0,0.0,0.68869197,0.0,98.0964)" height="1" width="1" y="0" x="0" ns0:duplicate-src="s785" xlink:href="#s785" id="use497" ref="s49240" inkscape:bbox-x="1042.498747" inkscape:bbox-y="433.857142" inkscape:bbox-width="200.000000" inkscape:bbox-height="303.394632"/> + <svg:use transform="matrix(1.0,0.0,0.0,1.27177106649,0.0,-85.6378756687)" height="1" width="1" y="0" x="0" ns0:duplicate-src="s25037" xlink:href="#s25037" id="use499" ref="s80471" inkscape:bbox-x="1266.498747" inkscape:bbox-y="369.571404" inkscape:bbox-width="200.000000" inkscape:bbox-height="367.680356"/> + <svg:use height="1" width="1" y="0" x="0" ns0:duplicate-src="s56894" xlink:href="#s56894" id="use501" ref="s41223" transform="matrix(1.0,0.0,0.0,1.30636005,0.0,-96.5372503254)" inkscape:bbox-x="1482.498747" inkscape:bbox-y="359.571446" inkscape:bbox-width="200.000000" inkscape:bbox-height="377.680340"/> + </svg:g> + <svg:g id="s46101" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> + <svg:use id="s46783" xlink:href="#s76549" ns0:duplicate-src="s76549" x="0" y="0" width="1" height="1" transform="translate(218,0)" inkscape:bbox-x="1249.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + <svg:use id="s9254" xlink:href="#s89971" ns0:duplicate-src="s89971" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + <svg:use id="s64160" xlink:href="#s51134" ns0:duplicate-src="s51134" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> + <svg:use id="s30363" xlink:href="#s33981" ns0:duplicate-src="s33981" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> + <svg:use id="s8103" xlink:href="#s96513" ns0:duplicate-src="s96513" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> + <svg:use id="s60974" xlink:href="#s7826" ns0:duplicate-src="s7826" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:use id="s1545" xlink:href="#s78357" ns0:duplicate-src="s78357" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:use id="s49240" xlink:href="#s785" ns0:duplicate-src="s785" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.68869197,0,98.0964)" inkscape:bbox-x="1042.498747" inkscape:bbox-y="433.857142" inkscape:bbox-width="200.000000" inkscape:bbox-height="303.394632"/> + <svg:use id="s80471" xlink:href="#s25037" ns0:duplicate-src="s25037" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.4842466,0,-152.59113)" inkscape:bbox-x="1266.498747" inkscape:bbox-y="308.142835" inkscape:bbox-width="200.000000" inkscape:bbox-height="429.108927"/> + <svg:use id="s41223" xlink:href="#s56894" ns0:duplicate-src="s56894" x="0" y="0" width="1" height="1" inkscape:bbox-x="1482.498747" inkscape:bbox-y="448.142858" inkscape:bbox-width="200.000000" inkscape:bbox-height="289.108917"/> + </svg:g> + <svg:g id="s78836" inkscape:groupmode="layer" scene_group="true" style="display: none" inkscape:bbox-x="24.106397" inkscape:bbox-y="107.142850" inkscape:bbox-width="1871.787214" inkscape:bbox-height="865.714294"> + <svg:use id="s39744" xlink:href="#s46783" ns0:duplicate-src="s46783" x="0" y="0" width="1" height="1" transform="translate(222,0)" inkscape:bbox-x="1471.427358" inkscape:bbox-y="107.142850" inkscape:bbox-width="228.571442" inkscape:bbox-height="865.714294"/> + <svg:use id="s58261" xlink:href="#s9254" ns0:duplicate-src="s9254" x="0" y="0" width="1" height="1" inkscape:bbox-x="124.784483" inkscape:bbox-y="450.112525" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + <svg:use id="s82698" xlink:href="#s64160" ns0:duplicate-src="s64160" x="0" y="0" width="1" height="1" inkscape:bbox-x="366.355955" inkscape:bbox-y="444.000008" inkscape:bbox-width="200.000000" inkscape:bbox-height="293.951292"/> + <svg:use id="s87837" xlink:href="#s30363" ns0:duplicate-src="s30363" x="0" y="0" width="1" height="1" inkscape:bbox-x="606.213041" inkscape:bbox-y="438.285758" inkscape:bbox-width="200.000000" inkscape:bbox-height="298.145357"/> + <svg:use id="s65619" xlink:href="#s8103" ns0:duplicate-src="s8103" x="0" y="0" width="1" height="1" inkscape:bbox-x="828.498747" inkscape:bbox-y="436.714281" inkscape:bbox-width="200.000000" inkscape:bbox-height="300.537489"/> + <svg:use id="s97994" xlink:href="#s60974" ns0:duplicate-src="s60974" x="0" y="0" width="1" height="1" inkscape:bbox-x="24.106397" inkscape:bbox-y="552.576336" inkscape:bbox-width="74.005762" inkscape:bbox-height="84.436636"/> + <svg:use id="s29117" xlink:href="#s1545" ns0:duplicate-src="s1545" x="0" y="0" width="1" height="1" inkscape:bbox-x="1821.994770" inkscape:bbox-y="566.795992" inkscape:bbox-width="73.898841" inkscape:bbox-height="84.440967"/> + <svg:use id="s46682" xlink:href="#s49240" ns0:duplicate-src="s49240" x="0" y="0" width="1" height="1" inkscape:bbox-x="1042.498747" inkscape:bbox-y="433.857142" inkscape:bbox-width="200.000000" inkscape:bbox-height="303.394632"/> + <svg:use id="s92098" xlink:href="#s80471" ns0:duplicate-src="s80471" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,0.71369241,0,90.218505)" inkscape:bbox-x="1266.498747" inkscape:bbox-y="430.999978" inkscape:bbox-width="200.000000" inkscape:bbox-height="306.251785"/> + <svg:use id="s11142" xlink:href="#s41223" ns0:duplicate-src="s41223" x="0" y="0" width="1" height="1" transform="matrix(1,0,0,1.6127201,0,-193.07449)" inkscape:bbox-x="1482.498747" inkscape:bbox-y="271.000023" inkscape:bbox-width="200.000000" inkscape:bbox-height="466.251762"/> + </svg:g> + <svg:g id="s19539" inkscape:groupmode="layer" scene_group="true" style="display:inline" inkscape:bbox-x="45.714287" inkscape:bbox-y="234.285713" inkscape:bbox-width="328.571442" inkscape:bbox-height="700.000000"> + <svg:rect style="opacity:0.75800003;fill:#ff0000;fill-opacity:1;stroke:none" id="rect113" saved_id="rect113" width="328.57144" height="700" x="45.714287" y="118.07647" inkscape:bbox-x="45.714287" inkscape:bbox-y="234.285713" inkscape:bbox-width="328.571442" inkscape:bbox-height="700.000000"/> + <svg:use style="display:inline" id="s58261-1" xlink:href="#s9254" ns0:duplicate-src="s9254" x="0" y="0" width="1" height="1" transform="translate(-10.49877,-124.48863)" inkscape:bbox-x="114.285713" inkscape:bbox-y="574.601155" inkscape:bbox-width="200.000000" inkscape:bbox-height="290.797687"/> + </svg:g> + </svg:g> + <svg:g inkscape:label="components" id="s49280"/> +</svg:svg>
--- a/nodejs/examples/mce/mainmenu.js Wed Apr 06 08:17:00 2011 +0800 +++ b/nodejs/examples/mce/mainmenu.js Wed Apr 06 21:35:21 2011 +0800 @@ -93,7 +93,7 @@ } MainMenu.prototype.onNextPage=function() { - this.app.changeScene(98); + this.app.changeScene(97); } MainMenu.prototype.changePage=function(item) { this.app.epg.getList(item,this.onNextPage);
--- a/nodejs/mbapp.js Wed Apr 06 08:17:00 2011 +0800 +++ b/nodejs/mbapp.js Wed Apr 06 21:35:21 2011 +0800 @@ -199,10 +199,10 @@ src.hide(); // Duplicate the group var nodes = src.children; - if (src.dup) { - src.dup.remove(); - src.dup = null; - } + //if (src.dup) { + // src.dup.remove(); + // src.dup = null; + //} if (src.dup == null) { var dup = this.mb_rt.coord_new(src.parent); for (i in nodes) { @@ -252,8 +252,8 @@ app.prototype.generateScaleTweenObject=function(coord,src,dest,p,id) { //sys.puts("xxxxxxx"); //sys.puts("dest="+dest); - // sys.puts("src=["+src.sx+","+src.sy+","+src.r+","+src.tx+","+src.ty); - //sys.puts("id="+id+" dest=["+dest.sx+","+dest.sy+","+dest.r+","+dest.tx+","+dest.ty); + sys.puts("src=["+src.sx+","+src.sy+","+src.r+","+src.tx+","+src.ty); + sys.puts("id="+id+" dest=["+dest.sx+","+dest.sy+","+dest.r+","+dest.tx+","+dest.ty); //sys.puts("src.center="+src.center); //sys.puts("src.center.x="+src.center.x+" src.center.y="+src.center.y); if (src == null) return;
--- a/nodejs/svg.js Wed Apr 06 08:17:00 2011 +0800 +++ b/nodejs/svg.js Wed Apr 06 21:35:21 2011 +0800 @@ -976,16 +976,14 @@ attr = n.attr('duplicate-src'); if (attr) { var id = attr.value(); - var orign = this.mb_rt.mbnames[id].node; - sys.puts("xxxxxxxxxxxxxx"); - var nw = getInteger(orign,'width'); - var nh = getInteger(orign,'height'); - sys.puts("nw="+nw); - sys.puts("nh="+nh); - sys.puts("w="+w); - sys.puts("h="+h); - tcoord.sx *= w/nw; - tcoord.sy *= h/nh; + var coord = this.mb_rt.mbnames[id]; + if (coord) { + var orign = this.mb_rt.mbnames[id].node; + var nw = getInteger(orign,'width'); + var nh = getInteger(orign,'height'); + tcoord.sx *= w/nw; + tcoord.sy *= h/nh; + } }
--- a/pyink/mbbbox.py Wed Apr 06 08:17:00 2011 +0800 +++ b/pyink/mbbbox.py Wed Apr 06 21:35:21 2011 +0800 @@ -1,130 +1,176 @@ +## \file +# \brief MadButterfly with bbox. +# +# This module export a document with bounding box information. +# import pybExtension -def _print_subtree(node, lvl, out): - def _print_level(txt, lvl, out): - indent = ' ' * lvl - print >> out, '%s%s' % (indent, txt) - pass - - def _print_node_open(node, lvl, out): - node_name = node.name() - - attrs = [] - for attrname in node.allAttributes(): - attrvalue = node.getAttribute(attrname) - if attrname[0:13] == 'inkscape:bbox': - continue - attr = '%s="%s"' % (attrname, attrvalue) - attrs.append(attr) - pass - - parent_node = node.parent() - if parent_node: - parent_name = parent_node.name() - if parent_name == 'svg:g': - bbox = node.getBBox() - attr = 'inkscape:bbox-x="%f"' % (bbox[0]) - attrs.append(attr) - bbox = node.getBBox() - attr = 'inkscape:bbox-y="%f"' % (bbox[1]) - attrs.append(attr) - bbox = node.getBBox() - attr = 'inkscape:bbox-width="%f"' % (bbox[2]) - attrs.append(attr) - bbox = node.getBBox() - attr = 'inkscape:bbox-height="%f"' % (bbox[3]) - attrs.append(attr) +class mbbbox_ext(pybExtension.PYBindExtImp): + def _translate_attr(self, node, attrname, attrvalue): + if attrname == 'xlink:href' and attrvalue.startswith('file://'): + # translate to relative path + from os.path import relpath, dirname, realpath, abspath + + fn = abspath(attrvalue[7:]) + fn = realpath(fn) + + doc_name = abspath(self._doc_name) + doc_name = realpath(doc_name) + doc_dir = dirname(doc_name) + + relfn = relpath(fn, doc_dir) + + if not relfn.startswith('../'): + attrvalue = relfn pass pass - if attrs: - attrs_str = ' '.join(attrs) - line = '<%s %s>' % (node_name, attrs_str) - else: - line = '<%s>' % (node_name) + return attrname, attrvalue + + def _print_subtree(self, node, lvl, out): + def _print_level(txt, lvl, out): + indent = ' ' * lvl + print >> out, '%s%s' % (indent, txt) + pass + + def _print_node_open(node, lvl, out): + node_name = node.name() + + attrs = [] + if node_name == 'svg:svg': + attrs.append('xmlns:dc="http://purl.org/dc/elements/1.1/"') + attrs.append('xmlns:cc="http://creativecommons.org/ns#"') + attrs.append('xmlns:rdf=' + '"http://www.w3.org/1999/02/22-rdf-syntax-ns#"') + attrs.append('xmlns:svg="http://www.w3.org/2000/svg"') + attrs.append('xmlns="http://www.w3.org/2000/svg"') + attrs.append('xmlns:xlink="http://www.w3.org/1999/xlink"') + attrs.append('xmlns:sodipodi="http://' + 'sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"') + attrs.append('xmlns:inkscape=' + '"http://www.inkscape.org/namespaces/inkscape"') + pass + + for attrname in node.allAttributes(): + attrvalue = node.getAttribute(attrname) + attrname, attrvalue = \ + self._translate_attr(node, attrname, attrvalue) + if attrname[0:13] == 'inkscape:bbox': + continue + attr = '%s="%s"' % (attrname, attrvalue) + attrs.append(attr) + pass + + parent_node = node.parent() + if parent_node: + parent_name = parent_node.name() + if parent_name == 'svg:g': + bbox = node.getBBox() + attr = 'inkscape:bbox-x="%f"' % (bbox[0]) + attrs.append(attr) + bbox = node.getBBox() + attr = 'inkscape:bbox-y="%f"' % (bbox[1]) + attrs.append(attr) + bbox = node.getBBox() + attr = 'inkscape:bbox-width="%f"' % (bbox[2]) + attrs.append(attr) + bbox = node.getBBox() + attr = 'inkscape:bbox-height="%f"' % (bbox[3]) + attrs.append(attr) + pass + pass + + if attrs: + attrs_str = ' '.join(attrs) + line = '<%s %s>' % (node_name, attrs_str) + else: + line = '<%s>' % (node_name) + pass + _print_level(line, lvl, out) pass - _print_level(line, lvl, out) - pass + + def _print_node_close(node, lvl, out): + node_name = node.name() + + line = '</%s>' % (node_name) + _print_level(line, lvl, out) + pass + + def _print_node_single(node, lvl, out): + node_name = node.name() + + attrs = [] + for attrname in node.allAttributes(): + if attrname[0:13] == 'inkscape:bbox': + continue + attrvalue = node.getAttribute(attrname) + attrname, attrvalue = \ + self._translate_attr(node, attrname, attrvalue) + attr = '%s="%s"' % (attrname, attrvalue) + attrs.append(attr) + pass - def _print_node_close(node, lvl, out): - node_name = node.name() - - line = '</%s>' % (node_name) - _print_level(line, lvl, out) + parent_node = node.parent() + if parent_node: + parent_name = parent_node.name() + if parent_name == 'svg:g': + bbox = node.getBBox() + attr = 'inkscape:bbox-x="%f"' % (bbox[0]) + attrs.append(attr) + bbox = node.getBBox() + attr = 'inkscape:bbox-y="%f"' % (bbox[1]) + attrs.append(attr) + bbox = node.getBBox() + attr = 'inkscape:bbox-width="%f"' % (bbox[2]) + attrs.append(attr) + bbox = node.getBBox() + attr = 'inkscape:bbox-height="%f"' % (bbox[3]) + attrs.append(attr) + pass + pass + + if attrs: + attrs_str = ' '.join(attrs) + line = '<%s %s/>' % (node_name, attrs_str) + else: + line = '<%s/>' % (node_name) + pass + _print_level(line, lvl, out) + pass + + def _print_node_content(node, lvl, out): + line = node.content() + _print_level(line, lvl, out) + pass + + children = node.childList() + if not children: + if node.name() != 'string': + _print_node_single(node, lvl, out) + else: + _print_node_content(node, lvl, out) + pass + return + + _print_node_open(node, lvl, out) + for child in children: + self._print_subtree(child, lvl + 1, out) + pass + _print_node_close(node, lvl, out) pass - def _print_node_single(node, lvl, out): - node_name = node.name() - - attrs = [] - for attrname in node.allAttributes(): - if attrname[0:13] == 'inkscape:bbox': - continue - attrvalue = node.getAttribute(attrname) - attr = '%s="%s"' % (attrname, attrvalue) - attrs.append(attr) - pass - - parent_node = node.parent() - if parent_node: - parent_name = parent_node.name() - if parent_name == 'svg:g': - bbox = node.getBBox() - attr = 'inkscape:bbox-x="%f"' % (bbox[0]) - attrs.append(attr) - bbox = node.getBBox() - attr = 'inkscape:bbox-y="%f"' % (bbox[1]) - attrs.append(attr) - bbox = node.getBBox() - attr = 'inkscape:bbox-width="%f"' % (bbox[2]) - attrs.append(attr) - bbox = node.getBBox() - attr = 'inkscape:bbox-height="%f"' % (bbox[3]) - attrs.append(attr) - pass - pass - - if attrs: - attrs_str = ' '.join(attrs) - line = '<%s %s/>' % (node_name, attrs_str) - else: - line = '<%s/>' % (node_name) - pass - _print_level(line, lvl, out) - pass - - def _print_node_content(node, lvl, out): - line = node.content() - _print_level(line, lvl, out) - pass - - children = node.childList() - if not children: - if node.name() != 'string': - _print_node_single(node, lvl, out) - else: - _print_node_content(node, lvl, out) - pass - return - - _print_node_open(node, lvl, out) - for child in children: - _print_subtree(child, lvl + 1, out) - pass - _print_node_close(node, lvl, out) - pass - -class mbbbox_ext(pybExtension.PYBindExtImp): def save(self, module, doc, filename): + self._doc_name = filename out = file(filename, 'w+') + print >>out, '<?xml version="1.0" encoding="UTF-8" standalone="no"?>' root = doc.rdoc.root() - _print_subtree(root, 0, out) - + self._print_subtree(root, 0, out) + out.close() pass pass - + extension = (mbbbox_ext(), 'net.scribboo.mbbbox',