CHANGES.txt for Tux Paint Tux Paint - A simple drawing program for children. Copyright (c) 2002-2024 Various contributors (see below, and AUTHORS.txt) https://tuxpaint.org/ 2024.January.29 (0.9.32) * Improvements to Magic tools: ---------------------------- * Magic tool plugin API updates + Support for complexity levels in Magic tools via the plugin API. (Closes https://sourceforge.net/p/tuxpaint/feature-requests/247/) - Complexity/expertise level may be set via configuration, `--complexity`; values may be "advanced" (default), "beginner", or "novice". - Plugins' "init()" functions are sent a new `complexity_level` argument. + Magic tools can provide a value that allows them to be sorted and grouped together (rather than always relying on the localized name of the tool). - WIP Updated many magic tools to take advantage of this. + Note: `TP_MAGIC_API_VERSION` bumped to 0x00000009. Bill Kendrick * "Clone" tool does not operate when Tux Paint is in "novice" complexity mode. Bill Kendrick * New Magic Tools: ---------------- * Tools to draw with various kinds of graphical projections (all placed within a new tool group): + Point-projection persepctive: - 1-point Perspective ("1-Point Select" & "1-Point Draw") Choose a vanishing point, and then draw lines that always point towards it, or are vertical or horizontal. - 2-point Perspective ("2-Point Select" & "2-Point Draw") Choose two vanishing points, and then draw lines that always point towards them, along the horizon defined by them, or perpendicular to that horizon. - 3-point Perspective ("3-Point Select" & "3-Point Draw") Choose three vanishing points, and then draw lines that always point towards them, or along the horizon defined by the first two. + Orthographic (orthogonal) projection: - Isometric ("Isometric Lines") Lines only go at evenly-spaced (120 degrees) angles (vertically and diagonally). - Dimetric ("Dimetric Select" & "Dimetric Draw") Choose a single angle for both diagonals directions; lines may only go diagonally at those angles, or vertically. - Dimetric ("Trimetric Select" & "Trimetric Draw") Choose an angle for two diagonals directions; lines may only go diagonally at those angles, or vertically. - Oblique ("Oblique Select" & "Oblique Draw") Choose an angle for a single diagonal direction; lines may only go diagonally at that one angle, vertically, or horizontally. + None of these tools are available when in "novice" complexity mode (see above). + "Select" tools (to edit vanishing points or angles) are not offered when in "beginner" complexity mode. However, in "beginner" mode: - Two "3-Point Draw" tools are provided, offering both 'upwards' and 'downwards' perspectives. - Two "Oblqiue Draw" tools are provided, offering recedings axes to both the right and the left. + Code: Bill Kendrick (with help from Pere Pujal i Carabantes ) + Sounds: - Select: "Gummibandloop_121.wav" (https://freesound.org/people/von_Gardener/sounds/473829/) Creative Commons 0 by von_Gardener - Click: "Rubber Band" (https://freesound.org/people/IndigoRay/sounds/241869/) Creative Commons 0 by IndigoRay - Release: "Elastic band c note" (https://freesound.org/people/mudflea2/sounds/708182/) Creative Commons 0 by mudflea2 * Epitrochoid and Hypotrochoid magic tools: + Tools to draw centered trochoids; to create art similar to a Spirograph or Wondergraph. Drag left/right to adjust the radius of the stator (fixed circle). Drag up/down to adjust radius of the rotator (the rolling circle). Size option adjusts the position of the virtual pen within (or outside) the rotator. - If "--nomagicsizes" is set, three versions each of epitrochoid and hypotrochoid drawing tools will be made available, each with differing pen positions (inside, edge, and outside). + Code: Bill Kendrick (with help from Pere Pujal i Carabantes ) + Sounds: - Drag: "Running Gear", CC0 1.0 Universal by Vurca (https://freesound.org/people/Vurca/) - Epitrochoid draw "celtic_harp_c3.wav" & Hypotrochoid draw "celtic_harp_c2.wav", both CC0 1.0 Universal from "Celtic Harp Samples" collection (https://freesound.org/people/Daphne_in_Wonderland/packs/29328/) by Daphne Farazi (https://soundcloud.com/daphnefarazi) + Closes https://sourceforge.net/p/tuxpaint/feature-requests/248/ * Improvements to "Text" & "Label" tools: --------------------------------------- * The name and size of the chosen font is shown in the instructions at the bottom. Bill Kendrick * Other Improvements: ------------------- * Makefile builds everything with "-O2" now, and adds "-ffast-math" Bill Kendrick * Simplify macOS building by signing macOS app bundle anonymously by default. Mark Kim * Windows build outputs Windows version (e.g., 11, 10, 8.1, etc.) and architecture (captured in `stdout.txt`). TOYAMA Shin-ichi * Bug Fixes: ---------- * Corrected bug in how scroll-down arrow appeared in Stamps selector when stamp controls were disabled. Bill Kendrick * Avoid potential crash when choosing rainbow palette Color Picker (HSV) from "New" dialog. Bill Kendrick * Ensuring mouse pointer shape changes to hand when hovering over control buttons below the scroll-down arrow in the selector area (e.g., stamp controls, text styles, etc.) Bill Kendrick * Force log files on Windows (stderr.txt, stdout.txt) to go under AppData. TOYAMA Shin-ichi * Avoid crash in some Magic tools if image data cannot be loaded. (Foam, Fretwork, Rails) Bill Kendrick * Localization Updates: --------------------- * Albanian translation Besnik Bleta * Albanian documentation (partial; NEW!) Besnik Bleta * Bulgarian translation Note: Does an overhaul of most of the translations to replace more polite, plural verb forms, with singular, spoken forms. Vankata453 * French translation Jacques Chion * French documentation Jacques Chion * Japanese translation TOYAMA Shin-ichi * Japanese documentation TOYAMA Shin-ichi * Portuguese (Portugal) translation Hugo Carvalho * Starter and Template Improvements --------------------------------- * Adjustments to avoid smearing/etc. + Nagasaki + Flower Frame (also arrange a leaf) + USA Map Pere Pujal i Carabantes * Documentation updates: ---------------------- * MAGIC API documentation glossary will now appear sorted alphabetically based on the localized versions of terms. (Reworked how that section of the document is constructed, over in `tuxpaint-docs` repository.) Bill Kendrick * Ports & Building: ----------------- * Don't pollute documentation folder ($DOC_PREFIX) with build scripts. Bill Kendrick 2023.July.20 (0.9.31) * New Magic Tools: ---------------- * Loops - Draw loop-the-loops. Bill Kendrick Sound effect CC-BY 4.0 by https://freesound.org/people/Jagadamba/ * Ribbon - Paints a flowing, fixed-length ribbon. Bill Kendrick Sound effect CC-BY 3.0 by https://freesound.org/people/CosmicEmbers/ * Smooth - Freehand paintbrush with a smoothing effect (Bezier curve) h/t Pere for the idea Bill Kendrick Sound effect CC-BY 4.0 by https://freesound.org/people/PercyFrench/ * Squiggles - Draw squiggly shapes. Bill Kendrick Sound effect CC0 (public domain) by https://freesound.org/people/Tomoyo%20Ichijouji/ * Improvements to Magic tools: ---------------------------- * Calligraphy offers size (thickness) options. Bill Kendrick h/t abruh for the idea * Improvements to Eraser tool: ---------------------------- * Fuzzy round erasers Bill Kendrick * Improvements to Fill tool: -------------------------- * When using the Linear Gradient fill tool, the angle of the gradient is now is shown (in the instructions at the bottom). Bill Kendrick h/t Miyagi Andel for the idea * Other Improvements: ------------------- * Saved pictures can, from the Open dialog, be copied into the user's templates directory, and used as backgrounds for other drawings by selecting it from the New dialog. + If the original image has already been exported as a template, it will not be re-saved. We check, in this order: - identical filename prefix (based on original saved picture) - identical file sizes (bytes) - identical image dimensions (pixels) - identical image data (CRC checksum) + Templates created from saved drawings in Tux Paint can be removed via a new "Erase" option that will appear when such templates are selected from the "New" dialog. [See below] Closes https://sourceforge.net/p/tuxpaint/feature-requests/236/ Bill Kendrick * "Erase" controls may be disabled via a new simplification configuration setting, "noerase". This removes the ability to delete: + saved images from the "Open" dialog, and + templates, from the "New" dialog Bill Kendrick * Ability to specify a font for Tux Paint's UI (button labels, dialog boxes, Tux tip text at the bottom), "uifont". + Notes: - The requested font & actual font loaded will be echo'd to STDOUT. - Be aware of spaces; wrap in quotes (") or escape with backslash (\) when needed, when using the "--uifont=..." command-line option. + Tux Paint can list available fonts to STDOUT (and then exits) if given the command-line option "--listfonts". Closes https://sourceforge.net/p/tuxpaint/feature-requests/146/ Bill Kendrick TOYAMA Shin-ichi * Different default fonts once again used on a per-locale basis. (This returns us to how Tux Paint behaved when we used SDL_ttf to directly load fonts for the UI, and used TTF font files that we ship in the `fonts/locale/` directory. We now ask Pango, via FontConfig, to look there for fonts.) Closes https://sourceforge.net/p/tuxpaint/feature-requests/240/ Bill Kendrick (code) h/t Mark Kim & TOYAMA Shin-ichi * Made it easier to tell when color picker (HSV palette) is the currently-selected color. https://sourceforge.net/p/tuxpaint/bugs/279/ Bill Kendrick * Documentation updates: ---------------------- * Added a "Controlling Tux Paint" section to README (covers mice/etc., tablets and touchscreens, joysticks, and keyboard accessibility mode). Bill Kendrick * Using `w3m` (rather than `links`) to generated plain text alternatives to HTML documentation. (It handles word-wrapping Japanese text properly.) Using a small PHP script to handle forbidden wrapping (e.g., no full-stop "。" at the beginning of lines, etc.) when processing Japanese docs. h/t TOYAMA Shin-ichi Bill Kendrick * Bug Fixes: ---------- * In some window size / button size combinations, Eraser scroll buttons were missing, and button clicks inaccurate. Bill Kendrick * Improved Eraser XOR outline when using Ctrl-Z & Ctrl-R for Undo/Redo, and Eraser and Stamp XOR outlines when using click+X for quick eraser access. Bill Kendrick * When specifying "datadir", Tux Paint's "New" dialog was able to present templates found in that directory, but would attempt to load from whatever the user's "savedir" was, instead. It was also unable to create a ".thumbs" subdirectory & store thumbnails there. h/t Giancarlo Orru for reporting the main part of this bug. Bill Kendrick * Exported drawings (to e.g. ~/Pictures) would contain extraneous data beyond the end of the data (copied from the original PNG). Bill Kendrick * Shell expansion (via wordexp()) of configuration options containing spaces (e.g., `printcommand=ps2pdf - - > $HOME/print.pdf`) would fail & cause a crash. It now shows an error and recommends adding quotes. (e.g., `printcommand="ps2pdf - - > $HOME/print.pdf"`). + Tux Paint Config. 0.0.22 wraps certain options in quotes now + Tux Paint 0.0.31 will trim quotes, when wordexp() is not used (e.g., Windows) Bill Kendrick * Mended bad rendering of color picker (HSV palette) button when selecting a Label text with a color not found in built-in colors, and mend unwanted outline around the chosen color in the color selector (pipette), color picker (HSV palette) and color mixer buttons. Bill Kendrick * Localization Updates: --------------------- * Catalan translation Pere Pujal i Carabantes * French translation Jacques Chion * Icelandic translation Sveinn í Felli * Icelandic documentation Sveinn í Felli * Japanese translation TOYAMA Shin-ichi * Japanese documentation TOYAMA Shin-ichi * Russian translaton Olesya Gerasimenko * Updated the Chinese (Traditional) subset font file that ships with Tux Paint, based on the current translation strings. (Updated Python script to explicitly use `python2` these days.) Bill Kendrick * Ports & Building: ----------------- * Ensure `trans` dir. exists, for parallel builds (`make -j`) Bill Kendrick h/t bkw @ slackbuilds * A new `PACKAGE_ONLY` variable to Makefile can be used to place launcher icon files into $(DESTDIR)$(PREFIX), rather than using `xdg-...` tools to install them. (Avoids polluting local filesystem while generating packages, e.g. for Slackware Linux) Tim Dickson * When generating thumbnails for Starters & Templates, create a "inkscape" shellscript, which simply does "exit 1", and add the current directory to the beginning of the $PATH variable. This will prevent ImageMagick's "convert" utility from using Inkscape, if installed, and fallback to "rsvgconvert". (When building Slackware packages, it was noticed that FontConfig was running and generating a cache, which was unexpected.) Tim Dickson * WIP Replaced deprecated RSVG library calls. https://sourceforge.net/p/tuxpaint/bugs/278/ Bill Kendrick * Removed LOW_QUALITY_COLOR_SELECTOR compile-time option Bill Kendrick 2023.May.18 (0.9.30) * Improvements to Stamp tool: --------------------------- * Avoid playing English descriptive sound for a stamp stamp when not running in an English locale. Closes https://sourceforge.net/p/tuxpaint/bugs/261/ Bill Kendrick * Improvements to Shape tool: --------------------------- * Octagon allows aspect ratio change Bill Kendrick * Slight improvement to shape calculations Bill Kendrick * Improvements to Magic tools: ---------------------------- * Support for sizes in Magic tools via the plugin API. (Closes https://sourceforge.net/p/tuxpaint/feature-requests/220/) + Adds a new UI element for setting sizes in the Magic tool. + May be disabled with the "nomagicsizes" option. + Plugins' "init()" functions are sent a new "disabled_features" argument containing bitmask of Magic-relevant disabled features (so far Magic controls & the new Magic sizes feature). + Note: Bumps `TP_MAGIC_API_VERSION` to 0x00000008. Bill Kendrick * Various Magic tools now support sizing options: + Blocks, Chalk, Drip + Bloom + Blur + Bricks + Cartoon + Clone + Confetti + Darken, Lighten + Distortion + Emboss + Fisheye + Flower + Foam + Googly Eyes + Kaleidoscope, Symmetric L/R & U/D, Pattern, Tiles + Light + Metal Paint + Mosaic + Negative & Opposite + Noise + Pixels + Puzzle + Rain + Rainbow & Smooth Rainbow + Remove Color, Keep Color + Ripples + Rosette, Picasso + Saturate, Desaturate + Sharpen, Edges, Silhouette + Smudge, Wet Paint + Tint, Color & White + Toothpaste + TV + Xor Colors Bill Kendrick * String 'V' and String corner magic tools preview with XOR effect. Bill Kendrick * Clone performance improved. Bill Kendrick * Foam bubbles now always appear circular. Bill Kendrick * New Foam sound effect. (Sound effect licensed as Creative Commons 0 by https://freesound.org/people/ristooooo1) * TV offers a new "TV (Bright)" variation (the original was always too dim, but has been utilized by people as an artistic way to darken an image, so don't want to take away the 'classic' variation). Bill Kendrick * Mosaic (shaped) tools: more progress bar feedback. Bill Kendrick * Blind: Remove entire-picture ("fullscreen") mode; it wasn't particularly useful. h/t Pere Bill Kendrick * Light: Better shape to the effect. Bill Kendrick * New Magic Tools: ---------------- * Rainbow Cycle: Changes colors each time you use it (similar to Rainbow and Smooth Rainbow, but only changes between strokes). Bill Kendrick * Other Improvements: ------------------- * Word-wrap long button labels, for better readability. (h/t Jozef Riha for the idea.) Helps https://sourceforge.net/p/tuxpaint/bugs/131/ Bill Kendrick * Slightly more verbose output from "--verbose-version" (shows when certain features are enabled; not just disabled) Bill Kendrick * SDL_VIDEO_WINDOW_POS environment variable is now recognized when running Tux Paint in fullscreen mode (useful for positioning Tux Paint on a particular monitor). Closes https://sourceforge.net/p/tuxpaint/bugs/277/ Bill Kendrick * Starter and Template Improvements --------------------------------- * More starters have smearing disabled (world maps & "skyline-sf-dusk") (h/t Anna-Cornelia Queen) Bill Kendrick * Bug Fixes: ---------- * Don't try to load a blank-named template during slideshow playback. Bill Kendrick * Color palette would still show previously-selected color as active when returning from the temporary color pipette ([Ctrl] + click). Bill Kendrick * Update maximum button size calculation to account for Stamp rotation button added in 0.9.29. (Otherwise you could end up seeing no stamps between the up/down scroll buttons!) Bill Kendrick * Some button sizes could cause buttons to render with gaps (e.g. 90 and 91), where 'garbage' graphics could appear. Bill Kendrick * On Haiku, read config from the correct location ({home}/config/settings/TuxPaint/tuxpaint.cfg) Luc 'Begasus' Schrijvers * Cartoon magic tool would always apply the effect at the bottom right, and also move improperly. Mended. h/t @Miyagi_Andel on Twitter for the bug report. Bill Kendrick * Ports & Building: ----------------- * Created "src/indent.sh", to run 'indent' against source files. Ran it during 0.9.30 development. Bill Kendrick * Now requiring "SDL2_Pango" library all the time (no longer builds without it). Motivation: Without it, many scripts (e.g. Japanese, Thai, Arabic) did not render properly. Closes https://sourceforge.net/p/tuxpaint/bugs/268/ (h/t Pere for confirming the situation.) Bill Kendrick * Documentation updates: ---------------------- * Haiku build instructions added to INSTALL docs. Luc 'Begasus' Schrijvers * Added screenshot examples of each Magic tool. Bill Kendrick * Localization Updates: --------------------- * Chinese (Simplified) translation 臧传明 * French translation Jacques Chion * Icelandic translation Sveinn í Felli * Japanese translation TOYAMA Shin-ichi * Slovak translation Jozef Říha * Songhay translation Abdoul Cisse Mohomodou Houssouba Songhay localisation and dictionary project 2023.April.2 (0.9.29) * Improvements to "Stamp" tool: ----------------------------- * Stamps may now be rotated. Use the "stamprotation=no" option to disable entirely, or the control to enable/disable (if stamp controls are not disabled). Pere Pujal i Carabantes (feature) Bill Kendrick (on/off control) * Outline while placing & rotating stamp is now thicker. Bill Kendrick h/t Pere for reporting this & Albert for explaining things. * New Magic Tools: ---------------- * "Googly Eyes"; place eyeballs in your drawing. Bill Kendrick (Sound effect licensed as Creative Commons 0 by https://freesound.org/people/MrFossy/) * "Maze"; draw a maze pattern over part or all of your drawing. Bill Kendrick (Sound effect licensed as Creative Commons 0 by Julian Evans, https://www.julianevans.info/) * "Circles" and "Rays" -- convert the image into circular or ray brushstrokes, and "Fur" -- add fur to a picture. Bill Kendrick (Inspired by "Night Sky Scene [Pen Parallax]" Scratch Project by -HexaScape- ) ("Circles" and "Rays" sound effects based on Richard Wagner's "Ride of the Valkyries", recording licensed as Creative Commons Attribution 3.0 Unported (CC BY 3.0), and conducted by, Philip Milman ) ("Fur" sound effected licensed as Creative Commons 0 (CC0 1.0) by https://freesound.org/people/Kawgrim/) * "Bloom" - Apply a glowing light bloom effect to the image. Bill Kendrick (Sound effected licensed as Creative Commons 0 (CC0 1.0) by https://freesound.org/people/kentnelson64/) * "Color Sep." (color separation) and "3D Glasses" - Separate the colors of the image, e.g. Red vs Cyan, as in anaglyphic "3D glasses" images. Bill Kendrick ("3D Glasses" sound effected licensed as Creative Commons 0 (CC0 1.0) by https://freesound.org/people/Zarkonnen/; "Color Sep." sound effect licensed as Creative Commons Attribution 4.0 International (CC BY 4.0) by https://freesound.org/people/juskiddink/) * "Double Vision" - separate and blend (50/50) the image, simulating double vision. Bill Kendrick (Closes https://sourceforge.net/p/tuxpaint/feature-requests/221/) (Sound effect licensed as Creative Commons 0 (CC0 1.0) by https://freesound.org/people/nomiqbomi/) * "Saturate" & "Desaturate" - Increase or decrease color saturation. Bill Kendrick (Sounds based on "can lid.wav", Creative Commons 0 (CC0 1.0) by https://freesound.org/people/Saltbearer/) * "Keep Color" & "Remove Color" - Completely desaturate parts of the picture, based on the chosen color. "Keep" keeps the saturation intact if the colors match; while "Remove" desaturates parts of the image that match the chosen color. Bill Kendrick (Sounds based on "Ethnic drums » ethnic beat6.wav" and "...7.wav", Creative Commons 0 (CC0 1.0) by https://freesound.org/people/tootoos24/) * "Kaleido-4", "-6", and "-8" -- Kaleidoscopic lens effects. Bill Kendrick (Sounds based on "Xylophone chromatic descending passages improv", "Xylophone scale descent improv", & "Xylophone chromatic passages improv", licensed as Creative Commons Attribution 4.0 International (CC BY 4.0) by https://freesound.org/people/Ustym_Petrovych/) * Improvements to Magic Tools: ---------------------------- * Better performance from "Rush" (by using SDL_gfx rotozoom) Pere Pujal i Carabantes * "Zoom" and "Perspective" background colors change immediately when you select new colors. Bill Kendrick * Improvements to Fill tool: -------------------------- * Shaped fill tool (similar to radial gradient, but follows the shape of the object). Bill Kendrick (Based on http://www.codersnotes.com/notes/signed-distance-fields/ by Richard Mitton) * Improvements to Shape tool: --------------------------- * Rotation of corner-stretched shapes are around their center, rather than orbiting a corner. Bill Kendrick * Stretching a shape upwards rotates it 180-degrees (e.g., stretching the triangle downwards makes an up-pointing triangle (^), as before; but stretching it upwards now makes a down-pointing triangle (v)) Bill Kendrick * Improvements to Color selection: -------------------------------- * The rainbow palette color picker allows you to switch to the chosen built-in color, the pipette (color selector) color, or the color mixer's color, and make adjustments using its hue, saturation, and value controls. * New Starter ----------- * Space_draw.svg by Ingrid Illa Terrier * New Template ------------ * rainbow_gradient.png by Bill Kendrick [Hint: Start a new picture, paint over the entire thing with black, then use eraser to 'scratch away' and expose the rainbow!] * Starter and Template Improvements --------------------------------- * Now possible to set scaling and smearing options for each starter or template image. A ".dat" file can be created which describes whether it's okay to scale and crop the image's top/bottom and/or left/right, and if not both, whether to smear the sides of the starter/template to the edges of the canvas (the prior behavior, and the default), or use a specific solid color background. When scaling, gravity may be specified, to ensure that a particular side or corner of the starter or template is included. Closes https://sourceforge.net/p/tuxpaint/feature-requests/190/ Bill Kendrick with suggestions from Albert Cahalan and Pere Pujal i Carabantes * Other Improvements: ------------------- * A keyboard shortcut is now available for quickly accessing a small eraser. Hold the [X] key while clicking, and drag around the picture to erase. (Not available if in the process of rotating a stamp or shape, or when Text or Label tool are active.) Release the mouse to return to normal operation. (Eventually, this could be utilized when we can support the recognition of a drawing tablet stylus' "eraser" tip; see https://sourceforge.net/p/tuxpaint/feature-requests/8/) Bill Kendrick * When deleting a file on macOS, move the file to trash instead of deleting the file permanently. Mark Kim * Automatic button size option ("buttonsize=auto"), to scale button size reasonably based on window size / fullscreen resolution. (For https://sourceforge.net/p/tuxpaint/feature-requests/218/) Pere Pujal i Carabantes * Using SDL linear scaling hint to reduce jaggedness when displaying in full screen at a different resolution than the display's native size. (SDL2.0) TOYAMA Shin-ichi * If only one display is available, when running in windowed mode and asking for Tux Paint to appear in a width and/or height larger than the display's dimensions, Tux Paint will fall back to the maximum(s) the display is capable of. (Closes https://sourceforge.net/p/tuxpaint/feature-requests/113/) Bill Kendrick * Changed default UI font from Bitstream Vera to DejaVu Sans. h/t Mark Kim * Update Tux Paint Magic API so `set_color()` functions can alter the canvas. (Utilized by "Zoom" and "Perspective", so far.) Note: Bumps `TP_MAGIC_API_VERSION` to 0x00000007. Bill Kendrick * Joystick button to activate "Fill" tool added. (Closes https://sourceforge.net/p/tuxpaint/feature-requests/199/) Bill Kendrick * Play dialog popup animation at a consistent speed across platforms. Also, fix the issue with animation not clearing after the final render. Mark Kim * Bug Fixes: ---------- * Always creating 24-bit canvases, in an attempt to avoid blending artifacts, e.g., when applying brush strokes using the Paint tool. (Previously, we were using the display's color depth and masks, which seemed to work fine under SDL1.2, but does not under SDL2.) Closes https://sourceforge.net/p/tuxpaint/bugs/259/ Bill Kendrick * Magic tools with very long filenames/function names did not load on some Android systems. Affected new Kaleido-* tools, but also Blocks, Chalk, and Drip (hence this being listed as a bug fix). h/t Pere for discovering this. * On touch devices, the color pipette tool could easilly be immediately dismissed due to the 'button up' event happening right where the "Back" dismissal/cancel button appeared. Now only pays attention to 'release' if the button was down. Bill Kendrick h/t Pere for reporting this. * SDL1.2 supported "SDL_VIDEO_WINDOW_POS" environment variable, but SDL2 does not; so reimplemented it ourselves. (See ENVARS docs.) Bill Kendrick * Mended issue that prevented pop-up prompt's drop-shadows from rendering (under SDL2). Bill Kendrick * Opening and immediately dismissing Color Mixer could cause an unexpected color to be chosen. h/t @kentonyanamin on Twitter for reporting. Closes https://sourceforge.net/p/tuxpaint/bugs/251/ Bill Kendrick * Line shape could report "360 degrees", which should be "0 degrees". h/t Karl Ove Hufthammer for the report Closes https://sourceforge.net/p/tuxpaint/bugs/255/ Bill Kendrick * Some Magic tools did not change descriptions when switching from paint to full-canvas mode. + Emboss + Drip h/t Karl Ove Hufthammer for the reports (https://sourceforge.net/p/tuxpaint/bugs/256/ https://sourceforge.net/p/tuxpaint/bugs/257/) Pere Pujal i Carabantes & Bill Kendrick * Full-screen Drip magic effect didn't work well Pere Pujal i Carabantes Closes https://sourceforge.net/p/tuxpaint/bugs/256/ * Receive clicks when Tux Paint window is regaining focus (via "SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH"), which is how the earlier SDL1.2 versions worked. Bill Kendrick * Various Magic tools miscalculated which part of canvas needed updating in their paint modes; mended. (Bricks, Cartoon, Clone, Distortion, Emboss, Glass Tile, Light, Metal Paint, Negative, and Pixels.) Bill Kendrick * Some brushes' initial spacing was not acheivable after changing the spacing. Now 'nudging' back to the default when chosing the spacing option that's closest to the default. (h/t Pere for pointing this out) (Also, some tweaks to the spacing UI) Bill Kendrick * Mend crash bug in "Paint" and "Radial Gradient" modes of Fill tool. Pere Pujal i Carabantes with Bill Kendrick Closes https://sourceforge.net/p/tuxpaint/bugs/269 (h/t Miyagi Andel for reporting & Shin-ichi TOYAMA for pinpointing the issue) * Mend crash bug in "perspective.c" Magic tools. (Perspective, Panels, Timezoom, Zoom, Rush) Bill Kendrick * Disallow using Ctrl-Z shortcut while drawing or rotating shapes or shapes, to avoid unexpected results. Closes https://sourceforge.net/p/tuxpaint/bugs/239/ Pere Pujal i Carabantes * Scaling of button labels often caused them to stretch wider than they should have. Corrected 'keep aspect ration' option in zoom(). [Note: That should be replaced with an SDL2_gfx call!] Bill Kendrick * Text from unfinished "Label" tool input would appear after creating a New image or Opening an existing one. Mended. Closes https://sourceforge.net/p/tuxpaint/bugs/246/ Pere Pujal i Carabantes and Bill Kendrick * On-screen keyboard would crash Tux Paint on Android; mended. Pere Pujal i Carabantes * Ports & Building: ----------------- * Processed PNG images through `pngout` to increase some compression (also corrects some warnings being reported by libpng (via SDL_image); h/t Tim Dickson, closes https://sourceforge.net/p/tuxpaint/bugs/252/) Bill Kendrick * Automatically update macOS build version from the command line at build time. Mark Kim * Change name of Tux Paint config. files from ".conf" to ".cfg" on Windows. TOYAMA Shin-ichi * Merge "tuxpaint.desktop" file at build time (rather than as a manual step) (See https://sourceforge.net/u/wjjjjt/tuxpaint/ci/b4aa697474e1cc60b6faac80297cc66a602f54fd/) Will Thompson * Use RHEL 7-compatible appdata filename + Rename metainfo file to appdata + Fix detection of xdg-icon-resource (See https://sourceforge.net/u/wjjjjt/tuxpaint/ci/4120af3b5f78ad69819b35ec821974081194c475/) Will Thompson * Adding "2DGraphics" (and hence "Graphics") and "KidsGame" (and hence "Game") to the categories listed in "tuxpaint.desktop" launcher for FreeDesktop systems (e.g., Linux) Will Thompson * Add "tuxpaint-fullscreen.desktop", which launches Tux Paint with "--fullscreen=native" option on Freedesktop.org environments (similar to the fullscreen launcher we've had for Windows) (Closes https://sourceforge.net/p/tuxpaint/feature-requests/227/; h/t Aaron Wolf) Bill Kendrick * Remove "intltool" dependency. (Thanks to this, no need for "tuxpaint.desktop.in". It involved rewriting "update-po.sh" to invoke 'xgettext' and 'msgfmt' rather than 'intltool' commands.) (See https://sourceforge.net/u/wjjjjt/tuxpaint/ci/31412499690cc3c4c8729d7100e241a346b5741e/) Will Thompson * Added "appstream" metainfo file (used by software centers like GNOME Software and KDE Discover) to display info about an app. (See https://sourceforge.net/u/wjjjjt/tuxpaint/ci/74506214e74d326e7515af3e0bfde41161d1531f/) For https://sourceforge.net/p/tuxpaint/feature-requests/172/ Richard Hughes and Will Thompson * Various Android port updates * FIXME: Pere & Terrence, can you enumerate them here??? * Changing Android save paths to now default to the 'external' dir from the device itself. https://github.com/tux4kids/Tuxpaint-Android/pull/18 Terrence Sheflin Pere Pujal i Carabantes * SDL2.0 version: Compatibility with SDL2_Pango 0.1.3. Mark Kim * New tool, "test-png", which exercises libpng library on a set of PNG image files, allowing us to find those which cause Tux Paint (via SDL_image, in turn via libpng) to report back warnings to STDERR. h/t Tim Dickson, per https://sourceforge.net/p/tuxpaint/bugs/252/ Bill Kendrick * Updated `src/po/check_translations.sh` sanity-checking script to check `src/po/LINGUAS` file. Also, OPTION docs and Tux Paint Config. source updated to make the script's job easier. Bill Kendrick * Cleaned up .c and .h source files using `indent`: find . -name "*.c" -or -name "*.h" -exec indent -nbfda -npcs -npsl -bli0 --no-tabs {} \; Bill Kendrick * Cleaned up some compile-time warnings that cropped up in SDL2 branch. Bill Kendrick TOYAMA Shin-ichi * On Windows, run "tuxpaint-config" with the same privileges as the installer app TOYAMA Shin-ichi * Pango loads Tux Paint-supplied fonts on macOS. Previously Pango loaded system-supplied fonts instead, which could lead to fonts not rendering in a human-readable text. This change fixes https://sourceforge.net/p/tuxpaint/bugs/265/ Mark Kim * More fonts for the text and label tools on the macOS. Enabled forked fonts so more fonts are available for use with the text and label tools on the macOS. This is particularly noticible with localized fonts because only a few localized fonts may exist on the system so missing even a single font can lead to inability to type in a localized language at all. It's unclear why forked fonts were disabled to start on the macOS but it appears to be reliable now so it's now been enabled to take advantage of its benefits. Mark Kim * Speed up macOS app bundle build time. Fixed a typo that was causing the macOS app bundle build time to be unnecessarily long. The app buildle build time is now ~20x faster. Mark Kim * Add missing dependencies in Makefile which result in build failures when building with the --shuffle flag for GNU make. Philipp Rösner * Correction to allow Haiku printing code to compile again Luc 'Begasus' Schrijvers * Documentation updates: --------------------- * New "Quickstart Guide" document added. Bill Kendrick * "Troubleshooting" document added (work-in-progress, and mostly for developer use when getting info. from users experiencing problems) Bill Kendrick * Magic tool API documentation updated to match other docs, and allow for localization. (Maintained in "tuxpaint-docs" repo.) Bill Kendrick * Example Magic tool source file ("tp_magic_example.c") now allows for localization. (Maintained in "tuxpaint-docs" repo.) Bill Kendrick * Updated macOS build instructions for SDL2.0 (INSTALL docs). Mark Kim * Added an overview of building for Android (INSTALL docs). Pere Pujal i Carabantes (Edited by Bill Kendrick) Closes https://sourceforge.net/p/tuxpaint/feature-requests/224/ * "--verbose-version" now shows whether SDL2_Pango is being used. Bill Kendrick * Localization Updates: --------------------- * Allowing translators to provide strings that help score fonts based on their support for the locale, and placing them higher in the Text and Label tools' font selector. Albert Cahalan and TOYAMA Shin-ichi * Bulgarian Vankata453 * Catalan translation Pere Pujal i Carabantes * Dutch translation Willem Heppe * French translation Jacques Chion * Gaelic (Irish) translation Kevin Scannell * Georgian translation Gia Shervashidze * Gujarati translation Kartik Mistry * Icelandic translation Sveinn í Felli * Japanese translation TOYAMA Shin-ichi * Japanese documentation TOYAMA Shin-ichi * Japanese font updated A subset of Genjyuu Gothic: http://jikasei.me/font/genjyuu/ Added by TOYAMA Shin-ichi * Korean translation Mark Kim * Norwegian Nynorsk translation Karl Ove Hufthammer * Portuguese (Portugal) translation Hugo Carvalho * Punjabi translation A S Alam * Ukrainian translation Yuri Chornoivan 2022.June.4 (0.9.28) * Improvements to "Paint" and "Lines" tools: ------------------------------------------ * Brush spacing may now be altered within Tux Paint. + Note: A "nobrushspacing" simplifcation option is provided to disable this feature; Tux Paint will continue using the brushes' default spacings. Bill Kendrick * Many brushes have been given more reasonable default spacing settings (e.g., star brush's new default spacing causes individual stars to appear, rather than a 'smear'). Closes https://sourceforge.net/p/tuxpaint/bugs/243/ (h/t Areti Tsolakidou for the suggestion) Bill Kendrick * Instructions at the bottom note when a brush is directional, animated, or both, when chosing a new brush. Bill Kendrick * Improvements to "Stamp" tool: ----------------------------- * Stamp performance improvements + Stamps are scaled before they are colorized or tinted, to increase performance. + The current stamp (in its current form: size, orientation, and color) is cached, so it may be applied to the canvas many times without having to re-render. (No longer scaling and tinting every time you click.) Closes https://sourceforge.net/p/tuxpaint/bugs/147/ (h/t Andre Anckaert) Bill Kendrick * Improvements to "Eraser" tool: ------------------------------ * Outline for circle-shaped erasers is now also circular. Closes https://sourceforge.net/p/tuxpaint/bugs/244/ (h/t Areti Tsolakidou for the suggestion) Bill Kendrick * Improvements to "Shapes" tool: ------------------------------ * Added hexagon (6-sided polygon) and heptagon (7-sided) shapes. Bill Kendrick * Showing aspect ratio of shapes when stretching them. Bill Kendrick * Using floats more, allowing for proper heptagon support, as well as a non-skewed starting angle for octagons (22.5 degrees). Bill Kendrick * Improvements to "Text" & "Label" tools: --------------------------------------- * Onscreen keyboard button sizes no longer restricted to "the same size as other UI buttons" or "1/4th the size...", and will now scale down from the full-size buttons to whatever allows the full layout to fit within 90% of the canvas width and 50% of the canvas height (picking the smallest size, to keep square buttons for letters/numbers/symbols). + Closes https://sourceforge.net/p/tuxpaint/feature-requests/212/ (h/t Anat Caspi) Bill Kendrick * "Label" tool now offers a way to "apply" a label to the canvas (as if it were 'painted' onto the drawing with the "Text" tool). Closes https://sourceforge.net/p/tuxpaint/feature-requests/213/ Bill Kendrick & Pere Pujal i Carabantes * Bugfix: Onscreen keyboard repositions itself to the top if you use [Enter] to move the cursor down, and it begins overlapping the keyboard. Bill Kendrick * Bugfix: Positioning and rendering of labels selected for editing via [Tab] cycling & the [Enter] key now works as expected. Bill Kendrick * More instructional text is shown (and sound effects play) when using the Label tool. Bill Kendrick * Improvements to Color Picking: ------------------------------ * A keyboard shortcut is now available for picking colors from the canvas more quickly. Hold either (left or right) [Ctrl] key while clicking, and the color selector option will appear. Release the mouse button over a color on the canvas to choose it (or outside the canvas to abort). Closes https://sourceforge.net/p/tuxpaint/feature-requests/209/ Bill Kendrick * A new color mixer has been added, allowing red (magenta-ish), yellow, and blue (cyan-ish) primary colors, along with white ("tint"), grey ("tone"), and black ("shade") to be added together to form a desired color. Undo/Redo is available! Bill Kendrick * The rainbow palette color picker now acts as a true Hue/Saturation/Value picker, with the addition of a "value" slider. Bill Kendrick * The crosshairs on the rainbow palette color picker are larger, and scale up (or down) based on the UI size (--buttonsize setting). Bill Kendrick * Show a "pipette"-shaped mouse pointer when selecting a color from the color palette, or the picture. Bill Kendrick * Don't play 'bubble' paint sound when color picker or selector (or new mixer) are aborted (via their "Back" buttons or [Esc] key). Bill Kendrick * New Magic Tools: ---------------- * "Tile Zoom"; like the regular "Zoom", but tiles the results when you scale down (similar to "Panels", but with non-integer scaling). Bill Kendrick * "Rush"; similar to "Zoom", but the effect is blurred. Bill Kendrick * New Brushes: ------------ * "Dog" animated directional brush. (Modified version of art from the "oneko" package by Tatsuya Kato. https://github.com/tie/oneko) Brushified by Bill Kendrick * Other Improvements: ------------------- * The up & down scroll buttons now auto-repeat if you click/tap and hold them in the "Tools" section, and "Open", "New", and "Slideshow" dialogs. (For https://sourceforge.net/p/tuxpaint/feature-requests/173/) Bill Kendrick * The "Slideshow" now begins by showing the most recent images (the bottom of the list of saved images) rather than the oldest (the top of the list). Bill Kendrick * Added an option to sort the "Open" and "Slideshow" dialogs by newest-images-first, rather than the default oldest-first (--reversesort setting). (For https://sourceforge.net/p/tuxpaint/feature-requests/206/) Pere Pujal i Carabantes and Bill Kendrick * Localization Updates: --------------------- * Albanian translation Besnik Bleta * Icelandic translation Sveinn í Felli * Japanese translation TOYAMA Shin-ichi * Santali translation (Ol-Chiki) Prasanta Hembram * Slovak translation Jozef Říha * Korean translation Mark Kim * Portuguese (Portugal) translation Hugo Carvalho * Updated the Chinese (Traditional) subset font file that ships with Tux Paint, based on the current translation strings. Bill Kendrick * Tux Paint for macOS can now localize the macOS menubar. Mark Kim * Tux Paint for macOS can now detect the system language. Mark Kim * Updated `src/po/check_translations.sh` sanity-checking script so it properly finds the updated docs & other changes. Bill Kendrick * Bug Fixes: ---------- * Fixed abnormal exit of threaded font scan which prevented enabling text/label tools on some environment such as Rocky Linux 8. TOYAMA Shin-ichi * Ports & Building: ----------------- * Windows installer forces to uninstall before the installation if version 0.9.27 and older is found. * Windows installer will no longer show a dialogue to inform user of uninstallation when "/VERYSILENT" switch is specified (useful for automated installation/uninsta$llation processes). * Pass the full path of locale directory to bindtextdomain(). Workaround to the issue that gettext() can not find translation files after the update of MinGW/MSYS2 in January 2022. TOYAMA Shin-ichi * Initializing layout of onscreen keyboard (osk) to avoid undefined behavior when changing keyboards. Pere Pujal i Carabantes * Address issue with uppercase-only mode in Turkish locale. Pere Pujal i Carabantes * Fixed a bug that can randomly crash Tux Paint when started in a language with a input method map (*.im). Mark Kim * Avoid leaking memory when loading Label text strings from a saved drawing. (Affected Windows only.) Bill Kendrick * Avoid crashes when coming across unexpected Label data stored within a saved PNG image. (h/t Donny Sianipar for the report & sample image) Bill Kendrick and TOYAMA Shin-ichi * Adjust where libpaper gets init'd. Reuben Thomas (https://sourceforge.net/p/tuxpaint/bugs/250/) * Ports & Building: ----------------- * Release builds tarballs that denote SDL1.2 vs SDL2.0 branch. * Windows * Windows installer will no nlonger show a dialogue to inform user of uninstallation when "/VERYSILENT" switch is specified (useful for automated installation/uninsta$llation processes). TOYAMA Shin-ichi * Standard output and standard error are now redirected to the files in User's save directory for example: "C:\Users\\AppData\Roaming\TuxPaint" TOYAMA Shin-ichi * macOS Mark Kim * On macOS, use the CMD (⌘) key wherever CTRL is used on other OSes * Use character class in macOS build script (It appears \t is not compatible with certain versions of grep.) * Remove install stages not needed on macOS * When looking up paths of fonts, preferences, etc., macOS searches two places, the system paths and the user paths under $HOME. Now handling rare scenario where HOME is not set; if so, now just searching the system path twice instead of searching the system path followed by going into an undefined behavior (possibly segfault crash). * Fonts are now also looked for in the system preferences path, /Library/Application Support/TuxPaint/fonts * Fixed the issue with the backspace not working in text and label tools when in certain language modes in macOS. Mac keyboards have the DELETE key where PC keyboards have the BACKSPACE key, and the two keys have different keycodes, so the backspace requires special handling on the macOS in programs writtens for the PC. * Remove the `--openfolder` option when calling `bless` from Apple Silicon. This option is no longer valid on Apple Silicon as of the March 2022 release of Xcode. * Localization of SDL2.0 menu on macOS. * Documentation updates: --------------------- * Added some styling, use of HTML semantic tags, call-outs for notes, improved printed output, and other improvements to the README and OPTIONS docs. Bill Kendrick * Magic Tool docs sort tools by localized names, include full localized names in the "See also" references, corrected HTML docs (and subsequent TXT conversions) character encoding (us-ascii -> UTF-8). Bill Kendrick * macOS Apple Silicon and Universal Binary build instructions Mark Kim * Compressed PNG images in documentation. Bill Kendrick 2021.November.25 (0.9.27) * New Magic Tools: ---------------- * "Lightning" - Draws a bolt of lightning striking between the start and end positions of a line. * "Opposite" -- Change parts of the picture to their complementary colors. (Similar to "Negative", but instead of inverting the Red, Green, and Blue components, it rotates the Hue 180 degrees while leaving Saturation and Lightness alone.) (Closes https://sourceforge.net/p/tuxpaint/feature-requests/136/) * "Panels" - Convert your picture to 4-panel-comic-style 2x2 image, repeating the original. (Repeat for "compound eye" style effects!) (Closes https://sourceforge.net/p/tuxpaint/feature-requests/204/) * "Reflection" - Create a reflection of part of the image, below (as in a lake reflection), above, to the left, or to the right. * "Smooth Rainbow" - A smooth, gradient variation of the classic "Rainbow" Magic tool. * "Stretch" - Squish and stretch parts of your picture, giving a fun-house mirror effect. * Magic Tool Improvements: ------------------------ * "Halftone" works much better, drawing large overlapping circles of Cyan, Magenta, Yellow, and Black, based on the average color of the area of the picture being replaced, to give a "newsprint" effect. * "TV" now breaks pixels into red/green/blue components, rather than merely adding a 'scanline' effect. * "Blocks", "Cartoon", "Chalk", "Emboss", and "Halftone" can all now affect the entire image at once. * More tools update progress bar while doing lots of work (mostly full-screen mode). More tools play their sound effects when applying effects in full-screen mode. * Improvements to "Paint" and "Lines" tools: ------------------------------------------ * Rotational brushes now supported. Unlike "directional" brushes, in which a 3x3 grid representing the 8 cardinal directions (45 degree steps) is used, only a single brush image is required, and Tux Paint will rotate it between 0 and 360 degrees, depending on the direction the mouse is going. The brush's ".dat" file should contain a line consisting of the word "rotate". + Note: This adds a dependency on "SDL_gfx" library (Homepage: https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/ SourceForge project page: https://sourceforge.net/projects/sdlgfx/) as this feature use it's "rotozoomSurface()" and "SDL_gfxBlitRGBA()". (Closes https://sourceforge.net/p/tuxpaint/feature-requests/122/) * Replaced the "arrow_compass_points" brush with a single arrow which can rotate at any angle, using the new "rotational" brush feature. * Added "rotating dash" brush. * Small icons appear on brush selection buttons denoting when the brush is animated and/or directional. (Closes https://sourceforge.net/p/tuxpaint/bugs/183/) * Other Improvements: ------------------- * New "Fill" tool mode: "Brush". Similar to classic flood fill, but only fills as you move the brush within the area to be filled. * Grouped similar Magic tools into sections. (e.g., all of the distortions, versus painting tools, versus full-image effects, etc.) Use the left/right pagination buttons that now appear at the bottom of the selector (similar to those used with Stamps tool) to switch between groups. Closes https://sourceforge.net/p/tuxpaint/feature-requests/201/ Note: Bumps `TP_MAGIC_API_VERSION` to 0x00000005. * Initial support to place pictures deleted from the "Open" dialog into the "Recycle Bin" on Windows. * When drawing lines or rotating a shape, the angle of rotation is shown (in the instructions at the bottom). * Documentation updates: --------------------- * Ensured Tux Paint's built-in help ("tuxpaint --help"), Unix manual ("man page"), and command-line option tab-completion list, and "OPTIONS" documentation all cover the full set of Tux Paint options. * Reorganized the "Available Options" section of "OPTIONS" documentation (to match the organization found in the UI of "Tux Paint Config.") * Reorganized the options listed in Tux Paint's man page, to more closely (but not precisely) match the organization noted above. * tuxpaint(1) manpage is now managed & translatable via the 'tuxpaint-docs' project, just like the HTML & plaintext documentation files (since 0.9.26). * Documentation to the various Magic tools are also now managed & translatable via the 'tuxpaint-docs' project. * Added table of contents to some documentation ("Options Documentation", "FAQ", "Installation Documentation", and "Advanced Stamps 'How-To'"). * Moved Windows and macOS compilation instructions into main "Installation Documentation" (docs/.../INSTALL...). * Expanded explanation of how stamp tinting modes work in "Extending Tux Paint" documentation. * Documentation translation updates: + French translation Jacques Chion * New Starters: ------------- * Frog Jeff Davidson, (Parkdale Elementary, Waco, TX; 2007) * Localization Updates: --------------------- * Allowing Left [Alt] key for switching to Japanese input method (for keyboards that lack a Right [Alt] key). TOYAMA Shin-ichi * Catalan translation Pere Pujal i Carabantes * French translation Jacques Chion * Icelandic translation Sveinn í Felli * Japanese translation TOYAMA Shin-ichi * Portuguese (Portugal) translation Hugo Carvalho * Ensure some locales have hints to find the best fonts for the Text and Label tools: + Greek + Scottish Gaelic * Bug Fixes: ---------- * "Negative" magic tool did not play its sound when using fullscreen (vs painting) mode. Fixed. * "Zoom" magic tool icon had weird artifacting. Mended. * "Halftone" magic tool had the "Zoom" tool's icon. * Undo buffer canvases were not always the same dimensions as the drawing surface, if buttonsize was adjusted. (Adversely affected "Shift" magic tool.) * Remove some old Win32-specific code to handle multibyte characters, which could cause a crash bug when using the on-screen keyboard under Windows. (Older mingw/msys did not supply a needed function.) * h/t @Miyagi_Andel on Twitter for reporting the crash * h/t Pere Pujal i Carabantes for confirming how to reproduce it * TOYAMA Shin-ichi dropped the old code and rebuilt Tux Paint 0.9.26 for Win32 as 0.9.26-5 * Note: This means dropping support for Windows 2000 & XP * (Also, remove Windows-only call to `_nl_locale_name()`, and avoid crashing if our `mysetenv()` receives any NULL pointers. T. Shin-Ichi & Bill K.) * Always show the appropriate instructions at the bottom when the "Fill" (depends on which sub-tool chosen) and "Shapes" (depends on whether "simpleshapes" option is set) tools are selected (e.g., when returning from the "Open" dialog). (Closes https://sourceforge.net/p/tuxpaint/feature-requests/186/) * Avoid possibility of crashing when doing a flood-fill of a complicated shape on a large canvas (e.g., `tuxpaint --3000x2000` with `starters/mosaic.svg` + Replace recursion with a queue (span filling method) + Call the progress bar animation updates and playsound() function less frequently h/t Yang for reporting & Pere for confirming * Ports & Building ---------------- * Fix compilation error on Linux with HOST environment variable set. Modifies the Makefile so it attempts to cross compile only when both HOST and HOSTROOT environment variable (which are both required for cross compilation) are set; avoid confusion when an unrelated $HOST env. var. is set. Mark K. Kim * Include "AppVersion" directive to Windows installer Inno Setup recipe file (.iss). Easton Pillay * Other Windows installer updates: + Updated to Inno Setup 6 + 64-bit version now to be installed in the standard "Program Files" folder on 64-bit architecture instead of "Program Files (x86)" as before. + 64-bit installer will invoke uninstaller for existing old x86 mode installation, if found. + Updated translation files for the installer + Added language specification to start menu shorcuts for which translation is supported both for the web site and installer. + Disabled start menu shortcut to outdated translations of README.html. + Remove old OpenCandy stuff from Windows .iss file. TOYAMA Shin-ichi * Added shell script to build windows installer and portable zip archive. TOYAMA Shin-ichi * Further work to remove compiler warnings. 2021.June.28 (0.9.26) * New Features ------------ * Larger UI buttons Override the ages-old default 48x48 size for UI buttons (via a new "buttonsize" option). Note: If the button size would be too large for the required parts of the UI to appear within Tux Paint's window size, the largest possible size will be used. Pere Pujal i Carabantes * It's now possible to increase how many rows of buttons are shown for the color palette at the bottom of the screen. (Use the "colorsrows" option.) Pere Pujal i Carabantes * Adding sub-tools to the Fill tool: + Solid -- The classic fill tool; click to fill + Linear -- A linear gradient; click and drag to adjust, release mouse to finish + Radial -- A radial gradient; click to fill (The gradients transition from the current color to the background that's being filled.) * New Magic Tools: ---------------- * Checkerboard Cover the entire canvas with a checkboard pattern using the current color. Drag to change the size of the squares. * Clone Clones (copies, via painting) part of a drawing to another position. * Pixels Draws large squares, for classic computer 'pixel art' style drawings. * Documentation updates --------------------- * Documentation is now maintained in a separate source repository, 'tuxpaint-docs', which allows for easier and more consisten translation of the documentation. Pulling in initial version of these docs, which contain a variety of minor updates (and also a few which had previously only been available as plain TXT are now available as HTML). + French translation Jacques Chion + Galician Miguel Anxo Bouzada + Japanese TOYAMA Shin-ichi * Adding documentation that covers some of the environment variables that Tux Paint utilizes. * Expanded the steps for making and posting releases. * Documented how to build Tux Paint using old macOS Mark K. Kim * Added more credits to manpage. Avoiding word-wrapping URLs and email addresses. Saved out as UTF-8, rather than Latin-1 encoding. * Other Improvements ------------------ * Fill tools do a better job at filling around antialiased edges, and apply some blending. * Reduce CPU usage by increasing delay in main loop from 1ms to 10ms, and only using SDL's Timer subsystem when scrolling happens. (Details at https://sourceforge.net/p/tuxpaint/tuxpaint/ci/7727b995c53df208596eff89ac1acb954a16098c/) Mark K. Kim (h/t @bbugwong on Twitter for reporting the issue) * If parent of export directory doesn't exist, Tux Paint will try to create it as well. (Only one level up; e.g., with an export location like /path/to/Pictures/TuxPaint/, it will try to create /path/to/Pictures/ if it doesn't exist, but not its parents). h/t Tim Dickson * Translation Updates: -------------------- * Albanian Besnik Bleta * Catalan Pere Pujal i Carabantes * Galician Miguel Bouzada * Icelandic Sveinn í Felli * Occitan Quentin PAGÈS * Magic Tool Improvememnts: ------------------------- * A new "xorpixel()" function has been added to the Magic Tools API. * Bug Fixes: ---------- * Halftone magic tool wasn't loading due to a problem with its sound effect file. * Ports & Building ---------------- * [WIP] Apple iOS port Mark K. Kim 2020.December.27 (0.9.25) * New Features ------------ * Export drawings: * GIF export option from the Open -> Slideshow dialog. (Closes https://sourceforge.net/p/tuxpaint/feature-requests/191/) * Utilizes "gifenc", public domain by Marcel Rodrigues: https://github.com/lecram/gifenc * Depends on "libimagequant", from the "pngquant2" project: https://github.com/ImageOptim/libimagequant (GPL v3 or later, for Free/Libre Open Source Software) (h/t TOYAMA Shin-ichi for adding support for versions < 2.8.0) * Single image (PNG) export from the Open dialog. (Closes https://sourceforge.net/p/tuxpaint/feature-requests/192/) * Both utilize XDG user dirs settings, if available, to determine where to store them, or "~/Pictures", otherwise. In those cases, files are stored in a new "TuxPaint" subdirectory. * The "--exportdir" option can be used to override the default location (but a "TuxPaint" subdir. will NOT be placed there). * Shape controls: * Draw shapes from the center (as in previous versions of Tux Paint) or from a corner (similar to the default mode of most other graphics tools). * The controls to modify the drawing behavior can be removed, for simplification of Tux Paint's interface (for younger users). * Other Improvements ------------------ * New, smaller sizes available in "Eraser" tool. (h/t Jackson Bray for the suggestion) * "Eraser" tool now draws smoothly connected strokes, like the "Brush" tool, when the mouse is moved quickly (relative to the eraser size; especially useful for the smallest erasers). * On-screen keyboard (visible when the feature is enabled, while using the "Text" and "Label" tools) now appears with larger (48x48 pixel, vs 24x24 pixel) buttons, when Tux Paint's window (or fullscreen) size is large enough to fit them with the chosen layout. (h/t Anat & Aviv, who suggested it to help with users of eye-tracking systems) * On-screen keyboard buttons use a slightly larger font (16pt vs 12pt, previously seen on the small keyboard; 32pt on the large keyboard). * Ports & Building ---------------- * Corrections for Haiku not opening saved files. (Ref: https://github.com/haikuports/haikuports/issues/3045) Gerasim Troeglazov <3dEyes@gmail.com> * Windows build changes * Enabling PowerTools repositry to install additional SDL* packages * Corrected README launcher for English, after install completes * Updated translation files and ensure license text appears * Support for Mingw64 for 64-bit builds * Ability to find Mingw DLLs by examining EXEs (new shell script replaces hard-coded list in Makefile) TOYAMA Shin-ichi * New Brushes ----------- * Footprints * Human feet Based on Openclipart by "netalloy" (https://openclipart.org/artist/netalloy) Creative Commons Zero 1.0 Public Domain License * Paw (dog or cat like) Based on Openclipart by "alinager" (https://openclipart.org/artist/alinager) Creative Commons Zero 1.0 Public Domain License * Shoes Based on Openclipart by "Tavin" (https://openclipart.org/artist/Tavin) Creative Commons Zero 1.0 Public Domain License * Starter & Template updates -------------------------- * Added margins to elephant, fish_icon and frame_hearts starters, to avoid smearing on edges in Tux Paint. Pere Pujal i Carabantes * Documentation updates --------------------- * Cleaned up HTML code of HTML-based documentation. * Sub-section links within README's Table of Contents. * EXTENDING docs cleaned up and Table of Contents added. * Converted FAQ from bullet lists to definition lists. * Bug Fixes --------- * Mended issue where stamp descriptions were not loading when "getenv()" (e.g., "getenv("LANGUAGE")") returned an empty string, rather than a NULL. * Mended bug where corrupt text would appear as stamp descriptions, if we failed to know what language to use (see above). * Mended bug where a personal Template could not be loaded due to how we tracked which entry in the "New" dialog was the first template image. * New Translations: ----------------- * Sardinian translation Flavia Floris * Translation Updates: -------------------- * Basque translation Alexander Gabilondo * Catalan translation Pere Pujal i Carabantes * French translation Chion Jacques * Galician translation Miguel Bouzada * Icelandic translation Sveinn í Felli * Japanese translation & Japanese README documentation TOYAMA Shin-ichi * Norwegian Bokmål translation Karl Ove Hufthammer * Norwegian Nynorsk translation Karl Ove Hufthammer * Santali translation (Ol-Chiki) Prasanta Hembram * Misc ---- * Improved safety when copying things into string buffers. 2020.April.24 (0.9.24) * New tools --------- * Fill Not actually a new tool, but promoted from a "Magic" tool to a full-fledge tool in the "Tools" bar. However, also avoids filling "Undo" buffer with snapshots of the drawing, if the fill does nothing (e.g., if you click the same spot a second time). * Ports & Building ---------------- * Updates to build on Haiku. Luc 'Begasus' Schrijvers * Replaced KDE (older, KDE4, in fact) specific icon and launcher (.desktop file) installation & uninstallaton invocations in Makefile with those that use Freedesktop.org `xdg-...` tools. * macOS build documentation updates. Mark K. Kim * Wrapped some debug output in "#ifdef DEBUG" tests, and made sure some warnings and errors were going to STDERR, rather than STDOUT. * Updates to build for Windows (using mingw/msys) TOYAMA Shin-ichi * Updates to 'spec' file for Linux RPM builds TOYAMA Shin-ichi * Other Improvements ------------------ * Added ability to move color palette options to the end of the New dialog, for situations where users are meant to start drawings with specific Starters or Templates. Use "--newcolorslast" option. (Suggested by Bernard Verhaeghe) * Show progress bar while loading (more) stamps, to avoid looking hung on slower systems or with complicated stamp images. * Recognize signals (SIGUSR1 and SIGUSR2) on POSIX systems, which causes Tux Paint to quit, first saving the current drawing (if unsaved) (like "--autosave"), either saving a new image (like "--saveovernew") (via SIGUSR1), or overwritting the current drawing (like "--saveover") (via SIGUSR2). (Thanks to Flavio Airundo for the idea; closes https://sourceforge.net/p/tuxpaint/feature-requests/188/) * Updated most parts of the code that were throwing warnings in GCC. * Build process generates thumbnails of included Starters and Templates. When installed, this greatly increases the speed of the "New" dialog. * Updated some Starter source images so they work better with flood fill (Bald Eagle, World map, Gecko). * Ability to disable stereo panning effect (e.g., paint brush, UI elements sound effect feedback, etc.), useful for users with hearing impairment in one ear, or situations where one speaker or headphone is being used. Use "--nostereo" command-line option or "nostereo=yes" config. file option. * Documentation updates --------------------- * Mended link to MinGW/MSYS instructions at John Popplewell's website. (h/t "sechidis") * Improved and expanded usage info (e.g., "tuxpaint --help" output) * Documentation on POSIX signals recognized by Tux Paint (e.g., the new "SIGUSR1" & "SIGUSR2") added to a new doc file, "SIGNALS.txt". * Translation Updates: -------------------- * Norwegian Nynorsk translation Karl Ove Hufthammer * Swahili Benson Muite * Valencian Pilar Embid Giner via Pere Pujal i Carabantes * Bug Fixes --------- * Correct issue that prevented Tux Paint from lauching on Mac OS X 10.7. (See https://sourceforge.net/p/tuxpaint/tuxpaint/ci/d2ef2e17d1962111d0f6f91394dce81e8706d48b/ and https://stackoverflow.com/questions/20206985/xcode-linking-against-applicationservices-framework-with-sdk-10-9-causes-10-7) Mark K. Kim * Reduce launch time by calling progress bar less frequently while loading stamps. Mark K. Kim * Ability to bring up the print dialog from the macOS build was removed in Tux Paint 0.9.23 to support the new build mechanism. It has been re-added. To access it, option-click the print icon, or configure Tux Paint to always bring up the dialog upon print. Mark K. Kim * Made sure "New" dialog created correct thumbnail subdirectories for personal Starters & Templates (e.g., ~/.tuxpaint/starters/thumbs/) * Ensure that similarly-named (but not identically-named) PNG & SVG Starters & Templates don't get confused with each other (e.g., "frame_heart.png" being ignored, because we find "frame_hearts.svg") Pere Pujal i Carabantes * Moved the setting of the window icon after window creation. Pere Pujal i Carabantes * Misc ---- * Verbose debugging, and "DEBUG_PRINTF()" macro now available; see debugging options in INSTALL.txt. Mark K. Kim * Notes: ------ * 0.9.23a & 0.9.23b were test versions for macOS that Mark produced and sent to individual users for testing. 2018.August.30 (0.9.23) * New tools --------- * Color selector Pere Pujal i Carabantes * SDL2 port Pere Pujal i Carabantes * Android port JianWei Zhang as contribution in the GSoC 2015 * New shapes ---------- * Stars Pere Pujal i Carabantes * Documentation updates --------------------- * Made stamp controls (size, flip, mirror) section clearer. Fixes https://sourceforge.net/p/tuxpaint/bugs/182/ * Cleaned up and reorganized docs subdirectory. * New locales ----------- * Bengali Provided by Chandrakant Dhutadmal * Bodo Provided by Chandrakant Dhutadmal * Dogri Provided by Chandrakant Dhutadmal * Kabyle (aka Kabylian) Yacine Bouklif * Kashmiri (Devanagari) * Kashmiri (Perso-Arabic) Provided by Chandrakant Dhutadmal * Sindhi (Devanagari) * Sindhi (Perso-Arabic) Provided by Chandrakant Dhutadmal * Urdu Provided by Chandrakant Dhutadmal * Localization Updates: --------------------- * Various Chris Leonard * Aragnoes translation Juan Pablo Martinez Cortes * Basque translation Ander Elortondo Alexander Gabillondo * British English translation Caroline Ford * Catalan translation Robert Buj Gelonch * Chinese (Simplified) translation Never Min * Croatian translation Paulo Pavačić * Danish translation Joe Hansen * Dutch translation Willem Heppe * Estonian translation Sven Ollino * French translation Chion Jacques * Fula translation Ibraahiima SAAR * Gaelic (Irish) translation Kevin Scannell * Galician translation Miguel Bouzada * Georgian translation Gia Shervashidze * German translation Holger Wansing Helge Kreutzmann typos fixes and improvements for stamps * Greek translation Yannis Kaskamanidis * Gujarati translation Kartik Mistry * Icelandic translation Sveinn í Felli * Indonesian translation Courtesy of SugarLabs and T. Surya Fajri * Italian translation Flavio Pastore * Japanese translation TOYAMA Shin-ichi * Korean translation Mark K. Kim * Norwegian translation Karl Ove Hufthammer * Portuguese (Brazilian) translation Fred Ulisses Maranhão * Portuguese (Portugal) translation Sérgio Marques * Russian translaton Yuri Kozlov * Scottish translation Fòram na Gàidhlig * Slovenian Matej Urbančič * Songhay translation Abdoul Cisse * Spanish translaton Matías Bellone * Swedish translation Sebastian Rasmussen * Thai translation Nudjaree * Ukrainian translation yurchor Sugar Labs i18n team * Bug Fixes --------- * Crash if any "mosaic" magic tool used, Xubuntu 15.10 If the PNG patterns used to generate the effect were compressed the wrong(lossy) way, the program will crash (SF.net Bug #210) * "Hat" started could not be drawn on. Mended. https://sourceforge.net/p/tuxpaint/bugs/202/ * Ports & Building ---------------- * Rewrote the macOS build system to be more Linux-like, with no XCode IDE. Build for older releases of macOS / Mac OS X (10.6 and later). Mark K. Kim * Mac install creates a DMG Robert Buj Gelonch Mark K. Kim * Allow override override build date (in order to make builds reproducible) ("SOURCE_DATE_EPOCH") by Chris Lamb, pushed by Bernhard M. Wiedemann * Allow specifying a suffix to the "lib" directory where magic tools are installed. ("LIBDIRSUFFIX") Tim Dickson * Install Tux Paint docs into a version-numbered directory (e.g., "/usr/local/share/doc/tuxpaint-0.9.23/") Tim Dickson * Launcher icon installation location adjustments: * .../X11R6/include/X11/pixmaps/ -> .../share/pixmaps/ * Using kde4config (vs kdeconfig); not putting things in "Graphics" subdir. * Removed gnome-config stuff Tim Dickson Bill Kendrick * Other Improvements: ------------------- * Reformatted source code via GNU Indent tool; should greatly increase code readability and formatting consistency. 2014.August.5 (0.9.22) * New Tools: ---------- * Label - A tool to add text to a drawing, which can be modified or moved later. By Arunodai Reddy Vudem (GSOC 2008) With modifications and integration by Pere Pujal i Carabantes * New Magic Tools: ---------------- * Blinds - Close window blinds over your picture. Pattern - Draws a tiled pattern around the picture. Perspective - Change the image's perspective. Mosaic Hexagon, Mosaic irregular, Mosaic square - Glass mosaic effects. Tiles - Draws a symettric pattern around the picture. Zoom - Zoom the image in or out. By Pere Pujal i Carabantes * Puzzle - Slide parts of your picture around like a sliding puzzle. By Adam 'foo-script' Rakowski with modifications by Pere Pujal i Carabantes * ROYGBIV Rainbow - Draw a rainbow arc using solid colors of Red, Orange, Yellow, Green, Blue, Indigo and Violet. * Symmetry Left/Right, Symmetry Up/Down - Paint with relfective symmetry across the horizontal or vertical center of the image. (Like Kaleidoscope, but only one mirrored brush, either left/right or up/down.) * Wet Paint - Draws a light coat of paint, and smudges at the same time. (Based on Smudge tool. Requested by gallery artist Angela.) * Xor Colors - Colors based on the position drawn on the picture. Lukasz Dmitrowski * Build System Improvements: -------------------------- * Variety of tweaks to help Tux Paint cross-compile for Windows under Linux Volker Grabsch * Added support for building under Haiku OS Scott McCreary * Integrated OpenCandy-powered recommendation service into Windows installation scripts (InnoSetup), as an option. Note: "tuxpaint.iss" still builds standard, OpenCandy-less Tux Paint installer; "tuxpaint-opencandy.iss", along with a file with secret key info (not included in CVS, of course!), build an OpenCandy-enabled version. The OC account is currently maintained by Bill Kendrick , lead developer. For more info, see http://www.tuxpaint.org/docs/opencandy/ * Using $LDFLAGS when linking Magic tool plugins and Tux Paint binary. Volkov Peter (SF.Net Bug #3389067) * Collection of Mac OS X Updates: ------------------------------- Produced by Eric Poncet Commissioned by Harvey Ginter * Fix OS X 10.9 issue of current directory set by Finder to something else than folder where app bundle resides. * Customization support for Mac OS X (automatic, under XCode) and Windows (manual). * Some Mac OS X build / project changes & updates. * Adjustments to Mac OS X fontconfig config file, to avoid warnings and make things more robust. * Updates to some #include's to catch up with newer library revisions. * Tweaks to pixel read/write on Apple. * Introduction of 'intprt_t' casting to avoid warnings on x64. * Some additional debugging output. * Logging stderr & stdout to /tmp/tuxpaint.log * Accessibility Improvements: --------------------------- * Added a mouse accessibility mode to avoid the need to drag the mouse. ("--mouse-accessibility") by Ankit Choudary (GSOC 2010) with integration and fixes by Pere Pujal i Carabantes * Added an option to display an on-screen keyboard when using the 'Text' and 'Label' tools. ("--onscreen-keyboard") [Experimental!] by Ankit Choudary (GSOC 2010) with integration and fixes by Pere Pujal i Carabantes and some code borrowed from xorg (keysymdef.h and en_US.UTF-8_COMPOSE Authors?) and xterm file keysym2ucs.c (function keysym2unicode Markus G. Kuhn , University of Cambridge, April 2001 Special thanks to Richard Verhoeven Public domain. * Keyboard can be used to move and click mouse ("--keyboard" option). [Experimental!] by Ankit Choudary (GSOC 2010) * See documentation in OPTIONS for how to use it. * Joystick can be used to drive Tux Paint by Ankit Choudary (GSOC 2010) with integration and fixes by Pere Pujal i Carabantes * Use --joystick-dev to choose joystick (otherwise uses the first joystick found on the system). * Use '--joystick-dev list' to list available joysticks. * Uses any of the buttons found in the joystick, no need for configuration. (--joystick-buttons-ignore can be used to ignore buttons.) * The hat of the joystick moves one pixel at a time, useful to carefully place the pointer. * The ball of the joystick should also trigger pointer motion. * The responsivity of the joystick can be configured via command line or config files: * --joystick-slownes sets a delay at each axis motion event. Allowed values from 0 to 500, defaults to 15. * --joystick-threshold sets the minimum value of axis motion to begin move the pointer. Allowed values from 0 to 32766, defaults to 3200. * --joystick_maxsteps sets the maximum number of pixels that the pointer will move at a time. Allowed values from 1 to 7, defaults to 7. * Joystick buttons can be assigned used to activate certain commands in Tux Paint (--joystick-btn-COMMAND options) * Magic Tool Improvememnts: ------------------------- * Magic tools can register themselves as paint with one click (versus click/drag/release): MODE_ONECLICK. (e.g., "Ripples") Utilized by mouse-accessibility feature. * Magic tools can register themsevles as paint-with-a-preview: MODE_PAINT_WITH_PREVIEW. (e.g., "Flower") Utilized by mouse-accessibility feature. * Other Improvements: ------------------- * Random brushes avoid repeating the same frame twice. * Showing a warning when using save-related options when "nosave" is set. (SourceForge Bug #3327493) * Quicker prompt window pop-up animation. * Left/Right Stamp navigation buttons are purple, like the other (up/down) scroll buttons found in Tux Paint. (SourceForge Bug #2918289) * Slightly improved mouse motion handling when Tux Paint is very busy drawing or previewing. (e.g., when drawing a circle, you could often end up with a "D" shape... now, you get more of a regular polygon shape if Tux Paint is taking too long to draw. It skips some motion events, rather than ignoring all motion events after the first 1/4th second.) * Deleting files from Tux Paint's 'Open' dialog now moves them to the user's Trash folder. FIXME: Only on freedesktop.org systems (e.g., Linux) (SourceForge.net Feature #3101084) * Tux Paint (in windowed mode) now only centers itself if no specific positioning has been provided via the SDL_VIDEO_WINDOW_POS environment variable. (SourceForge Bug #3138446) * Creating thumbnails for the starters we provide. (Speeds up 'New' dialog appearance.) (SourceForge Bug #1417849) Pere Pujal i Carabantes * On systems where Pango is used for UI text rendering, Tux Paint now spawns a temporary thread during start-up (at the splash screen) to allow "fontconfig" to generate its font cache in the background, while showing the "please wait" animation, and responding to the US. (Fontconfig takes a long time to generate its cache the first time you run a Pango- and hence fontconfig-enabled application (Tux Paint, Gimp, Inkscape, etc.), or after adding lots of new fonts to your system). SF.net Bug #2944951 * Thumbnailing (of UI elements, stamps, saved images, etc.) is now gamma-corrected. See: http://www.4p8.com/eric.brasseur/gamma.html * Template images are now supported. Similar to Starters, they are pre-drawn pictures to begin a new drawing with, accessed via the "New" dialog. The "Eraser" tool will erase back to the original picture (rather than a solid color). Unlike Starters, they do not involve an immutable "layer" above the drawing. They may be drawn over in their entirety. * After switching into, or out of, a magic tool, the canvas is updated. * Starter images can be in SVG (Scalable Vector Graphics) format. (Avoids loading PNG if SVG with the same name exists.) * Removed white artifacts from some Starters, and reduced file size of some Starters. * When scaling/smearing a picture or Starter, to fit the current canvas size, it was not drawing on the far right or bottom edges, causing Fill tool to 'spill'. (Example: fill one of the puzzle pieces on the right or bottom of the 5x5 jigsaw Starter, and all pieces on the right and bottom would get filled, too.) * Starter images can be in KPX (Kid Pix Template) format. (These appear to simply be JPEG with 60 byte's worth of Mac OS resource fork header at the beginning.) (Thanks to Sarah Curry for sharing some example templates to test.) * When a default size was not specified, SVG-based Stamps would default to the largest, which was canvas-sized. Now defaulting to a more reasonable size. (And users can click the maximum size choice to get the largest, canvas-sized rendition.) (SF.net bug #2836471) * Widened dialog windows, to help avoid word-wrap and overlap problems with some prompts, in some locales. (SF.net bug #2834461) * Shape Tool now locks rotation into 15 or 5 degree steps, when the radius of the shape is very small or small, respectively. (SF.net bug #2837177) * Shape Tool tries to avoid glitches where lines connect, when shape is rotated. (Rotation of fixed-aspect shapes like Square and Octagon stays within the angle of the corners. i.e., rotating a square 140 deg. actually only rotates it 30 deg., since it looks identical, sans glitches.) (SF.net bug #2837177) * Created a BASH tab-completion file for Tux Paint, so that command-line options are easier to discover (without necessarily needing to consult the man page, 'Options' documentation, or --usage output). * Text (and Label) tool doesn't flicker when typing or erasing text. * Creation of thumbnails for personal starters and templates. * Major rewrite of configuration and locale-setting code. Albert Cahalan , Bill Kendrick * Packaging all the metadata in the PNG file. Before a draw based on a starter would have need 3 files: the draw, the starter and the .dat file, whith the addition of the Labels tool this increased to 5 files. Now all this stuff is packed in customs chunks inside the PNG file. Pere Pujal i Carabantes * No longer directly accessing PNG structure members directly, now using png_set_IHDR(). Thomas Klausner, SF.net Bug #3386433 * Adapted the interface to play nice too on touchscreen devices. * Optimised PNG files using TruePNG and PNGZopfli, for smaller file sizes. * New Starters: ------------- * Elephant * Hat * Old Soviet Car * Skull * Bald Eagle * Car 2 * Desert Tortoise * Gecko * Manatee * Pansy * Stained Glass * Woodpecker * Frame - Filmstrip * Frame - Flowers * Frame - Picture * Frame - Screen * Frame - Television * Frame - Gold * Frame - heart * Frame - hearts * Fish Icon * Mosaic From Open Clip Art, curated by Caroline Ford * Frame - neon Made in inkscape and the gimp by Caroline Ford. * New Templates: -------------- * Burnt bark * Cliff * Corn maze * Jellyfish * Lighthouse * Mossy bark * Mossy log * Mudstone * Ocean splash * Ocean waves * Redwoods above * Rocks * Sheep * Spider's web * Sun behind clouds * Sun behind leaves * Trees above * Trees at dusk * Wool mill machine Photographed by Bill Kendrick * New Brushes: ------------ * Another flower brush Made out of some open clipart by C Ford. * Inksplat Based on 'Splatter Brushes' for GIMP By 'Flyhorn' at deviantART http://browse.deviantart.com/art/Splatter-brushes-340519966 * New Locales: ------------ * Acholi translation Achuma George Patrick Opio June Bryan Ogwal Kenneth Awio * Akan translation Derrick Frimpong * Amharic translation Solomon Gizaw http://pootle.locamotion.org/am/tuxpaint/ * Aragones translation Juan Pablo Martinez Cortes * Armenian translation Anush MKRTCHYAN Jasmine Udea * Assamese translation Anand Kulkarni * Bambara translation Fasokan * Bosnian translation Samir Ribić * Kiga translation Florence Tushabe * Fula translation Ibraahiima SAAR , Fula Localization Project, http://www.pulaar-fulfulde.org/ * Inuktitut Harvey Ginter * Kannada translation Savitha Provided by Vrundesh Waghmare * Konkani (Devanagari and Roman) Rahul Borade * Luganda translation James Olweny * Luxembourgish translation Ren� Brandenburger * Maithili U.Sudhakar sk Provided by Praveen Dewangan * Malayalam translation Students of Vocational Higher Secondary School Irimpanam http://vhssirimpanam.org - rimal - Abhijith P.K - Appu Ajith - Vishnu Ajith - Harish Vijay - Mathew K.Vaidyan - Manu C.Kauma - Sreejith P.M - Nithin M - Sidharth K.Bhattathiri - Thomas Peter - Dona C.D - Anjitha venugopal - Athira Venugopal - Shelmi P.R - Revathi Sukumaran - Salu P.SAmitha Appukuttan - Geegu Varghese - Ashna Manoharan - sreelakshmi - jithu - Abhinav Thomas - Abhitha Thomas - Sajith P.V - Vishnu Vinod - Senthis - Vimal - Sameer - Sanal - Sooraj - V Sasi Kumar Updated by Sonith Kumar Reviewed by Haris Ibrahim K. V. * Manipuri (Bengali and Metei Mayek) Hidam Dolen Provided by rahul dabre * Marathi translation Santosh Jankiram Kshetre * Nepali translation Khagen Sharma Provided by Neha Aphale * Northern Sotho translation Pheledi Mathibela * Odia translation Kaniska Padhi * Punjabi translation Arshpreet Singh * Persian translation Farinaz Hedayat * Sanskrit translation Babita Shinde * Santali translation (Devanagari) Chandrakant Dhutadmal Ganesh Murmu * Santali translation (Ol-Chiki) Chandrakant Dhutadmal Ganesh Murmu * Serbian translation (latin) Ivana Rakic * Sinhala Menik Prasantha * Sundanese kumincir * Valencian Pilar Embid Giner * Venetian language Fabio Lazarin, El Galep�n * Zulu sipho * Localization Updates: --------------------- * Albanian translation. Canonical Ubuntu Launchpad contributors * Basque translation Ander Elortondo * Belarusian translation Alexander Geroimenko * Brazilian Portuguese translation Frederico Goncalves Guimaraes * British English Robert Readman * Bulgarian Stefani Stoyanova * Chinese (Traditional) translation Song Huang * Czech translation Zdeněk Chalupský * Danish translation Joe Dalton * Dutch translation Freek de Kruijf * Finnish translation Olli Tarmo Toikkanen * German translation Stephanie Schilling * Greek translation Kiriaki SERAFEIM * Gujarati translation Kartik Mistry * Hindi translation aki Ashish Arora * Hungarian translation Nagy Akos * Italian translation Flavio "Iron Bishop" Pastore * Latvian Raivis Strogonovs * Malay translation Muhammad Najmi Ahmad Zabidi * Norwegian Bokmål translation Karl Ove Hufthammer * Norwegian Nynorsk translation Karl Ove Hufthammer * Romanian translation Hodorog Andrei * Russian translation Nikolay Parukhin Sergei Popov * Polish translation Piotr Kwiliński * Portuguese now using plain "pt" locale (vs. always specifying "_PT") * Portuguese translation Sergio Marques * Scottish Gaelic translation Michael Bauer * Scottish Gaelic translation for Inno Setup Foram na Gaidhlig * Serbian translations (cyrillic) Ivana Rakic * Slovak translation Jaroslav Rynik * Songhay translation Abdoul Cisse Mohomodou Houssouba * Spanish (Spain) translation Teresa Orive * Swedish translation Henrik Holst * Swahili translation Emanuel Feruzi * Telugu tranlation saikumar as a task in GCI * Turkish Enes Burhan KURAN * Vietnamese translation Clytie Siddall * Zapoteco Rodrigo Perez Ramirez and Indigenas Sin Fronteras * Bug Fixes --------- * Starter and template filenames with non-lowercase extensions (e.g. .JPG) would fail to load. SF.net Bug #191 * If a non-SVG starter or template with the same name as an SVG one existed, it would be loaded instead of the SVG (despite a thumbnail of the SVG appearing in the file selector). SF.net Bug #191 * Image on right of dialogs would get scaled/cut-off even if there was room for them. * When using 'print delay' option, it would not allow printing the first time until the delay had passed. * Fixed error reporting when make_directory() fails. (Fixes spurious SF.net Bug #2765872) John Popplewell * Buffersize for holding Starter and image filenames was way too low. (Could crash with Starter images with very long filenames.) * Shape tool would only resize a shape if you dragged down or right, not up or left. (SF.net Bug #2834320) * tuxpaint-import tool uses BASHisms, so changed shebang to #!/bin/bash (instead of #!/bin/sh). * Added some missing examples to the default tuxpaint.conf file. (Thanks to Aapo Rantalainen ) * Default stamp size, in some situations, was very large (due to some rules that allowed stamps to be, at maximum, up to 2x width of the canvas, OR 2x height of the canvas, as long as it wasn't larger than the canvas in the other dimension). The stamp sizing buttons were unable to re-select that size. The sizing button bug has been fixed, the rule has been adjusted to allow a maximum overscan of 1.5x width-or-height, and if the maximum size causes overscan, then a smaller size is used for the default when the stamp is first used. (SF.net Bug #1668235) * Shapes tool now draws at mouse release to help painting with touchscreen devices. (SF.net Feature request #3008811) * Shapes tool would left their preview on the canvas if you leave it or change the shape before finishing to draw it. (SF.net Bug #1057311) * Example for 'savedir' in tuxpaint.conf suggested you needed /saved at the end, which is not true. Added note explaining that actual image files go under 'saved' subdirectory. (Thanks to Marco Menardi) * Saved images woose path contains non-ascii chars can now be opened on Windows. Fixes http://sourceforge.net/p/tuxpaint/bugs/188/ * Ignoring ".pfb" (PostScript 'Printer Font Binary') fonts, to avoid crashes. 2009.June.28 (0.9.21) * New Starters: ------------- * Silver Frame Caroline Ford * Jigsaw 3x3 & 5x5 Andrew 'akanewbie' Corcoran * New Magic Tools: ---------------- * + Blur (entire image mode) - Blurs entire image + Color Shift - Modifies the colors in the image. + Sharpen - Sharpens entire image + Edges - Traces the edges of the image, over a white background. + Silhouette - Creates an outline of the image, over a black background. + Color and White - Turns image pure color & white (no grey or color). + Snow Ball - Places random snow balls over the image. + Snow Flake - Places random snow flakes over the image. + Noise - Adds random noise to the image. + Mosaic - Gives the image a mosaic effect. + Rain - Adds rain drops to the image. + Toothpaste - Squirts "toothpaste" on to the image. By Andrew 'akanewbie' Corcoran (Part of Tux4Kids' participation in Google Summer of Code 2008) * + Confetti - Paints random confetti bits on the canvas. + TV - Adds television (CRT) interlacing lines over the image. + Rosette - Paints at 3 points on the screen, in a rosette shape. + Picasso - Paints at 3 points, in a "Picasso" art style. + Wavelets - Waves that go up and down. By Adam 'foo-script' Rakowski (Part of Tux4Kids' participation in Google Summer of Code 2008) * + Rails - Draws train tracks / rails over the image. + Fisheye - Warps part of the picture, as though seen through a fisheye. + Fold - Folds the corners of the image up, like a piece of paper. By Adam 'foo-script' Rakowski (GSOC 2008), with modifications by Bill Kendrick and Pere Pujal i Carabantes * Real Rainbow - Draw an arc-shaped, photorealistic rainbow. By Bill Kendrick with math help from Jeff Newmiller Rainbow colors/alpha based on photo from http://www.flickr.com/photos/nicholas_t/281820290/ photo by Flickr user "Nicholas_T" Creative Commons Attribution 2.0 Generic http://creativecommons.org/licenses/by/2.0/deed.en * String Edges - Draw string-like patters around the picture. String Corner - Draw aligned string-like patterns. String 'V' - Draw free-form string-like patterns. Tornado (based on Flowers) - Draws a tornado effect onto the picture. By Pere Pujal i Carabantes * Icons for some new Magic Tools (Color and White, Fisheye, Mosaic, Picasso, Silhouette, TV and Wavelet) Donelle Cory <8bitonion@gmail.com> http://www.8bitonion.com/portfolio * Magic Tool Improvememnts: -------------------------- * Added "_switchin()" and "_switchout()" functions to Magic tool API, to tell Magic tools when they are selected or deselected, or when their mode changes.. * Added "_modes()" function to Magic tool API, so Magic tool plugins can tell Tux Paint what modes it accepts, 'paint' or 'fullscreen'. * "_click()" function is now given a 'mode' value, corresponding to the mode the current tool is in. * "_get_description()" function is now given a 'mode' value, and is called once for each mode a particular tool claims to support. (e.g., "which=0,mode=MODE_PAINT", then "which=1,mode=MODE_PAINT", then "which=1,mode=MODE_FULLSCREEN") * "Paint" and "Fullscreen" control buttons added to Magic tool selector UI. Can be disabled with "--nomagiccontrols". * "Negative", "Tint", "Glass Tile", "Darken" and "Lighten" tools can all now affect the entire image. * System-Related Improvements: ---------------------------- * 'savedir' and 'datadir' paths given in configuration files (e.g., ~/.tuxpaintrc) now have any environment variables and tildes (e.g., "~" for $HOME, or "~username" for 'username's home directory) expanded. NOTE: Environment variable expansion via 'wordexp()' -- currently Linux-only. NOTE: 'printcommand' and 'altprintcommand' options not currently parsed for env. vars. * On systems that use postscript_print (Linux and other Unix-likes), errors when attempting to issue a print command (e.g., trying to use "lpr", but that command is not available) should appear in Tux Paint. (SourceForge bug #2205528) * Build System Improvements: -------------------------- * Adhering to Debian & FreeDesktop.org standards regarding .desktop file. * Documentation Improvements: --------------------------- * Corrected location of config files for Mac OS X in OPTIONS docs. * HTML documentation files for the various Magic tools are now generated using a PHP script. Tool details are stored in a PHP array (which is easier-to-edit than individual HTML files). * Other Improvements: ------------------- * Starter images no longer need to be created with alpha transparency. Any solid white will be removed automatically by Tux Paint. * White always appears as the first color in the "New" dialog, regardless of its position (or even existence) in the color palette. * Text tool uses FriBidi to determine when right-to-left characters have been typed (e.g., Hebrew) so that they are drawn in the right direction. (Mixing RtoL and LtoR works (e.g., Hebrew with numerals)) * Updated to the latest version (2.27) of DejaVu Sans Regular for UI font. * Only loads locale-specific fonts (e.g., Tibetan's "bo.ttf", which is unusable with any language _except_ Tibetan) when Tux Paint is running in that locale. (Use "--alllocalefonts" command-line option or "alllocalefonts=yes" config. file option, to load all of those fonts, regardless of locale setting -- the old behavior.) * Font scoring system improved, so that fonts that support the current locale (based on special translation strings -- many of which have been submitted or improved) 'bubble up' to the top of the Fonts list when using the Text tool. Pere Pujal i Carabantes and Bill Kendrick with help from: Albert Cahalan , Frank Weng and various translators. * New localizations: ------------------ * Shuswap (Secwepemct�n) translation Neskie Manuel * Songhay translation Abdoul Cisse Mohomodou Houssouba * Localization Updates: --------------------- * Afrikaans translation Petri Jooste * Arabic translation Tilo * Asturian Xandru Armesto * Basque translation Juan Irigoien * Brazilian Portuguese translation Frederico Goncalves Guimaraes * Catalan translation Pere Pujal i Carabantes * Chinese (Simplified) translation Huang Zuzhen * Chinese (Traditional) translation Frank Weng Song Huang * Danish translation Joe Dalton * Dutch translation Bert Saal * Estonian translation Henrik Pihl * French translation Jacques Chion * Georgian translation Gia Shervashidze * Gujarati translation Kartik Mistry * Greek translation Serafeim Kyriaki * Hebrew translation Jorge Mariano Guy Hed * Hungarian Gabor Kelemen * Irish Gaelic Kevin Patrick Scannell * Italian translation Simona Riva * Kurdish translation Amed �eko Jiyan * Portuguese translation Sergio Marques * Romanian translation Sorin Paliga * Russian translation Nikolay Parukhin * Slovak translation Jaroslav Rynik * Slovenian translation Matej Urban * Spanish translation Gabriel Gazzan * Swedish translation Daniel Nylander * Tamil translation Ravishankar Ayyakkannu * Ukranian translation Serhij Dubyk * Zapotec (Miahuatlan dialect) name and locale code correction * Bug Fixes --------- * Was inadvertently calling "magic_switchin()" on Quit. Fixed. Dan Shields * [Ctrl]+[P] keyboard shortcut for printing was not complying with option to disable printing capability (e.g., "--noprint")! Fixed. * Preventing Tux Paint from dropping out of Fullscreen mode when pressing either left or right [Windows] keys Note: Works on Windows XP, 2000 and Vista only. (If Tux Paint is deliberately switched to the background, e.g. using [Alt]+[Tab], the [Windows] keys function as normal until Tux Paint is the active application again.) John Popplewell * Directional brushes used to always begin with middle image; now this only happens if you click and release, with dragging. Jason Ward Pere Pujal i Carabantes * Corrected bug in postscript printing: images scaled up onto a large canvas printed small, compared to when they're printed at the size they were drawn. Pere Pujal i Carabantes Thomas Kalka * Corrected 'oval' brush shape so that colors came out right. (Thanks to Andrei Skoogarev) * Improved support for localized Stamp sound effects (e.g., "en_GB" for British English now works; only "en" would have worked before). * Fixed minor bug that caused Tux Paint to crash when loading many fonts (i.e., with the 'sysfonts' option). Pere Pujal i Carabantes and Albert Cahalan * 'tuxpaint-import' script didn't support files with spaces. Fixed. James Le Cuirot * Fixed display bugs and icon positioning in pop-up dialogs when using right-to-left languages (like Hebrew or Arabic). 2008.June.26 (0.9.20) * New translations: ----------------- * Asturian Xandru Armesto Mikel Gonz�lez * Localization Updates: --------------------- * Afrikaans translation Samuel Murray (Groenkloof) * German translation Burkhard L�ck * Greek translation: Yannis Papatzikos * Khmer Khoem Sokhem Auk Piseth * Lithuanian translation Alesis Novik * Slovakian translation Peter Tuh�rsky * Spanish translation Gabriel Gazzan * Swedish Robin Rosenberg * Ukranian translation Serhij Dubyk * Ukranian documentation - EXTENDING.txt - FAQ.txt - INSTALL.txt - OPTIONS.txt - PNG.txt - README.txt Serhij Dubyk * Vietnamese font removed, until a suitable replacement is found (licensing issue) * Using proper case in PO filenames (e.g., zh_TW.po instead of zh_tw.po) to solve MO installation problem caused by Makefile simplification. * Build System Improvements ------------------------- * RPM spec updates: + Plugin .so files were missing. + Separated devel packages in RPM spec. + Added dependency on SDL_Pango. TOYAMA Shin-ichi * Placing Tux Paint launcher icon ("tuxpaint.desktop") in 'applications', rather than 'gnome/apps/Graphics', per Freedesktop.org standards. (SourceForge Bug #1932808, via Ubuntu) * Added "Categories" back to the 'tuxpaint.desktop' file ("Education," and "Art"). NOTE: You need to edit 'tuxpaint.desktop.in', otherwise changes will be overwritten the next time 'tuxpaint.desktop' is generated! (SourceForge Bug #1932808, via Ubuntu) * Numerous Makefile improvements: + Automated i18n creation; merged back to Makefile, removed Makefile-i18n + Support for generic targets; removed beos- & most win32-related targets; use of "ARCH_" variables + Automated Magic plugin creation; merged back to Makefile, removed magic/Makefile + Other misc. updates and efficiency improvements + Automatic testing for SVG, SDL_Pango, SDL_Mixer and libpng vs libpng12 libraries; 'oldsvg' and 'nosvg' targets removed; new means for building without sound, etc. Albert Cahalan * Made sure Makefile works with NetBSD again. Thomas Klausner * Makefile edited so that Tux Paint can be installed in the absence of gettext in the system. Arunodai Vudem Mark K. Kim * Making Magic Tool source throw fewer compiler warnings. * Removed "_APPLE_10_2_8_"-related #include work-arounds, since 10.2.8 support is unlikely right now. (With Martin F's blessings) * Removed "OLD_UPPERCASE_CODE"-based work-arounds, since no longer necessary. (With Luc S's blessings on BeOS.) * Documentation Improvements: --------------------------- * Mentioned that canvas size can be changed in README (so it's not just hidden in OPTIONS). * Starters section of EXTENDING documentation updated ("New" vs "Open", other clean-up, and now directs people to README for determining image sizes.) * Moved "Starters" from the 'Open' section to 'New', in README. * Other minor README improvements. Added Table of Contents to README. * Bug Fixes --------- * Legacy Tux Paint images (prior to Tux Paint supporting different colored backgrounds) would end up with arbitrary Eraser colors. Forcing it to always use white, which was the only background color in early versions of Tux Paint. * Brushes with large spacing wouldn't be spaced properly when drawn from bottom-to-top using the line tool. Fixed. Pere Pujal i Carabantes * Fixed bug when zooming stamps in video depth other than 32bpp. (Float to int casting; also removes compiler errors.) * getpixel/putpixel function passed to Magic tools now pays attention to the incoming surface, rather than always using the canvas surface, to determine bitdepth. (Fixes bug where some Magic tools, e.g., Grass, didn't work right on video depths other than 32bpp.) * "Ojibwe" is the proper spelling of the language, accepting that as a "--lang" option, too. * The variables not declared as extern in SDL_Pango.h have been renamed in dirwalk.c and fonts.c. SDL_Pango.h no longer needs to be shipped along with tuxpaint code. Inclusion error message has been added for missing libpaper. Arunodai Vudem Mark K. Kim * "Uppercase only" option support for builds that use Pango to render text. (Note: Needs help in some/many? locales.) * Fixed issues where some strings not appearing under 'nopango' (at least on older Fedora CORE and RedHat). TOYAMA Shin-ichi * New Starters: ------------- * Spirograph * Jigsaw Caroline Ford 2008.February.25 (0.9.19) * New Localizations: ------------------ * Australian English Chris Goerner, Canonical Ltd, and Rosetta Contributors via Caroline Ford * Azerbaijani Jamil Farzana * Canadian English Matthew Lange, Canonical Ltd, and Rosetta Contributors via Caroline Ford * Khmer Khoem Sokhem * Macedonian Kliment Simoncev and fleka, Canonical Ltd, and Rosetta Contributors via Caroline Ford * Occitan Yannig MARCHEGAY (Kokoyaya), Canonical Ltd, and Rosetta Contributors via Caroline Ford * Zapoteco Rodrigo Perez Ramirez and Indigenas Sin Fronteras * Localization Updates: --------------------- * British English translation Caroline Ford * Chinese (Simplified) README and FAQ documentation HackerGene http://tuxpaint.cn/ * Danish translation Joe Hansen Gruppen for Lokalisering af Frit Programmel til Dansk * Esperanto translation Edmund GRIMLEY EVANS * Faroese translation Lis G�the � J�kupsstovu * Finnish translation Jorma Karvonen * French translation Jacques Chion * Gujarati translation Kartik Mistry * Russian translation Sergei Popov * Attempted to add a vertical nudge value for tool button labels, based on locale. (Specifically, to prevent Khmer text from overlapping icons.) Locale-related code needs some bugfixing before this works right, though. * System-Related Improvements: ---------------------------- * Added "--allowscreensaver" option, which prevents Tux Paint from disabling the screensaver or monitor power management while running. (Requires SDL 1.2.12; can also be done by setting the SDL_VIDEO_ALLOW_SCREENSAVER environment variable to '1' before running Tux Paint.) * Removed unfinished, unused record and playback code. * Added authorization code to permit Fontconfig files to be installed on first launch from a non-admin account on Mac OS X. Martin Fuhrer * Fixed possible lockups in fullscreen mode when attempting to print on Mac OS X. Martin Fuhrer * Skipping "AppleMyungjo.ttf" when loading fonts on Mac OS X to avoid TTF lib. crash. Martin Fuhrer * Documentation Improvements: --------------------------- * Brought documentation on Tux Paint canvas size up-to-date, for importing photos/etc. * Build System Improvements ------------------------- * Brought BeOS building up-to-date. Begasus * Sugar (One Laptop per Child XO-1) improvements. Albert Cahalan * Magic plug-ins built with "-fpic" by default. * Mac OS X XCode project brought up to date. Martin Fuhrer With assistance from: Carlo Gandolfi Douglas Barbieri * Other improvements: ------------------- * Recreated "Tux Paint" title art using Inkscape (traced original bitmap). * Larger "Tux Paint" title art displayed on larger screens. * Bug Fixes --------- * Added authorization code to permit Fontconfig files to be installed on first launch from a non-admin account on Mac OS X. Martin Fuhrer * Fixed possible lockups in fullscreen mode when attempting to print on Mac OS X. Martin Fuhrer * Corrected bug where Shift and Kaleidoscope magic tools would crash when sound was disabled. * Corrected issues that prevented building Tux Paint without sound support (extraneous SDL_mixer library calls). * Preventing crash when starter images could not be loaded (when trying to flip or mirror them). John Popplewell * Fixed bug on Windows that caused image's metadata file to become corrupt after 40 flips or mirrors, which in turn caused a crash on startup. John Popplewell * Fixed bug that prevented rendering of some locales on Mac OS X (e.g. Arabic) Martin Fuhrer 2007.November.17 (0.9.18) * Interface Improvements: ----------------------- * Improved 'New' and 'Open' interface: + 'Open' dialog no longer includes 'Starter' images + 'New' now brings up a selection dialog showing 'Starter' images and color choices + New images can be given solid background colors (which the 'Eraser' tool erases to) * Sped up prompt animations, and made them 'fly' from their sources (e.g., quit confirmation flies from Quit button), when possible. * Center image of directional brushes shown. (SourceForge.net Bug #1658697) * Windows shows printer configuration dialog even when in fullscreen mode. If no 'print.cfg' file is found, the dialog is shown. Clicking "Cancel" in the printer config. dialog cancels Tux Paint's print attempt. John Popplewell * Tool Improvements: ------------------ * Added a 'color picker' entry to the color palette; allows choosing from over 50,000 colors. Used by drawing and Magic tools, as well as the new 'New' dialog. * Added an Octagon shape to the 'Shapes' tool. * Stamps can now be pre-flipped and/or pre-mirrored-and-flipped now (in addition to pre-mirrored). Use "_flip.png"/"_flip.svg" and "_mirror_flip.png"/"_mirror_flip.png", respectively. * Any current text being written in the Text tool is applied to the picture if 'Print' is clicked. (Useful if kids are told to add their name to a picture when they're done, right before printing, but they forget to hit [Enter].) * All stamps can be forced to start at a particular size (on a scale of 0-10, corresponding to their minimum and maximum size, which depends on the size of the stamp, and the size of the canvas). Use the "--stampsize=..." command-line option or "stampsize=..." config. file setting. Use "default" to allow Tux Paint to decide (its standard behavior). * Documentation Improvements: --------------------------- * Improved --usage output. * Added support for "--papersize help" to list papersizes available via libpaper. * System-Related Improvements: ---------------------------- * Added an API for developing Magic tools as plug-ins. ('.so' shared objects under Linux, '.dll' libraries under Windows, etc.) Plugins must provide a number of functions that Tux Paint calls, and Tux Paint provides a structure ("magic_api") that includes info. (e.g., the running Tux Paint's version number) and pointers to useful functions (e.g., getpixel(), putpixel(), etc.) * Magic plugin development can be done outside of Tux Paint base source-code by using new "tp-magic-config" shell script to query for C compiler flags (which points to where "tp_magic_api.h" header file is installed) and directories Tux Paint uses (where plugin '.so' files should be stored, and where Tux Paint's global data files and documentation go). * Magic plugin development docs created. On Linux/Unix, installed into /usr/[local/]share/docs/tuxpaint-dev/ by default. (HTML and plaintext.) * tp-magic-config man page created. * Ported existing magic tools to the new Magic tool plug-in system: (Blur, Fill, Lighten, Darken, Mirror, Flip, Rainbow, Blocks, Chalk, Grass, Negative, Tint, Smudge, Drip, Cartoon, Brick (large & small)) * Some Magic tools that apply an affect once per click-and-drag no longer recalculate the effect on pixels that have already been affected (until mouse button is released and clicked again). Improves performance, especially where heavy math is used. * Magic tool documentation now split into separate files, and referenced (as a directory) from README, so that users can find docs to any additional tools (ones not included by default with Tux Paint) that are installed. * Began adding support for using SDL_Pango, a wrapper to Pango, a library for layout and rendering of text, with an emphasis on internationalization. (The hope is to improve support for languages that SDL_ttf doesn't support well; e.g., Arabic and Telegu.) TTF_Font structs and some functions were replaced by a new TuxPaint_Font struct and function, which wraps around either TTF_Font or both a TTF_Font and a SDLPango_Context, depending on whether SDL_Pango is being used, and how the font was loaded. Can be disabled (will use older SDL_ttf-based code only) by building with "make nopango". Note: A modified SDL_Pango.h header file is included with Tux Paint, to work around a compile issue with SDL_Pango 0.1.2's. * Print configuration is now saved between Tux Paint sessions on Mac OS X. Martin Fuhrer * Saved-files directory and data directory (brushes, starters, etc.) can now be different. Use "--datadir" option to override default data directory, similar to "--savedir" has been for overriding save directory. * Windows installation (Innosetup .iss file) more silent, to help it work with WPKG software deployment tool. [SourceForge Bug #1787000] * Lockfile can be disabled via options file ("nolockfile=yes") now, too. * New Brushes ----------- * Sparkles (based on old Magic Tool) * New Starters: ------------- * Canada map Ed Monty * Japan map Ed Monty * New Magic tools: ---------------- * Calligraphy * Distortion * Emboss * Flower * Foam * Glass Tile * Kaleidoscope * Light * Metal Paint * Ripples * Shift * Waves (Flower and Calligraphy utilize Bezier curve example code from Wikipedia.org) (Glass Tile, Emboss, Flower, Light and Ripples sounds based on sounds from KDE 3.5.7; http://www.kde.org/ ) (Metal Paint sound based on sound from Engima; http://www.nongnu.org/enigma/ ) (Waves sound based on sound from Super Tux; http://supertux.berlios.de/ ) (Kaleidoscope sound based on water in a bathtub, by Caroline Ford , GFDL) (Shift sound based on London Underground train, by Caroline Ford , GFDL) * New Localizations: ------------------ * Esperanto translation Edmund GRIMLEY EVANS * Traditional Chinese input method Song Huang * Ojibway translation Ed Montgomery * Thai input method Ed Montgomery * Wolof translation Haby Diallo * Localization Updates: --------------------- * Afrikaans translation Petri Jooste * Brazilian Portuguese Frederico Goncalves Guimaraes * British English translation Caroline Ford Karl Ove Hufthammer * Catalan translation Pere Pujal i Carabantes * Chinese (Simplified) README documentation HackerGene http://tuxpaint.cn/ * Chinese (Traditional) README documentation Song Huang * Chinese (Traditional) OPTIONS documentation Song Huang * Dutch translation Freek de Kruijf * French translation Jacques Chion * German translation Burkhard L�ck * Gujarati translation Kartik Mistry * Hungarian Gabor Kelemen * Italian translation Flavio "Iron Bishop" Pastore * Japanese translation TOYAMA Shin-ichi * Mexican Spanish translation Ignacio Tike * Norwegian Nynorsk translation Karl Ove Hufthammer * Norwegian Bokm�l translation Karl Ove Hufthammer * Polish translation Andrzej M. Krzysztofowicz * Russian EXTENDING, INSTALL, PNG and FAQ documentation Sergei Popov * South African English translation Caroline Ford * Slovenian translation Matej Urban * Spanish translation Gabriel Gazzan * Swedish Robin Rosenberg * Vietnamese translation Clytie Siddall * Walloon translation Pablo Saratxaga * Improved comments near gettext() calls in the source code, to provide useful descriptions of each string in the POT (translation template). * Build System Improvements ------------------------- * Removed old Microsoft Visual Studio C++ files (in 'visualc') * Created a new "win32" folder with things from 'visualc' that are still being used ('libdocs', 'resource.h', 'resources.rc' and 'tuxpaint.iss') * Windows build updates for building Tux Paint with Pango-support. John Popplewell * Created a separate "win9x" target (for Windows95, Windows98 & WindowsME) which will have reduced functionality compared to more modern Windowses. John Popplewell * Bug Fixes --------- * PostScript scale and translation values were being localized (so, e.g., "N.M" would be "N,M") due to use of printf(). Fixed. * Windows printing now attempts to use default printer if a "print.cfg" file does not exist. (Fixes bug where Tux Paint would not print until after you've issued an [Alt]+'Print' at least once. SourceForge Bug #1748705.) * Fixed the scaling problem when printing on Windows. The image is scaled to fit whilst preserving the aspect ratio. It is centered horizontally and vertically aligned at the top of the page. (On Win9x/ME I'm getting a slight problem with the left and right margins when printing to our samba/cups shared printer which is making the Epson Stylus Color 860 emulate a post-script printer (I think). If I print to a file and use the HP LaserJet 6P/6MP PostScript driver it looks OK. I'm hoping it is a driver problem on my system.) John Popplewell * Prevented crash when clicking 'Open' or 'Erase' button in Open dialog after clicking an empty file slot. (SourceForge Bug #1787005) Thanks to Tomasz Gloc for reporting and investigating this one. * Fixed installer 'groupname' bug and missing icon on 'Tux Paint on the web' shortcut (on Windows XP). John Popplewell 2007.July.1 (0.9.17) * Interface Improvements: ----------------------- * Mouse cursor can be hidden (e.g., using "--hidecursor"), useful on touchscreen devices like tablet PCs or the Nokia Mameo devices. (Addresses SourceForge RFE #1673344) * Added an "autosave" option that assumes you wish to save the current picture during Quit. (Additionally, after saving during Quit or Open, it no longer shows 'success' pop-up that must be dismissed.) (Addresses SourceForge RFE #1680500) * Screen size can be rotated using the "--orient=portrait" command-line option or "orient=portait" configuration file setting. This swaps the width and height values used for window or screen size. (e.g., "tuxpaint --fullscreen --1024x786 --orient=portrait" will run Tux Paint in 768x1024 mode.) Useful for tablet PCs. Note: override previously-set option with "--orient=landscape" or "orient=landscape". * Stamp sound effects and stamp descriptive sounds can be re-played using small buttons that appear over Tux, at the lower lefthand corner. (They disappear/reappear when sound is muted/unmuted via [Alt]+[S].) * "Open" dialog lists saved drawings first, then local starter images, then system-wide starter images, rather than the other way around. (Since there are now so many more starters.) * All compile-time options now listed in version output, using a new "--verbose-version" (or "-vv") command-line argument. * Tool Improvements: ------------------ * Input Method Framework, with implementations of Korean (Hangul 2-Bul) and Japanese (Romanized Hiragana and Romanized Katakana) input methods. (Should be extensible to other languages.) (Addresses SourceForge Bug #1070414) Mark K. Kim * Stamps now supports SVG vector-based graphics! (Only SVG versions of stamps are loaded, when both PNG and SVG variations are found.) * By default, uses librsvg-2 and libcairo2 (requires glib & much more). * Use "make oldsvg" to build with libsvg and libcairo1 (older libs). * Use "make nosvg" to completely disable SVG support. * Stamps now shown in groups. Use previous & next buttons to cycle through stamp categories. (Addresses SourceForge Feature Request #1070394) * Bilinear interpolation (smoothing) is done to small bitmap (PNG) stamps when they are scaled up. (Based on example code by Christian Graus: http://www.codeproject.com/cs/media/imageprocessing4.asp ) * New Brushes: Caroline Ford + Blob + Chisle + Cut-out square in diamond + Cut-out star in circle + Diamond + Five-petal flower (large and small) + Six-petal flower (large and small) + Heart + Hexagon + Lozenge + Oval + Pentagon + Sphere + Spiral + Splat + Star + Triangle (up and down) + Arrows (directional) + Triangles (directional) * New Starter Images: + 10x10 grid + 20x20 grid From Wikipedia, prepared for Tux Paint by: Caroline Ford + World maps + United States of America map + Maps from Wikipedia + Caracassone, France Pere Pujal i Carabantes * System-related improvements: ---------------------------- * When running in fullscreen mode, you may now ask Tux Paint to display at the screen's (more precisely, the operating system's) current resolution. Either use both "fullscreen=yes" and "native=yes" in the config file, or "--fullscreen --native" on the command-line. * Split PostScript printing code (for Linux/Unix/etc.) into its own source file. (Mac OS X, Windows and BeOS all had their own.) * PostScript printing code rewritten, based on NetPBM's 'pnmtops' tool by Jef Poskanzer. * PostScript printing now uses libprint to determine papersize, and scale and position image accordingly. (No longer depending on printer to figure out its own paper size; not the recommended method.) Thanks to Henry House * "--papersize" option added to allow PostScript printing code to use a different size than libpaper reports as the user's or system's default. * Documentation Improvements: --------------------------- * Discussed SVG Stamps in "Extending Tux Paint." * Created an "SVG.txt" document, covering SVG software. Caroline Ford * Mentioned descriptive sounds (e.g., "stamp_desc_ll.ogg") in "Extending..." * Listing new www.tuxpaint.org website URL. * Expanded MinGW/MSYS GCC compilation instructions for building Win32. * Example tuxpaint.conf has been updated to include newer options. * Briefly documented translation (gettext PO catalogs) in "Extending..." * Briefly documented alternative input methods (IM character map files) in "Extending..." * Cleaned up FAQ a little. Added info on "Where are my pictures?" * Bug Fixes: ---------- * Tux the Penguin sound effects were not working; fixed. * Text tool's text would be applied to canvas when clicking any tool buttons. Fixed so that it is not applied when tool changes aren't happening (e.g., Print, Quit, Open, Save). * Text tool's text would disappear until you click or type, after a dialog has been dismissed. Fixed. (Addresses SourceForge.net Bug #1698855) * No longer disabling screensaver (if the system's libSDL supports it via "SDL_ALLOWSCREENSAVER" environment variable). * "use_print_config" option defaults to 'yes' on Windows, again. John Popplewell * Reordered font-loading to happen after locale switch occurs, to pick up font-organizing string translations (e.g., "Aa", "qx", etc.). Attempting to help address issue of Latin-only fonts being available in non-Latin locales -- seemed to help with Norwegian. * Fixed inability to type into Mac OS X print dialog. Martin Fuhrer * Fixed Mac OS X endian issue that caused Intel-based Macs to print with the wrong colors. Martin Fuhrer * Added automatic scaling and orientation of images when printing on Mac OS X. Martin Fuhrer * Added "New", "Open", "Save", "Print", "Page Setup", "Undo" and "Redo" items to Tux Paint menu on Mac OS X. Martin Fuhrer * Using standard Mac OS X arrow cursor, rather than custom Tux Paint cursor (for UI consistency on OS X). Martin Fuhrer * Compiling, porting and packaging updates: ----------------------------------------- * Tweaks to allow it to run on the One Laptop Per Child (OLPC) "XO". Albert Cahalan * Updates for improved Nokia 770 and N800 (Maemo) Internet tablet support (added icon to task manager when Home button is pressed, hid on-screen mouse cursor, disabled Print and Text tools) Alessandro Pasotti * Added more Nokia Maemo-specific files to the "hildon" folder (DEBIAN package files, updated .desktop and Tux Paint configuration files, D-BUS service file), to make packaging a Tux Paint .deb for Nokia 770 and N800 devices easier. (Note: Makefile needs updating and/or a compile-and-package script needs to be created.) Alessandro Pasotti * Lockfile (that prevents multiple launches) is now stored in the user's local temporary directory on Windows (usually 'C:\Documents and Settings\{username}\Local Settings\Temp'). This allows multiple users on different desktops to use a shared save directory on a network drive, without having to disable the lockfile feature, or wait for the lockfile to expire. (Addresses SourceForge Feature Request #1681125) John Popplewell * Localization build, install and uninstall targets moved into a separate "Makefile-i18n", to reduce clutter in main Makefile. * New Translations: ----------------- * Latvian Raivis Strogonovs * Telugu -- includes "te.ttf" font Pavithran Shakamuri * Twi Joana Portia Antwi-Danso Samuel Sarpong * Translation Updates: -------------------- * Arabic Khaled Hosny * Basque Juan Irigoien * Brazilian Portuguese Adorilson Bezerra de Araujo * British English Caroline Ford * Bulgarian Yavor Doganov * Chinese (Traditional) Wei-Lun Chao * Czech tropikhajma Vaclav Cermak * Danish Mikkel Kirkgaard Nielsen * Dutch Freek de Kruijf * Faroese Lis G�the � J�kupsstovu * Gujarati Kartik Mistry * Irish Gaelic Kevin Patrick Scannell * Japanese TOYAMA Shin-ichi * Lithuanian Gintaras Gostautas * Portuguese Helder Correia * Polish Andrzej M. Krzysztofowicz Michal Terbert * Russian Sergei Popov * Russian README & OPTIONS documentation Sergei Popov * Spanish Gabriel Gazzan * Swedish Daniel Nylander * Thai Ouychai Chaita * Vietnamese Clytie Siddall 2006.October.19 (0.9.16) * Interface improvements: ----------------------- * New slideshow tool! ("Slides", available in "Open" dialog.) Select each image to play, in the order you want them, and use the sliding scale to adjust speed, then click "Play" to begin the show. + The "Next" button and [Space], [Enter] and [Right Arrow] keys advance to the next slide manually. (Clicking anywhere in the image advances, as well.) + The [Left Arrow] key goes to the previous slide. + The "Back" button and [Escape] ends playback. Note: Use slowest (leftmost) speed setting to disable automatic slide advancement. * Modified "Text" tool so that it correctly handles the 16-bit unicode characters that SDL sends. (The text buffer is held internally as an array of wchar_t, and makes uses of various wide-character functions. It is converted back into 16-bit unicode characters to satisfy SDL_ttf. Tested on Windows and Linux.) John Popplewell * tuxpaint-import shell script now examines Tux Paint's configuration file (first in /usr/local/etc/tuxpaint, then /etc/tuxpaint, then $HOME) for the window size settings and saved-file directory options (rather than assuming a 640x480 screen and images saved in $HOME/.tuxpaint/saved/). Discovered (or assumed) window size and directory settings are shown when tuxpaint-import is first run (even with no arguments). * "startblank" option added, to cause Tux Paint to always start with a blank canvas (rather than loading the most-recently-edited image). * In windowed mode, Tux Paint tries to open its window in the center of the screen (if supported by the OS or window manager). * Improved some dialog text, including labels for "Yes/No" buttons. (Thanks to Vashti for suggestions.) * Sound effects take advantage of stereo. (e.g., paint brush sounds come more from the left speaker when painting on the left.) * Stamp sound effects may be in either OGG or WAV format. * Stamps may now include a second sound effect, used as a spoken description. (stampname_desc.ogg or .wav and localized stampname_desc_ll.ogg or .wav) * The color palette may now be overridden by creating a text file containing color descriptions, and using the "colorfile" option. * Default colors are duplicated, as an example, in docs/default_colors.txt. * Tool improvements: ------------------------ * Magic Sparkles can now be different colors. * Magic Negative, Fade, Darken, Tint and Cartoon all now apply with a circular shape, rather than a square. * Magic Grass has a sound effect. * Round erasers added. * Brushes may be animated. (Implements RFE #1522694) (Create an image (W*N) x H in size (where N is number of frames), then create a ".dat" file for the brush, containing the line "frames=N". * Animated brushes can be randomized. Use "random" in its ".dat" file. * Brushes can include directional variations. (Implements RFE #1522694) (Create an image (W*3) x (H*3) in size, then create a ".dat" file for the brush, containing the line: "directional". Each of the 9 sectors corresponds to 8 different directions, and center.) * Brushes can include spacing information. (Create a ".dat" file for the brush, containing the line "spacing=N". * New Brushes: ------------ * Vines (animated) * Angle Lines (directional) * Squirrel (animated, directional) * Kuro Neko ("Black Cat") (animated, directional) (Based on the cat from 'xneko' by Masayuki Koba) * New Starter Images: ------------------- * Shipwreck Jim Trice * Tux the farmer Jim Trice * Street Pere Pujal Carabantes * Chess board (From XBoard: http://tim-mann.org/xboard.html ) * Nagasaki Jim Trice * New Translations: ----------------- * Arabic -- includes "ar.ttf" font Khalid Al Holan * Faroese Lis G�the � J�kupsstovu * Gujarati -- includes "gu.ttf" font Kartik Mistry * Ndebele Vincent Mahlangu * Scottish Gaelic Niall Tracey * South African English * Tagalog RICKY LONTOC Technical assistance by Ed Montgomery * Tibetan -- includes "bo.ttf" font Dawa Dolma Technical assistance by Ed Montgomery * Venda Shumani Mercy Nehulaudzi * Xhosa Dwayne Bailey * Translation Updates: -------------------- * Using DejaVu Sans Condensed as default UI font now. http://dejavu.sourceforge.net/ * Making sure default UI font is used for untranslated strings. (Hindi font, for example, didn't seem to have roman characters.) * Brazilian Portuguese Fred Ulisses Maranhao * Catalan Pere Pujal Carabantes * Chinese (Traditional) Wei-Lun Chao * Finnish Niko Lewman * French Jacques Chion * Galician Leandro Regueiro * German Burkhard L�ck * Greek Sokratis Sofianopoulos * Hungarian Gabor Kelemen * Italian Flavio "Iron Bishop" Pastore * Italian AUTHORS and INSTALL documentation updates Flavio "Iron Bishop" Pastore * Japanese TOYAMA Shin-ichi * Japanese font shipped in Tux Paint now includes common educational Kanji * Korean Mark K. Kim * Polish documentation Pawel Polak * Serbian Aleksandar Jelenak * Swedish Daniel Nylander Robin Rosenberg * Spanish Pablo Pita Gabriel Gazz�n * Thai Ouychai Chaita * Turkish Doruk Fisek * Vietnamese Clytie Siddall * Replaced old Vietnamese font (questionable license) with Bitstream Vera-based "Verajja" font, by Bhikku Pesala. http://www.aimwell.org/Fonts/fonts.html * Including a scaled down version of the Japanese TrueType font (ja.ttf), that includes only the characters uses by Tux Paint. For info, see: fonts/locale/ja_docs/ TOYAMA Shin-ichi * Documentation Improvements: --------------------------- * Moved "Extending Tux Paint" into its own separate document. * Created an Advanced Stamps HOWTO (documenting how to create stamp PNGs that scale well without edge fringing). Albert Cahalan * Compiling, porting and packaging updates: ----------------------------------------- * Ran source code through "indent -nbfda -npcs -npsl -bli0". * "DESTDIR" patch is no longer needed. TOYAMA Shin-ichi * Split parts of "tuxpaint.c" into separate source files: + "compiler.h": Compiler-version-specific definitions. + "cursor.c/h": XBM bitmap cursor #includes and functions. + "debug.h": Defines whether debugging printf() calls should be enabled. + "dirwalk.c/h": Callback functions for recursive directory traversal. + "fonts.c/h": Font loading/grouping/discarding variables and functions. + "floodfill.c/h": 'Fill' tool's flood-fill routine. + "get_fname.c/h": Functions for constructing preferred file paths. + "i18n.c/h": Language-related variables, enums, arrays and functions. + "pixles.c/h": 'getpixel' and 'putpixel' functions & function pointers. + "playsound.c/h": Sound-playing function. + "progressbar.c/h": Animated progress bar function. + "rgblinear.c/h": RGB-to-linear float and binary data, and functions. * Made sure GPL notice was included in all other source files. * Added script to create "locale" during Build process in Xcode on Mac OS X. * Made some Xcode project settings work better with 'default, out of the box' OS X 10.4, Fink and XCode 2.1. * Factor out general CFLAGS to facilitate packaging. Compress man page -9. Ben Armstrong * Building with "-ffloat-store" in CFLAGS (instead of "-ffast-math") to allow stamp tinting code to work properly. Thanks to: Albert Cahalan * Silencing any errors when running kde- or gnome-config during install. * Implemented strcasestr() for systems which don't have it. * Bug Fixes: ---------- * Was not looking in personal folder for starters (e.g., "~/.tuxpaint/starters/" on Linux). Fixed. Adds a new boolean to the save image's ".dat" file, denoting whether the starter is from the personal folder (1) or not (0, or no data, as in prev. version). * Tux Paint's scalable icon (tuxpaint-icon.svg) caused Gnome panel to go wild (due to "libarts" bug?). Changed a vector value which apparently fixes it (and caused no noticable changes to the icon). * Added GetSystemFontDir() and amended WIN32 code so that the system fonts option work correctly on Windows. * Properly handles a variety of PNG formats when loading Starter images and turning them into thumbnails. (Tested with indexed PNGs, and PNGs where RGB colors were stored, even where pixels were fully transparent.) * Clicking between the rightmost color and the edge of Tux Paint's display would crash Tux Paint. (Fixes DBTS #352556) * Bottom of grass would initially be clipped due to incorrect canvas updating. Fixed. * Improved handling of scroll button state to prevent it from getting into an infinite loop. (Fixes bug #1396706) * Spaces in filenames were not working in 'tuxpaint-import.sh'. (Fixes bug #1527884) James Le Cuirot * Was always using the first brush when drawing shapes. Now forcing it to always use "round_03.png", since brushes are sorted alphabetically, and some new brushes appear before round ones! 2005.November.26 (0.9.15b) * Bug Workaround: --------------- * Japanese TrueType Font did not like being rendered at 16pt, so reverted to larger, 18pt size. (Other fonts were fine. I suspect it is a SDL_ttf or FreeType bug.) * Documentation update: --------------------- * "Thick" and "Thin" magic tools were removed, so removed mention of them from README documentation. * Source files and documentation files tagged with CVS Id tags for easier version tracking. Mark K. Kim * Locale update: -------------- * Georgian font is only ~50KB, so added to main Tux Paint archive. 2005.November.25 (0.9.15) * Speed improvements: ------------------- * Splash screen appears earlier, along with the version info and cursor. Albert Cahalan * Normal start-up time greatly reduced by splitting out font loading into a separate process. You only wait if you want the text tool. Albert Cahalan * added eat_startup_events in an attempt to make early escape possible (perhaps the user started Tux Paint by mistake, or the system is swapping itself to death) TODO: use do_quit if fully started Albert Cahalan * Normal start-up time greatly reduced by avoiding most stamp work. Stamp data is loaded as needed. (TODO: add pre-fetch process) Albert Cahalan * Memory usage down by not keeping stamps in memory. Tux Paint's size dropped by about 100 MB. :-) Albert Cahalan * Stamp tool improvements: ------------------------ * Greatly improved stamp outlining (to avoid empty rows or columns and other artifacts) by using a thick stippled pattern. Albert Cahalan * Stamp tinting code changed. Stamp ".dat" files may include "tinter=anyhue", "tinter=narrow", "tinter=normal" or "tinter=vector", describing how the contents of the stamp should be tinted. (See README) Albert Cahalan * Added "scale" keyword (in stamp ".dat" files) for high-resolution stamp images. (Allows stamps to be made larger without losing quality.) Albert Cahalan * More range for stamp sizes. Can't hang off edge in both dimensions. Albert Cahalan * New Magic tools: ---------------- * "Smudge" (pushes the colors around like wet paint) * "Grass" (makes grass, the painless way) * "Bricks" (makes bricks, the painless way) Albert Cahalan * "Darken" (opposite of "Fade"), * "Tint" (changes colors of parts of the picture), and * "Cartoon" (makes parts of the picture look like a cartoon or comic) Bill Kendrick * Magic tool improvements: ------------------------ * Magic blur effect now gamma-aware, circular, and modifying all points within the brush instead of just 25% of them. Albert Cahalan * Magic blocks effect now gamma-aware and using all 16 (not just 4) source pixels. Albert Cahalan * Text tool improvements: ----------------------- * Attempts to pick up the system's fonts, too! (Disable loading system fonts with "--nosysfonts" or "nosysfonts=yes".) Albert Cahalan * Italic, bold and sizes are now controlled with separate buttons (similar to flip, mirror and sizes for Stamps). Albert Cahalan * [Tab] key can be used to begin a new text entry to the right of the current one (e.g., for writing a sentence with each word in a different color). * A typewriter-style bell rings when the text gets close to the edge of the canvas. * Improved support for varying image sizes: ----------------------------------------- * Somewhat better treatment of wrong-sized images when loading them. It works well for typical kid drawings, as long as objects don't touch the edge of the screen. (the earth and sky -- and anything else at the edge -- get extended to fill the space) This could be better done with wavelets I think, or some vector-based notion of what lies at the edge of the screen. Starters, as usual, need work. Albert Cahalan * Fixed display corruption in 'Open' dialog when saved images are from a larger display size. Albert Cahalan * System-related improvements: ---------------------------- * Added larger screen size support: 1024x768, 1280x1024, 1400x1050, 1600x1200 TOYAMA Shin-ichi * Arbitrary window sizes allowed (--XXXXxYYYY); useful for more modern displays (e.g., Mac monitors) Albert Cahalan * Now defaults to 800x600 screen size. Welcome to the future. ;^) * Switched from using 16bpp display surfaces to 32bpp, to reduce discoloration. ("#define" options exist at the top of src/tuxpaint.c to choose which you want.) Albert Cahalan * Now uses "AUDIO_S16SYS" when initializing audio system (on Linux/Mac/BeOS); helps sound under Linux on Mac hardware. Albert Cahalan * Made sure user directory existed before trying to create lockfile (it might not be there the very first time we run Tux Paint). * Interface improvements: ----------------------- * Made UI fonts a little smaller. Adjusted position of icons and text in tool buttons. * Stamp scaling is now controlled by a set of mini "slider"-like buttons. The "Shrink" and "Grow" buttons didn't give any feedback as to what the current size was. * "New" always available. (Prepping for when "New" will give options for background colors, etc.) * Middle and right mouse buttons no longer do anything. (No reason to teach kids that all the buttons do the same thing!) Note: This can be disabled (resulting in the old-style support for all three buttons meaning the same thing) by setting the "--nobuttondistinction" option. * If middle or right mouse buttons are clicked too much, a pop-up appears explaining to click the left button, and includes a small picture of a mouse with the left button being 'clicked.' * Thumbnail of selected image now shown on "Erase this image?" confirmation pop-up. * Printer icons on "Print now?" and "You can't print yet" pop-ups. * Icons shown in "Save Over?" and "Save [before opening]" pop-ups. * Improved 'rubber band line' and stamp outline colors ("XOR" code) to make such lines easier to see on certain colors. * The "noquit" option now prevents the [Escape] key from quitting Tux Paint. ([Alt]+[F4] and the window close button still work.) * Tux Paint can now be quit with [Shift]+[Control]+[Escape], as well. (Useful for when "noquit" and "fullscreen" are set, and the [Alt]+[F4] combination is not possible.) * Gave Tux the Penguin a voice (e.g., during prompts) Voice: Daniel 'TuxthePenguin' Alston * Sound effects can be muted/unmuted while the program is running by pressing the [Alt]+[S] keys. (Note: does not enable sounds if "nosound" is set in configuration file or via command-line.) * Scroll wheel can be used to scroll through thumbnails in Open dialog. * Printing improvements: ---------------------- * Now printing directly via Postscript. (So print command can change from "pngtopnm | pnmtops | lpr" to simply "lpr"). Albert Cahalan * Holding [Alt] while clicking 'Print' on Unix/Linux can now bring up a print dialog. (Defaults to KDE's 'kprinter'.) Can be altered via 'altprintcommand' in ~/.tuxpaintrc. * Printer dialog (and 'altprintcommand') can be forced to come up all the time (not just when [Alt] is held) via a new "--altprintalways" command-line option (and "altprint=always" config. file option). * Similarly, printer dialog can be prevented ([Alt] key has no effect) via a new "--altprintnever" option (and "altprint=never"). (Default (where [Alt] must be held to show dialog) is "altprintmod".) * New Starter Images: ------------------- * Rocket * Other improvements: ------------------- * Added beige and tan colors. Changed "Lime" to "Neon Green." Renamed "Fuschia" to "Magenta." Tweaked some color values. Moved grey/silver next to black/white. Albert Cahalan * getpixel function now considers edges as extending to infinity (to improve Magic tools like 'Blur') Albert Cahalan * getpixel and putpixel functions split into four, one for each color depth (1, 2, 3 or 4 bytes per pixel), to reduce BPP tests when reading or drawing pixels. * drawtext_callback() prototype forces useless arg.; voided it Albert Cahalan * Simplified strip_trailing_whitespace() function; now O(n) Albert Cahalan * Increased maximum number of stamps that can be loaded at once from 256 to 512. Albert Cahalan * Splash screen scales to different window sizes. * Bug fixes: ------------------- * tuxpaint-import shell script created temporary files with predictable names in "/tmp", leaving it open to symlink attacks. Now creating temp. files in Tux Paint's default save directory. Ben Armstrong * Untranslated text in right-to-left languages (e.g., Hebrew) are no longer displayed backwards. * [Alt] to bring up print dialog had to be held while hitting 'Ok' to confirm print. This was a bug! Fixed! * Lockfile now cleared upon exit, allowing Tux Paint to be re-launched immediately. * Hotspot for 'tiny' crosshair mouse pointer shape is now correct in 16x16 size (used on Mac OS X). * Delete thumbnails from ".thumbs" subdirectory. Marcin 'Shard' Konicki * tuxpaint-import.sh now uses single brackets when testing for "--help". (Apparently, the "[[...]]" version didn't work some places.) Jeff Smith * Failed to install default locale fonts. Fixed. kyjo44 * Scroll wheel motion was being perceived as clicks in Open dialog. Fixed. * Thumbnail cursor could fall of screen when scrolling in Open dialog. Fixed. * Compiling, porting and packaging updates: ----------------------------------------- * Added support for system and user configuration files on Windows. (The system 'tuxpaint.cfg' file is in the same directory as the executable, the user 'tuxpaint.cfg' file is in the 'savedir' location, e.g. 'C:\Documents and Settings\username\Application Data\TuxPaint'.) John Popplewell * There's no longer a need to remove CVS-related things in 'tuxpaint.spec'. TOYAMA Shin-ichi * Added "test-option.sh" shell script, which can be used in Makefile for basic compiler option tests (e.g., is "-Wdeclaration-after-statement" available?) TOYAMA Shin-ichi * Created 'release' Makefile target, which generates a .tar.gz (sans CVS-related files) based on the clean source directory. * Moved "VER_VERSION" to Makefile (where 'release' can pick it up), and made "VER_DATE" a dynamically-generated Makefile variable. * Added additional Windows-only search paths for stamps, fonts and brushes. John Popplewell * Created Makefile to convert HTML documentation into plaintext using Links (I can never remember the precise options!) * *_PREFIX variables in Makefile no longer need trailing '/'. * Added "Categories" to the 'tuxpaint.desktop' file ("Education," "RasterGraphics," "Graphics" and "Art"). * Added 'win32' target to Makefile, for use on Windows with MinGW/MSYS. John Popplewell * Now links with 'shlwapi.dll' so that it works on Windows 98. John Popplewell * Added GetDefaultSaveDir(suffix) which fetches the default "Application Data" path for the current user from the Windows registry, appends the suffix, creates the subdirectory if it doesn't exist, then returns a string from the heap. This path is the new default "savedir" location on Windows. Tested on 98/2K/XP. John Popplewell * Switching from NSIS to InnoSetup 5 installer generator for Windows. John Popplewell * Added a Windows registry entry 'Install_Dir' in either HKCU\Software\TuxPaint or HKLM... depending on whether the user is restricted (or doing a current user-only install) or is installing for all users. John Popplewell * Added ability to detect previous install directory entries in the Windows registry. Searches for entry in HKLM and HKCU sections. John Popplewell * BeOS code updates. Marcin 'Shard' Konicki * Updated BeOS Makefile. Marcin 'Shard' Konicki * Added BeOS resource file (src/tuxpaint.rsrc) Marcin 'Shard' Konicki * Replaced all instances of absolute paths with macro counterparts in "tuxpaint.spec" file. Richard June * Reset buildroot in "tuxpaint.spec" to incorporate username of the builder. Richard June * Added "PKG_ROOT" variable to Makefile, and "tuxpaint.spec" file, for Tux Paint RPM building ease. TOYAMA Shin-ichi * Fixed to compile on old GLIBC system (such as RedHat-6.2) TOYAMA Shin-ichi * Fixes to RPM spec file TOYAMA Shin-ichi * Enabled more compiler warnings, and updated code to prevent them. Albert Cahalan Bill Kendrick * Gave up on 'HQ4X' scaler and scanline polygon filling, for the time being. (i.e., removed unused code.) * Documentation updates: ---------------------- * Removed TODO.txt file and moved all bugs and feature requests to the SourceForge tracker: http://sourceforge.net/tracker/?group_id=66938 * Converted Frequently Asked Questions (FAQ) to HTML. * Mentioned Tux Paint Config. tool in FAQ. * French documentation created. J�r�me Chantreau * New translations: ----------------- * Albanian Ilir Rugova Laurent Dhima * Estonian Henrik Pihl * Gaelic Kevin Patrick Scannell * Galician Leandro Regueiro * Gronings J.F.M. Lange * Kinyarwanda Steve Murphy (Initial rough translation based on translations from the following: Philibert Ndandali , 2005. Viateur MUGENZI , 2005. Noëlla Mupole , 2005. Carole Karema , 2005. JEAN BAPTISTE NGENDAHAYO , 2005. Augustin KIBERWA , 2005. Donatien NSENGIYUMVA , 2005. Antoine Bigirimana , 2005.) * Mexican Spanish Ignacio Tike Daniel Illingworth Luis C. Su�rez M. * Swahili Martin Benjamin Alberto Escudero-Pascual Kamusi Project at Yale University Open Swahili Localization Project at the University of Dar es Salaam * Thai Ouychai Chaita * Ukranian Serhij Dubyk * Translation updates: -------------------- * Afrikaans Petri Jooste * Bulgarian Yavor Doganov * Chinese (Traditional) documentation Song Huang * Czech Lucie Burianova * Dutch Geert Stams Michael de Rooij * French Jacques Chion * German Patrick Burkhard L�ck * Greek The Greek Linux i18n Team * Hebrew Dovix Leor Bleier * Indonesian Tedi Heriyanto * Japanese TOYAMA Shin-ichi * Korean Mark K. Kim * Lithuanian Gintaras Go?tautas * Norwegian Bokmal Klaus Ade Johnstad * Polish documentation Tomasz 'karave' Tarach * Portuguese (Portugal) Ricardo Cruz Helder Correia * Russian Eugene Zelenko * Spanish and Spanish documentation. Gabriel Gazz�n * Swedish Magnus Dahl Tomas Sk�re * Vietnamese Clytie Siddall * Added "create_pot_file.sh" help script to "src/po/", for easier regeneration of "tuxpaint.pot" (gettext catalog template) * Created Python script to generate a scaled down version of the Chinese (Traditional) TrueType font (zh_tw.ttf), that includes only the characters uses by Tux Paint. (Reduces TTF file size from ~13MB to ~600KB!) For info, see: fonts/locale/zh_tw_docs/ First draft: Edward Lee Song Huang 2004.September.28 (0.9.14) * New Features: ------------- * Added support for immutable "starter" images, which are installed globally with Tux Paint, and provide a starting canvas for images. A PNG file with alpha is continuously drawn over whatever changes are made to the current drawing. For example, a black outline of a cartoon character could be made, to simulate a coloring book. (See 'jetplane.png') A second PNG file can be supplied which will be drawn on the normal part of the canvas (where a new picture would normally be all-white), allowing for simulated depth. Drawing and magic tools all mutilate the background, as it's part of the normal canvas. However, when editing a picture based on a 'starter' with a background layer, the eraser will bring back the background image. In a sense, it's like having a photo on the bottom, a clear sheet to draw on in the middle, and a clear sheet with some more photo (which you can't draw on) on top. (See 'reef.png' and 'reef-back.jpg') * Added lockfile support, to prevent Tux Paint from being launched more than once every 30 seconds. (Disable with "--nolockfile" command-line argument.) Thanks to Darci Lindgren for suggestion the feature, and Mark K. Kim for suggesting it be time-based. (Lockfile is "lockfile.dat" in "~/.tuxpaint/" on Linux/Unix, and "userdata\" on Windows.) * Added "--nosave" option (suggested by Adam Moore). * Updated Features: ----------------- * Added some more brushes. Jeremie Zimmermann * Multiple sizes of erasers are present. (Compile-time #defines can be used to determine how many sizes are available, and their minimum and (approx.) maximum sizes.) Note: Erasers are still square. Sorry! * Fixed tinting of low-saturation stamps. Addded 'notintgray' option. Karl Ove Hufthammer * Made sure shape tool never made a tiny shape. (Should hint users that they should click-and-drag.) * Made some colors more unique, so that they affected stamps better. (e.g., purple and magenta used to look the same when used to tint a stamp) Karl Ove Hufthammer * Made current image the selected image on Open screen, if applicable. * Now prompts to confirm before printing. * New translations: ----------------- * Afrikaans translation created. Petri Jooste * Belarusian translation created. Eugene Zelenko * Breton translation created. Korvigellou An Drouizig (Philippe) * Bulgarian translation created. Martin Zhekov * Croatian translation created. Nedjeljko Jedvaj * Georgian translation created. Gia Shervashidze * Hindi translation created. Ankit Malik * Italian documentation translation. Flavio Pastor * Klingon (Romanized) translation started. Bill Kendrick * Korean README.txt documentation added, in both EUC-KR and UTF-8 formats. Mark K. Kim * Serbian translation created. Aleksandar Jelenak * Slovenian translation created. Urska Colner , Ines Kovacevic , Matej Urban * Traditional Chinese translation created. Song Huang * Vietnamese translation created. (Simple version) Le Quang Phan * Welsh translation created. Kevin Donnelly * Updated translations: --------------------- * Updated Basque translation. Juan Irigoien * Updated Brazilian Portuguese translation. Daniel Jose Viana Silvio Faria * Updated Breton translation. Korvigellou An Drouizig (Philippe) * Updated British English translation. Gareth Owen * Updated Catalan translation. Pere Pujal Carabantes * Updated Danish translation. Mogens J�ger * Updated Dutch translation. Geert Stams * Updated Finnish translation. Tarmo Toikkanen * Updated French translation. Jacques Chion * Updated German translation. Roland Illig * Updated Hungarian translation. T�r�k G�bor * Updated Icelandic translation. Pjetur G. Hjaltason * Updated Indonesian translation. Tedi Heriyanto * Updated Italian translation. Flavio Pastor * Updated Japanese translation. TOYAMA Shin-ichi * Updated Korean translation. Mark K. Kim * Updated Malay translation. Muhammad Najmi Ahmad Zabidi * Updated Norwegian Bokmal translation. Karl Ove Hufthammer * Updated Norwegian Nynorsk translation. Karl Ove Hufthammer * Updated Portuguese (Portugal) translation. Ricardo Cruz * Updated Simplified Chinese translation. Wang Jian * Updated Slovakian translation. Andrej Kacian * Updated Spanish translation. Gabriel Gazz�n * Updated Tamil translation. Muguntharaj * Updated Turkish translation. Doruk Fisek * Updated Walloon language translation. Pablo Saratxaga * Localization clean-ups: ----------------------- * Removed all non-UTF-8 related character handling code, including HTML character entity reference support. (All stamps are now in UTF-8, with scripts to convert to and from PO files.) Karl Ove Hufthammer * Updated punctuation in many text strings. Karl Ove Hufthammer * Added "--lang simplified-chinese" option (same as "--lang chinese"). Simplified also now looks for "zh_cn.ttf" font, as "zh.ttf" was too ambiguous. (For backwards-compatibility, it checks for "zh.ttf" if "zh_cn.ttf" is missing, though.) Bill Kendrick , John Popplewell * Cleaned up translation and font code. Karl Ove Hufthammer * Language option now sets "LANGUAGE" environment variable (along with LC_ALL and LANG). * Initial work to get proper uppercase support in languages other than English. * Added reference to "--lang help" to documentation. * Documentation updates: ---------------------- * README (docs/html/README.html and docs/README.txt) has been pared down and made more friendly. Mention of other doc. files are now hyperlinked. * Documentation regarding configuration file and command-line options have been moved into a separate OPTIONS document (docs/html/OPTIONS.html and docs/OPTIONS.txt), since Tux Paint Config. now exists to simplify changing settings. * Porting and packaging updates: ------------------------------ * Added startup display mode and resolution options to the Windows installer. John Popplewell * Visual Studio build system included in CVS and source release ('visualc' folder) John Popplewell * Updated Makefile for easier install. Mark K. Kim * Cleaned up desktop entry file. Karl Ove Hufthammer * Made sure KDE icon directories exist before trying to copy files to them. * Created 16x16 mouse pointer shapes; use "MOUSEDIR" and "CURSOR_SHAPES" Makefile variables to use them. * Application icon updates: ------------------------- * SVG (Scalable Vector Graphics) icon created. Karl Ove Hufthammer * Added 22x22, 64x64, 96x96, 128x128 and 192x192 icons, based on SVG icon. Karl Ove Hufthammer * Improved Windows icon, based on SVG icon. Karl Ove Hufthammer * Bug fixes: ---------- * Fixed "--noprint=yes" not working under Windows and BeOS. Thanks to Adam Moore for pointing out this bug! Bill Kendrick & Mark K. Kim * Fixed crash bug when translated text ends in a space. Mark K. Kim & John Popplewell * Fixed security issue with permissions to Tux Paint docs directory. Mark K. Kim * Fixed 'savedir' bug. (Was dropping filenames) * Removed redundant '--wheelmouse...' listing from "--usage" output. * Fixed crash bug when switching from different tools with scrolling collections, and then scrolling. Thanks to Kevin Jarrett for the report, and John Popplewell for a replicable way of crashing it. * Misc. Updates: -------------- * Keywords ("Title" and "Software") now written into PNGs. * Changed default UI font to "FreeSans.ttf" 2003.Dec.23 (0.9.13) * Translated into Basque (eu_ES) Juan Irigoien * Translated into Norwegian Bokmal (nb_NO) Dag H. Loras * Translated into Tamil (ta_IN) [buggy] Mugunth * Updated Icelandic translation. Pjetur G. Hjaltason * Made sure options were in the same order in various places in man page and documentation. Made sure all options and languages were listed. * Added stamp controls to mirror, flip and resize stamps before placing them. Some stamps can be set to not be mirror-, flip- or resize-able. (Place "noflip" and/or "nomirror" in the stamps' ".dat" option files.) Stamps can have alternative mirror-images (e.g., to show a shape the opposite direction, but not have backwards text on it). Create "filename_mirror.png" image files. * Incorproated high quality filtering code from HiEnd3D, http://www.hiend3d.com/hq3x.html by Maxim Stepin * Added "--nostampcontrols", "--mirrorstamps" and their opposite options, to disable stamp controls, and default to mirrored stamp shapes, (or not), respectively. * Fixed incorrect tag in HTML documentation. (Bad results in IE) * Fixed typo regarding "savedir" in README. * 'printcfg' options not displayed in usage, except on Win32. * Moved available language listing to its own usage, shown when "--lang" called incorrectly, or as "--lang list" or "--lang help". (Suggested by Ben Armstrong) * Reorganized usage display (Suggested by Ben Armstrong) * If the top-left-most file is deleted in the Open screen, it now scrolls up one line (so that the cursor isn't off the top of the screen!) * Cleaned up font aliasing blurriness and JPEG noise in title image. * Updated copyright date in title image. * Cursor doesn't change to 'hand' shape over color buttons when colors aren't available (e.g., Magic tool, most Stamps, etc.) * Cursor doesn't change to 'hand' shape over selector buttons when they aren't available. * Added "--noshortcuts" option, to disable keyboard shortcuts (e.g., [Ctrl]+[S] for Save, etc.) * Created missing locale-specific documentation directories. (Unfortunately, most are still empty!) * Added more copies of the GPL: Swedish, Romanian, Polish, Lithuanean, Korean, Japanese, Indonesian, Hebrew, Greek, Danish, Czech, Chinese and Catalan. * Fixed locale typos in source ("cs" not "cz" for Czech, and "sv" not "se" for Swedish). * Updated default configuration file to include examples of some newer options. * White/grey in tintable stamps don't get tinted now. * Stamps in homedir are now loaded before system-wide stamps. * "--lang=XXX" can be used on the command-line, along with "--lang XXX" * Moved Tux penguin stamps from Stamps package to core Tux Paint package, so that Stamp tool works out-of-the-box. 2003.Aug.18 (0.9.12) * Replaced "efont-serif" fonts with those from the 'ttf-freefont' package, for better support of ISO8859-13 symbols (e.g., for Lithuanian). Fonts copyright the Free Software Foundation. Thanks to Mantas Kriauciunas for the tip. * Made main event loop ignore motion events if the loop has spun too long. (Fixes problems where shape or stamp tools take forver to 'catch up' with the mouse; especially noticable on slow machines over remote X display.) * Walloon translation. Pablo Saratxaga * Translated to Russian Dmitriy Ivanov * Translated to Malay Muhammad Najmi Ahmad Zabidi * French translation update. Jacques Chion * Chinese translation update. Wang Jian * If gnome-config is not found, it doesn't necessarily mean Gnome isn't being used! Makefile will now fall-back and assume $GNOME_PREFIX should be /usr, so that the launcher icon gets installed into the Gnome menu. * Added some "#error" directives to give verbose output regarding missing library header files. (Typical cause of this symptom is forgetting to install dev. packages; e.g., installed "SDL.rpm", but not "SDL-dev.rpm") * Fixed Mac OS X #include typo. Darrell Walisser * Fixed bug where non-translated stamp description text would get drawn right-to-left after the kudos text (e.g., "Great!") goes away. Thanks to Itai * Added call to close iconv when quitting. John Popplewell Darrell Walisser * Removed static "MAX_FILES" limit; now mallocs space for file info. structures. (Should fix large stack crash on OS X, which is good.) * Fixed bug where translated text would revert to English in 'uppercase' mode. * Fixed UTF-8 related bug where Lithuanian wouldn't display if using 'TTF_RenderText...', but Spanish wouldn't display if using 'TTF_RenderUTF8...'. Thanks to Mantas Kriauciunas, Robert Glowczynski, John Popplewell and Karl Ove Hufthammer. * Simplified CFLAGS variable in Makefile. Ben Armstrong * Fixed bug where ".thumbs" dir wouldn't get generated if it wasn't there and you went to the 'Open' dialog. * Fixed prompt bug for larger window sizes TOYAMA Shin-ichi 2003.Jun.17 (0.9.11) * Windows bugfixes. John Popplewell * Mac OS X print update. Get to a print dialog by holding Alt/Option when clicking "Print." (Similar to how Windows handles it.) Darrell Walisser * Hebrew translation! Dovix Koby * Right-to-left language support (for Hebrew, for example). * Updated Korean translations. Mark K. Kim * UTF-8 support in the Text Tool! Robert Glowczynski , Mantas Kriauciunas * Added 'The Gimp' to docs/PNG.txt Mantas Kriauciunas * Set $OUTPUT_CHARSET for Japanese locale, to fix Win32 issue. TOYAMA Shin-ichi * Lithuanian translation. Mantas Kriauciunas , Rita Verbauskaite * Fixed bug that would cause some translated stamp sounds to not load. John Popplewell * Added Dutch translation of (older version of) HTML documentation. (docs/html/README-nl.html; docs/nl/README.txt) Geert Stams * Updated Polish translations. Robert Glowczynski * Added Polish version of manpage. Robert Glowczynski * Restructured manpage sources (created "src/manpage/") * Fixed a few typos in the manpage. Robert Glowczynski * Fixed UTF-8 word-wrapping bug when there were no spaces (e.g., in some Japanese strings) * When a locale requiring its own font can't be used because the font is missing, Tux Paint STILL didn't work right. Fixed. (Set $LC_ALL=C) * Added a set of square brushes (similar to the various round ones). * Added "--nostamps" option to disable stamp tool. (When it's not needed, they just take time to load, and RAM to store.) * Added missing "--nosysconfig" to "--help" usage output. * Increased MAX_FILES from 256 to 2048. Users with more than 128 images saved were unable to load the newest images! (Hopefully 1024 saved files is sufficient.) * Thumbnails now saved to a ".thumbs" subdirectory under "saved". (Old thumbnails will still be loaded, if found. Currently, the old thumbnails will still be saved in the old location, not under .thumbs) Ben Armstrong's suggestion. * Updated tuxpaint-import to create .thumbs subdirectory, and put new thumbnails there. * Moved "tuxpaint-import.1" from src/ to src/manpage/. * "Thick" and "Thin" Magic Tools made 'stronger.' 2003.February.22 (0.9.10) * UTF-8 stamp descriptions word-wrap around spaces. * Portuguese (from Portugal) translation. Ricardo Cruz * Support for more HTML escape codes in description files. [ Not yet working ] * Czech .po file renamed to the correct "cs.po". * ALT+F4 accepted as alternative to [Escape] (to quit) by Tux Paint's main loop. Windows wasn't rending a 'Close Window' event on that key combo, like it should (I think). John Popplewell * Windows printing changes: + Now uses a default printer configuration. + No pop-up dialog appears unless [ALT] is held while hitting "Print" button in the toolbox. + Can be told to save any changes to printer configuration (so it's used as default configuration from now on) by sending the "--printcfg" command-line option. John Popplewell * Fancy cursors automatically disabled when in fullscreen mode in Windows. (A bug in SDL causes the larger cursors to leave trails on the screen.) * BeOS version will chdir to where Tux Paint is, if launched from a GUI (e.g., OpenTracker) Marcin 'Shard' Konicki * Included new "src/Makefile.beos" Marcin 'Shard' Konicki 2003.February.1 (0.9.9) * Translated into Slovak! Milan Plzik * Updated Norwegian Nynorsk translation. Karl Ove Hufthammer * Added Japanese translation to Tux Paint icon (tuxpaint.desktop) TOYAMA Shin-ichi * Moved Makefile.beos into src/, to keep root directory less cluttered. * Incorporated "tuxpaint.nsi" in src/ (A configuration file for creating an installer program for Windows, using Nullsoft's Scriptable Install System ) John Popplewell * Alphabetized locale generation/installation in Makefile (partly for nicer looking output during compilation, but mostly for easier maintenance) * When a locale requiring its own font can't be used because the font is missing, Tux Paint now CORRECTLY switches back to default ($LANG=C, which for Tux Paint is 'American English') * Removed some debugging output that shouldn't have been kept in. * Locale-detection code made more robust. (Check LC_MESSAGES, not LC_ALL) TOYAMA Shin-ichi * Added support for some useful HTML escape sequences in stamp descriptions (e.g., "´" for "�" ("a" with "'" over it)) Append ".esc" to the locale code (e.g., "fr.esc=...") in the ".txt" description files. * Wrote "docs/ESCAPES.txt", which covers valid escape sequences. * Made 800x600 mode available at runtime, rather than just at compile-time (available "--800x600" command-line option and "800x600=yes" in conf. file; overridden by "--640x480" option, or "800x600=no" or "640x480=yes" in conf.) NOTE: STILL EXPERIMENTAL! 640x480 mode is still default! * Fixed 'Magic Tool' selector redraw bug in 800x600 mode. 2003.January.27 (0.9.8) * Updated Makefile to include "beos" and "beos-install" targets. (Apparently doesn't work yet.) Based on BeOS Makefile by Marcin 'Shard' Konicki * Included Makefile.beos for BeOS. (Needs updating to match newer upstream Makefile) Marcin 'Shard' Konicki * Added some translations to Tux Paint's icon's comment in tuxpaint.desktop. * Updated default tuxpaint.conf to mention all of the newest options. * Fixed tuxpaint.desktop's icon so that it works right under Gnome. * Fixed crash that could happen when picking an unavailable spot in the selector on the right. * Fixed Japanese locale detection. TOYAMA Shin-ichi * Stamp description translations can be encoded using UTF-8. Append ".utf8" to the locale code (e.g., "fr.utf8=...") * Removed stamp descriptions from Japanese translation file (src/po/ja.po). (Will be placed as UTF-8 encoded text in next Tux Paint stamps package release.) 2003.January.26 (0.9.7) * Translated to Japanese! TOYAMA Shin-ichi * Fixed translation bugs with some save-related prompts. * Polish available as "--lang polski" as well. * Disabled fancy cursors by default in BeOS. (Support is buggy in SDL.) Marcin 'Shard' Konicki * BeOS updates. Marcin 'Shard' Konicki 2003.January.22 (0.9.6) * Save directory can be specified ("--savedir") John Popplewell * BeOS printing support! (Makefile needs updating) Marcin 'Shard' Konicki * tuxpaint-import now creates the '~/.tuxpaint/saved' directory, if it doesn't exist * Initial support for arbitrary window sizes. (#define SVGA for 800x600) TOYAMA Shin-ichi * Added a few new colors, renamed some old ones. TOYAMA Shin-ichi * Fixed text tool bug when hitting [Enter]/[Return] past bottom of canvas * Gnome and KDE install targets won't kill make process * Indonesian available as "--lang bahasa-indonesia" as well. 2003.January.13 (0.9.5) * Romanian translation! Laurentiu Buzdugan * Greek translation! The Greek Linux i18n Team * Polish translation! Arkadiusz Lipiec * French translation update. Jacques Chion * Cleaned up Makefile some. Made output less verbose during compile & install. 2003.January.8 (0.9.4) * Indonesian translation! Tedi Heriyanto * Changed sparkles so they look less like blobs. (Thanks to Dave Nelson for the suggestion.) * Added a mode that uses XORs ("rubber-band lines") much less: --nooutlines It should help for very slow machines and using Tux Paint remotely over a networked X display. * The 'Circle' shape no longer switches into rotation mode (since it never affected the shape!) 2003.January.6 (0.9.3) * Chinese translation! Wang Jian * Fixed bug when testing for printer availability under Windows. John Popplewell * Screen now refreshes when switching back to fullscreen Tux Paint. John Popplewell * Spanish translation update. Gabriel Gazzan * Lots of Spanish documentation updates. Gabriel Gazzan * FAQ categorized 2002.December.10 (0.9.2) * Translated INSTALL.txt, FAQ.txt and PNG.txt documentation to Dutch. Geert Stams * Updated AUTHORS.txt * Updated Norwegian documentation (docs/nn/INSTALLERING.txt) Karl Ove Hufthammer * Added initial attempt at keyboard control support (for mouseless environments): "--keyboard" * UTF-8 support working. * Korean translation completed! Mark K. Kim * Fixed errors in 'uninstall' target in Makefile 2002.November.16 (0.9.1) * Updated man page. * Translated to Catalan. Pere Pujal Carabantes * Added some missing "gettext_noop()" wrappers to some strings. * Stamp sound effects played when clicked, even if stamp is already selected. * Added more translated documentation directories, with dummy docs. * Simplified documentation installation target in Makefile (and fixed permissions to something more sensible). 2002.November.12 (0.9.0) * Fixed endian issue which caused stamp icons and saved-file thumbnails to have messed up colors! (Tested on Mac laptop running Mac OS X.) * Added FAQ item regarding fullscreen not being in 640x480 under Linux. (Partially based on libSDL's Linux FAQ: http://www.libsdl.org/faq.php?action=listentries&category=3#34 ) * Added notice about downloading libraries and '-dev' packages under compiling/Linux section of INSTALL.txt. * Rearranged INSTALL.txt some. * Converted titlescreen image from JPEG to PNG (so libJPEG would no longer be required). * Updated PNG software list (PNG.txt) * Added version number and release date to title screen. * Fixed strange undo/redo access bug (redo available after open). * Uses "Library/Preferences/tuxpaint" instead of hidden ".tuxpaint" directory under Mac OS X. Darrell Walisser 2002.November.3 * HTML documentation cleaned up (no warnings or errors from HTML Tidy!) * Updated Norwegian translation of INSTALL.txt (INSTALLERING.txt) Karl Ove Hufthammer * Translated to Hungarian. T�r�k G�bor * Partly translated to Korean. PO file in an unusable charset, though... Mark K. Kim * Supports locale-specific fonts for languages that need Unicode. e.g., Korean will use "ko.ttf", if found, for translated strings. * Updated Spanish translation. Gabriel Gazzan * Updated French translation. Jacques Chion 2002.October.26 * Updated German translation. Fabian Franz * Updated Brazilian Portuguese translation. Daniel Jose Viana * Updated Icelandic translation. Pjetur G. Hjaltason * Updated French translation. Jacques Chion * Translated to Czech. Peter Sterba Martin * Fixed KDE_ICON_PREFIX setting (needed '--expandvars' arg. to kde-config) Pjetur G. Hjaltason * Updated KDE launcher install to place .desktop file where kde-config says to. * Updated Gnome launcher install to use `gnome-config --prefix` * Now using Links (instead of Lynx) to convert HTML README to text. 2002.October.20 * Updated INSTALL.txt documentation. * Updated README.txt documentation. * Created HTML version of README documentation, with screenshots! * Updated Icelandic translations. Pjetur G. Hjaltason * Updated Norwegian translations. Karl Ove Hufthammer * Installs pt_br documentation now. * Created British English (en_GB) translation. (i.e., "color" is "colour") 2002.October.19 * Windows printing updates (src/win_print.c): - Correct aspect ratio (e.g., circles are now circular). - Image now centered on the page horizontally - Printouts work in high-quality mode - Looks good on John's Epson Stylus Color 860 - Fixes for possible crashing bugs John Popplewell * Updated Norwegian translations. Karl Ove Hufthammer * Made toolbox, color selector, and object selector titles translatable. * Replaced SGML man pages with hand-written nroff. * Extensive man page updates. 2002.October.6 * Windows printing support! John Popplewell * Updated Shape tool's tips. (Thanks to Tarmo for pointing this out.) * Fixed 'Great!' sayings (src/great.h) to be wrapped in gettext_noop() Fabian Franz * Fixed forgotten endian issue with stamps (seen on Sparq & PowerPC) Thanks to Fabian's keen eyes. * Finnish updates. Tarmo Toikkanen * Updated Brazilian Portuguese translation. Daniel Jose Viana * Updated Norwegian translations. Karl Ove Hufthammer * Updated Icelandic translations. Pjetur G. Hjaltason * Updated Spanish translation. Gabriel Gazzan * Updated / added more Brazilian Portuguese documentation. Daniel Jose Viana * Removed 'Rubber Stamps' section from 'docs/AUTHORS.txt' (since Stamps package has its own 'docs/CONTRIBUTORS.txt' document now) * Dealt with warning with call to TTF_SizeUNICODE 2002.September.29 * Updated Norwegian documentation. Karl Ove Hufthammer * Updated German translation. Fabian Franz * Fixed problem where some locales wouldn't get translated stamps. Fabian Franz * Various sayings can be used instead of just 'Great!'. See 'src/great.h' * Fixes for Win32 John Popplewell * Text tool checks width of character in font, rather than relying on 'isprint()' - this SHOULD help unicode characters work in the Text tool. Thanks to Jon Atkins * Updated Spanish translation. Gabriel Gazzan * Increased scrollbar repeat speed. 2002.September.28 * Translated to Brazilian Portuguese ('pt_BR'). (Get with "--lang brazilian", "--lang brazilian-portuguese" or "--lang portugues-brazilian") Daniel Jose Viana * Fixed 'get_fname()' so that it won't return a directory name with a trailing slash (if no filename was given). Some 'mkdir()'s don't like trailing slashes. Thomas Klausner * "lang=" setting is now recognized in configuration files. * Default configuration file now exists (Unix/Linux). Installed as /etc/tuxpaint/tuxpaint.conf. (Unless 'PREFIX' is not '/usr' or '/usr/local', then it's installed into $(PREFIX)/etc/tuxpaint/tuxpaint.conf. Overridable by setting CONFDIR Makefile variable) Read before "~/.tuxpaintrc". Reading it can be disabled with "--nosysconfig" on command-line. * Added support for "OPTION=no" in config file, as well as "UNOPTION=yes" (like command-line args. use), so that "~/.tuxpaintrc" can override any settings in new system config. (e.g., "noprint=no" or "print=yes" will override a "noprint=yes") * Updated INSTALL.txt and README.txt for Windows users. John Popplewell * Updated Spanish documentation. Gabriel Gazzan * Added warnings about untranslated strings ("NOTRANS: ...") to debugging output. ("#define DEBUG") (Useful for translators.) * Added option to disable 'fancy' mouse pointers: --nofancycursors (since fullscreen under Windows and non-X-Window targets under Linux currently have problems due to an SDL library bug) * Changed 'tuxpaint-import's usage message to reflect that it can import multiple files at a time, and that it has a "--help" option. * Updated 'tuxpaint-import's help message to describe what the program does. 2002.September.25 * Translated to Danish. Rasmus Erik Voel Jensen * Norwegian updates. Karl Ove Hufthammer * Updated Karl's e-mail address in docs. 2002.September.24 * Norwegian translation of INSTALL.txt Karl Ove Hufthammer * Updated Icelandic translations. Pjetur G. Hjaltason * Fixed bug where German translation of stamps wouldn't be used. Fabian Franz * 'Great!' text appears when you use stamps, etc., again. Replaced with the old tip text (e.g., stamp description, instructions, etc.) after a moment. Fabian Franz * Prompt and label font is smaller when in "--uppercase" mode. * "Open", "Erase" and "Back" buttons in 'Open' dialog are now translatable. (Still need to translate selector titles (e.g., "Tools", "Colors", etc.)) 2002.September.23 * Replaced key-repeat code with simple SDL-based key repeat. Fabian Franz * Fixed toolbar bug when using 'Save' via [Ctrl]-[S] shortcut. Fabian Franz * Shortcut keys for "Yes" and "No" prompts are now based on the first character of the translated versions of those words. (e.g., in Spanish, [S] for "Si", and [N] for "No". In German, [J] for "Ja", and [N] for "Nein".) Fabian Franz * Added URLs to Windows and Mac software in PNG.txt. * README updated. * Some documentation translated to German. (See "docs/de/") (Using Google.com Language Tools) * Placeholders created for some other translated documentation. * Translated documentation gets installed now. * 'Print' tool disabled when picture is blank (Simply mimicks 'New' tool) Fabian Franz * Mouse wheel now scrolls selector (e.g., list of stamps, brushes, etc.) (Non-wheel mouse users can try it with mouse buttons 2 and 3 under X-Window by running: xmodmap -e "pointer = 1 4 5" ) Fabian Franz * Mouse wheel can be disabled with "nowheelmouse=yes" in config., or "--nowheelmouse" on commandline. 2002.September.22 * Updated Spanish documentation. (Added translation of PNG.txt) Gabriel Gazzan * Updated Norwegian translations. Karl Ove Hufthammer * Free mouse pointer shapes on exit. John Popplewell * Ignore $HOME env. variable under Windows (not used there normally, but could be - e.g., if the user happens to use CVS) John Popplewell 2002.September.21 * Selector scroll buttons 'repeat' if mouse is held down on them. Fabian Franz * Rotate mode of shape tool has its own mouse pointer shape. * Rotate mode of shape tool warps mouse to '0 degree' rotation spot. * Increased threshold of Magic 'Fill' tool. * Created "tuxpaint-import" shell script which will take an arbitrary image file (JPEG, GIF, PNG, etc.) and make a copy available to Tux Paint (by converting it to an appropriately-sized and -shaped PNG file and placing it in "~/.tuxpaint/saved/"). Only works under Linux and Unix... * Fixed bug where trying to type a Control character in the 'Text' tool would crash Tux Paint. * Some updates to man page (tuxpaint.sgml). Ugh! Help me! * Rearranged and reprioritized TODO.txt some more. * Blinking cursor in text tool moves right now. * Keys repeat in text tool. * Fixed bug where 'Fill' could recurse infinitely and crash Tux Paint. 2002.September.20 * Updated AUTHORS.txt * Updated README.txt (regarding brushes, stamps, fonts). * Added a flood fill ("bucket fill") Magic tool. Based on http://www.wikipedia.org/wiki/Flood_fill/C_example by Damian Yerrick - http://www.wikipedia.org/wiki/Damian_Yerrick * Flood fill can be faster and lower quality. #define LOW_QUALITY_FLOOD_FILL, and only exact pixel matches will be checked for. * Thumbnails in 'Open' dialog can be double-clicked to open them. * Brushes, stamps and fonts can be stored in the user's tuxpaint directory. ("~/.tuxpaint/" under Linux and Unix, "userdata" under Windows.) They go under "brushes", "stamps" and "fonts" subdirectories, respectively. 2002.September.19 * Updated Spanish documentation. Gabriel Gazzan * Updated INSTALL.txt with steps that Installer EXE goes through. * Icelandic translation. Pjetur G. Hjaltason * Color selector and current tool's selector greyed out in 'Open' dialog. (Good solution for now...) * Font and color changes while typing text are reflected by the preview. * Background of text preview is dark grey if the rendered text color is light. * [Enter] key moves text cursor down one line and starts a new line of text. * Undo/Redo works better with text tool. * Text tool rendering is clipped to canvas area (no more overwriting Tux Paint's widgets) * Text tool cursor height corresponds to current font's general height. * Clicking a new position while entering text moves the current text, rather than rendering it and starting a new line. * Text tool allows broader range of characters (e.g., uppercase, punctuation, etc.) thanks to 'event.key.keysym.unicode' values. 2002.September.15 * "Save over the older version...?" prompt can be disabled. "--saveover" (or "saveover=yes") will always save over the existing file. "--saveovernew" (or "saveover=new") will always save a new file. "--saveoverask" (or "saveover=ask") will prompt (the old, and default mode) (Karl Ove Hufthammer's suggestion) * Added option to have Tux Paint grab all keyboard and mouse input. This should keep the mouse inside Tux Paint's window and override things like [Alt]-[Tab] window cycling and [Alt]-[Enter] fullscreen toggling. * Context-sensitive mouse pointer shapes! * Fixed some indentation anomolies in tuxpaint.c * Increased audio buffer even more (2Kbytes) under Windows, for better sound. John Popplewell * Cleaned up memory leaks from 'uppercase()' calls. John Popplewell * Cleaned up loaded fonts when quitting. John Popplewell * Mouse buttons 2 and 3 supported again. (Wheel still not used.) Partly because kids may get frustrated using 2- and 3-button mice. Partly due to a lefthand/righthand bug in SDL for Windows in fullscreen. (Thanks to John Popplewell.) 2002.September.14 * Fixed bug where tool tip would revert to English. (Thanks to Karl Ove Hufthammer and John Popplewell) * Fixed README.txt regarding Norwegian. * Update Spanish translation. Gabriel Gazzan * Stamp description no longer replaced with "Great!" when stamp drawn. (Thanks to Karl Ove Hufthammer for the suggestion.) * "Your picture has been saved" prompt when saving-on-quit is now translated properly. * Added "--uppercase" option, which renders all text strings entirely in uppercase (for children who haven't learned lowercase letters yet). (Or use "uppercase=yes" in config. file. "--mixedcase" to override config.) * Created an Frequently Asked Questions document: FAQ.txt. * More compile-time options reported (if set) in "--version" output. * Only mouse button 1 (left-click) is used now. All other buttons ignored. (Avoids problems with mouse wheels causing 'hyper clicking.') (Perhaps it should be buttons 1 through 3?) 2002.September.12 * Translated to Swedish. Daniel Andersson * More work on the text tool. (Now activated by default, but still not perfect; see TODO.txt) * Fonts loaded from 'data/fonts/' directory. Font selector added! 2002.September.11 * Updated Spanish translations. Gabriel Gazzan * Updated Norwegian translations. Karl Ove Hufthammer * Fixed horrible sounding audio in Win32. John Popplewell Thanks to: Gabriel Gazzan * Removed "Loading" image. * Fixed bug where "New" tool would be disabled if 'Open' was cancelled. * Ctrl-N does the same as pushing the 'New' button. * Added keyboard shortcuts to README.txt. * Reorganized and (kinda) prioritized TODO.txt. * Created 16x16, 32x32 and 48x48 icons for KDE. Install them into wherever "kde-config --install icon" says is good, if 'kde-config' exists. * Started working on text tool. (#define ENABLE_TEXT_TOOL to try it out. Warning: It's unusable!) 2002.September.8 * Fixed bug in Win32 'opendir' John Popplewell * "docbook-to-man" is now optional. (Without it, man page won't be built.) Thanks to Mike Simons for bash tips. * Updated Norwegian translations. Karl Ove Hufthammer * Moved list of stamp ideas from TODO.txt into stamp package's own to-do list. * Print tool enabled! (Linux/Unix only; requires NetPBM tools) * Print tool can be disabled with "--noprint" on command-line, or "noprint=yes" in config. file (can be re-enabled with "--print" on command line). * Printing can be restricted to only one print every N seconds, with "--printdelay=SECONDS" on command-line, or "printdelay=SECONDS" in config. file. ("--printdelay=0" will disable the restriction). Thanks to Koyote on #ucd for the idea. * Print command can be set (default is "lpr") with "printcommand=COMMAND" in config. file. * 'fopen' opens PNG for write in binary mode ("wb"; for Win32) * Thumbnails are now saved (making Open dialog much faster!) (Existing saved images without thumbnails are given thumbnails the first time 'Open' is clicked, too!) * Files in 'Open' dialog are sorted by filename (aka time/date created). This gets around new files ending up in 'holes' in the directory structure where files had been deleted. * Added an alpha-blended shadow behind pop-up prompts. (Can be disabled by #define'ing "NO_PROMPT_SHADOWS" in src/tuxpaint.c) * Increased number of files Tux Paint can deal with from 128 to 256. * Approx. doubled number of undo buffers. * Added progress bar to Save operation. 2002.September.6 * Fixed translation problems in Makefile (installed italian into dutch, didn't uninstall some of the new ones) (Thanks to Ben Armstrong) * Updated Dutch translation (after testing on some children). Herman Bruyninckx * Updated Norwegian translation (for some new strings). Karl Ove Hufthammer * Fixed misspelling of "occurred" in errors and warnings. (Thanks to Andries Brouwer for noticing) * Reset tool tip after Open dialog goes away. * do_save() returns whether there was success, so now if there wasn't, Tux Paint doesn't think the picture was saved, and won't quit if you save-on-quit and it failed. * A prompt shows up confirming save-on-quit. * Fixed problem with CTRL commands not being noticed. * Attempted installation skeleton for Japanese translation. (Nothing translated yet) * Changed default font to a Sans Serif font. From the Free UCS Outline Fonts: http://www.freesoftware.fsf.org/freefont/ * Removed all rubber-stamps. They're now available as a separate download. (tuxpaint-stamps...) * 'loadarbitrary()' won't abort if it can't find any stamps. * Brushes tested to make sure they aren't larger than 40x40. 2002.August.23 * Support for SDL's upcoming "WMCLASS" support. * Italian translation (it_IT@euro) Marco Milanesi * Dutch translation (nl_BE@euro) Herman Bruyninckx * Added missing Norwegian trans. install (Makefile) and docs. (README.txt) * Norwegian available with "--lang norsk" as well. * More and updated German translations (especially stamp translations). Ingo Blechschmidt * Fixed nickel stamp (was 'colorable', so came out a solid circle). * Renamed US Coin stamps so that they're ordered by value. * Added Italian, Turkish and Dutch versions of the GPL. * Made cursor in 'Open' dialog look nicer. * Made a few of the flower stamps tintable. * Support for legacy saved files (BMP format). (Only issue is when you 'Save over', it actually makes a new file, since it will be ".png", not ".bmp") * Added details on "*PREFIX" variables in Makefile to "INSTALL.txt" (Spanish version of that file currently has this section in English.) * Added animated progress bar ('candy cane' or 'barbershop pole', since determining percentage of progress is quite difficult!). Displayed when first starting up, as well as when creating thumbnails for the 'Open' screen... 2002.August.19 * Translated into Norwegian Nynorsk ("NN") Karl Ove Hufthammer * Finnish translation updated. Tarmo Toikkanen * Updated German translation of some planet stamps. Ingo Blechschmidt 2002.August.19 * Now saves in PNG format, instead of BMP. (Huge disk space savings!) (Uses libPNG to save. Note: Previously-saved BMPs can't be loaded. Sorry! They must be converted to PNG.) * If 'current' image didn't exist, it won't ask if you wish to replace it when you go to save. * Added US coins, flowers and flags to rubber stamps. (c) Justin Zeigler 2002 Administered by The Project Impresarios of GOVIA. http://govia.osef.org/ * Tool buttons disabled when 'Open' dialog is displayed. Fabian Franz * Stamps can be colored using the color picker. (Certain stamps can have this enabled. For example, right now, the mathematical and musical stamps do.) The stamp really becomes a kind of limited brush. Create a "STAMP.dat" file for the stamp, and stick the word "colorable" in it.) (Thanks to Fabian Franz for the suggestion.) * Stamps can be tinted using the color picker. (Certain stamps can have this enabled.) The stamp's brightness and saturation are kept, but the hue of the currently-picked color is used. Create a "STAMP.dat" file for the stamp, and stick the word "tintable" in it.) * LOCALE_PREFIX, the location where translation files (".mo") should be installed, is now based on PREFIX in Makefile. Source has been updated with a 'bindtextdomain()' (which was used under Win32), which lets 'gettext()' find the translations, regardless of where they are. (e.g., you can install as a non-root user now) * Updated Spanish translations of stamp descriptions. Gabriel Gazzan * Selector sound effect doesn't get played when a stamp is selected which has its own sound effect. 2002.August.12 * Removed rainbow magic tool's ending sound effect altogether. * Rubber stamp outlines now based on shape of the stamp. (Simple rectangle outlines available by #define'ing "LOW_QUALITY_STAMP_OUTLINE" at the top of src/tuxpaint.c) (Thanks to Ben Armstrong for the idea.) * Rubber stamps can have their own sound effects (STAMP.wav) (.e.g, "pict.wav" is the sound for the stamp "pict.png") * Rubber stamps can have localized sound effects (STAMP_LOCALE.wav) (e.g., "pict_fr.wav" and "pict_es.wav") * Rubber stamps directory moved out of "data/images/" and into just "data/" * Brush directory moved out of "data/images" and into just "data/" * Moved "Rainbow" and "Sparkles" magic tool buttons to the top of the list, since they actually DRAW things. (So if a child goes to the "Magic" tool while the picture is still blank, they can at least draw without having to pick a specific magic tool.) * Fixed bug where tall and narrow stamps' thumbnails would be aligned wrong in their buttons on the selector. * Surface locking and unlocking moved to outside loops/etc., rather than being WITHIN putpixel() and getpixel() functions! (i.e., locking occurs far less frequently, so some things, like XOR lines, should be sped up a little) * Animated filled shapes. (On slower machines, it takes quite a while, so you can't tell if it's doing anything!) * Added Turkish translation. (Buggy - charset needs fixing.) Doruk Fisek * Resampled and trimmed some sound files (to make them smaller). 2002.August.9 * Translated button labels to German. Fabian Franz * Translated button labels to Spanish. Gabriel Gazzan * Translated button labels to French. Jacques Chion * Button label font size larger, and scaled horizontally (may squish aspect ratio!) to fit within the buttons. (Makes things more readable.) * Check LANG env. variable if LC_ALL contains "LC_MESSAGES" Fabian Franz * Disabled warnings about description-less stamp images. Fabian Franz * Translated documentation directories created (docs/es, docs/fr, etc.) * Documentation (AUTHORS.txt, INSTALL.txt) translated to Spanish. Gabriel Gazzan * Spanish, French and German versions of GPL (COPYING.txt) included. * Stamp images divded into "photo" and "cartoon" subdirectories, reorganized some. * More space images added (from NASA and NSSDC public domain photo gallery). Planets renamed #_name.png, so that they sort in the correct order. * List of stamp ideas added to TODO.txt * Previous tool re-selected if you go to Quit and then decide not to. * Fixed bug where Redo and Undo wouldn't make Save available if you've just saved... * Fixed bug opening tuxpaint.cfg under Windows. John Popplewell * Fixed minor font opening/closing bugs John Popplewell * Disabled sound effect wait when finishing a rainbow magic tool draw. (Should interrupt now, instead?) John Popplewell * Translated more stamp descriptions into German, French and Spanish (Using Google.com's language tool.) * Added mathematic stamps (numbers, operators) * Added musical stamps (clefs, notes, rests, keys) 2002.August.4 * Added "Thick" and "Thin" magical effects. * Reorganized some magical effects in the selector menu. * Text removed from button icons, and can now be translated using gettext! * Filled shapes enabled. (Using lame radius-based fill, rather than scanline fill. Couldn't get scanline fill to work yet, though.) * Renamed 'slash' brushes so they sort more nicely in the brush selector. * Gave magical effects their own sound effects. * Used a better 'harp' intro sound effect. 2002.August.2 * Fixed command-line argument parsing bug. Ben Armstrong * Fixed broken Spanish translation .po file. Gabriel Gazzan * Made "wait_for_sfx()" less CPU-intensive and hopefully better on Win32(?) John Popplewell * Made sure "LC_MESSAGES" dirs created by "install" in Makefile Ben Armstrong * Added "uninstall" target to Makefile * Changed font to "efont.ttf", a completely free, GPL'd font. (See: http://openlab.ring.gr.jp/efont/serif/) * Added info to INSTALL.txt on making a TuxPaint shortcut under Windows, and using it to alter command-line options. John Popplewell * Added info to README.txt on ways to change language settings under Windows. John Popplewell * Win32 updates for LOCALE-related stuff. John Popplewell * Reduced font size (some text was overlapping or going off the screen). (Needs more testing) * Updated AUTHORS.txt some. 2002.July.31 * Fixed memory deallocation bug in "Open" dialog function. * Translated to Finnish Tarmo Toikkanen * Update Spanish translation Gabriel Gazzan * Switched from using #define'd strings for translations to using "gettext" and ".po" files (see src/po/) Fabian Franz (Thanks to Andreas Best for help getting locales working) * Added "--locale" option to override current locale at runtime (e.g. "--locale de_DE@euro") * Added "--lang" option to override current locale at runtime, using human-readable language names. (e.g. "--locale german" or "--locale deutsch") * Stamp descriptions now support multiple languages. (Each description MUST be on one line - multiple lines no longer supported!) Lines beginning with "xx=" (where "xx" is a locale abbreviation, e.g. "de" for German or "es" for Spanish) provide text for their respective locales. * Added details about stamp multilingual support to "README.txt". * Added more requirements to the "INSTALL.txt" documentation. * Supports a "~/.tuxpaintrc" file which contains default options (e.g. "fullscreen=yes") * Command-line options to disable some options (e.g., "--windowed" to override a "fullscreen=yes" in .tuxpaintrc) 2002.July.24 * Fixed a bug where Ctrl-Z and Ctrl-R would do Undo and Redo even if you shouldn't be able to. * Undo and Redo disable shape tool if it's active. (Really, Undo should only become available AFTER the shape has been rotated and drawn...) 2002.July.23 * Added more (and updated some) French translations. Jacques Chion * Added first German translations Fabian Franz * Fixed word-wrap issue with prompt button labels. * Multiple lines now read properly in stamp description (.txt) files. * Makefile changes (PREFIX and icon/launcher pathes) to suit the Filesystem Heirarchy Standard ( http://www.debian.org/doc/packaging-manuals/fhs/ ) Ben Armstrong 2002.July.19 * Installs man page into /usr/share/man by default now. * Man page now gzipped when installed. * No longer installs "INSTALL.txt" when installing documents. * Install target split up (install-bin, install-data, etc.) in Makefile Ben Armstrong * Added initial help display ("--help") * Installs PNG icon (for use by GNOME, KDE, etc.) Installs into /usr/share/pixmaps/ * Installs launcher into GNOME and KDE menus (under "Graphics") * Created 32x32, 24 color (based on "cmap.xpm") XPM icon. Installs into /usr/X11R6/include/X11/pixmaps/ * Added descriptive comments to Makefile * Fixed SDL surface manipulation calls (now locks/unlocks, etc.) John Popplewell * Added option for simple Shape tool (no rotation mode) (--simpleshapes) * Version info. shows whether or not LOW_QUALITY_THUMBNAILS, LOW_QUALITY_COLOR_SELECTOR and NOSOUND ("make nosound") were set at compile-time. (Along with version number, version date, and LANG setting.) * Title/credits screen now dismisses itself after 5 seconds. * Added Sparkle and Fade "Magic" tools. * Added accelerator keys: Ctrl-Z and Ctrl-R for Undo and Redo. Ctrl-S and Ctrl-O for Save and Open. * Fixed "Open" dialog cursor movement bug when scrolling up. * Added key controls for "Open" dialog: Arrows to move. Space or Enter to open. Escape to go back. Ctrl-D to Delete. * Added key controls for pop-up prompts. Y or Enter to accept. N or Escape to cancel. 2002.July.18 * Replaced perror() with internal win32_perror() under WIN32. John Popplewell * Chalk doesn't grab black around the edges. John Popplewell * Added version, usage, and copying displays (--version, --usage, --copying) John Popplewell * Added fullscreen and quiet modes (--fullscreen, --nosound) John Popplewell * Chalk and Blur don't grab black from the edges anymore. John Popplewell * Added option to disable "Quit" button (--noquit) * Man page updated. * Man page now gets installed. 2002.July.17 * Added Flip, Mirror, Rainbow and Chalk "Magic" tools. * Shape's and Magic's tools' tips now appear when they are selected. * "New" tool wasn't available after opening a saved picture. Fixed. * Animated prompt window's appearance and dismissal. * Now prompts to save a changed image before opening. * Save's "camera shutter" sound effect now plays completely before quitting. * "Open" screen now has a cursor (select image, then click "Open" to load) * "Open" screen can now delete pictures (select image, then click "Erase") * Changes to "clean" Makefile target Ben Armstrong * Initial man page (docbook SGML, from Debian package of Tux Paint) Ben Armstrong * More memory freeing cleanups. John Popplewell 2002.July.07 * Added the shape tool and began work on filled shapes. (Currently disabled) (Fill algo. based on text in "Computer Graphics: C Version," (c) Prentice Hall 1997 by Donald Hearn and M. Pauline Baker) * Added Save command. * Added Open command. * "Current" image (opened on launch) now referred-to by ID (current_id.txt), not saved as its own image (current.bmp). * More memory freeing cleanups. John Popplewell 2002.July.03 * Added French language support (#define LANG_FR) Most translation by: Charles Vidal Some thanks to Babelfish. * Added Spanish language suppirt (#define LANG_ES) Translation thanks to Babelfish. * Changed UI font to "chicago.ttf", since it supports international chars. * Now strips (converts to spaces) newlines in rubber stamp .txt files (mainly to avoid the "end of line" glyph in the new Chicago font). * Explicitly free up memory at exit John Popplewell 2002.July.02 * Fixed bug in get_fname() under Windows. John Popplewell * Moved word-wrap text code from draw_tux_text() into its own function: wordwrap_text() * Added Yes/No prompt function: do_prompt() * Prompts before "New" (erase current image) and "Quit" actions. 2002.June.30 * Incorporated 32x32 icon for Win32. John Popplewell * Added "nosound" Makefile target (to build without sound or SDL_mixer) * Auto-saves current image (to "$HOME/.tuxpaint/current.bmp") when you quit. Auto-loads it when you start back up (if it's available). (Creates "$HOME/.tuxpaint/" directory if it doesn't exist.) (Under Windows, it is simply in the "userdata/" folder in Tux Paint's folder.) * Data file installation moved to /usr/local/lib/tuxpaint/ by default. (Mike Simons) * Documentation now installed into /usr/local/share/doc/tuxpaint/. * Created first "Magic" tools: "Blur," "Blocks" and "Negative." * Color-picker disabled when not applicable. 2002.June.27 [unreleased] * Moved source into src/, documentation into docs/ and object files to obj/ * Added "Copyright" to documentation and source files. * Added True Type font (TTF) support, using SDL_ttf library. * Added word-wrap support to the "Tip text" * Incorporated stuff for Windows builds (win_dirent.c/h, some #defines). John Popplewell * Cast surface->pixels more in get/putpixel() calls John Popplewell * Created "INSTALL.txt" documentation on compiling and installing * Created "PNG.txt" documentation on creating PNG images * Extensive updates and fleshing-out of README.txt 2002.June.17a * Made new title screen. (Better picture, plus credits.) * Title screen says "Loading" while loading data. * Title screen remains until keypress or mouse click. * Created "install" target in Makefile * Created "AUTHORS.txt" * Included "COPYING.txt" (GNU GPL v.2), as the software is GPL. 2002.June.17 * Lightened grey around outside of selected (dark) tool/selector buttons. * Selector has a different sound, now. (No longer same as toolbar buttons) * Made see-through brush more transparent. * Replaced most calls to SDL_Flip() with calls to SDL_UpdateRect(). * Thumbnails rendering made high-quality. (Can be disabled by #define LOW_QUALITY_THUMBNAILS) * Stamp and brush files are sorted alphabetically by filename now. * Color selector buttons look like other interface buttons. (Can be made simple again by #define LOW_QUALITY_COLOR_SELECTOR) * "Tip text" and cartoon tux added for tools, colors and, if available, stamps. (Store respective ".txt" files in data/images/stamps/) 2002.June.16 * Initial release. Supports brushes, stamps, lines, eraser, sound effects.