Pad++ Programmer's Guide

INTRODUCTION


Pad++ is a structured graphics widget for Tcl/Tk based on zooming. It adds scale as a first class parameter to all items, as well as mechanisms for navigation through the multi-scale space of the Pad++ widget. It has special mechanisms to maintain efficiency for large numbers of graphical items, and also supports special item types such as HTML and portals.

Pad++ is connected to Tcl, a scripting language that provides a high-level interface to the complex graphics and interactions available. While the scripting language runs slowly, it is used as a glue language for rapidly creating interfaces and putting them together. The actual interaction and rendering is performed by the Pad++ substrate (written in C++). This approach allows people to develop applications for Pad++ at a high level while avoiding the complexities inherent in this type of system. Pad++ also supports Scheme as an alternative to Tcl.

Pad++ provides an alternative to the Canvas widget in Tk. While it does not offer everything that the Canvas does, Pad++ offers several extra features, and is designed with the Canvas spirit in mind, maintaining similar syntax for interacting with it.

Pad++ widgets implement structured, multi-scale graphics. It displays any number of items, which may be things like rectangles, lines, text, and images. Items are manipulated (e.g. moved or re-colored) and commands may be associated with items in much the same way that the Tk bind command allows commands to be bound to widgets. For example, a particular command may be associated with the <Button-1> event so that the command is invoked whenever button 1 is pressed with the mouse cursor over an item. This means that items in a pad can have behaviors defined by the Tcl scripts bound to them.

Note that change bars appear wherever this document differs from the previous version.


Pad++ Programmer's Guide - 20 JUN 1997

Copyright Computer Science Department, The University of New Mexico

Web Accessibility