sysmodellibs/sysmodelgen/test/deps/layer-fixed.svg
changeset 1 b538b70cbe51
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysmodellibs/sysmodelgen/test/deps/layer-fixed.svg	Thu Mar 11 18:20:56 2010 +0200
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<s:svg xmlns:doc="tooldoc" xmlns:s="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" onload="wrapalltext()" class="layer-fixed" viewBox="-21.95 0 839.6500000000001 415.7985">
+ <title xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math">Symbian OS vFuture System Model: Build M04710a</title>
+ <defs xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math">
+  <style type="text/css">
+    text.layer, text.block, text.subblock, text.collection, text.component,
+    text.cbox, text.lgrp, text.label, text.lgd {
+		fill:black;
+		font-family: Arial;
+    }
+    text.title {
+		fill:red;
+		font-weight: bold;
+		font-size: 6.3495px;	
+		font-family: Arial;
+    }    
+    text.component {		
+		font-size: 1.940px;  /*  5.5pt  */
+		font-weight: bold
+	}
+ 	text.lgd, 
+	text.layer, text.block {
+		font-size: 4.233px;  /*  12pt  */
+		font-weight: bold;
+	}
+	text.label {		
+		font-size: 1.940px;  /*  5.5pt  */
+		font-weight: bold
+	}
+	text.cbox {		
+		font-size: 1.411px;  /*  4pt  */
+		font-weight: bold
+	}
+	text.lgrp {
+		font-size: 12.699px;  /*  36pt  */
+		font-weight: normal;
+	}
+
+svg.subblock text.block,
+svg.subblock-fixed text.block {
+		font-size: 7.7605px;  /*  22pt  */
+	}
+svg.block text.block,
+svg.block-fixed text.block {
+		font-size: 11.288px;  /*  32pt  */
+		font-weight: normal;
+	}
+
+svg.subblock-fixed text.block, 
+svg.block-fixed text.block {
+	}
+
+
+	text.subblock {
+		font-size: 2.822px;  /*  8pt  */
+	}
+	
+	svg.collection text.subblock,
+	svg.collection-fixed text.subblock  {
+		font-size: 4.233px;  /*  12pt  */
+	}
+	
+	svg.subblock text.subblock,
+	svg.subblock-fixed text.subblock  {
+		font-size: 7.055px;  /*  20pt  */
+	}
+
+	text.collection {
+		font-size: 2.469px;  /*  7pt  */
+	}
+	
+	svg.collection text.collection,
+	svg.collection-fixed text.collection  {
+		font-size: 3.7035px;  /*  10.5pt  */
+	} 
+
+	/* thin border */
+	rect.legend, rect.collection, rect.cbox {
+		stroke-width: 0.0882px;  /*  0.25pt  */
+		stroke: black
+	}
+	/* thick border */
+	rect.layer, rect.subblock, rect.block  {
+		stroke-width: 0.2469px;  /*  0.7pt  */
+		stroke: black
+	}
+	rect.layer {
+		fill: #e6e6e6
+	}
+	rect.block {
+		fill: #b3b3b3
+	}
+	rect.subblock {
+		fill: #e6e6e6
+	}
+	rect.collection {
+		fill: white
+	}
+	rect.legend {
+		fill: white
+	}
+ </style>
+  <symbol id="Borderbox" viewBox="0 0 20 20">
+   <path d="M 0 0 L 0 20 L 20 20 L 20 0 z" stroke="black"/>
+  </symbol>
+  <symbol id="Borderbox-clipLB" viewBox="0 0 20 20">
+   <path d="M 0 0 L 0 15 L 5 20 L 20 20 L 20 0 z" stroke="black"/>
+  </symbol>
+  <symbol id="Borderbox-clipLT" viewBox="0 0 20 20">
+   <path d="M 5 0 L 0 5 L 0 20 L 20 20 L 20 0 z" stroke="black"/>
+  </symbol>
+  <symbol id="Borderbox-clipRB" viewBox="0 0 20 20">
+   <path d="M 0 0 L 0 20 L 15 20 L 20 15 L 20 0 z" stroke="black"/>
+  </symbol>
+  <symbol id="Borderbox-clipRT" viewBox="0 0 20 20">
+   <path d="M 0 0 L 0 20 L 20 20 L 20 5 L 15 0 z" stroke="black"/>
+  </symbol>
+  <symbol id="Borderbox-clipAll" viewBox="0 0 20 20">
+   <path d="M 5 0 L 0 5 L 0 15 L 5 20 L 15 20 L 20 15 L 20 5 L 15 0 z" stroke="black"/>
+  </symbol>
+ </defs>
+ <s:defs>
+  <s:marker id="Triangle" viewBox="-1 -1 7 7" refX="5" refY="2" markerUnits="strokeWidth" markerWidth="6" markerHeight="6" orient="auto">
+   <s:polygon style="fill:black;stroke:black;" points="0,0 5,2 0,4 0,0"/>
+  </s:marker>
+  <s:marker id="TriangleF" viewBox="-1 -1 7 7" refX="0" refY="2" markerUnits="strokeWidth" markerWidth="6" markerHeight="6" orient="auto">
+   <s:polygon style="fill:blue;stroke:blue;" points="5,0 5,4 0,2 5,0"/>
+  </s:marker>
+  <s:style type="text/css">
+	path.arrow {
+		marker-end: url(#Triangle);
+		fill:none;stroke: black;
+		stroke-width: 4.8px;
+	}
+	path.arrowF {
+		marker-start: url(#TriangleF);
+		fill:none;stroke: blue;
+		stroke-width: 4.8px;		
+	}
+</s:style>
+ </s:defs>
+ <!--Drawing in static mode: false-->
+ <script xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" type="text/ecmascript"> 
+
+var svgns="http://www.w3.org/2000/svg";
+
+
+var curId = '';
+function clear(id) {
+	if(curId != '') off(curId);
+	return curId=id;
+}
+
+
+function on(id) {
+	var cur =document.getElementById(id)
+	cur.setAttribute('visibility','visible');
+	
+	if(!cur.hasAttribute('wrapenated')) {
+		cur.setAttribute('wrapenated','true');
+		wrapalltext(cur)
+	}
+	
+	return cur;
+}
+
+function off(id) {
+	document.getElementById(id).setAttribute('visibility','hidden');
+}
+
+
+
+
+function splitup(txt) {
+	var a = new Array;
+	var t = txt;
+	var found		
+	while((found = t.match(/(^[\u3041-\u309e\u30a1-\u30fe\u4e00-\ufa2d])([\u3041-\u309e\u30a1-\u30fe\u4e00-\ufa2d].*)$/))|| ( found = t.match(/^([^ \u200b\xad-]+[ \u200b\xad-]+)(.*)$/))) {
+			a.push(found[1]);
+			t=found[2];
+	}
+	a.push(t);
+	return a;
+}
+
+
+
+
+
+function splitable(node) {
+ 	return node.firstChild.nodeType == 3 &amp;&amp; node.firstChild.data.match(/[\t\n\r \u200b\xad-]/);
+}
+
+function crush(node, len) {
+	node.setAttribute('letter-spacing','-0.1');
+	if( node.getComputedTextLength() &gt; len) 
+		node.setAttribute('letter-spacing','-0.2');
+}
+
+function whatSize(txt) { // convert a length into pixels
+	if(txt.match(/^[0-9.-]+$/)) return txt;
+	var a = document.createElementNS(svgns,'rect');
+	a.setAttribute('x',0);
+	a.setAttribute('y',0);
+	a.setAttribute('width',txt);
+	var l = a.getBBox().width;
+	delete a;
+	return l;
+}
+
+function wrapalltext(node) {
+    if(!node) node= document;
+    var all = node.getElementsByTagNameNS(svgns,'text');
+    var i=0;
+    for (i=0; i&lt;all.length; i++) {
+	var cur = all.item(i);
+	var w =0;
+	if(cur.hasAttribute('ref')) {
+		w = document.getElementById(cur.getAttribute('ref')).getBBox().width * 0.9;
+	} else if (cur.hasAttribute('width')) {
+		w = whatSize(cur.getAttribute('width'));
+	}
+	if (w)	wraptext(cur,w)
+	}
+}
+
+
+function wraptext(cur,l) {
+	if(cur.firstChild.nodeType != 3)  return; // must be just a text node
+	if(cur.getBBox().width &lt; l )  {
+		cur.firstChild.data = cur.firstChild.data.replace(/[\xad\u200b]/g,"");
+		return; // no need -- won't wrap
+	}
+	var t = cur.firstChild.data.replace(/\s+/," ");  // normalize all spaces
+	t = t.replace(/^ +/,"").replace(/ +$/,"");  // trim spaces
+	var words =splitup(t); 	// each word ends with the split character (if any)
+	if (words.length&lt;2)  {
+		crush(cur, l);
+		return;
+	}
+	cur.removeChild(cur.firstChild)
+	var tspan = document.createElementNS(svgns,'tspan');
+	cur.appendChild(tspan);
+	var txt = document.createTextNode(words[0]);
+	tspan.appendChild(txt);
+	tspan.setAttribute('x',cur.getAttribute('x'));	// Opera needs this
+	var nlines=1;
+	var zero =0;
+	for (i =1;i&lt; words.length;i++) {
+		var was = txt.data;
+		txt.data+=words[i];
+		if (tspan.getComputedTextLength() -zero &gt; l) { // if the line with this word at the end is bigger than the available space...
+			txt.data=was.replace(/ +$/,"").replace(/\xad(.)/,"$1").replace(/\u200b/g,""); // remove zero-width spaces and trailing spaces and soft hyphens
+			// if it's still too big then decrease the letter spacing
+			if( tspan.getComputedTextLength() &gt; l ) 	crush(tspan,l);
+			tspan = document.createElementNS(svgns,'tspan');
+			tspan.setAttribute('dy',"1em");
+			nlines++;
+			tspan.setAttribute('x',cur.getAttribute('x'));
+			cur.appendChild(tspan);
+			txt = document.createTextNode('');
+			tspan.appendChild(txt);
+			zero = tspan.getComputedTextLength();
+			txt.data+=words[i];
+		}
+	}
+	txt.data=txt.data.replace(/ +$/,"").replace(/\xad(.)/,"$1").replace(/\u200b/g,""); // remove zero-width spaces and trailing spaces and soft hyphens
+	var align =cur.getAttribute('dominant-baseline');
+	if(align=='' || align=='ideographic') {
+		cur.setAttribute('dy',(1-nlines)+"em");
+	 } else{
+	 	 if(align=='mathematical')
+			cur.setAttribute('dy',((1-nlines ) / 2 )+"em");
+		else if(align=='hanging') 
+			cur.setAttribute('dy',"0em")
+	 }
+}
+   </script>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer-group">
+  <rect width="833.2500000000001" height="387.15000000000003" x="-18.75" y="3.2" rx="4.65" fill="rgb(143,188,143)"/>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer-group">
+  <rect width="824.5000000000001" height="210.06" x="-15" y="139.46" rx="4.65" fill="rgb(93,155,205)"/>
+  <text text-anchor="middle" dominant-baseline="mathematical" class="lgrp" transform="rotate(-90)" y="-7.5" width="210.06" x="-244.49">Core OS</text>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 8.2)" id="ApplicationServices">
+  <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="70.23"/>
+  <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="70.23" x="-35.415">Application Services</text>
+  <g class="layer-detail" transform="translate(273.2000000000001 6.4)">
+   <rect x="-260.4000000000001" class="layer" y="-6.4" width="791.7000000000002" height="70.23"/>
+   <g/>
+  </g>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 81.63000000000001)" id="GenericMiddleware">
+  <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="54.63000000000001"/>
+  <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="54.63000000000001" x="-27.615000000000006">Generic Middleware</text>
+  <g class="layer-detail" transform="translate(71.90000000000008 6.4)">
+   <rect x="-59.10000000000008" class="layer" y="-6.4" width="791.7000000000002" height="54.63000000000001"/>
+   <g/>
+  </g>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 144.46)" id="OSServices">
+  <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="126.63000000000001"/>
+  <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="126.63000000000001" x="-63.615">OS Services</text>
+  <g class="layer-detail" transform="translate(12.8 6.4)">
+   <rect x="0" class="layer" y="-6.4" width="791.7000000000002" height="126.63000000000001"/>
+   <g/>
+  </g>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 274.29)" id="KernelServices">
+  <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="70.23"/>
+  <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="70.23" x="-35.415">Kernel Services</text>
+  <g class="layer-detail" transform="translate(295.8500000000001 6.4)">
+   <rect x="-283.05000000000007" class="layer" y="-6.4" width="791.7000000000002" height="70.23"/>
+   <g/>
+  </g>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 352.72)" id="Hardware">
+  <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="32.63"/>
+  <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="32.63" x="-16.615000000000002">Hardware</text>
+  <g class="layer-detail" transform="translate(286.1000000000001 6.4)">
+   <rect x="-273.30000000000007" class="layer" y="-6.4" width="791.7000000000002" height="32.63"/>
+   <g/>
+  </g>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" id="legend-root" class="legend" transform="translate(692.0679400000001 393.55) translate(92.43206 0) scale(1) translate(-92.43206)">
+  <text text-anchor="middle" class="title" y="2.1165000000000003" x="72.21603">Symbian OS vFuture<tspan dy="1em" x="72.21603">System Model</tspan>
+   <tspan font-style="italic" dy="1em" id="release-version" x="72.21603">Build M04710a</tspan>
+  </text>
+ </g>
+ <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" id="legend-display" class="legend" opacity="0.8" transform="translate(692.0679400000001 393.55)">
+  <g id="legend-owner">
+   <rect id="legend-ctrl" rx="5" ry="5" height="9.233" x="0" y="0" visibility="hidden" pointer-events="all" width="37"/>
+  </g>
+ </g>
+</s:svg>