Version 15 of tkpath

Updated 2009-01-16 12:57:41 by wdb

SVG-like rendering for the canvas

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.

Information

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

The author has announced version 0.2 of this package on 16 July 2006. The new version 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. Here is the announcement (google groups)

   http://groups.google.com/group/comp.lang.tcl/browse_frm/thread/f347bb4caeb2719/4421191146a47aad

by Roy Terry 3Sep06


Sample of Antialias in action on an analog clock tkpath - clock


Author just announced tkpath 0.2.2, adding a ptext text item which supports the same drawing model as the other tkpath items.


In January, 2008, developer announced 0.2.8, which is a Tk 8.5 only release (no backward compatibility).


ANNOUNCE: tkpath 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 (http://www.w3.org/TR/SVG11/ ).

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 http://tclbitprint.sourceforge.net/tkpath/README.txt which is very sparse.

Perhaps the easists way to describe it is to look at the screen shots at http://tclbitprint.sourceforge.net/ , 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 (http://sourceforge.net/cvs/?group_id=84344 ) 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])


Developer announced bug fix 0.3.1. In the thread on comp.lang.tcl, there have been some remarks about some issues - see [L1 ] for details.