Necesito una mano con el algoritmo para dibujar la linea bressenham en MFC para todos los casos ya que hasta ahora tengo el algoritmo para pendientes entre 0 y 1
necesito casos para pendientes entre 1 e infinito y menores a cero
void CLinea::DibujarBressenham(CClientDC *dc)
{
int dx, dy,dy2,dxy2,dyx2,x,y,p,endx,incy;
   dx=puntofinal.getx()-puntoinicial.getx(); // diferencial de x
   dy=puntofinal.gety()-puntoinicial.gety(); // diferencial de y
   dy2=2*dy;//cambio de float a int
   dyx2=2*(dy-dx); 
   p=dy2-dx;
   if(puntoinicial.getx()<puntofinal.getx())
   {
      x=puntoinicial.getx();
      y=puntoinicial.gety();
      endx=puntofinal.getx();
   }
   else
   {
      x=puntofinal.getx();
      y=puntofinal.gety();
      endx=puntoinicial.getx();
   }
if(puntoinicial.gety()<puntofinal.gety())
   {
      incy=1;
      y+=incy;
   }
      else
   {
      incy=-1;      
   }
   dc->SetPixel(x,y,RGB(0,0,0));
   while(x<=endx)
   {
      x=x+1;      
      if(p<0)
      {
         p+=dy2;
      }
      else
      {
         p+=dyx2;
         y++;         
      }
      if(dy<0)
      {
         y--;
      }
dc->SetPixel(x,y,RGB(0,0,0));
   }
}