sysmodellibs/sysmodelgen/test/deps/layer-static.svg
changeset 1 b538b70cbe51
equal deleted inserted replaced
0:2e8eeb919028 1:b538b70cbe51
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <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">
       
     3  <title xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math">Symbian OS vFuture System Model: Build M04710a</title>
       
     4  <defs xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math">
       
     5   <style type="text/css">
       
     6     text.layer, text.block, text.subblock, text.collection, text.component,
       
     7     text.cbox, text.lgrp, text.label, text.lgd {
       
     8 		fill:black;
       
     9 		font-family: Arial;
       
    10     }
       
    11     text.title {
       
    12 		fill:red;
       
    13 		font-weight: bold;
       
    14 		font-size: 6.3495px;	
       
    15 		font-family: Arial;
       
    16     }    
       
    17     text.component {		
       
    18 		font-size: 1.940px;  /*  5.5pt  */
       
    19 		font-weight: bold
       
    20 	}
       
    21  	text.lgd, 
       
    22 	text.layer, text.block {
       
    23 		font-size: 4.233px;  /*  12pt  */
       
    24 		font-weight: bold;
       
    25 	}
       
    26 	text.label {		
       
    27 		font-size: 1.940px;  /*  5.5pt  */
       
    28 		font-weight: bold
       
    29 	}
       
    30 	text.cbox {		
       
    31 		font-size: 1.411px;  /*  4pt  */
       
    32 		font-weight: bold
       
    33 	}
       
    34 	text.lgrp {
       
    35 		font-size: 12.699px;  /*  36pt  */
       
    36 		font-weight: normal;
       
    37 	}
       
    38 
       
    39 svg.subblock text.block,
       
    40 svg.subblock-fixed text.block {
       
    41 		font-size: 7.7605px;  /*  22pt  */
       
    42 	}
       
    43 svg.block text.block,
       
    44 svg.block-fixed text.block {
       
    45 		font-size: 11.288px;  /*  32pt  */
       
    46 		font-weight: normal;
       
    47 	}
       
    48 
       
    49 svg.subblock-fixed text.block, 
       
    50 svg.block-fixed text.block {
       
    51 	}
       
    52 
       
    53 
       
    54 	text.subblock {
       
    55 		font-size: 2.822px;  /*  8pt  */
       
    56 	}
       
    57 	
       
    58 	svg.collection text.subblock,
       
    59 	svg.collection-fixed text.subblock  {
       
    60 		font-size: 4.233px;  /*  12pt  */
       
    61 	}
       
    62 	
       
    63 	svg.subblock text.subblock,
       
    64 	svg.subblock-fixed text.subblock  {
       
    65 		font-size: 7.055px;  /*  20pt  */
       
    66 	}
       
    67 
       
    68 	text.collection {
       
    69 		font-size: 2.469px;  /*  7pt  */
       
    70 	}
       
    71 	
       
    72 	svg.collection text.collection,
       
    73 	svg.collection-fixed text.collection  {
       
    74 		font-size: 3.7035px;  /*  10.5pt  */
       
    75 	} 
       
    76 
       
    77 	/* thin border */
       
    78 	rect.legend, rect.collection, rect.cbox {
       
    79 		stroke-width: 0.0882px;  /*  0.25pt  */
       
    80 		stroke: black
       
    81 	}
       
    82 	/* thick border */
       
    83 	rect.layer, rect.subblock, rect.block  {
       
    84 		stroke-width: 0.2469px;  /*  0.7pt  */
       
    85 		stroke: black
       
    86 	}
       
    87 	rect.layer {
       
    88 		fill: #e6e6e6
       
    89 	}
       
    90 	rect.block {
       
    91 		fill: #b3b3b3
       
    92 	}
       
    93 	rect.subblock {
       
    94 		fill: #e6e6e6
       
    95 	}
       
    96 	rect.collection {
       
    97 		fill: white
       
    98 	}
       
    99 	rect.legend {
       
   100 		fill: white
       
   101 	}
       
   102  </style>
       
   103   <symbol id="Borderbox" viewBox="0 0 20 20">
       
   104    <path d="M 0 0 L 0 20 L 20 20 L 20 0 z" stroke="black"/>
       
   105   </symbol>
       
   106   <symbol id="Borderbox-clipLB" viewBox="0 0 20 20">
       
   107    <path d="M 0 0 L 0 15 L 5 20 L 20 20 L 20 0 z" stroke="black"/>
       
   108   </symbol>
       
   109   <symbol id="Borderbox-clipLT" viewBox="0 0 20 20">
       
   110    <path d="M 5 0 L 0 5 L 0 20 L 20 20 L 20 0 z" stroke="black"/>
       
   111   </symbol>
       
   112   <symbol id="Borderbox-clipRB" viewBox="0 0 20 20">
       
   113    <path d="M 0 0 L 0 20 L 15 20 L 20 15 L 20 0 z" stroke="black"/>
       
   114   </symbol>
       
   115   <symbol id="Borderbox-clipRT" viewBox="0 0 20 20">
       
   116    <path d="M 0 0 L 0 20 L 20 20 L 20 5 L 15 0 z" stroke="black"/>
       
   117   </symbol>
       
   118   <symbol id="Borderbox-clipAll" viewBox="0 0 20 20">
       
   119    <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"/>
       
   120   </symbol>
       
   121  </defs>
       
   122  <s:defs>
       
   123   <s:marker id="Triangle" viewBox="-1 -1 7 7" refX="5" refY="2" markerUnits="strokeWidth" markerWidth="6" markerHeight="6" orient="auto">
       
   124    <s:polygon style="fill:black;stroke:black;" points="0,0 5,2 0,4 0,0"/>
       
   125   </s:marker>
       
   126   <s:marker id="TriangleF" viewBox="-1 -1 7 7" refX="0" refY="2" markerUnits="strokeWidth" markerWidth="6" markerHeight="6" orient="auto">
       
   127    <s:polygon style="fill:blue;stroke:blue;" points="5,0 5,4 0,2 5,0"/>
       
   128   </s:marker>
       
   129   <s:style type="text/css">
       
   130 	path.arrow {
       
   131 		marker-end: url(#Triangle);
       
   132 		fill:none;stroke: black;
       
   133 		stroke-width: 4.8px;
       
   134 	}
       
   135 	path.arrowF {
       
   136 		marker-start: url(#TriangleF);
       
   137 		fill:none;stroke: blue;
       
   138 		stroke-width: 4.8px;		
       
   139 	}
       
   140 </s:style>
       
   141  </s:defs>
       
   142  <!--Drawing in static mode: true-->
       
   143  <script xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" type="text/ecmascript"> 
       
   144 
       
   145 var svgns="http://www.w3.org/2000/svg";
       
   146 
       
   147 
       
   148 var curId = '';
       
   149 function clear(id) {
       
   150 	if(curId != '') off(curId);
       
   151 	return curId=id;
       
   152 }
       
   153 
       
   154 
       
   155 function on(id) {
       
   156 	var cur =document.getElementById(id)
       
   157 	cur.setAttribute('visibility','visible');
       
   158 	
       
   159 	if(!cur.hasAttribute('wrapenated')) {
       
   160 		cur.setAttribute('wrapenated','true');
       
   161 		wrapalltext(cur)
       
   162 	}
       
   163 	
       
   164 	return cur;
       
   165 }
       
   166 
       
   167 function off(id) {
       
   168 	document.getElementById(id).setAttribute('visibility','hidden');
       
   169 }
       
   170 
       
   171 
       
   172 
       
   173 
       
   174 function splitup(txt) {
       
   175 	var a = new Array;
       
   176 	var t = txt;
       
   177 	var found		
       
   178 	while((found = t.match(/(^[\u3041-\u309e\u30a1-\u30fe\u4e00-\ufa2d])([\u3041-\u309e\u30a1-\u30fe\u4e00-\ufa2d].*)$/))|| ( found = t.match(/^([^ \u200b\xad-]+[ \u200b\xad-]+)(.*)$/))) {
       
   179 			a.push(found[1]);
       
   180 			t=found[2];
       
   181 	}
       
   182 	a.push(t);
       
   183 	return a;
       
   184 }
       
   185 
       
   186 
       
   187 
       
   188 
       
   189 
       
   190 function splitable(node) {
       
   191  	return node.firstChild.nodeType == 3 &amp;&amp; node.firstChild.data.match(/[\t\n\r \u200b\xad-]/);
       
   192 }
       
   193 
       
   194 function crush(node, len) {
       
   195 	node.setAttribute('letter-spacing','-0.1');
       
   196 	if( node.getComputedTextLength() &gt; len) 
       
   197 		node.setAttribute('letter-spacing','-0.2');
       
   198 }
       
   199 
       
   200 function whatSize(txt) { // convert a length into pixels
       
   201 	if(txt.match(/^[0-9.-]+$/)) return txt;
       
   202 	var a = document.createElementNS(svgns,'rect');
       
   203 	a.setAttribute('x',0);
       
   204 	a.setAttribute('y',0);
       
   205 	a.setAttribute('width',txt);
       
   206 	var l = a.getBBox().width;
       
   207 	delete a;
       
   208 	return l;
       
   209 }
       
   210 
       
   211 function wrapalltext(node) {
       
   212     if(!node) node= document;
       
   213     var all = node.getElementsByTagNameNS(svgns,'text');
       
   214     var i=0;
       
   215     for (i=0; i&lt;all.length; i++) {
       
   216 	var cur = all.item(i);
       
   217 	var w =0;
       
   218 	if(cur.hasAttribute('ref')) {
       
   219 		w = document.getElementById(cur.getAttribute('ref')).getBBox().width * 0.9;
       
   220 	} else if (cur.hasAttribute('width')) {
       
   221 		w = whatSize(cur.getAttribute('width'));
       
   222 	}
       
   223 	if (w)	wraptext(cur,w)
       
   224 	}
       
   225 }
       
   226 
       
   227 
       
   228 function wraptext(cur,l) {
       
   229 	if(cur.firstChild.nodeType != 3)  return; // must be just a text node
       
   230 	if(cur.getBBox().width &lt; l )  {
       
   231 		cur.firstChild.data = cur.firstChild.data.replace(/[\xad\u200b]/g,"");
       
   232 		return; // no need -- won't wrap
       
   233 	}
       
   234 	var t = cur.firstChild.data.replace(/\s+/," ");  // normalize all spaces
       
   235 	t = t.replace(/^ +/,"").replace(/ +$/,"");  // trim spaces
       
   236 	var words =splitup(t); 	// each word ends with the split character (if any)
       
   237 	if (words.length&lt;2)  {
       
   238 		crush(cur, l);
       
   239 		return;
       
   240 	}
       
   241 	cur.removeChild(cur.firstChild)
       
   242 	var tspan = document.createElementNS(svgns,'tspan');
       
   243 	cur.appendChild(tspan);
       
   244 	var txt = document.createTextNode(words[0]);
       
   245 	tspan.appendChild(txt);
       
   246 	tspan.setAttribute('x',cur.getAttribute('x'));	// Opera needs this
       
   247 	var nlines=1;
       
   248 	var zero =0;
       
   249 	for (i =1;i&lt; words.length;i++) {
       
   250 		var was = txt.data;
       
   251 		txt.data+=words[i];
       
   252 		if (tspan.getComputedTextLength() -zero &gt; l) { // if the line with this word at the end is bigger than the available space...
       
   253 			txt.data=was.replace(/ +$/,"").replace(/\xad(.)/,"$1").replace(/\u200b/g,""); // remove zero-width spaces and trailing spaces and soft hyphens
       
   254 			// if it's still too big then decrease the letter spacing
       
   255 			if( tspan.getComputedTextLength() &gt; l ) 	crush(tspan,l);
       
   256 			tspan = document.createElementNS(svgns,'tspan');
       
   257 			tspan.setAttribute('dy',"1em");
       
   258 			nlines++;
       
   259 			tspan.setAttribute('x',cur.getAttribute('x'));
       
   260 			cur.appendChild(tspan);
       
   261 			txt = document.createTextNode('');
       
   262 			tspan.appendChild(txt);
       
   263 			zero = tspan.getComputedTextLength();
       
   264 			txt.data+=words[i];
       
   265 		}
       
   266 	}
       
   267 	txt.data=txt.data.replace(/ +$/,"").replace(/\xad(.)/,"$1").replace(/\u200b/g,""); // remove zero-width spaces and trailing spaces and soft hyphens
       
   268 	var align =cur.getAttribute('dominant-baseline');
       
   269 	if(align=='' || align=='ideographic') {
       
   270 		cur.setAttribute('dy',(1-nlines)+"em");
       
   271 	 } else{
       
   272 	 	 if(align=='mathematical')
       
   273 			cur.setAttribute('dy',((1-nlines ) / 2 )+"em");
       
   274 		else if(align=='hanging') 
       
   275 			cur.setAttribute('dy',"0em")
       
   276 	 }
       
   277 }
       
   278    </script>
       
   279  <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer-group">
       
   280   <rect width="833.2500000000001" height="387.15000000000003" x="-18.75" y="3.2" rx="4.65" fill="rgb(143,188,143)"/>
       
   281  </g>
       
   282  <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer-group">
       
   283   <rect width="824.5000000000001" height="210.06" x="-15" y="139.46" rx="4.65" fill="rgb(93,155,205)"/>
       
   284   <text text-anchor="middle" dominant-baseline="mathematical" class="lgrp" transform="rotate(-90)" y="-7.5" width="210.06" x="-244.49">Core OS</text>
       
   285  </g>
       
   286  <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 8.2)" id="ApplicationServices">
       
   287   <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="70.23"/>
       
   288   <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="70.23" x="-35.415">Application Services</text>
       
   289   <g class="layer-detail" transform="translate(273.2000000000001 6.4)">
       
   290    <rect x="-260.4000000000001" class="layer" y="-6.4" width="791.7000000000002" height="70.23"/>
       
   291    <g/>
       
   292   </g>
       
   293  </g>
       
   294  <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 81.63000000000001)" id="GenericMiddleware">
       
   295   <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="54.63000000000001"/>
       
   296   <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="54.63000000000001" x="-27.615000000000006">Generic Middleware</text>
       
   297   <g class="layer-detail" transform="translate(71.90000000000008 6.4)">
       
   298    <rect x="-59.10000000000008" class="layer" y="-6.4" width="791.7000000000002" height="54.63000000000001"/>
       
   299    <g/>
       
   300   </g>
       
   301  </g>
       
   302  <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 144.46)" id="OSServices">
       
   303   <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="126.63000000000001"/>
       
   304   <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="126.63000000000001" x="-63.615">OS Services</text>
       
   305   <g class="layer-detail" transform="translate(12.8 6.4)">
       
   306    <rect x="0" class="layer" y="-6.4" width="791.7000000000002" height="126.63000000000001"/>
       
   307    <g/>
       
   308   </g>
       
   309  </g>
       
   310  <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 274.29)" id="KernelServices">
       
   311   <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="70.23"/>
       
   312   <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="70.23" x="-35.415">Kernel Services</text>
       
   313   <g class="layer-detail" transform="translate(295.8500000000001 6.4)">
       
   314    <rect x="-283.05000000000007" class="layer" y="-6.4" width="791.7000000000002" height="70.23"/>
       
   315    <g/>
       
   316   </g>
       
   317  </g>
       
   318  <g xmlns="http://www.w3.org/2000/svg" xmlns:m="http://exslt.org/math" class="layer" transform="translate(0 352.72)" id="Hardware">
       
   319   <rect x="0.3" y="0.3" width="9.3" rx="4.65" ry="4.65" class="layer" height="32.63"/>
       
   320   <text text-anchor="middle" dominant-baseline="mathematical" class="layer" transform="rotate(-90)" y="4.95" width="32.63" x="-16.615000000000002">Hardware</text>
       
   321   <g class="layer-detail" transform="translate(286.1000000000001 6.4)">
       
   322    <rect x="-273.30000000000007" class="layer" y="-6.4" width="791.7000000000002" height="32.63"/>
       
   323    <g/>
       
   324   </g>
       
   325  </g>
       
   326  <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)">
       
   327   <text text-anchor="middle" class="title" y="2.1165000000000003" x="72.21603">Symbian OS vFuture<tspan dy="1em" x="72.21603">System Model</tspan>
       
   328    <tspan font-style="italic" dy="1em" id="release-version" x="72.21603">Build M04710a</tspan>
       
   329   </text>
       
   330  </g>
       
   331  <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)">
       
   332   <g id="legend-owner">
       
   333    <rect id="legend-ctrl" rx="5" ry="5" height="9.233" x="0" y="0" visibility="hidden" pointer-events="all" width="37"/>
       
   334   </g>
       
   335  </g>
       
   336 </s:svg>