{"id":24315473,"url":"https://github.com/asb-capfan/tkzinc","last_synced_at":"2025-09-26T22:30:48.384Z","repository":{"id":40590327,"uuid":"315746247","full_name":"asb-capfan/TkZinc","owner":"asb-capfan","description":"TkZinc is a canvas like widget extension to Tcl/Tk","archived":false,"fork":false,"pushed_at":"2023-11-27T21:00:20.000Z","size":1406,"stargazers_count":5,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-11-27T22:23:58.746Z","etag":null,"topics":["perl","python","tcl","tk"],"latest_commit_sha":null,"homepage":"https://metacpan.org/pod/Tk::Zinc","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asb-capfan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-11-24T20:35:31.000Z","updated_at":"2023-11-27T22:24:05.777Z","dependencies_parsed_at":"2023-11-27T22:24:04.959Z","dependency_job_id":"11659cb9-f9b0-4900-8bcb-1d85eebeb486","html_url":"https://github.com/asb-capfan/TkZinc","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asb-capfan%2FTkZinc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asb-capfan%2FTkZinc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asb-capfan%2FTkZinc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asb-capfan%2FTkZinc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asb-capfan","download_url":"https://codeload.github.com/asb-capfan/TkZinc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234353036,"owners_count":18818748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["perl","python","tcl","tk"],"created_at":"2025-01-17T11:15:47.729Z","updated_at":"2025-09-26T22:30:47.641Z","avatar_url":"https://github.com/asb-capfan.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The TkZinc widget\n\n## WHAT IS THIS?\n\nTkZinc is a canvas like widget extension to Tcl/Tk. \nIt adds support for ATC displays, provides structured assembly of items, transformations, clipping, and openGL based rendering features such as gradients and alpha blending.\n\nIt is currently available on Unices (tested on Linux), Windows and MacOSX (with X11 and fink).\n\n\n## WHERE DOES IT COME FROM?\n\nThe newest version is found at: https://github.com/asb-capfan/TkZinc/releases\n\nDistribution specific packages may also be available for\nDebian/Mandrake/Red Hat distributions, most likely for stable\nversions.\n\nFor Perl/Tk users, TkZinc is available on the CPAN, see for example\non https://metacpan.org/pod/Tk::Zinc\n\nAs a convenience the documentation (pdf+html) is available.\n\n\n# BUILDING AND INSTALLATION FOR TCL/TK\n\n\n## 0. Download the distribution\n\nYou need a working Tcl/Tk distribution (version \u003e= 8.4). \nYou can either grab it using your regular package manager, or build it and install it from scratch.\n\n**On a Linux system, you need the following packages:**\n\n    tcl tcl-dev tk tk-dev\n\nFor GL support, you will need the following packages in addition:\n\n    mesa-common-dev libglu1-mesa-dev freeglut3-dev libglew-dev\n\n**On MacOSX you need:**\n\n- fink with `tcltk` and `tcltk-dev` package (http://fink.sf.net)\n- tcl/tk sources, though you are _not_ required to compile and install them.\n  tcl/tk sources are needed  because some required files are missing in the packages (`tclInt.h` and `tkInt.h`, if you know how to get those files with fink, submit a suggestion to the maintainers).\n  I couldn't install them using fink, d/l them instead: http://prdownloads.sourceforge.net/fink/direct_download/source\n- X11 et X11 SDK from Apple (http://www.apple.com/macosx/x11/)\n\n**On Windows:**\n\nFrom sources or on Windows, get, build and _install_ the Tcl/Tk distribution.\nOn Windows there is currently an incompatibility when using a TkZinc compiled under mingw32 with a core Tcl/Tk compiled with Visual C++. \nYou need to grab a Tcl/Tk compiled with the same environment as TkZinc.\n\n\n## 1. Unpack the distribution\n\n**On Unix/Linux/MacOSX:**\n\n    tar zxf Tkzinc\u003cversion\u003e.tgz\n\n**On Windows:**\n\nUse WinZip or something similar to unpack\n\nThis creates a directory `Tkzinc\u003cversion\u003e` with all the needed files. \nThis directory should be in the same directory as the Tcl/Tk sources.\n\n\n## 2. Configure\n\n**On Unix/Linux:**\n\n    cd Tkzinc\u003cversion\u003e\n    ./configure  \u003coption\u003e*\n\nThis will configure the package for your platform. \nIt will install it in `/usr/local`. If you want it elsewhere you can use the `--prefix` and `--exec-prefix` options of `configure` to assign another location.\n\n**On MacOSX:**\n\nSay we have unpacked tcl/tk sources in `$HOME/src`. The `configure` line is as follows: \n\n    env \"CPPFLAGS=-I/sw/include -I$HOME/src/tcl8.4.1/generic -I$HOME/src/tk8.4.1/generic\" ./configure --with-tcl=/sw/lib --with-tk=/sw/lib --enable-gl\n\n**On Windows:**\n\nTkZinc has been built using the msys/mingw32 environment.\nIt is known to work with Tcl/Tk 8.4.2 compiled using the same environment. **CAUTION:** It doesn't work with Tcl/Tk 8.4.1 using mingw32.\n\nThe steps for building under mingw32 are the same as on Unices.\nCurrently there is no support for building with visual C++.\n\n**On all platforms:**\n\nIt is possible to customize TkZinc through configure options:\n\n    --enable-gl=[yes|no|damage]\n    --disable-gl\n\nThis is turned off by default. Building with `--enable-gl` is the recommanded way for openGL support.\n\n    --enable-om=[yes|no]\n    --disable-om\n\nThis is turned on by default. It controls the inclusion of code for avoid overlap between track labels in radar images.\n\n    --enable-shape=[yes|no]\n    --disable-shape\n\nThis is turned on by default except on Windows where support code is not currently available (it may become available).\nIt allows for non rectangular TkZinc windows optionally including the top level window.\n\nAnd the Tcl standards:\n\n    --enable-threads=[yes|no]\n    --disable-threads\n\nCompile a thread aware/thread safe version (not tested in multi threaded environment). \nNeeded if Tcl/Tk has been compiled with the same configure option.\n\n    --enable-symbols=[yes|no|mem|all]\n    --disable-symbols\n\nTurn on debugging symbols. \nIf the form `--enable-symbols=mem` is used, turn on memory debugging as well.\n\n\n## 3. Make and Install\n\nFor use with Tcl on Unix/Linux and Windows using mingw32:\n\n    make\n    make install-tcl\n\nIt is recommended to do a make distclean before actual building if you have done a previous build.\n\nThe warnings while compiling libtess are harmless (or so I believe ;-). \n`libtess` is a tesselation library extracted from GLU/Mesa. \nI trust it as robust unless proven wrong. I do not want to modify the code just to shut up some warnings.\n\n\nFor use with Tcl on Windows using Visual C++:\n\n    nmake /F win/makefile.vc\n\nThere is no install target. You are left with the dlls and the start of `pkgIndex.tcl` (it lacks the entries for the Tcl modules in library).\nIt is needed to compile with Visual C++ if TkZinc is to be used with a Tcl/Tk compiled with Visual C++.\n\nP.S: If a `pkgIndex.tcl` for Tkzinc exists in the autoload path before installing, it will interfere with the generation of the new `pkgIndex.tcl`.\nIt should be removed or renamed. `echo 'puts $auto_path' | tclsh will` tell the current load path.\n\n**WATCH OUT!** \nOn Linux it is quite frequent to have both Mesa and proprietary openGL libraries installed. \nThis may lead to big problems at runtime if the linker picks the wrong library. \nIt is often the case between the static (`libGL.a`) Mesa library and the dynamic (`libGL.so`) NVidia library. \nIt is very important to assert that the link is done with the library matching the openGL driver loaded in the X server.\n\n## 4. Run the demos\n\nIn the `Tkzinc\u003cversion\u003e` directory run:\n\n    wish8.4 demos/zinc-widget\n\nUnder Windows do:\n\n    wish84 demos/zinc-widget\n\nIt should start a Tk like '`widget`' demo showing TkZinc features. \nYou can also run the demo with: `demos/zinc-widget` if you have in the `PATH` a wish that is greater or equal to 8.4.2.\n\n\n# BUILDING AND INSTALLATION FOR PERL/TK\n\nTkZinc for Perl/Tk is available for Linux, Windows (Perl/Tk 804) and MacOSX. \nAlso remember that the easiest way could be to use the CPAN.\n\n\n## 0. Perl Distribution\n\nYou need a working Perl (\u003e= 5.6) and Perl/Tk distribution (800 or 804). \nYou can either grab it using your regular package manager, or build it and install it from scratch. \nTo build it from scratch you need:\n\n**Linux:**\n\nOn a Linux system, you need `perl`, `perl-tk` and `perl-tk-devel` packages \n\n**On MacOSX you need:**\n\n- `fink` with `tk-pm` package and its dependencies (http://fink.sf.net)\n\n  `tk-pm` is available in `unstable`. You can add this binary `unstable` tree to you `/sw/etc/apt/sources.list`:\n\n\n    deb http://fink.opendarwin.org/bbraun 10.3/unstable main crypto\n    deb http://fink.opendarwin.org/bbraun 10.3/stable main crypto\n\n- `X11` et `X11 SDK` from Apple (http://www.apple.com/macosx/x11/)\n\n**On Windows you need:**\n\n- Perl and `Perl::Tk` 804, \n- Visual C++ or the Free Visual C++ Command Line Tools\n\n## 1. Unpack the distribution\n\n    tar zxf Tkzinc\u003cversion\u003e.tgz\n    cd Tkzinc\u003cversion\u003e/Perl\n    ./export2cpan\n    cd ../export2cpan/tk-zinc\u003cversion\u003e\n\n## 2. Make and install\n\nThis done is the usual way:\n\n    perl Makefile.PL\n    make\n    make test\n    \n    # to run the demo without/before installing:\n    perl -Mblib demos/zinc-demos\n    \n    make install\n\n**WATCH OUT!** \nOn Linux it is quite frequent to have both Mesa and proprietary openGL libraries installed. \nThis may lead to big problems at runtime if the linker picks the wrong library. \nIt is often the case between the static (`libGL.a`) Mesa library and the dynamic (`libGL.so`) NVidia library. \nIt is very important to assert that the link is done with the library matching the openGL driver loaded in the X server.\n\n## 3. Run the demo\n\nYou can choose in the 35 available demos with the following Perl script:\n\n    zinc-demos\n\n\n# MAKE AND READ THE DOCUMENTATION\n\n\nIt is available in pdf and html forms.\nTo make the pdf doc you need pdflatex installed. Then do:\n\n    cd Tkzinc\u003cversion\u003e\n    ./configure\n    make pdf\n\nThis should create a refman.pdf in the doc directory.\n\n    cd Tkzinc\u003cversion\u003e\n    ./configure\n    make html\n\nThis should create the html documentation in the doc directory with all the html pages and images. The entry point is `index.html`.\nYou need `tex4ht` for doing this. \nIt may be packaged separately from `tetex` on Linux, it is so on Debian distributions.\n\n\n\n# REPORT BUGS AND WISHES\n\n\nPlease report bugs and suggestions to: https://github.com/asb-capfan/TkZinc/issues\n\nWhen reporting bugs try to be as specific as possible. \nInclude, if possible, the output from the program. \nCompile TkZinc with debugging symbols and include a backtrace of the debugger. \nSend a small Tcl (or Perl) script reproducing the problem.\nThe availability of a correction may dependent on these infos.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasb-capfan%2Ftkzinc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasb-capfan%2Ftkzinc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasb-capfan%2Ftkzinc/lists"}