- NAME
- SYNOPSIS
- DESCRIPTION
- FUNCTIONS

- Populate
- MainLoop
- GLinit
- refresh
- AUTOLOAD
- buttonmotion

- Author

# NAME

PDL::Graphics::TriD::Tk - A Tk widget interface to the PDL::Graphics::TriD.

# SYNOPSIS

     #
     # Opens a Tk window with an embedded TriD window - that's all
     # see Demos/TkTriD_demo.pm for a better example
     #
     use PDL;
     use PDL::Graphics::TriD;
     use PDL::Graphics::TriD::GL;
     use Tk;
     use PDL::Graphics::TriD::Tk;

     my $MW = MainWindow->new();
     my $TriDW = $MW->Tk( )->pack(-expand=>1, -fill=>'both');
     $TriDW->MainLoop;

# DESCRIPTION

The widget is composed of a Frame and the Display device of the TriD output. It inherits all of the attributes of a Tk Frame. All of the events associated with this window are handled through Tk with the exception of the <expose> event which must be handled by TriD because the Frame is never exposed. Default Mouse bindings, defined for button1 and button3, control TriD object orientation and size respectively.

# FUNCTIONS

## Populate

Used for widget initialization by Tk, this function should never be called directly

## MainLoop

Should be used in place of the Tk MainLoop. Handles all of the Tk callbacks and calls the appropriate TriD display functions.

## GLinit

GLinit is called internally by a Configure callback in Populate. This insures that the required Tk::Frame is initialized before the TriD::GL window that will go inside.

## refresh

`refresh()` causes a display event to be put at the top of the TriD work que. This should be called at the end of each user defined TriD::Tk callback.

## AUTOLOAD

Trys to find a subroutine in PDL::Graphics::TriD when it is not found in this package.

## buttonmotion

Default bindings for mousemotion with buttons 1 and 3

# Author

James P. Edwards, Instituto Nacional de Meteorologia Brasil

jedwards@inmet.gov.br