Index of /tcl/ftparchive/sorted/graphics/tkpaint/1.4

      Name                   Last modified     Size  Description

[DIR] Parent Directory 23-Jun-99 21:18 - [   ] README 20-Oct-98 12:16 14k [   ] TKPAINT-EXE.ZIP 20-Oct-98 11:32 931k [   ] TKPAINT-SRC.ZIP 20-Oct-98 11:18 260k

TKPAINT 1.4     [ win95/NT/Linux ]
---------------------------------------------------------
Copyright (C) 1998  Samy Zafrany [samy@netanya.ac.il]

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


OVERVIEW OF TKPAINT
-------------------------
Tkpaint is an easy to use graphics utility based on the canvas widget of
the tool command language Tcl/Tk. It can be very useful for drawing simple
to complex figures, slide presentations, graphs, and diagrams that involve
geometrical shapes, arrows, text, and colors.
From version 1.3 it is also possible to insert bitmaps and gif/ppm/pgm images.
There is a large variety of operations that can be performed on a group of
objects: scaling, rotation, relocation, reflection, and deformation with
respect to inclination. 

Tkpaint can be very useful for books or papers writers who are accustomed
to draw their figures by themselves (don't assume that someone else will
do  it better than you!).
It is easy to get an encapsulated PostScript output (EPS), and then to include
it inside TeX or LaTeX files (via the epsf macro package).

Tkpaint is very easy to learn, and with little experience it is possible to
to produce book quality slides in a short time. With more experience it is
possible to produce unbelievably complex figures. LINUX people who use XFIG
or XPAINT may find TKPAINT more suitable for some of the things that they
are trying to do.

PLATFORMS
---------------
Tkpaint was developed on:
1. Pentium/100MH/Win95/Linux     + wish 8.0 (or prowish 8.03)
2. PentiumPro/200MH/NT4/Linux    + wish 8.0 (or prowish 8.03)
It should run well on such platforms.
The Unix port of tkpaint is maintained by Victor B. Wagner (vitus@ice.ru),
which has integrated the Img extension in it and has an Autoconf configure
script. According to Victor B. Wagner, tkpaint 1.4 works well under BSDI,
Solaris and Linux. Please visit http://www.ice.ru/~vitus/misc/tkpaint.html
for more details and to download.                                    


RESOURCES
-----------------
New versions of this program are availabe through

1.      http://www.netanya.ac.il/~samy/tkpaint.html    (Tkpaint homepage)
2.      www.neosoft.com/tcl/ftparchive/sorted/graphics/tkpaint
3.      ftp.neosoft.com/pub/tcl/sorted/graphics/tkpaint

The first site is the "official" homepage of tkpaint. It has more info and some
nice screen shots, and will always be more updated than the others.
Those that are interested to be informed about new releases
and news about tkpaint may enter their e-mail via the form there.
(or send me your e-mail to: samy@netanya.ac.il, but I prefer you do it via
the form)

INSTALLATION
---------------
WIn95/NT:  There is not much to do. If you have tcl/tk 8.0 installed
           then you may want to install the source package (tkpaint-src.zip).
           Just unzip the package somewhere on your disk, and create
           a shortcut to tkpaint.tcl.
           If you do not have Tcl/Tk installed then you may install the
           tkpaint-exe package anywhere you like and create a shortcut
           to tkpaint.exe.

Unix:      The Unix port of tkpaint is maintained by Victor B. Wagner
           (vitus@ice.ru), which has integrated the Img extension in it
           and has an Autoconf configure script. According to Victor B. Wagner,
           tkpaint 1.4 works well under BSDI, Solaris and Linux. Please visit
           http://www.ice.ru/~vitus/misc/tkpaint.html
           for more details and to download.      


MORE INFO ON TKPAINT
-----------------------
With Tkpaint it is possible to draw a variety of geometrical objects:
 1.  Polygons
 2.  Rectangles
 3.  Rounded rectangles
 4.  Circles
 5.  Ellipse
 6.  Splines
 7.  Arcs (of circles)
 8.  Chords (of circle)
 9.  Pie slices (of circle)
10.  Free hand curves.
11.  Text in any size, type, color, and stipple.
12.  Since version 1.3 it is possible to insert images from files.
     The supported formats are bmp, gif, ppm, pgm.
