2000-07-07 Anselm Lingnau * Released version 0.3. * doc/tkdvi.1, doc/tkdvi::browser.3tcl: Improved man pages. * Makefile.in: Improved man page installation procedure. Got rid of Makefile in doc/ subdirectory. * tkdvi.in: Added `-pr' (present) command line option. Options which are not specially handled will be passed through to the initial DVI window. * dvi/Makefile.in, lib/Makefile.in: Installation subdirectories now contain program's version number. * Makefile.in, dvi/Makefile.in, lib/Makefile.in: Don't echo file names when copying stuff to distribution directory. * dvi/pkgIndex.tcl.in, dvi/Makefile.in: Fix pkgIndex.tcl so that library is picked up either from current directory or from directory above. Make sure that pkgIndex.tcl is created when library has been built. * dvi/configure.in: Make sure configure script looks at tkConfig.sh as well as tclConfig.sh (which was a stupid oversight). * dvi/image.c: Removed spurious initialization of masterPtr->layer in image instance command. * dvi/image.c: Hopefully fixed backward compatibility problems with image type (esp. createProc) for good. Tk_InitImageArgs() in Tcl/Tk 8.3.1 is broken. * lib/tkdvi.tcl: Fix bug where internal widget counter for name generation would not be incremented on `clone window'. * lib/browser.tcl: Add check for event to quit program when last DVI window is closed, unless the Tcl variable tkdvi::browser::lastCloseExits is zero. * lib/browser.tcl: Use (patched) tk_optionMenu widget instead of home-grown button w/menu. * lib/browser.tcl: Added `measureUnit' configuration option. * lib/browser.tcl: Make sure `-toplevel' option isn't passed to configure method when widget is created. (This is handled specially beforehand.) * lib/browser.tcl: Reintroduced reload-on-expose and layering. * lib/browser.tcl: Fixed bugs around button 3. * lib/browser.tcl: Added various key bindings, menu accelerators and menu traversal keys. * lib/tkdvi.ad: Added accelerators and menu traversal keys. Removed obsolete `Options' menu. * lib/menu.tcl: Added support for menu traversal keys and accelerators. * lib/browser.tcl: Made the General Preferences dialog work. * lib/browser.tcl: Fixed a focus problem with presentations in full-screen mode. * lib/browser.tcl, lib/tkdvi.tcl: Added support for cloning a window as well as opening a new file in a new window. * lib/browser.tcl: Fixed various small bugs in tkdvi::browser::Opopen; added option to specify a file name rather than open a file selector box. 2000-06-29 Anselm Lingnau * dvi/configure.in: Fixed bug in determination of `top_builddir'. * dvi/dvi.h, dvi/dviFile.c, dvi/dviCFTcl.c: Added C-level and Tcl-level APIs for access to DVI file comment. * dvi/dviCFTcl.c, dvi/dviFontTcl.c, dvi/dviInterpTcl.c, dvi/dviTcl.c, dvi/image.c: Added calls to Tcl_InitStubs() and Tk_InitStubs() as appropriate. * dvi/image.c: Fixed Tcl_Obj API for image type as per Jan Nijtmans' suggestions. * dvi/dviFontTcl.c, dvi/font.c, dvi/image.c: Added initial support for obtaining document font lists. * dvi/image.c: Added more paper formats. * dvi/image.c: Re-enabled font reloading on document change. * lib/browser.tcl: Completely new implementation as a `megawidget'. Various new features such as free-hand drawing on top of a DVI page, cross-hair rulers for checking alignment, initial support for source specials (not quite working yet), optional menu bar and tool bar, etc. Generally revamped look and feel to be more like Acrobat Reader rather than gv. Configuration through X resources is now possible. * lib/pagesel.tcl: Completely new implementation as a `megawidget'. 2000-05-27 Anselm Lingnau * dvi/image.c: Changed image procedures to Tcl_Obj API for compatibility with Tk 8.3. * dvi/dviCFTcl.c: Fixed segmentation fault due to non-reconstruction of Dvi_Code structure after file reloading. 2000-05-26 Anselm Lingnau * dvi/dviCFTcl.c: Added support for `$dviCode configure', `$dviCode findanchor' and `$dvicode info anchors'. * dvi/dviCode.c: Added support for registering anchors during pre-scan. * dvi/dviFile.c: Fixed bug where `generation' member of Dvi_File structure would not be initialized. * lib/browser.tcl: Finished support for bookmarks and file information à la PDF. Reinstated reloading code. 2000-05-18 Anselm Lingnau * dvi/dviCFTcl.c, dvi/dviFontTcl.c, dvi/dviInterpTcl.c, dvi/image.c: Replaced hard-coded version numbers in package dependencies. * dvi/dviFile.c, dvi/dviInterp.c, dvi/font.c, dvi/fontPK.c, dvi/fontTFM.c: Tightened up datatypes on memory allocation/deallocation calls to remove compiler warnings. * dvi/image.c: Added Tk_ImagePostScriptProc member to DviImageType for Tcl 8.2 compatibility. * Replaced Automake setup by more Tcl-like approach. This simplifies the make process considerably. 2000-02-15 Anselm Lingnau * dvi/dviOps.h: Changed DVI opcodes from #define to enum. * dvi/image.c: Added Tcl command callbacks for moving to/leaving page (options `-precommand' and `-postcommand'). * dvi/image.c: Draft colour support (doesn't work quite right). * dvi/image.c: Added configuration option synonyms `-bg', `-fg', and `-gray' for consistency to other Tk widgets. * dvi/image.c: Fixed bitmap shrinking bug. * lib/tkdvi.ad: Added menu items for info, bookmarks, and display modes menu. 1999-09-01 Anselm Lingnau * tkdvi.in: Revised Tcl-level API for DVI browser. * dvi/dviFontTcl.c, dvi/dviFont.c: Made generic font searching code Tcl-independent; put Tcl glue into separate file. * dvi/dviFile.c, dvi/dviCode.c, dvi/dviCFTcl.c, dvi/dviInterp.c, dvi/dviInterpTcl.c: Divided DVI code handling in file-specific and general code parts. This makes it possible (in theory) to have DVI code generated on the fly, in addition to separating the two layers of functionality better. Improved separation between Tcl-independent DVI file handling and Tcl glue layer. Revised C-level API for consistency. Introduced callback function for file errors so dviFile.c functions no longer need a Tcl interpreter. * lib/browser.tcl: Adapted to new Tcl-level API. * lib/browser.tcl: Added pop-up-from-overview feature, full-screen display and more flexible display modes. * lib/pagesel.tcl: Adapted to new Tcl-level API. * lib/pagesel.tcl: Fixed selector painting bug. 1999-06-24 Anselm Lingnau * dvi/dviInterp.c, dvi/image.c: Revised handling of \special{} commands. * lib/browser.tcl: Added scanning on mouse button 2. * lib/browser.tcl: Support for `layered' DVI files. * lib/browser.tcl: Added `p' and `n' shortcuts for paging.