mirror of
https://github.com/servo/servo
synced 2026-04-29 10:57:43 +02:00
50 lines
1.4 KiB
HTML
50 lines
1.4 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>Canvas drag and drop carrying image as dataURL</title>
|
|
<style type="text/css">
|
|
div[ondragenter]
|
|
{width:105px;
|
|
min-height:105px;
|
|
text-align:center;
|
|
margin-top:20px;
|
|
padding:10px;
|
|
border:solid thin navy;}
|
|
p:first-child
|
|
{padding-left:12px;}
|
|
</style>
|
|
<script type="application/ecmascript">
|
|
function addImage(event)
|
|
{var c = document.createElement('img');
|
|
c.setAttribute('src',event.dataTransfer.getData('text/uri-list'));
|
|
document.querySelector('div').appendChild(c);}
|
|
function start(event)
|
|
{event.dataTransfer.effectAllowed = 'copy';
|
|
event.dataTransfer.setData('text/uri-list', document.querySelector('canvas').toDataURL('image/png'));}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
<canvas width="100" height="100" draggable="true" ondragstart="start(event)">Canvas</canvas>
|
|
</p>
|
|
<p>Drag canvas pattern above to the box below. It should be copied to the box once you drop it there.</p>
|
|
<div
|
|
ondragenter="event.preventDefault()"
|
|
ondragover="return false"
|
|
ondrop="addImage(event)"
|
|
/>
|
|
<script type="application/ecmascript">
|
|
var canvas = document.querySelector('canvas'),
|
|
c = canvas.getContext('2d');
|
|
for(var x = 0; x != 50; x++)
|
|
{c.fillStyle = (x%2 == 0)?'navy':'white';
|
|
c.beginPath();
|
|
c.moveTo(x,x);
|
|
c.lineTo(100-x,x);
|
|
c.lineTo(100-x,100-x);
|
|
c.lineTo(x,100-x);
|
|
c.closePath();
|
|
c.fill();}
|
|
</script>
|
|
</body>
|
|
</html> |