item2

contents

 

Introduction - 1

History - 2

Overview - 3

Advanced features - 4

Work in progress - 5

One possibility - 6

Conclusion - 7

 

References

Appendix 1 - blowfish

Appendix 2 - tkspline

Appendix 2 - Tkspline.tcl script

package provide Tkspline 0.4.1
package require critcl

if {![critcl::compiling]} {
   puts stderr "This extension cannot be \
                 compiled without critcl enabled"
   exit 1
}

critcl::tk

set tcl_prefix [file normalize ~/src/tcl]
set tk_prefix  [file normalize ~/src/tk]

critcl::cheaders -I$tk_prefix/generic \
                 -I$tk_prefix \
                 -I$tcl_prefix/generic \
                 -I$tcl_prefix

#
#   platform specific declarations
#
switch $tcl_platform(platform) {
   unix {
        switch $tcl_platform(os) {
            Darwin  {
               set xinclude /usr/X11R6/include
               set xlib /usr/X11R6/lib
            }
            default {
               set xinclude /usr/X11R6/lib
               set xlib $xinclude
            }
        }
        critcl::cheaders -I$xinclude
        critcl::clibraries -L$xlib -lX11
   }
   windows {
        critcl::cheaders -DWIN32 \
                -I$tk_prefix/win -I$tk_prefix/xlib
   }
   default {
        puts stderr "tkspline hasn't been \
                     ported to $tcl_platform(platform)"
        exit 1
   }
}

critcl::ccode {
   #define Tkspline_Init ns_Tkspline_Init
   #include "tkspline.c"
}

critcl::cinit {
   Tk_CreateSmoothMethod(ip,
  &splineSmoothMethod);
}

see also

Critcl Home Page

Tclkit Home Page

Starkit Home Page

Wikit Home Page

Tclers' Wiki

Steve's Website

Jean-Claude's Website

Paper by S. Landers & J.C. Wippler, as presented at Tcl/Tk 2002 conference - see also original PDF.

Papers & Presentations