Bom pessoal, fiz de uma outra forma e gostaria de saber sé posso considerar como correto?
<canvas width = "600" height="400"></canvas>
<script>
var tela = document.querySelector("canvas");
var pincel = tela.getContext ("2d");
pincel.fillStyle = "grey";
pincel.fillRect (0,0,600,400);
var cores = ["blue", "red", "green"];
var indicaCorAtual = 0;
var raio = 10
function desenhaCirculo(evento){
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
console.log(x + " , " + y);
if(evento.shiftKey){
raio = raio + 10;
}
if(evento.altKey){
raio = raio -5
}
if(raio == 40){
alert ("Seu Raio ultrapassou o limite")
} else {
if(raio > 40) {
raio = 10
}
}
pincel.fillStyle = cores[indicaCorAtual];
pincel.beginPath();
pincel.arc(x,y,raio,0,2*3.14);
pincel.fill();
}
tela.onclick = desenhaCirculo;
function mudaCor(evento){
indicaCorAtual++;
if(indicaCorAtual >= cores.length){
indicaCorAtual = 0;
}
return false;
}
tela.oncontextmenu = mudaCor;
</script>