13.  Since version 1.4 it is possible to edit polygons and lines.
     That is, it is possible to relocate vertices, add new vertices to
     existing polygons and lines, and delete vertices.
14.  Since version 1.4 you can save and load configuration files
     (called preferences files). The default file is tkpaint.ini.
15.  Since version 1.4 you can deform a group of objects. Read below.

The arc, chord, and pieslice way of drawing is especially
nice, and the author did not see anything like it in other similar prgrams.
I do not know about other programs that support arrows on arcs too!

The canvas environment of Tcl/Tk is based on objects, which means that
every shape, line, text item, or image are treated as an undivisible unit.
All actions are performed on these objects:
you can create, move, copy, raise, lower, and delete
each object as a graphical unit.

However, in this application it is also possible to select a group of objects
and perform various actions on all the objects in the group:

1. Edit their outline width and outline color.
2. Edit interiour color.
3. Stretch the group of objects horizontaly, vertically, or in both directions.
3. Copy, move, and delete of a group of objects.
4. Reflect with respect to the x-axis or y-axis.
5. And even rotate the group to any desired angle.
6. It is possible to UNDO the last 50 operations, and then you can REDO the
   last 50 undo actions.

SINCE VERSION 1.4:

7. It is possible to edit lines, polygons (including smooth
   lines and polygons). This means that you can relocate vertices with
   the mouse, create new vertices, and delete existing vertices.
   See the help for more info.

8. It is possible now to change the inclination (deform) of a group of
   objects. (Like "Italics" in fonts). This is described by the
   following figure:

        -----------------                  -----------------
        |               |    deform      /                /
        |               |    ------>    /                /
        -----------------              -----------------
   This operation is very useful for special effects to make slides look
   more impressive.

9. It is possible to save and load prefernces files.
   A new file "tkpaint.ini" added to the package.
   Tkpaint will load this file when it starts if it exists.
   However, the user may choose any file names for saving his preferences,
   create multiple preferences files, load them whenever he wants to (even
   at the midst of work). It is also easy to edit them by hand and thus
   making it possible to choose special parameters that are hard to get via
   the menus of tkpaint (like a huge arrow shape, precise color numbers,
   grid parameters, etc).

10. Tkpaint will accept one command line argumnet. The name of pic to load.
    This is useful for Unix users or people who use Dos boxes.

11. Some of the more frequently used operations have shortcuts ("accelerators")

Not mentioned earlier: since version 1.3, the "Group" menu has the
"Select 1 object" item which is useful for picking a single object
that may be covered by tons of other objects and therefore the usual
selction mechanism is incapable to isolate it for editing.

PRINTING
----------
You may send output to printer if you have gsview installed, or get the output
in EPS (encapsulated PostScript) file format or as a Tcl script.
Or save as Encapsulated PostScript to be used in TeX/LaTeX files (or any
utility that supports EPS inclusion)

For more information it is best to press the "Help" button or simply play
with the program. It is quite easy to use.

FILES
-----------
If you have downloaded the Tcl source package (tkpaint-src.zip),
then You should find the following files:

