mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2024-12-29 09:22:22 -05:00
Add a few mouse tool examples.
This commit is contained in:
parent
cac4bea955
commit
0cefc146bb
4 changed files with 208 additions and 0 deletions
42
examples/Tools/Circles.html
Normal file
42
examples/Tools/Circles.html
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<title>Example</title>
|
||||||
|
<script type="text/javascript" src="../../src/Bootstrap.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Item.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Point.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Rectangle.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Size.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Segment.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Path.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Doc.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolEvent.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolHandler.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Tool.js"></script>
|
||||||
|
<script>
|
||||||
|
window.onload = function() {
|
||||||
|
var canvas = document.getElementById('canvas');
|
||||||
|
var doc = new Doc(canvas);
|
||||||
|
|
||||||
|
var tool = new Tool({
|
||||||
|
onMouseDrag: function(event) {
|
||||||
|
if(event.getCount() != 1)
|
||||||
|
doc.children.pop();
|
||||||
|
var distance = event.getDownPoint().subtract(event.getPoint()).getLength();
|
||||||
|
var path = new Path.Circle(event.getDownPoint(), distance);
|
||||||
|
path.strokeColor = 'black';
|
||||||
|
path.fillColor = 'white';
|
||||||
|
doc.children.push(path);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
tool.setDocument(doc);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<canvas id='canvas' width=1024 height=768></canvas>
|
||||||
|
</body>
|
43
examples/Tools/Clouds.html
Normal file
43
examples/Tools/Clouds.html
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<title>Example</title>
|
||||||
|
<script type="text/javascript" src="../../src/Bootstrap.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Item.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Point.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Rectangle.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Size.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Segment.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Path.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Doc.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolEvent.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolHandler.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Tool.js"></script>
|
||||||
|
<script>
|
||||||
|
window.onload = function() {
|
||||||
|
var canvas = document.getElementById('canvas');
|
||||||
|
var doc = new Doc(canvas);
|
||||||
|
var path;
|
||||||
|
var tool = new Tool({
|
||||||
|
onMouseDown: function(event) {
|
||||||
|
path = new Path();
|
||||||
|
path.strokeColor = 'black';
|
||||||
|
path.add(event.getPoint());
|
||||||
|
doc.children.push(path);
|
||||||
|
},
|
||||||
|
onMouseDrag: function(event) {
|
||||||
|
path.arcTo(event.getPoint(), true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
tool.setDocument(doc);
|
||||||
|
tool.setMinDistance(30);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<canvas id='canvas' width=1024 height=768></canvas>
|
||||||
|
</body>
|
63
examples/Tools/MultiLines.html
Normal file
63
examples/Tools/MultiLines.html
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<title>Example</title>
|
||||||
|
<script type="text/javascript" src="../../src/Bootstrap.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Item.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Point.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Rectangle.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Size.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Segment.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Path.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Doc.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolEvent.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolHandler.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Tool.js"></script>
|
||||||
|
<script>
|
||||||
|
window.onload = function() {
|
||||||
|
var canvas = document.getElementById('canvas');
|
||||||
|
var doc = new Doc(canvas);
|
||||||
|
|
||||||
|
var values = {
|
||||||
|
lines: 5,
|
||||||
|
size: 40,
|
||||||
|
smooth: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var paths;
|
||||||
|
var tool = new Tool({
|
||||||
|
onMouseDown: function(event) {
|
||||||
|
paths = [];
|
||||||
|
for (var i = 0; i < values.lines; i++) {
|
||||||
|
var path = new Path();
|
||||||
|
path.strokeColor = '#000000';
|
||||||
|
doc.children.push(path);
|
||||||
|
paths.push(path);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onMouseDrag: function(event) {
|
||||||
|
var offset = event.getDelta();
|
||||||
|
offset.setAngle(offset.getAngle() + 90);
|
||||||
|
var lineSize = values.size / values.lines;
|
||||||
|
for (var i = 0; i < values.lines; i++) {
|
||||||
|
var path = paths[values.lines - 1 - i];
|
||||||
|
offset.setLength(lineSize * i + lineSize / 2);
|
||||||
|
path.add(event.getMiddlePoint().add(offset));
|
||||||
|
//path.insert(0, event.getMiddlePoint().subtract(offset));
|
||||||
|
path.smooth();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
tool.setDocument(doc);
|
||||||
|
tool.setFixedDistance(30);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<canvas id='canvas' width=1024 height=768></canvas>
|
||||||
|
</body>
|
60
examples/Tools/Wave.html
Normal file
60
examples/Tools/Wave.html
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<title>Example</title>
|
||||||
|
<script type="text/javascript" src="../../src/Bootstrap.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Item.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Point.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Rectangle.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Size.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Segment.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/PathItem.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Path.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Doc.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolEvent.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/ToolHandler.js"></script>
|
||||||
|
<script type="text/javascript" src="../../src/Tool.js"></script>
|
||||||
|
<script>
|
||||||
|
window.onload = function() {
|
||||||
|
var canvas = document.getElementById('canvas');
|
||||||
|
var doc = new Doc(canvas);
|
||||||
|
|
||||||
|
var values = {
|
||||||
|
curviness: 0.5,
|
||||||
|
distance: 10,
|
||||||
|
offset: 10,
|
||||||
|
mouseOffset: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var path;
|
||||||
|
var mul = 1;
|
||||||
|
var tool = new Tool({
|
||||||
|
onMouseDown: function(event) {
|
||||||
|
path = new Path();
|
||||||
|
path.strokeColor = 'black';
|
||||||
|
doc.children.push(path);
|
||||||
|
},
|
||||||
|
|
||||||
|
onMouseDrag: function(event) {
|
||||||
|
var step = event.getDelta().rotate(90 * mul);
|
||||||
|
|
||||||
|
if (!values.mouseOffset)
|
||||||
|
step.setLength(values.offset);
|
||||||
|
var segment = new Segment(event.getPoint().add(step));
|
||||||
|
segment.handleIn = event.getDelta().multiply(-values.curviness);
|
||||||
|
segment.handleOut = event.getDelta().multiply(values.curviness);
|
||||||
|
path.add(segment);
|
||||||
|
mul *= -1;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
tool.setDocument(doc);
|
||||||
|
tool.setFixedDistance(10);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<canvas id='canvas' width=1024 height=768></canvas>
|
||||||
|
</body>
|
Loading…
Reference in a new issue