package Pastel
::Geometry
::EllipseIterator
;
@ISA = qw(Pastel::Geometry::PathIteratorI Pastel::Mixin::Mixin);
use Pastel
::Geometry
::PathIteratorI
;
use Pastel
::Mixin
::Mixin
;
bless $self, ref($class) || $class;
croak
"Error: Isufficent argument in Pastel::Geometry::EllipseIterator!\n";
elsif ( ref($args[0]) ne "Pastel::Geometry::Ellipse"){
croak
"First argument of the Pastel::Geometry::EllipseIterator::new\n
has to be a Pastel::Geometry::Ellipse\n";
elsif ( ref($args[1]) ne "Pastel::Geometry::AffineTransform"){
croak
"Second argument of Pastel::Geometry::EllipseIterator::new\n
has to be a Pastel::Geometry::AffineTransform\n";
$self->{x
} = $args[0]->get_x();
$self->{y
} = $args[0]->get_y();
$self->{w
} = $args[0]->get_width();
$self->{h
} = $args[0]->get_height();
$self->{affine
} = $args[1];
if ( $self->{w
} < 0 || $self->{h
} < 0){
#print "winding rule called\n";
return $Pastel::Geometry
::PathIteratorI
::WIND_NON_ZERO
;
return $self->{index} > 5;