Version 21 of tkpath

Updated 2013-04-08 16:04:44 by pooryorick

Summary

SVG-like rendering for the canvas

Attributes

Name
tkpath
Author
Mats Bengtsson
Homepage
http://sourceforge.net/projects/tclbitprint
License
BSD
Documentation
tkpath-0.1
Categories
GUIs
Link
http://sourceforge.net/projects/tclbitprint
Link
http://www.w3.org/TR/SVG11/
Link
http://www.visit.se/~matben/
Link
http://cairographics.org/

Description

Tkpath implements path drawing modelled after SVG. It is very flexible and reproduces all standard drawing canvas items. Features include: opacity, antialiasing, gradient fills, affine transformations, and fill rules. Backends include: CoreGraphics on MacOSX, GDI on Win32, GDI+ on WinXP, Cairo on X11, and Tk drawing as a fallback. Not all backends support all features.

Releases

0.2
Roy Terry: Released on 2006-07-16. Includes numerous more specialized canvas items sharing the visual traits of the original "path" item and also includes radial patterned gradients. No new release files are available at this time but cvs holds pre-built binaries. See Announce, Tkpath 0.2 , 2006-07-16
0.2.2
adds a ptext text item which supports the same drawing model as the other tkpath items.
0.2.8
announed in 2008-01, is a Tk 8.5 only release (no backward compatibility).
0.3.0
see the section below
0.3.1
a response to the issues discussed in New Canvas, tkpath 0.3.0 release , 2008-07-17

Release: 0.3.0

Tkpath 0.3.0 provides a new canvas widget that is supposed to be 100% compatible with tk::canvas. My major motivation for creating this package was to make something that maps well with SVG graphics.

Tkpath adds mainly two things:

  1. A number of new item types with options that map easily to SVG objects.
  2. A display tree hierarchy with some fancy option inheritance.

The new items are:

  • circle
  • ellipse
  • group
  • path
  • pimage
  • pline
  • polyline
  • ppolygon
  • prect
  • ptext

Most of them can be configured using styles. Instead of setting similar options for each of them, it is possible to create a style, and then use this style for each similar item. When a style is configured, each item using it will be redisplayed.

Using the group item you create a "directory" in the item hierarchy which acts similar to a frame in the widget hierarchy except that options set to the group may be inherited by child items.

The only documentation currently is README.txt , which is very sparse.

Perhaps the easists way to describe it is to look at these screen shots . Look at the tkpath links.

Note that previous tkpath releases used the tk::canvas item type plugin model for the new item types. This is no longer possible.

Download: just do a cvs checkout and build yourself, or just use the pre-built binaries found in the cvs tree. The only non-standard dependency is on cairo-graphics which is getting common in later linux distros.

If anyone want to help then focus on documentation, test code, and bug patches.

Enjoy, Mats ([email protected])

Examples

tkpath - clock
illustraties antialias functionality on an analog clock

Discussion

2012-06-05 yyamasak: I tried 0.3.1 using an analog clock sample (tkpath - clock). I had to redraw clock hands explicitly by calling "event generate .uhr <Configure>". It seems "coord" canvas subcommand does not perform redrawing.