@wise-community/drawing-tool
Version:
HTML5 Drawing Tool
109 lines (108 loc) • 4.17 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>HTML5 Drawing Tool Demo</title>
<style type="text/css">
body {
font-family: Arial;
}
</style>
</head>
<body>
<div class="container">
<h1>HTML5 Drawing Tool</h1>
<div id="drawing-tool"></div>
<h2>API examples:</h2>
<div>
<button id="set-background">Set background</button>
<input type="text" id="background-src" value="https://ccshutterbugtest.s3.amazonaws.com/7a72684bb7e.png" size="70"></input>
<button id="set-background-top-left">Set background top left</button>
<button id="resize-background">Resize background to canvas</button>
<button id="resize-canvas">Resize cavas to background</button>
<button id="shrink-background">Shrink background to cavas</button>
</div>
<div>
<button id="clear">Clear</button>
<button id="save">Save</button>
<button id="load" disabled>Load</button>
</div>
<div>
<button id="pause-history">Pause history</button>
<button id="restart-history">Restart history</button>
<button id="reset-history">Reset history</button>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.js"></script>
<link type="text/css" rel="stylesheet" href="../drawing-tool.css" />
<script src="../drawing-tool.js"></script>
<script>
var drawingTool = new DrawingTool("#drawing-tool", {
stamps: {
'Molecules': [
'https://interactions-resources.concord.org/stamps/simple-atom.svg',
'https://interactions-resources.concord.org/stamps/diatomic.svg',
'https://interactions-resources.concord.org/stamps/diatomic-red.svg',
'https://interactions-resources.concord.org/stamps/triatomic.svg',
'https://interactions-resources.concord.org/stamps/positive-charge-symbol.svg',
'https://interactions-resources.concord.org/stamps/negative-charge-symbol.svg',
'https://interactions-resources.concord.org/stamps/positive-atom.svg',
'https://interactions-resources.concord.org/stamps/negative-atom.svg',
'https://interactions-resources.concord.org/stamps/slow-particle.svg',
'https://interactions-resources.concord.org/stamps/medium-particle.svg',
'https://interactions-resources.concord.org/stamps/fast-particle.svg',
'https://interactions-resources.concord.org/stamps/low-density-particles.svg'
]
},
parseSVG: true
});
var state = null;
$("#pause-history").on("click", function () {
drawingTool.pauseHistory();
});
$("#unpause-history").on("click", function () {
drawingTool.unpauseHistory();
});
$("#set-background").on("click", function () {
drawingTool.setBackgroundImage($("#background-src").val());
});
$("#set-background-top-left").on("click", function () {
const opts = {
src: $("#background-src").val(),
position: "top-left"
};
drawingTool.setBackgroundImage(opts);
});
$("#resize-background").on("click", function () {
drawingTool.resizeBackgroundToCanvas();
});
$("#resize-canvas").on("click", function () {
drawingTool.resizeCanvasToBackground();
});
$("#shrink-background").on("click", function () {
drawingTool.shrinkBackgroundToCanvas();
});
$("#clear").on("click", function () {
drawingTool.clear(true);
});
$("#save").on("click", function () {
state = drawingTool.save();
$("#load").removeAttr("disabled");
});
$("#load").on("click", function () {
if (state === null) return;
drawingTool.load(state);
});
$("#pause-history").on("click", function () {
drawingTool.pauseHistory();
});
$("#restart-history").on("click", function () {
drawingTool.unpauseHistory();
});
$("#reset-history").on("click", function () {
drawingTool.resetHistory();
});
</script>
</body>
</html>