mirror of
https://github.com/servo/servo
synced 2026-04-29 02:47:55 +02:00
50 lines
1.7 KiB
HTML
50 lines
1.7 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>Canvas drag and drop: allowed effects 'copy','move','link'</title>
|
|
<style type="text/css">
|
|
div
|
|
{display:inline-block;
|
|
vertical-align:top;
|
|
background-color:olive;
|
|
color:white;
|
|
padding:20px;
|
|
width:100px;
|
|
height:100px;}
|
|
div:nth-child(2)
|
|
{background-color:green;}
|
|
div:nth-child(3)
|
|
{background-color:teal;}
|
|
</style>
|
|
<script type="application/ecmascript">
|
|
var effects = ['copy','move','link'], i = 0;
|
|
function dropSelection(event)
|
|
{event.target.appendChild(document.createTextNode((event.dataTransfer.dropEffect == effects[i] && event.dataTransfer.effectAllowed == effects[i])?' PASS ':' FAIL '));
|
|
i = (i + 1)%3;}
|
|
function start(event)
|
|
{event.dataTransfer.effectAllowed = effects[i]}
|
|
</script>
|
|
</head>
|
|
<body onload="selectText()">
|
|
<p>
|
|
<canvas width="100" height="100" draggable="true" ondragstart="start(event)" ondragenter="event.preventDefault()" ondragover="return false" ondrop="addImage(event)">Canvas</canvas>
|
|
</p>
|
|
<div ondragenter="event.preventDefault()" ondragover="return false" ondrop="dropSelection(event)"/>
|
|
<div ondragenter="event.preventDefault()" ondragover="return false" ondrop="dropSelection(event)"/>
|
|
<div ondragenter="event.preventDefault()" ondragover="return false" ondrop="dropSelection(event)"/>
|
|
<p>You should be able to drag canvas pattern and drop it onto any of the green boxes.</p>
|
|
<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> |