gimp/plug-ins/gimpressionist
Tor Lillqvist 6ef23d984f app/appenv.h New file. Includes <math.h>. Move G_PI, RINT(), ROUND() etc
1999-09-01  Tor Lillqvist  <tml@iki.fi>

* app/appenv.h
* libgimp/gimpmath.h: New file. Includes <math.h>. Move G_PI,
RINT(), ROUND() etc from app/appenv.h here, so plug-ins can
use them, too. Remove some commented-out old stuff in appenv.h.

* libgimp/gimp.h: Include gimpmath.h.

* libgimp/gimp.c (gimp_main): Win32: Don't install signal
handlers, we can't do anything useful in the handler ourselves
anyway (it would be nice to print out a backtrace, but that seems
pretty hard to do, even if not impossible). Let Windows inform the
user about the crash. If the plug-in was compiled with MSVC, and
the user also has it, she is offered a chance to start the
debugger automatically anyway.

* app/*several*.c: Include gimpmath.h for G_PI etc. Don't include
<math.h>, as gimpmath.h includes it.

* plug-ins/*/*many*.c: Include config.h. Don't include <math.h>.
Remove all the duplicated definitions of G_PI and rint(). Use
RINT() instead of rint().

* app/app_procs.[ch]: app_exit() takes a gboolean.

* app/batch.c
* app/commands.c
* app/interface.c: Call app_exit() with FALSE or TRUE.

* app/main.c (on_error): Call gimp_fatal_error. (main): Don't
install any signal handler on Win32 here, either.

* app/errors.c (gimp_fatal_error, gimp_terminate): Win32: Format
the message and call MessageBox with it.  g_on_error_query doesn't
do anything useful on Win32, and printf'ing a message to stdout or
stderr doesn't do anything, either, in a windowing application.
1999-09-01 20:30:56 +00:00
..
Brushes Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
Paper Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
Presets Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
.cvsignore Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
ChangeLog Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
Makefile.am Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
README Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
about.c Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
brush.c *** empty log message *** 1999-08-29 21:06:26 +00:00
general.c Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
gimp.c *** empty log message *** 1999-08-29 21:06:26 +00:00
gimpressionist.c *** empty log message *** 1999-08-29 21:06:26 +00:00
gimpressionist.h app/appenv.h New file. Includes <math.h>. Move G_PI, RINT(), ROUND() etc 1999-09-01 20:30:56 +00:00
orientation.c Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
orientmap.c app/appenv.h New file. Includes <math.h>. Move G_PI, RINT(), ROUND() etc 1999-09-01 20:30:56 +00:00
paper.c *** empty log message *** 1999-08-29 21:06:26 +00:00
placement.c Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
plasma.c *** empty log message *** 1999-08-29 21:06:26 +00:00
ppmtool.c app/appenv.h New file. Includes <math.h>. Move G_PI, RINT(), ROUND() etc 1999-09-01 20:30:56 +00:00
ppmtool.h *** empty log message *** 1999-08-29 21:06:26 +00:00
presets.c *** empty log message *** 1999-08-29 21:06:26 +00:00
preview.c app/apptypes.h removed trailing enum commas 1999-08-31 02:00:34 +00:00
repaint.c *** empty log message *** 1999-08-29 21:06:26 +00:00
size.c Added gimpressionist plugin 1999-08-26 22:29:37 +00:00
sizemap.c *** empty log message *** 1999-08-29 21:06:26 +00:00

README

	This is the README for The GIMPressionist
	(c) 1998, 1999 Vidar Madsen - vidar@prosalg.no

	The GIMPressionist is free software, and may be distributed
	freely, provided this file is included!

	This program comes with no warranty, whatsoever. The author
	can not be held liable for any damage caused by proper or
	improper use of this program.


--- Introduction

The GIMPressionist is a plug-in for the GNU Image Manipulation Program,
a.k.a. the GIMP. It can be used to create natural looking painting effects
and similar. It can also be run in a primitive "standalone" mode. 

The current version is still a bit shaky, and is to be considered beta
software. I'll do some serious testing, hopefully across a few more
platforms, as soon as I can.

The official Web-page is http://www.prosalg.no/~vidar/gimpressionist/ and
will always contain a link to the latest released version. 


--- Compiling / Installing

To compile (hopefully):
	make

If you want to compile for GTK-1.1 and GIMP-1.1 instead, you will have
to change the two variable at the top of Makefile. Possibly you would
want to edit DEFAULTPATH as well, but that's not critical.

To install plug-in and accompanying files:
	make install

The plug-in installs itself under $HOME/.gimp/plug-ins/ and copies a
couple of files into the directory $HOME/.gimp/gimpressionist/.  The
subdirectories 'Brushes', 'Paper' and 'Presets' will be created during
"make install", and a few files will be added; As a minimum,
'defaultbrush.pgm' and 'defaultpaper.pgm' under their respective
directories. These are vanilla .PGM files, which could be edited (and
created) with any decent program - like the GIMP! :-) 


--- Standalone

As of version 0.99 and later, the GIMPressionist can also be run
separately from the GIMP. This is primarily intended for debugging
purposes, though, as it still needs GIMP libraries to compile. In your
shell, type: 
	gimpressionist somefile.ppm

The image specified must be a valid PPM file. No other formats are
supported, and probably never will.

If you click "OK", the PPM will be replaced with the "repainted" version.
If you "Cancel", nothing will be done to the file. 


--- File Formats

The "normal" brushes are simply grayscale PGM files, which can be created
with almost any program, including xv and of course The GIMP. A number of
brushes is included, so I guess a more in-depth explaination is not
necessary. And, for those who might want to try it, GIMPressionist can
also read GBR files, which is the GIMP's native brush format. (You still
need to copy them to the GIMPressionist's brush-directory, though. This
will probably be fixed sometimes.)

Version 0.99.4 introduced the concept of using "colored" brushes (although
"pre-rendered" usually is more correct). The brushes' file format is a
plain PPM file, but the layout is somewhat special (and kinda hard to
explain);

- The Red channel contains a shading map of the brush in question. Often
  it resembles the overall image more or less completely.

- The Green channel contains a high-light map. This is a pre-defined
  image of the shiny parts of the brush. (Ordinary grayscale brushes
  have this calculated automatically with a rough emboss-ish algorithm.)

- The Blue channel functions as a brush mask. When applying a brush
  stroke to the image, all areas colored blue in the file are first
  "blacked out" of the image.


--- Feedback

If you have any comments, criticism, ideas for improvement or new
features, or if you run into problems of any sort, let me know, so that I
can (try to) fix it for the next release! (And, if you find platform-
dependant bugs, please try to fix them and send me a patch!) 

I'm also welcoming contributions in the form of brushes or textures! For
this program to be valuable, it needs them... Bad! All contributions will
be properly credited, of course. 

Good luck and happy painting!

Vidar Madsen <vidar@prosalg.no>