## ScrollButtonScaler -- this is the module that enables support
## for middle button scrollwheels to zoom in and out of the display
## window. Scrolling forward zooms in, while scrolling backwards zooms
## out.
sub
new {
my
(
$type
,
$win
,
$dist
,
$zoom
) =
@_
;
my
$this
=
$type
->SUPER::new(
$win
);
$this
->{DistRef} =
$dist
;
$this
->{Zoom} =
$zoom
;
# multiplier for zooming
# >1 zooms out, <1 zooms in
return
$this
;
}
sub
ButtonRelease{
my
(
$this
,
$x
,
$y
) =
@_
;
"ButtonRelease @_\n"
if
$PDL::Graphics::TriD::verbose
;
${
$this
->{DistRef}} *=
$this
->{Zoom};
1;
}
sub
ButtonPress{
my
(
$this
,
$x
,
$y
) =
@_
;
"ButtonPress @_ "
,
ref
(
$this
->{Win}),
"\n"
if
$PDL::Graphics::TriD::verbose
;
}
1;