fork of uberpaint, a Deluxe Paint clone, patched for building on linux
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


             Pixel Pushing Paint Program


                          Scott Lawrence



This is a paint program... or at least it will be.  It will be a clone
of the Amiga version of the Electronic Arts' product, "Deluxe Paint",
written by Daniel Silva.  It will contain the functionality of Deluxe
Paint 2, and some of the functionality of Deluxe Paint 3.  There will
be more documentation for this as soon as it actually does something.

                      THIS IS A WORK IN PROGRESS!



                      KEYBOARD SHORTCUTS

Currently, the only way to interact with 4p is by using the keyboard 
shortcuts.  Here they are:

Toolbox Commands:

	key	action
	---	------
	a	Airbrush
	b	Brush Selector
	B	Restore last custom brush
	c	Unfilled circle
	C	Filled circle (buggy)
	d	Continuous Freehand Tool
	f	Flood Fill Tool
	K	Clear screen
	r	Unfilled Rectangle
	R	Filled Rectangle
	s	Dotted Freehand Tool
	t	Text
	u	Undo
	v	Straight Lines
	[ ]	Change foreground color
	{ }	Change background color
	,	Pick color Tool 
	.	One pixel brush, dotted freehand

Brush Commands:
	!	Matte drawing mode 	(shift-1)
	@	Color drawing mode 	(shift-2)
	#	Replace drawing mode 	(shift-3)

	h	Halve brush size
	H	Double brush size
	x	flip brush horizontally
	y	flip brush vertically
	z	rotate brush 90 degrees clockwise
	X	Double brush size horizontally
	Y	Double brush size vertically
	1	Switch to a circle brush
	2	Switch to a square brush
	3	Switch to a 3 point scatterbrush
	5	Switch to a 5 point scatterbrush
	- _	Decrease circle or square brush size
	+ =	Increase circle or square brush size

Special Keys:
	j	Spare Page
	J	Copy to Spare
	L	load in an Amiga ILBM IFF image file
	S	save out the current image as a 24 bit .ppm file
	q	strike twice to exit

                   NOTES ABOUT THE TOOLS

Select a region with the left mouse button to select it from the scene.
You can now draw with it.  If you select with the right mouse button,
that region is removed from the scene.

When you're using a custom brush (a brush you picked up using the 'b' tool,)
The three drawing modes come into play:

	Matte	- the color in the brush that was the same as the background
		  color when it was picked up is transparent.

	Color	- Same as Matte, but all colors in the brush are replaced
		  with the current foreground color.

	Replace	- The original image is used, intact, with no transparency.

Note, that when using the background color to draw with, Matte and Color
produce the same results.  this is intentional.

Also, once you create a custom brush, and you switch to the circle,
square, or 3/5 point scatterbrush, you can retrieve the last custom
brush you selected by hitting 'B'.

                            FILE FORMATS

4P will support IFF and PCX files natively.  It will also have various
file formats supported for exporting your image data.

Many file formats will be implemented as 'plug-ins', including PPM,
PNG, TIFF, JPG, GIF, and whatever else you want to implement.


Since this was developed exclusively using a video library which is
available for many platforms (Unux X, Linux console, Windows, BeOS,
Macintosh, etc) it should be easy to port to all of these platforms with
little effort.

The SDL library is available from

X-windows:  (Linux, SunOS)

    To build this, you should just have to type 'gmake'.  Be sure that you
    have the SDL development library properly installed on your system.
    4P has been built with libSDL version 1.2.1, and GCC version 3.3

Mac OS X:  (Macintosh)

    To build this, you will need the Mac OS X developers tools properly
    installed on your system.  Unzip this package (which you probably
    have already done) and just type 'make'.  It should build
    properly.  Project Builder is no longer required for the build

    4p has been built with 'cc' version 3.3 libSDL version 1.2.13
    under Macintosh OS X 10.3.9, 10.4, and 10.5.3

    (This is the current development environment.)

BeOS: (x86)

    You should be able to just type 'gmake' and it should build for you.
    This is untested, as I do not have BeOS installed on any machines 
    anymore. :(

AROS, AmigaDOS; (PPC, x86, 68k)

    These targets have worked in the past, but there are no explicit
    build rules defined for them currently.  If you can build it
    on one of these platforms, please let me know what was necessary
    to do so as far as procedure and toolset.  I would love to
    integrate your work back into the build process.

Other build environments:

    no information yet.


4p is built on top of a few other projects that are contained within
this source heirarchy.  

    JSUI  -  Jerry's simple user interface
	    Static dialog definitions, overridable widget calls,
	    basic graphics primitives (line, rectangle, circle, fill,
	    text, etc.) small footprint, intuitive, pretty looking.

    JIFF  -  Jerry's IFF library
	    Simple IFF Image loader/saver library, supporting most 
	    standard Amiga Image IFF block types.
    JPNM  -  Jerry's PNM library
	    Simple PPM/PNM/PGM Image loader/saver library
	    (temporarily removed)


What is Zarnox?   Zarnox is the name of the internal font.  It is also
is the name of the dude on the webpage, introducing the program.  He is
from a Tom7 font called "Tombots", which is available from


Thanks go out to:

	Pat Stein

	Rob Reay

	and all of my LiveJournal friends

For putting up with my ranting and complaining about bugs and the like
when something finally worked... (And extra thanks to Pat for the flood
fill algorithm, and the snazzy makefile!)


The latest version of this should be available off of

Be sure you're using the latest version.


This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307