GithubHelp home page GithubHelp logo

trapd00r / uberpaint Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 386 KB

fork of uberpaint, a Deluxe Paint clone, patched for building on linux

License: GNU Lesser General Public License v2.1

C++ 0.03% C 99.74% Objective-C 0.23%

uberpaint's Introduction

----------------------------------------
                                      4P
             Pixel Pushing Paint Program

                             pre-release
                                   v0.12

                          Scott Lawrence
                        [email protected]

              http://www.umlautllama.com


----------------------------------------
                                OVERVIEW

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!

        DO NOT EXPECT IT TO WORK, OR DO ANYTHING REMOTELY USEFUL!

                                                                  ...yet


----------------------------------------
                      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

BRUSH TOOL  'b'
---------------
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.


----------------------------------------
                                   BUILD

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 http://www.libsdl.org


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
    process.

    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.



----------------------------------------
                             SUBPROJECTS

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)


----------------------------------------
                                  ZARNOX

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
http://fonts.tom7.com



----------------------------------------
                                  THANKS

Thanks go out to:

	Pat Stein 
		http://www.nklein.com

	Rob Reay

	and all of my LiveJournal friends 
		http://jerronimo.livejournal.com/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!)


----------------------------------------
                                 VERSION

The latest version of this should be available off of 

	http://umlautllama.com/projects

Be sure you're using the latest version.



----------------------------------------
                                 LICENSE


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
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
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
USA

uberpaint's People

Contributors

trapd00r avatar

Stargazers

 avatar  avatar Ernie Chu avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.