---
name: "PDL::Graphics::TriD::Tk"
section: "3pm"
platform: "linux"
package: "pdl"
version: "1:2.4.7+dfsg-2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/PDL::Graphics::TriD::Tk"
---

# PDL::Graphics::TriD::Tk(3pm)

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

## 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
