Version 30 of zinc

Updated 2004-03-13 18:21:32

Zinc is a Tk widget developed with Perl/Tk, Tcl/Tk and Python/Tk bindings. Zinc widgets are very similar to Tk canvases in that they support structured graphics. Graphical items can be manipulated, and bindings can be associated with them to implement interaction behaviors. But unlike the canvas, zinc can structure the items in a hierarchy, and has support for affine 2D transforms. Clipping can be set for sub-trees of the item hierarchy and the item set is quite more powerful, including field-specific items for Air Traffic systems. Zinc is fast enough to allow the implementation of 2k2k radar displays with smooth animations. It is structured enough to allow the implementation of direct manipulation desktop GUIs.

Since the 3.2.2 version, Zinc also offers as a runtime option, support for openGL rendering, giving access to features such as antialiasing, transparency, color gradients and even a new, openGL oriented, item type : triangles. In order to use the openGL features, you need the support of the GLX extension on your X11 server.


 What: Zinc
 Where: http://www.openatc.org/zinc/ 
 Description: Widget with Tcl, Perl, and Python Tk bindings.  Similar to
        canvas, but supports hierarchical structuring and affine 2d transforms.
        Clippings can be set for subtrees. Works with X11 (including MacOS X
        Fink) and Windows.
        Currently at version 3.2.95 .
 Updated: 12/2003
 License: LGPL
 Contact: mailto:lecoanet at cena dot fr 

IDG Has anyone successfully compiled zinc on Windows?

PT 12-Jun-2003: Yes. The current source distribution (Tkzinc-3.2.93) can be built using Visual Studio 6 using the makefile.vc file included in the distribution. It looks very nice indeed.

If you modify the build file a little it seems that it also supports stubs properly - therefore - you guessed it - it can be used in a starkit. I'll upload a starkit containing the demo code and the windows binary to the sdarchive as tkzinc.kit. I'll leave it to someone else to incorporate linux and other binaries.

PLC I'll try to make a starkit available with each release of Tkzinc. It will contain at least a lib for Windows and one for linux i386 with openGL enabled (it will require a correct openGL install). The starkits will be available on the Tkzinc main site while stable releases will be uploaded to the sdarchive: Get http://mini.net/sdarchive/tkzinc.kit

PLC 17-Oct-2003: A new release 3.2.95 is available at the usual place. It features a port to MacOS X under Fink. Now Tkzinc can work on all three main platforms. A starkit for this release is available, it works for Windows and Linux and come with tkimg for convenience (the demos use some png/jpeg images). Just run the starkit to launch the demo.


Zinc is also a metallic chemical element, symbol Zn, that is often found in dry cells used to power small electrical equipment (e.g. torches, alarm clocks, etc.).

CME A bit of history: Zinc stands for Zinc Is Not Canvas. And Zinc is also a colloquial french word for plane, which seemd great when working in a HMI research team for Air Traffic Control.

Zinc was also a '90s era commercial GUI framework that might now be owned by Wind River.

CME That is why now, the real name became TkZinc and it appears as so in the doc.


Damn! Looks very interesting. Given the item hierarchy abilities, does anybody else see this as possibly the basis of a real tk html display widget?

Why does Tcl seem to have caught on so much better in the francophone world? We may have to change its name to Freedom Script.


DKF: There have been suggestions that Tk should use Zinc for a next-generation canvas. However, Zinc is GPL and thus impossible to integrate with the core. Seriously. It can't be done without forcing many commercial users of Tk to drop their use of our software. The GPL fanatics would have us think this this is acceptable natural wastage, but they are WRONG.

CME: There was an error in Zinc description above. TkZinc or Zinc is LGPL. It is by the way already in use for commercial purposes.


Category Package, dependent on Tk - Category Graphics