1.   tkpaint.tcl      (main program)
2.   tkpaint.ini      (initialization file - from version 1.4 only)
3.   help.tcl         (help file)
4.   fontsel.tcl      (font selection box)
5.   arrowshape.tcl   (arrow head editor)
6.   gifs/*.gif       (GIF files directory, it should contain many gif files)
7.   COPYING          (Gnu general public license)
8.   readme           (this file)
9.   4 demo files: demo1.pic, ..., demo4.pic
13.  some gif/ppm and bitmap files (for the demos)
14.  changes          (changes made from version to version)

The main file is of course tkpaint.tcl.
And it should be fed to wish 8.0, 8.03, or prowish.

if you have dowloaded the executable package (tkpaint-exe.zip),
then you should find there the following files:

1.  tkpaint.exe
2.  tkpaint.ini
3.  readme
4.  copying
5.  demo files
6.  some gif and bitmap files (for the demos)

CREDITS
--------
1. Donald K. Fellows (fellows@cs.man.ac.uk) for the wonderful font selection
   box. It was modified a little to support color selection and some more
   text size radio buttons.

2. Brent Welsh for his excellent book "Practical Programming in Tcl/Tk".
   Most of my Tcl education was acquired through this book.
   Example 31-12 (Simple edit bindings for canvas text items) saved us
   Lots of trouble. It was, of course, modified to suite tkpaint.

3. My students: Michel Zohar, Yaniv Katan, and Amit Noph whose good ideas,
   good source code, and especially their snagged gifs (;-), contributed a
   lot to this program.

4. Christopher Jay Cox (cjcox@acm.org) for his inspiring ImPress program.
   playing with it on the Netscapes browser was really impressive and
   motivating.  Some of the ideas like line width scale and manipulation of
   group of objects were stollen from ImPress (not the code! just ideas).

5. Since the release of tkpaint 1.0/1.1/1.2/1.3, I have received many good
   suggestions and ideas for improvements from users all over the world.
   Although I have very limited time to spend on tkpaint, I could not resist
   the cute ones (like reshaping polygons/lins due to Markus Meng) or the
   more urgent ones (like load/save preferences to file - very essential).
   Many of the improvemnets in release 1.4 are based on their suggestions.
   Apologies for other people for not being able to implement their
   suggestions. There are many more interesting improvements to be made,
   but they will require too much time, and I really should stop here (or else
   I will be fired from my College).

6. Special thanks goes to Victor B. Wagner for his contributions and for
   maintaining the Unix port of tkpaint:
           http://www.ice.ru/~vitus/misc/tkpaint.html
   and thus making Tkpaint available to Unix users as well. I could not
   have done it myself.
-------
This program could not have been written without the so many ideas and tips
that I got from these sources, hence it is free and open as these sources are.


HISOTORY
----------
Tkpaint started as an experiment for testing Tcl/Tk capabilities in a
undergraduate course (on graphical user interfaces) given by me at
Netanya Academic College, Israel, Fall 1997.
I was just introduced to Tcl/Tk by a friend who thought that it would be
a good choice for this course (and, frankly, considering the alternatives,
I could not realy avoid it). one of the projects (among others)
that came to my mind was to try to create a drawing tool that besides of making
an interesting project, will also be useful for educational duties like
preparing lecture slides and figures for lecture note, papers, and text books.
I have had a long and bad experience with similar programs (which I will
not mention here) which where either too simple and deficient or too large
and complex to use or install or cost a lot of money.
While many of my students worked on this project, I did work on it privately
myself. At the end of term, during the grading of their projects, I have
integrated many of their ideas and some of their source code to my tkpaint,
and after some hard work came up with this final result (tkpaint 1.0).
Since its release, more ideas and suggestions and bug fixes flow through
internet lines, and hence releases 1.1, 1.2, 1.3, 1.4.

To conclude: I think that Tcl/Tk did provide me with almost anything that
I initially wanted for tkpaint to have. My initial plan was to create a
small, simple, easy to use tool for creating slides and book figures which does
not suffer from the bugs and deficiencies of similar tools, yet this tool
should not try to catch up with a monster as Corel Draw or have any of the
capabilities of Adobe Photoshop (since these features ar rarely needed for
creating simple figures or class slides).

With this respect, I think that tkpaint did quite well.
The program works very good for me and I am using it constantly with great
results.  There are, as always, many features that can be added, and many
other things can be improved. But one must draw a finish line somewhere.
I will, of course, fix bugs and do some simple fix-ups from time to time,
or even do a major change if it is strongly demnaded by users, but I do not
intend to go ahead and make any major changes to the program (unless I will
suddenly become a milioner and be completely relieved from my teachnig and
other duties).
The only deficiency that irritates me the most is the lack of dash lines
in the canvas widget of Tcl/Tk. I know about the dash patch and Img package
of Nitjman. But I do not understand patches and I do not want to complicate
things beyond this point. If someone else is willing to help, I'll be glad.
For the time being it's not hard to simulate dash lines. I hope that sometime
in the future, the dash-patch/Img package will be integrated to Tk in an
orderly manner.

Send bug reports to:
------------------------------------------------------------------------
Samy Zafrany                 School of Computer Science and Mathematics
samy@netanya.ac.il           Netanya Academic College
Phones:                      16 Kibutz-Galuyot Street
972-9-8607738 (Office)       Kiriat Yizhack Rabin
972-4-8258140 (Home)         Netanya 42365, ISRAEL
------------------------------------------------------------------------

Copyright © 1998 Samy Zafrany. All rights reserved.