# ACTIVESTATE TEAPOT-PKG BEGIN TM -*- tcl -*- # -- Tcl Module # @@ Meta Begin # Package diagram 1 # Meta as::build::date 2015-05-26 # Meta as::origin http://sourceforge.net/projects/tcllib # Meta category Documentation toolbox # Meta description Diagram drawing # Meta license BSD # Meta platform tcl # Meta require {Tcl 8.5} # Meta require diagram::basic # Meta require diagram::core # Meta require snit # Meta subject drum box point vector spline arrow image # Meta subject {raster image} {plane geometry} picture drawing text # Meta subject arc line interpolation plotting {2D geometry} circle # Meta subject canvas diamond diagram ellipse move intersection # Meta summary diagram # @@ Meta End # ACTIVESTATE TEAPOT-PKG BEGIN DECLARE package provide diagram 1 # ACTIVESTATE TEAPOT-PKG END DECLARE # ACTIVESTATE TEAPOT-PKG END TM ## -*- tcl -*- ## (C) 2010 Andreas Kupries ## BSD Licensed # # ## ### ##### ######## ############# ###################### # # diagram drawing package. # ## # # ## ### ##### ######## ############# ###################### ## Requisites package require Tcl 8.5 ; # Want the nice things it brings # (dicts, {*}, etc.) package require diagram::core ; # Core drawing management package require diagram::basic ; # Basic shapes. package require snit ; # Object framework. # # ## ### ##### ######## ############# ###################### ## Implementation snit::type ::diagram { # # ## ### ##### ######## ############# ###################### ## Public API :: Instance construction, and method routing constructor {canvas args} { install core using diagram::core ${selfns}::CORE $canvas install basic using diagram::basic ${selfns}::BASIC $core set mybaseline [$core snap] if {![llength $args]} return $core draw {*}$args return } method reset {} { $core drop $core restore $mybaseline return } delegate method * to core # # ## ### ##### ######## ############# ###################### ## Instance data, just two components, component core ; # Fundamental drawing engine and management component basic ; # Fundamental shapes we can draw variable mybaseline ## # # ## ### ##### ######## ############# ###################### } # # ## ### ##### ######## ############# ###################### ## Ready package provide diagram 1