
#include "XORPoly.h"


XORPoly::XORPoly( Poly *a, Poly *b )
{
  Poly();

  this->a = a;
  this->b = b;
}

void XORPoly::getScanline( Scanline *sl, int y )
{
  Scanline sla, slb;

  sl->clear( );

  a->getScanline( &sla, y );
  b->getScanline( &slb, y );

  float x;

  sla.firstPoint();
  slb.firstPoint();

  while( sla.nextPoint( &x ) ) sl->addPoint( x );
  while( slb.nextPoint( &x ) ) sl->addPoint( x );
}

void XORPoly::render( Image *im, int col )
{
  int i, j;

  Scanline sl;

  for( j=0; j<im->h; j++ )
  {
    getScanline( &sl, j );
    im->drawScanline( j, &sl, col );
  }
}




