Artist

What is artist

Artist is an Emacs lisp package that allows you to draw lines, rectangles, squares, poly-lines, ellipses and circles by using your mouse and/or keyboard. The shapes are made up with the ascii characters | , - , / and \ .

Features

Intersecting When a ` | ' intersects with a ` - ', a ` + ' is drawn, like this: | \ / --+-- X | / \ Rubber-banding When drawing lines you can interactively see the result while holding the mouse button down and moving the mouse. If your machine is not fast enough (a 386 is a bit to slow, but a pentium is well enough), you can turn this feature off. You will then see 1 's and 2 's which mark the 1st and 2nd endpoint of the line you are drawing. Arrows After having drawn a (straight) line or a (straight) poly-line, you can set arrows on the line-ends by typing < or > . Flood-filling You can fill any area with a certain character by flood-filling. Cut copy and paste You can cut, copy and paste rectangular regions. Artist also interfaces with the rect package (this can be turned off if it causes you any trouble) so anything you cut in artist can be yanked with C-x�r�y and vice versa. Drawing with keys Everything you can do with the mouse, you can also do without the mouse. Aspect-ratio You can set the variable artist-aspect-ratio to reflect the height-width ratio for the font you are using. Squares and circles are then drawn square/round. Note, that once your ascii-file is shown with font with a different height-width ratio, the squares won't be square and the circles won't be round. Drawing operations The following drawing operations are implemented: ���lines straight-lines ���rectangles squares ���poly-lines straight poly-lines ���ellipses circles ���text (see-thru) text (overwrite) ���spray-can set size for spray ���vaporizing line vaporizing lines ���erase characters erase rectangles Straight lines are lines that go horinzontally, vertically or diagonally. Plain lines go in any direction. The shapes in the right column are accessed by holding down the shift key while drawing. You can also erase characters and rectangles. It is possible to vaporize (erase) entire lines and connected lines (rectangles for example) as long as the lines being vaporized are straight and connected at their endpoints. Vaporizing is inspired by the drawrect package by Jari Aalto <jari.aalto@poboxes.com>. Picture mode compatibility Artist is picture mode compatible (this can be turned off)

Artist is written by Tomas Abrahamsson. Send bug-reports and comments (and perhaps even your ascii-creations drawn with artist :-) to tab@lysator.liu.se

Screenshots

Here is a nice screencast of the drawing of a singly-linked list.

Here is a screenshot showing some shapes (a text version). Here is another one showing the A from the image above (a text version).

Requirements

Requirements are: Emacs 19.28 or higher. Artist has not been test with XEmacs.

Download

Artist is distributed under Gnu General Public License. The latest version, 1.2.6, is available as a gzipped tar-file: artist-1.2.6.tar.gz (72�kB) and as single elisp-file: artist.el (192�kB) for those who want to compile it themselves.

History

1.2.6, 6-Aug-2004 Coerced with the artist.el that's in Emacs-21.3 (minor editorial changes). 1.2.5, 4-Aug-2004 Added tool selection via the mouse-wheel. Function provided by Andreas Leue <al@sphenon.de> 1.2.4, 25-Oct-2001 Some operations (the edit menu) had got hidden

The first arrow for poly-lines was always pointing to the right

Updated with changes made for Emacs 21.1 1.2.3, 20-Nov-2000 Bugfix: Autoload cookie corrected. 1.2.2, 19-Nov-2000 More documentation fixes.

Bugfix: The arrow characters (`artist-arrows'), which had got all messed up in 1.1, are now corrected. 1.2.1, 15-Nov-2000 Documentation fixes.

Bugfix: Sets next-line-add-newlines to t while in artist-mode. Drawing with keys was confusing without this fix, if next-line-add-newlines was set to nil. Thanks to Tatsuo Furukawa <tatsuo@kobe.hp.com> for this. 1.2, 22-Oct-2000 Works with Emacs 21. 1.1, 15-Aug-2000 Works with Emacs 20.

Cursor follows mouse pointer more closely.

Support for customize 1.1-beta1, 21-Apr-1998 New features: Spray-can, after an idea by Karl-Johan Karlsson <kj@lysator.liu.se>. It is utterly useless, I believe, but it is rather impressive.

Freehand drawing.

Vaporizing (erasing) lines, inspired by the drawrect package by Jari Aalto <jari.aalto@poboxes.com>.

Text-rendering using figlet.

Picture mode compatibility. Changes: All Artist keys now use the prefix C-c�C-a in order not to confict with Picture mode. Bugfixes: No longer leaves traces of lines when rubberbanding if the buffer auto-scrolls.

Inifinite loop sometimes when rubberbanding was turned off. 1.0, 1-Mar-1998 First official release

Old versions

Older versions are available: