sysmodellibs/sysmodelgen/test/deps/layer-static.svg
author terytkon
Fri, 12 Mar 2010 08:30:17 +0200
changeset 2 87cfa131b535
parent 1 b538b70cbe51
permissions -rw-r--r--
Fixed the licence header on two files that the epl:ling script missed for some reason.

<?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" 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: true-->
 <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>