271 lines
10 KiB
Text
271 lines
10 KiB
Text
TODO.txt for Tux Paint
|
|
|
|
Tux Paint - A simple drawing program for children.
|
|
|
|
Copyright (c) 2004 by Bill Kendrick
|
|
bill@newbreedsoftware.com
|
|
http://www.newbreedsoftware.com/tuxpaint/
|
|
|
|
September 21, 2004
|
|
|
|
|
|
BUGS!
|
|
-----
|
|
* Get Starters to work properly in 800x600 mode.
|
|
|
|
|
|
HIGH-PRIORITY DOCUMENTATION CHANGES:
|
|
------------------------------------
|
|
* Convert documentation and man pages into a single source (DocBook?)
|
|
|
|
|
|
LOW-PRIORITY DOCUMENTATION CHANGES:
|
|
-----------------------------------
|
|
* Windows compilation in INSTALL.txt
|
|
|
|
* Mac OS X compilation in INSTALL.txt
|
|
|
|
* Mention CONFDIR in INSTALL.txt
|
|
|
|
* Add better description of where things get installed in INSTALL.txt
|
|
|
|
* Automagically make documentation path correct in man page.
|
|
(Turn man page into a template, then process during compile)
|
|
|
|
|
|
HIGH-PRIORITY IMPLEMENTATION CHANGES:
|
|
-------------------------------------
|
|
* Support different default size for stamps than the stamp images size.
|
|
Explanation: For example, the actual image of an apple could be 500x400
|
|
pixels, but selecting the apple would display a scaled down 50x40
|
|
(or 70x56 or whatever) image. Resized (especially scaled up) versions
|
|
of the stamp would then look much better, without any of the very ugly
|
|
pixelation and jagged edges that currently occurs.
|
|
|
|
* Use 'default.ttf' font to display un-translated strings.
|
|
|
|
* Provide a more Mac OS X style for handling configuration
|
|
(don't use "~/.tuxpaintrc"; see the FIXME in src/tuxpaint.c)
|
|
|
|
* Get Mac OS X to look for stamps, brushes, etc. in
|
|
/Library/Preferences/tuxpaint first, then ~/Library/Preferences/tuxpaint
|
|
|
|
* Only use "savedir" for saved files, not to look for stamps/brushes.
|
|
Added "datadir" option to override where to look for local stamps/brushes.
|
|
|
|
* Coloring book mode -- immutable images stored in Tux Paint's "data"
|
|
directory, but available via the "Open" dialog. They would be black
|
|
outlines of shapes/pictures for kids to color, like a coloring book.
|
|
The outlines would always remain 'above' the paint.
|
|
|
|
FIXME: "Erase" icon on Open screen should disable when you click
|
|
an immutable image. Re-enable when clicking a saved image.
|
|
|
|
* Background mode -- immutable images stored in Tux Paint's "data"
|
|
directory, but available via the "Open" dialog. They would be
|
|
background images (a 'scene'), and possibly foreground elements,
|
|
as well (think of a photo of a reef, underwater...). The background
|
|
would be drawn over, but would come back when the "Eraser" tool is used.
|
|
(Any foreground element would always appear 'above' the paint.)
|
|
|
|
|
|
LOW-PRIORITY IMPLEMENTATION CHANGES:
|
|
------------------------------------
|
|
* Add "include={filename}" option to .tuxpaintrc config file,
|
|
to allow centralized config files.
|
|
|
|
* Adhere to Freedesktop Basedir Specification
|
|
( http://freedesktop.org/Standards/basedir-spec/basedir-spec-0.6.html )
|
|
|
|
* Allow keyboard buttons to alter shapes (+/- for size, e.g.)
|
|
|
|
* Fix and use scanline fill for filled shapes.
|
|
|
|
* Fix "update_shape()" function and use it to replace SDL_Flip()'s
|
|
|
|
* Show different text tip for shape tool when in --simpleshapes mode.
|
|
|
|
* Update Makefile and source so that "*_PREFIX"-like Makefile vars.
|
|
don't require an ending slash!
|
|
|
|
* Allow runtime alteration of mouse control keys (in --keyboard mode).
|
|
|
|
* Clean up 800x600 support code
|
|
|
|
* Allow locale font files to be specified in conf file
|
|
(so instead of using /usr/local/share/tuxpaint/fonts/locale/ja.ttf,
|
|
it can use /usr/local/share/ttf/kochi-mincho.ttf).
|
|
Distros can take advantage of this.
|
|
(Ben Armstrong's suggestion.)
|
|
|
|
* Support Ogg Vorbis for stamp sounds, for *much* higher quality and
|
|
much smaller file sizes.
|
|
|
|
* Saved images on should be stored in 'My Documents/My Pictures' on
|
|
Windows. The actual directory name is different for each user,
|
|
and is stored in the registry at:
|
|
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
|
|
User Shell Folders\My Pictures
|
|
(It also varies with the language Windows is in, e.g.
|
|
'Mine dokumenter/Mine bilder' on the Norwegian version of Windows,
|
|
but the registry key above will always contain the correct name/address.)
|
|
|
|
|
|
HIGH-PRIORITY BUGS:
|
|
-------------------
|
|
* Scroll-wheel doesn't work in open dialog.
|
|
|
|
* Deal with clash between Open dialog arrow key controls and
|
|
mouse arrow key (--keyboard) controls.
|
|
|
|
|
|
LOW-PRIORITY BUGS:
|
|
------------------
|
|
* Fix XOR bug with blinking text cursor.
|
|
|
|
* Fix XOR bug when you 'abort' the shape tool.
|
|
|
|
|
|
PLATFORM-SPECIFIC BUGS:
|
|
-----------------------
|
|
* Support Apple-key buttons ([H]ide, [?]help, [M]inimize, [Q]uit)
|
|
(Is this "META" modifier in SDL_keysyms.h???)
|
|
|
|
* Create a 'tuxpaint-import' type program for Windows, Mac OS X and BeOS.
|
|
FREQUENTLY REQUESTED
|
|
|
|
|
|
HIGH-PRIORITY I18n STUFF:
|
|
-------------------------
|
|
* Make sure characters are properly converted when using
|
|
'--uppercase' in locales that have uppercase letters.
|
|
Currently using 'mbstowcs' and 'wcstombs' to convert between
|
|
UFT-8 and wide chars, and using 'towupper' (instead of 'toupper') to
|
|
convert from lowercase to uppercase.
|
|
|
|
Karl says: "'mbstowcs' and 'wcstombs' unfortunately depend on on LC_CTYPE,
|
|
so the encoding they use is locale dependent (and *not* necessarily UTF-8,
|
|
which our strings are in). On the other hand, 'towupper' must be
|
|
locale-aware for correct conversion (e.g. a Turkish uppercase 'i' is *not*
|
|
an 'I')."
|
|
|
|
* Make right-to-left strings not wordwrap with the shortest line at
|
|
the top!
|
|
|
|
* Writing non-ASCII characters with the text tool doesn't work.
|
|
|
|
* Finish current translations. (Especially documentation!)
|
|
|
|
* The UI should be 'mirrored' for all right-to-left languages, i.e.
|
|
the toolbar should be on the right, and Tux should be mirrored
|
|
to look towards the left.
|
|
|
|
|
|
LOW-PRIORITY TRANSLATION STUFF:
|
|
-------------------------------
|
|
* Support more languages!
|
|
* Remaining Indian family:
|
|
* Bengali (bn)
|
|
* Gujarati (gu)
|
|
* Kannada (kn)
|
|
* Malayalam (ml)
|
|
* Marathi (mr)
|
|
* Oriya (or)
|
|
* Punjabi
|
|
* Telugu (te)
|
|
|
|
Afar, Abkhazian, Albanian, Amharic, Arabic, Armenian, Assamese, Avestan,
|
|
Aymara, Azerbaijani, Bashkir, Bihari, Bislama, Bosnian, Burmese, Chamorro,
|
|
Chechen, Church Slavic, Chuvash, Cornish, Corsican, Dzongkha, Esperanto,
|
|
Estonian, Faroese, Fijian, Frisian, Georgian, Gaelic, Irish, Gallegan,
|
|
Manx, Guarani, Hausa, Herero, Hiri Motu, Ido, Inuktitut, Interlingue,
|
|
Interlingua, Inupiaq, Javanese, Kalaallisut, Kashmiri, Kazakh, Khmer,
|
|
Kikuyu, Kinyarwanda, Kirghiz, Komi, Kurdish, Lao, Latin, Latvian,
|
|
Limburgan, Lingala, Luxembourgish, Macedonian, Marshallese, Maori,
|
|
Malagasy, Maltese, Moldavian, Mongolian, Nauru, Northern Sotho, Navajo,
|
|
Ndebele (South), Ndebele (North), Ndonga, Nepali, Chichewa, Occitan,
|
|
Oromo, Ossetian, Farsi (Persian), Pali, Pushto, Quechua, Rundi, Sango,
|
|
Sanskrit, Sinhalese, Northern Sami, Samoan, Shona, Sindhi, Somali,
|
|
Sotho (Southern) Sardinian, Swati, Sundanese, Swahili, Tahitian, Tatar,
|
|
Tajik, Thai, Tibetan, Tigrinya, Tonga, Tswana, Tsonga, Turkmen, Twi,
|
|
Uighur, Ukrainian, Urdu, Uzbek, Venda, Volap?k, Wolof, Xhosa, Yiddish,
|
|
Yoruba, Zhuang, Zulu, Klingon, Elvish.
|
|
|
|
* Make splash screen translatable/localizable:
|
|
'Tux Paint' logo (e.g., "Teikne-Tux" in Norwegian)
|
|
'present' text
|
|
'Developed by ...' text
|
|
Add: 'Translated by ...' (see gettext manual for how to handle this)
|
|
|
|
* Update Czech and Slovak translations (so they use accents/etc.!)
|
|
|
|
* Update Vietnamese translation (so it uses accents/etc.!)
|
|
|
|
|
|
FEATURE IDEAS:
|
|
--------------
|
|
* Allow naming (titling) of images when saving. (As an option)
|
|
(Thanks to Jerry W. Todd for the idea.)
|
|
|
|
* "Cartoonify" magic tool. Kind of like posterize, but different?
|
|
|
|
* Create symbolic link "~/TuxPaintPictures" that points to
|
|
"~/.tuxpaint/saved/"???
|
|
FREQUENTLY REQUESTED
|
|
|
|
* Add "click to start, click to end" functionality in Brush, Eraser, etc.
|
|
(Pablo Saratxaga's suggestion; 2003.07.19)
|
|
FREQUENTLY REQUESTED
|
|
|
|
* Show shape instructions after _temporarily_ describing the shape???
|
|
(Herman Bruyninckx's suggestion; 2002.08.25)
|
|
|
|
* Special command-line options that enable groups of other options
|
|
all at once. (e.g., "--fullscreen --noquit --printdelay=60 --grab")
|
|
...and/or pre-written configuration files.
|
|
|
|
That way a parent/guardian/teacher can very easily set up Tux Paint for
|
|
certain age groups, for example.
|
|
|
|
* Allow compile-time option (or system config?) that disables
|
|
parsing of ~/.tuxpaintrc and/or command-line options.
|
|
|
|
* Show only one category of stamps at a time?
|
|
(Provide category selection dialog) !?!?!?
|
|
FREQUENTLY REQUESTED
|
|
|
|
* Show configuration options (e.g., from ~/.tuxpaintrc) in --version info.
|
|
|
|
|
|
POSSIBLE FEATURE IDEAS:
|
|
-----------------------
|
|
* Pipette / color prober tool. Click on it, then click on image to pick
|
|
up a color from a single pixel. Display color under mouse pointer in
|
|
special 'custom color' color bucket (see below) when moving pointer.
|
|
Click and drag a rectangle to select a color which is the arithmetic
|
|
average of the colors in the selected area.
|
|
|
|
* Palette. Click on the left-most (or right-most) color bucket (which
|
|
must look a bit different than the rest) to pop up a palette
|
|
(just a rectangular image containing lots of colors in some sort
|
|
of pattern) above it. Click on the palette to select a color. The
|
|
palette disappears (on button *release*). Can probably reuse
|
|
pipette tool code to pick up color (but don't support the 'average'
|
|
method here). The palette should just be an ordinary image file,
|
|
and easy to replace. I recommend using the one of the left here:
|
|
http://www.ficml.org/jemimap/style/color/wheel.html It's very easy
|
|
to select both hues *and* brightness from this colour wheel.
|
|
|
|
* Round eraser
|
|
FREQUENTLY REQUESTED
|
|
|
|
* Support animated brushes (then replace Sparkle magic with one) ??
|
|
|
|
* Support image/stamp 'hoses' (as implemented in numerous other
|
|
graphics programs).
|
|
|
|
* Make a 'rainbow' color (then remove Rainbow magic tool)
|
|
|
|
* "Gallery"/slideshow mode (available via Open dialog, maybe?)
|
|
(Ben Armstrong's suggestion: 2002.08.26)
|
|
|