<meta charset="utf-8">
<canvas width="600" height="400"></canvas>
<script type="text/javascript">
var x;
var y;
function desenhaQuadrado(x,y,tamanho,cor){
pincel.fillStyle = cor;
pincel.fillRect(x,y,tamanho,tamanho);
pincel.fill();
}
function desenhaCirculo(x,y,raio,cor){
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x,y,raio,0,2*Math.PI);
pincel.fill();
}
function desenhaPaleta(){
desenhaQuadrado(xVerde,yQuadrados,tamanhoQuadrados,'lightgreen');
desenhaQuadrado(xAzul,yQuadrados,tamanhoQuadrados,'blue');
desenhaQuadrado(xVermelho,yQuadrados,tamanhoQuadrados,'red');
}
function lidaComMovimentosMouse(evento){
x = evento.pageX - tela.offsetLeft;
y = evento.pageY - tela.offsetTop;
if (desenha) {
desenhaCirculo(x,y,5,corAtual);
}
}
function habilitaDesenhar(){
desenha = true;
}
function desabilitarDesenhar(){
desenha = false;
}
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'gray';
pincel.fillRect(0,0,600,400);
var desenha = false;
var corAtual = 'black';
var xVermelho = 0;
var xVerde = 50;
var xAzul = 100;
var yQuadrados = 0;
var tamanhoQuadrados = 50;
desenhaPaleta();
tela.onmousemove = lidaComMovimentosMouse;
tela.onmousedown = habilitaDesenhar;
tela.onmouseup = desabilitarDesenhar;
function mudarCor(evento){
x = evento.pageX - tela.offsetLeft;
y = evento.pageY - tela.offsetTop;
if ((x > xVermelho - tamanhoQuadrados) && (x < xVermelho + tamanhoQuadrados) && (y > yQuadrados - tamanhoQuadrados) && (y < yQuadrados + tamanhoQuadrados)){
corAtual = 'red';
}
if ((x > xVerde - tamanhoQuadrados) && (x < xVerde + tamanhoQuadrados) && (y > yQuadrados - tamanhoQuadrados) && (y < yQuadrados + tamanhoQuadrados)) {
corAtual = 'lightgreen';
}
if ((x > xAzul - tamanhoQuadrados) && (x < xAzul + tamanhoQuadrados) && (y > yQuadrados - tamanhoQuadrados) && (y < yQuadrados + tamanhoQuadrados)) {
corAtual = 'blue';
}
}
tela.onclick = mudarCor;
</script>