
TODO + BUGS and undecided for tkpath
------------------------------------

 o The 'delete itemOrTag' may match items of any combination and therefore
   deleteing a group may delete items already in the list which may crash.

 o Scaling rotated arcs. Much math! Simplified.
    Test case:
    pack [tkp::canvas .c -width 600 -height 400]
    set p "M 100 100 a 100 25 60 1 0 50 -25"
    set id [.c create path $p]
    set id [.c create path $p -stroke red -matrix {{2 0} {0 1} {0 0}}]
    set id [.c create path $p -stroke blue]
    .c scale $id 0 0 2 1

 o Optimize segmentation computations used for hittesting in the 'Point'
   functions.

 o Perhaps an OpenGL renderer.

 o Perhaps lightweight items with no own style options but only a reference
   to a styleName to save a lot of memory. See TreeCtrl.

 o I have paid no attention to if strokes are transformed or not. Sort out!
   CG + cairo: strokes are scaled exactly.

 o Perhaps it would be useful to allow multiple objects on a single item
   by supplying many coordinates for pline, prect, circle, and ellipse?

 o I would like to move the TkPathInit/TkPathFree to the canvas
   Display function instead of having it in the items Display function.
   This is currently not possible due to the X11 emulation code
   used by the old items. This would save a lot of cpu, on aqua 
   in particular.

 o Try to get rid of the Tk_Uid.   

 o Perhaps have the Tk_PathItem's x1, y1, ... as doubles.
   That would make translations and scaling easier since we don't have
   to bother about roundoffs. Separate flag for hidden?

 o What to do with the -state option for the new items?

 o Perhaps it would be useful to have the precedence order between
   item options and style options configurable.

 o Maybe there should be a group item also for tkp::surface?

 o Would it be useful to be able to set the viewport and coordinate
   system for the canvas, like SVG does? Note that this is possible
   using the root items -matrix option.

 o gdi+ seems unable to produce antialiasing effects on a surface but 
   there seems to be no gdi+ specific way of drawing in memory bitmaps 
   but had to call CreateDIBSection() which is a Win32 GDI API.

 o All postscript is missing.

 o Need to sort out how the tags "all" and "root" (0) shall interact.

 o It could be useful to have a 'style reset' command that sets all options
   to their defaults and clears the mask.

 o Write all test code.

 o Add clipping. Use an extra item option '-clipto idOrTags' where the joint
   set of all idOrTags form the clipping region. It should be possible to use
   items not on the display, and perhaps the -state option can be used to hide items.



