Tk Source Code

View Ticket
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to
or submit via the online form by Sep 9.
Ticket UUID: 886240
Title: TIP 168: Cubic Bezier curves on the canvas
Type: Support Version: None
Submitter: lars_h Created on: 2004-01-28 14:47:57
Subsystem: None Assigned To: dkf
Priority: 8 Severity:
Status: Closed Last Modified: 2009-07-29 20:06:31
Resolution: Closed By: dkf
    Closed on: 2004-08-19 14:45:17
This file contains changes that implement a "raw" 
-smooth method (as described in TIP 168) for canvas
items. It also does some cleanup of terminology in
comments to specific functions.

Affected files are tkTrig.c, tkCanvUtil.c,
and tkInt.decls.
User Comments: dkf added on 2009-07-29 20:06:31:

IP - Comment Removed:

dkf added on 2009-01-11 05:03:42:

data_type - 212997

dkf added on 2004-08-19 21:45:17:
Logged In: YES 

OK, checked in.

(Fixing up the documentation and the handling of the
smoothing method names was... interesting...)

lars_h added on 2004-08-14 17:46:25:
Logged In: YES 

It lacks the detail of changing the name (as reported by
[$canvas itemcget $item -smooth]) of the traditional
smoothing method from "bezier" to "true". I wasn't sure how
to implement that. One way is to add a special case in
TkSmoothPrintProc and still call it "bezier" in the
declaration. Another way is to change the declared name to
"true" and add a special case for the name "bezier" to

Related is the matter of how the "raw" method should be
registered. The patch _doesn't_ register it, but implements
it as a special case in TkSmoothParseProc because I couldn't
spot a point where one could make such a registration. There
is a comment about this in the patch (last block).

IMVHO the least confusing approach is to have a bunch of
special cases in TkSmoothParseProc, even though that would
be somewhat inelegant.

dkf added on 2004-08-13 19:10:32:
Logged In: YES 

Is this a *complete* implementation of the TIP?

lars_h added on 2004-01-28 21:47:58:

File Added - 74995: rawCurve.patch