Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //------------------------------------------------------------------------------
- void bresline0(int xa,int ya,int xb,int yb)
- {
- int dx,dy,e,ekt,et,c,x,y;
- dx=xb-xa;
- dy=yb-ya;
- ekt=dy+dy;
- e=ekt-dx;
- et=e-dx;
- c=getcolor();
- for(x=xa,y=ya; x<=xb; x++)
- {
- putpixel(x,y,c);
- if(e<0)e+=ekt;
- else
- {
- y++;
- e+=et;
- }
- }
- }
- //------------------------------------------------------------------------------
- void bresline1(int xa,int ya,int xb,int yb)
- {
- int dx,dy,e,ekt,et,c,x,y;
- dx=xb-xa;
- dy=yb-ya;
- ekt=dx+dx;
- e=ekt-dy;
- et=e-dy;
- c=getcolor();
- for(y=ya,x=xa; y<=yb; y++)
- {
- putpixel(x,y,c);
- if(e<0)e+=ekt;
- else
- {
- x++;
- e+=et;
- }
- }
- }
- //------------------------------------------------------------------------------
- void bresline2(int xa,int ya,int xb,int yb)
- {
- int dx,dy,e,ekg,eg,c,x,y;
- dx=xb-xa;
- dy=-(yb-ya);
- ekg=dy+dy;
- e=ekg-dx;
- eg=e-dx;
- c=getcolor();
- for(x=xa,y=ya; x<=xb; x++)
- {
- putpixel(x,y,c);
- if(e<0)e+=ekg;
- else
- {
- y--;
- e+=eg;
- }
- }
- }
- //------------------------------------------------------------------------------
- void bresline3(int xa,int ya,int xb,int yb)
- {
- int dx,dy,e,ekt,et,c,x,y;
- dx=xb-xa;
- dy=-(yb-ya);
- ekt=dx+dx;
- e=ekt-dy;
- et=e-dy;
- c=getcolor();
- for(y=ya,x=xa; y>=yb; y--)
- {
- putpixel(x,y,c);
- if(e<0)e+=ekt;
- else
- {
- x++;
- e+=et;
- }
- }
- }
- void bresline(int xa,int ya,int xb,int yb)
- {
- int i,c;
- float m;
- if(xa>xb)
- {
- hv(&xa,&xb);
- hv(&ya,&yb);
- }
- c=getcolor();
- if(xa==xb) for(i=ya; i<=yb; i++) putpixel(xa,i,c);
- if(ya==yb) for(i=xa; i<=xb; i++) putpixel(i,ya,c);
- else
- {
- m =(float)(yb-ya)/(float)(xb-xa);
- if((m>0)&&(m<1))bresline0(xa,ya,xb,yb);
- if(m>=1) bresline1(xa,ya,xb,yb);
- if(m<=-1) bresline3(xa,ya,xb,yb);
- if((m<0)&&(m>-1))bresline2(xa,ya,xb,yb);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement