// funções declaradas de acordo com a ordem decrescente
function desenhaQuadrado(x, y, tamanho, cor) {
pincel.fillStyle = cor;
pincel.fillRect(x, y, tamanho, tamanho)
pincel.fill();
}
function desenhaPaletaDeCores() {
desenhaQuadrado(xVermelho, yQuadrados, tamanhoQuadrados, 'red');
desenhaQuadrado(xVerde, yQuadrados, tamanhoQuadrados, 'green');
desenhaQuadrado(xAzul, yQuadrados, tamanhoQuadrados, 'blue');
}
function desenhaCirculo(x, y, raio, cor) {
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * 3.14);
pincel.fill();
}
function habilitaDesenhar(evento) {
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
console.log(x, y);
// se caso o click encontra-se em uma determinada área estipulada pelas condições seguintes, entao se altera o valor de uma variável
if ((x > 0)
&& (x < 50)
&& (y > 0)
&& (y < 50)) {
corAtual = 'red'
}
if ((x > 50)
&& (x < 100)
&& (y > 0)
&& (y < 50)) {
corAtual = 'green'
}
if ((x > 100)
&& (x < 150)
&& (y > 0)
&& (y < 50)) {
corAtual = 'blue'
}
// altera a variável usada pelo bloco da função, a qual a sua condição é um valor boolean
desenha = true;
}
function desabilitaDesenhar() {
desenha = false;
}
function lidaComMovimentoDoMouse(evento) {
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
console.log(x, y);
// a condição aninhada abaixo, depende do valor dos eixo, para garantir que em uma determinada área nao se execute o conteúdo do seu bloco
if (desenha) {
if ((x > 3 * tamanhoQuadrados) && (y > tamanhoQuadrados - 50)
|| (x > tamanhoQuadrados - 50) && (y > tamanhoQuadrados)) {
desenhaCirculo(x, y, 2, corAtual);
}
}
}
// variáveis declaradas de acordo com a ordem decrescente de chamada
var yQuadrados = 0;
var xVermelho = 0;
var xVerde = 50;
var xAzul = 100;
var tamanhoQuadrados = 50;
var desenha = false;
var corAtual = '';
// chamadas de funções e eventos na ordem decrescente
desenhaPaletaDeCores(); // mostra os quadrados de seleção de cores, chamando com parenteses para executar a função
tela.onmousedown = habilitaDesenhar;
tela.onmouseup = desabilitaDesenhar;
tela.onmousemove = lidaComMovimentoDoMouse;