function drawCircle(rayon,centrex,centrey)
{
for(i=0;i<Math.round(rayon*Math.PI*2);i++)
{
Ox=Math.round(Math.cos(i/rayon)*rayon);
Oy=Math.round(Math.sin(i/rayon)*rayon);
drawPixel(centrex+Ox,centrey+Oy,1,1,this);
}
}
function palletteDessin(id)
{
this.nbdiv=0;
this.drawLine=drawLine;
this.str = "";
this.clearPallette = clearPallette;
this.affiche=affichePallette;
this.color="blue";
this.size="1";
this.drawCircle = drawCircle;
this.setSize=function(taille){
this.size=taille;
}
this.setColor=function(couleur){
this.color=couleur;
}
document.body.innerHTML+="<span id='"+id+"'></span>";
this.divPal = id;
}
function affichePallette()
{
document.getElementById(this.divPal).innerHTML=this.str;
status=this.nbdiv;
}
function clearPallette()
{
this.nbdiv=0;
this.str="";
document.getElementById(this.divPal).innerHTML="";
}

nbdiv=0;
function drawPixel(x,y,width2,height2,obj)
{
str="<div style='position:absolute;background-color:"+obj.color+";overflow:hidden;top:"+y+"px;left:"+x+"px;width:"+width2+"px;height:"+height2+"px;'></div>";
obj.str+=str;
obj.nbdiv++;
}
function drawLine(x1,y1,x2,y2)
{
longX = Math.abs(x2-x1);
longY = Math.abs(y1-y2);
if(longX > longY)
{
segmentX = longX/longY;
truc2=0;
truc = segmentX-parseInt(segmentX);
nbSegX = longX/segmentX;
segmentX = parseInt(segmentX);
if(x1 < x2 && y1 < y2)
{
for(i=0;i<nbSegX;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel((i*segmentX)+x1+truc2,y1+i,parseInt(segmentX)+truc1,1,this);
truc2 += truc1;
}
}
if(x1 > x2 && y1 < y2)
{
for(i=0;i<nbSegX;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel(x1-(i*segmentX)-truc2,y1+i,parseInt(segmentX)+truc1,1,this);
truc2 += truc1;
}
}
if(x1 < x2 && y1 > y2)
{
for(i=0;i<nbSegX;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel((i*segmentX)+x1+truc2,y1-i,parseInt(segmentX)+truc1,1,this);
truc2 += truc1;
}
}
if(x1 > x2 && y1 > y2)
{
for(i=0;i<nbSegX;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel(x1-(i*segmentX)-truc2,y1-i,parseInt(segmentX)+truc1,1,this);
truc2+=truc1;
}
}
}

else
{
segmentY = longY/longX;
truc2=0;
truc=segmentY-parseInt(segmentY);
nbSegY = longY/segmentY;
segmentY = parseInt(segmentY);
if(y1 < y2 && x1 < x2)
{
for(i=0;i<nbSegY;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel(x1+i,(i*segmentY)+y1+truc2,1,parseInt(segmentY)+truc1,this);
truc2 += truc1;
}
}
if(y1 > y2 && x1 < x2)
{
for(i=0;i<nbSegY;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel(x1+i,y1-(i*segmentY)-truc2,1,parseInt(segmentY)+truc1,this);
truc2 += truc1;
}
}
if(y1 < y2 && x1 > x2)
{
for(i=0;i<nbSegY;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel(x1-i,(i*segmentY)+y1+truc2,1,parseInt(segmentY)+truc1,this);
truc2 += truc1;
}
}
if(y1 > y2 && x1 > x2)
{
for(i=0;i<nbSegY;i++)
{
truc1 = parseInt(truc*i-truc2);
drawPixel(x1-i,y1-(i*segmentY)-truc2,1,parseInt(segmentY)+truc1,this);
truc2 += truc1;
}
}
}
if(y1==y2 && x1 < x2)drawPixel(x1,y1,longX,1,this);
if(y1==y2 && x1 > x2)drawPixel(x2,y1,longX,1,this);
longY = Math.abs(y1-y2);
if(x1==x2 && y1 < y2)drawPixel(x1,y1,1,longY,this);
if(x1==x2 && y1 > y2)drawPixel(x1,y2,1,longY,this);
}
