use
'GFX-Tools-Buffer::toolsarray'
;
sub
new {
my
(
$class
,
$ElementClass
) =
@_
;
$self
= SUPER::
$ElementClass
->new;
$self
->{functors} = toolsarray->new;
bless
$self
,
$class
;
}
sub
addFunctor {
my
(
$self
,
$f
) =
@_
;
$self
->{functors}->add(
$f
);
return
len(
$self
->{functors}->len - 1);
}
sub
indexFunctor {
my
(
$self
,
$index
) =
@_
;
return
$self
->{functors}->indexOf(
$index
);
}
sub
executeAllFunctors {
my
(
$self
,
$bitmaparg
) =
@_
;
my
$iter
= toolsarray->new(
$self
->{functors});
while
(
$iter
->hasNext) {
my
$resultbitmap
=
$iter
->
next
->
do
(
$bitmaparg
);
$iter
->current->setResult(
$resultbitmap
);
$bitmaparg
=
$resultbitmap
;
}
return
0;
}
1;