2021-07-16 16:41:58 +02:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
|
|
|
|
|
|
<html>
|
2021-10-03 02:23:32 +02:00
|
|
|
|
2021-07-16 16:41:58 +02:00
|
|
|
<head>
|
2021-10-03 02:23:32 +02:00
|
|
|
<style>
|
|
|
|
th,
|
|
|
|
td {
|
|
|
|
border: 1px solid black;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
web2d = {
|
|
|
|
peer: {}
|
|
|
|
};
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
web2d.peer =
|
|
|
|
{
|
|
|
|
svg: {}
|
|
|
|
};
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
web2d.peer.utils = {};
|
|
|
|
</script>
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
<script type="text/javascript" src="utils.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
function initialize() {
|
|
|
|
web2d.Toolkit.init();
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var overflowWorkspace = new web2d.Workspace();
|
|
|
|
overflowWorkspace.setSize("100px", "100px");
|
|
|
|
var elipse1 = new web2d.Elipse();
|
|
|
|
elipse1.setSize(200, 200);
|
|
|
|
elipse1.setPosition(0, 0);
|
|
|
|
overflowWorkspace.append(elipse1);
|
|
|
|
overflowWorkspace.addItAsChildTo($('#overflowExample'));
|
2021-07-16 16:41:58 +02:00
|
|
|
|
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var workspacePosition = function () {
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var elipseAttr = { width: 100, height: 100, x: 100, y: 100 };
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var divElem = $('#positionExample');
|
|
|
|
var workPosition = new web2d.Workspace();
|
|
|
|
workPosition.setSize("100px", "100px");
|
|
|
|
elipse = new web2d.Elipse(elipseAttr);
|
|
|
|
workPosition.append(elipse);
|
|
|
|
workPosition.addItAsChildTo(divElem);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var x = 100;
|
|
|
|
var executer = function () {
|
|
|
|
x = (x + 10) % 100;
|
|
|
|
divElem.css('left', x + "px");
|
|
|
|
};
|
|
|
|
//executer.periodical(100);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
|
|
|
};
|
2021-10-03 02:23:32 +02:00
|
|
|
workspacePosition();
|
|
|
|
|
|
|
|
// Draw a reference grid.
|
|
|
|
var container = document.getElementById("sizeExampleContainer");
|
|
|
|
var grid = new Grid(container, 35, 12);
|
|
|
|
grid.setPosition("0px", "0px")
|
|
|
|
grid.render();
|
|
|
|
|
|
|
|
// Define a workspace using pixels and inchs.
|
|
|
|
var workspacePixel = new web2d.Workspace();
|
|
|
|
workspacePixel.setSize("100px", "100px");
|
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setSize(100, 100);
|
|
|
|
elipse.setPosition(100, 100);
|
|
|
|
|
|
|
|
workspacePixel.append(elipse);
|
|
|
|
workspacePixel.addItAsChildTo($('#sizeExamplePixels'));
|
|
|
|
|
|
|
|
var workspaceInchs = new web2d.Workspace();
|
|
|
|
workspaceInchs.setSize("1in", "1in");
|
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setSize(100, 100);
|
|
|
|
elipse.setPosition(100, 100);
|
|
|
|
|
|
|
|
workspaceInchs.append(elipse);
|
|
|
|
workspaceInchs.addItAsChildTo($('#sizeExampleInch'));
|
|
|
|
|
|
|
|
|
|
|
|
var workspaceCoordSizeSample = function () {
|
|
|
|
// Workspace with CoordSize(100,100);
|
|
|
|
var coordSizeSampleBuilder = function (width, height) {
|
|
|
|
var workspace = new web2d.Workspace();
|
|
|
|
workspace.setSize("100px", "100px");
|
|
|
|
workspace.setCoordSize(width, height);
|
|
|
|
|
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(50, 50);
|
|
|
|
workspace.append(elipse);
|
|
|
|
|
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(0, 0);
|
|
|
|
workspace.append(elipse);
|
|
|
|
|
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(0, 100);
|
|
|
|
workspace.append(elipse);
|
|
|
|
|
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(100, 0);
|
|
|
|
workspace.append(elipse);
|
|
|
|
|
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(100, 100);
|
|
|
|
workspace.append(elipse);
|
|
|
|
return workspace;
|
|
|
|
};
|
|
|
|
|
|
|
|
var workspace100x100 = coordSizeSampleBuilder(100, 100);
|
|
|
|
workspace100x100.addItAsChildTo($("#coordsizeExample100x100"));
|
|
|
|
|
|
|
|
var workspace100x200 = coordSizeSampleBuilder(100, 200);
|
|
|
|
workspace100x200.addItAsChildTo($("#coordsizeExample100x200"));
|
|
|
|
|
|
|
|
var workspace200x100 = coordSizeSampleBuilder(200, 100);
|
|
|
|
workspace200x100.addItAsChildTo($("#coordsizeExample200x100"));
|
|
|
|
|
|
|
|
var dynamicWorkspace = coordSizeSampleBuilder(100, 100);
|
|
|
|
dynamicWorkspace.addItAsChildTo($('#coordsizeExampleDynamic'));
|
|
|
|
|
|
|
|
var size = 100;
|
|
|
|
var executer = function () {
|
|
|
|
size = (size + 1) % 100;
|
|
|
|
if (size < 30) {
|
|
|
|
size = 30;
|
|
|
|
}
|
|
|
|
|
|
|
|
dynamicWorkspace.setCoordSize(size, size);
|
|
|
|
};
|
|
|
|
//executer.periodical(100);
|
2021-07-16 16:41:58 +02:00
|
|
|
dynamicWorkspace.setCoordSize(size, size);
|
|
|
|
};
|
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
workspaceCoordSizeSample();
|
2021-07-16 16:41:58 +02:00
|
|
|
|
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var workspaceCoordOriginSample = function () {
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var coordOriginSampleBuilder = function (x, y) {
|
|
|
|
// Workspace with CoordOrigin(100,100);
|
|
|
|
var workspace = new web2d.Workspace();
|
|
|
|
workspace.setSize("100px", "100px");
|
|
|
|
workspace.setCoordSize(100, 100);
|
|
|
|
workspace.setCoordOrigin(x, y);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(0, 0);
|
|
|
|
workspace.append(elipse);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(0, 100);
|
|
|
|
workspace.append(elipse);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(100, 0);
|
|
|
|
workspace.append(elipse);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(100, 100);
|
|
|
|
workspace.append(elipse);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(50, 50);
|
|
|
|
workspace.append(elipse);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
elipse = new web2d.Elipse();
|
|
|
|
elipse.setPosition(100, 100);
|
|
|
|
workspace.append(elipse);
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
return workspace;
|
|
|
|
};
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var workspace0x0 = coordOriginSampleBuilder(0, 0);
|
|
|
|
workspace0x0.addItAsChildTo($("#coordorigin0x0"));
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var workspace0x50 = coordOriginSampleBuilder(0, 50);
|
|
|
|
workspace0x50.addItAsChildTo($("#coordorigin0x50"));
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var workspace50x0 = coordOriginSampleBuilder(50, 0);
|
|
|
|
workspace50x0.addItAsChildTo($("#coordorigin50x0"));
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
// Workspace animation changing the coordsize from (30,30) to (100,100)
|
|
|
|
var dynamicWorkspace = coordOriginSampleBuilder(100, 100);
|
|
|
|
dynamicWorkspace.addItAsChildTo($('#coordoriginExampleDynamic'));
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
var x = 50;
|
|
|
|
var y = 50;
|
|
|
|
executer = function () {
|
|
|
|
x = (x + 1) % 50;
|
|
|
|
y = (y + 1) % 50;
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
dynamicWorkspace.setCoordOrigin(x, y);
|
|
|
|
};
|
|
|
|
//executer.periodical(100);
|
2021-07-16 16:41:58 +02:00
|
|
|
};
|
2021-10-03 02:23:32 +02:00
|
|
|
workspaceCoordOriginSample();
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
}
|
|
|
|
</script>
|
2021-07-16 16:41:58 +02:00
|
|
|
</head>
|
|
|
|
|
|
|
|
<body onload="initialize();">
|
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
<h1>Workspace Render Tests </h1>
|
|
|
|
|
|
|
|
<table>
|
|
|
|
<colgroup style="width:80%;">
|
|
|
|
<col style="width:30%">
|
|
|
|
<col style="width:60%">
|
|
|
|
</colgroup>
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
The Workspace's size defines the visible work area. If an element is outside the workspace, it must not
|
|
|
|
be
|
|
|
|
visible.
|
|
|
|
In this example, The back circle is bigger than the workspace area. A big portion of the circle will not
|
|
|
|
be
|
|
|
|
displayed.
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<div id="overflowExample"></div>
|
|
|
|
</td>
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
<!--**************************************************************************-->
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
Workspace will be added as child of a div element. That's why, Its parent will define this position.
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<div id="positionExample" style="position:relative;left:0;top:0;width:100px"></div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<!--**************************************************************************-->
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
Workspaces size can be defined using standard CSS measures.
|
|
|
|
In this example, the first workspace is defined using pixes and the second one
|
|
|
|
using inchs.
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<div id="sizeExampleContainer" style="position:relative;width:400px;">
|
|
|
|
<div id="sizeExamplePixels" style="float:left;margin:20px"></div>
|
|
|
|
|
|
|
|
<div id="sizeExampleInch" style="float:left;margin:20px"></div>
|
2021-07-16 16:41:58 +02:00
|
|
|
</div>
|
2021-10-03 02:23:32 +02:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<!--**************************************************************************-->
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
Workspace coordsize defines how many units there are along the width of the containing block.
|
|
|
|
In all the examples,the coordsize of the workspaces have been set to (100,100) and the circles have been
|
|
|
|
positioned
|
|
|
|
at (0,0),(0,100),(100,0),(100,100)(50,50).<br />
|
|
|
|
<br />
|
|
|
|
1) Workspace with CoordSize(100,100)<br />
|
|
|
|
2) Workspace with CoordSize(100,200)<br />
|
|
|
|
3) Workspace with CoordSize(200,100)<br />
|
|
|
|
4) Workspace animation changing the coordsize from (30,30) to (100,100)<br />
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<div style="position:relative;width:100%;">
|
|
|
|
<div id="coordsizeExample100x100" style="float:left;margin:20px;">
|
|
|
|
(1)
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="coordsizeExample100x200" style="float:left;margin:20px;">
|
|
|
|
(2)
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="coordsizeExample200x100" style="float:left;margin:20px;">
|
|
|
|
(3)
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="coordsizeExampleDynamic" style="float:left;margin:20px;">
|
|
|
|
(4)
|
|
|
|
</div>
|
2021-07-16 16:41:58 +02:00
|
|
|
</div>
|
2021-10-03 02:23:32 +02:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<!--**************************************************************************-->
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
Workspace coordorigin defines the coordinate at the top left corner of the containing block.
|
|
|
|
In all the examples,the coordsize of the workspaces have been set to (100,100) and the circles have been
|
|
|
|
positioned
|
|
|
|
at (0,0),(0,100),(100,0),(100,100)(50,50). <br />
|
|
|
|
<br />
|
|
|
|
1) Workspace with CoordOrigin(0,0)<br />
|
|
|
|
2) Workspace with CoordOrigin(0,50)<br />
|
|
|
|
3) Workspace with CoordOrigin(50,0)<br />
|
|
|
|
4) Workspace animation changing the coordorigin from (0,0) to (50,50)<br />
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<div style="position:relative;width:100%;">
|
|
|
|
<div id="coordorigin0x0" style="float:left;margin:20px">
|
|
|
|
(1)
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="coordorigin0x50" style="float:left;margin:20px">
|
|
|
|
(2)
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="coordorigin50x0" style="float:left;margin:20px">
|
|
|
|
(3)
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="coordoriginExampleDynamic" style="float:left;margin:20px">
|
|
|
|
(4)
|
|
|
|
</div>
|
2021-07-16 16:41:58 +02:00
|
|
|
</div>
|
2021-10-03 02:23:32 +02:00
|
|
|
</td>
|
|
|
|
</tr>
|
2021-07-16 16:41:58 +02:00
|
|
|
|
2021-10-03 02:23:32 +02:00
|
|
|
</table>
|
2021-07-16 16:41:58 +02:00
|
|
|
</body>
|
2021-10-03 02:23:32 +02:00
|
|
|
|
|
|
|
</html>
|