132 Commits

Author SHA1 Message Date
Thomas Bernard
9bb459224e Load_IFF() Fixed support of HAM pictures.
Loading HAM6 and HAM8 ast true color pictures
2018-02-18 21:11:40 +01:00
Thomas Bernard
7a9a862e26 Load_IFF() : support 24bits files 2018-02-18 21:11:40 +01:00
Thomas Bernard
38c9e3e2cf Load_IFF() : parse SHAM (Sliced-HAM) chunks 2018-02-18 21:11:40 +01:00
Thomas Bernard
c5ea5d3a46 remove IFF_file global variable 2018-02-18 21:11:39 +01:00
Thomas Bernard
5934e0d7fd remove global variable IFF_buffer 2018-02-18 21:11:39 +01:00
Thomas Bernard
71135230f5 Load_IFF() set aspect ratio of loaded image 2018-02-18 21:11:39 +01:00
Thomas Bernard
ec8f698c5b load 1st image of Deluxe Paint for Atari ST Animations 2018-02-18 21:11:39 +01:00
Thomas Bernard
c3a8559256 Load_IFF() move PBM code to PBM_decode(). Handle TINY and DPPV chunks 2018-02-18 21:11:39 +01:00
Thomas Bernard
241943196b Load_IFF() Add parsing of CAMG chunks 2018-02-18 21:11:39 +01:00
Thomas Bernard
14cce41ba9 Reorganize Load_IFF() 2018-02-18 21:11:39 +01:00
Thomas Bernard
6f60a066e9 Load_ICO() fix when libpng is disabled 2018-02-17 19:00:06 +01:00
Thomas Bernard
61a1c6e39e Load_PNG() fix memory leak 2018-02-10 18:49:35 +01:00
Thomas Bernard
bd581c7a90 Save transparent background of Brushes
see http://pulkomandy.tk/projects/GrafX2/ticket/70
2018-01-30 21:32:33 +01:00
Thomas Bernard
84242cef78 Save_GIF() set "Color resolution" to 8bit / 256 colors 2018-01-30 21:09:02 +01:00
Thomas Bernard
8c6f89af46 Save_GIF() translated and clarified comments.
No change in algorithm, same output.
2018-01-29 16:14:19 +01:00
Thomas Bernard
9f3af34968 More efficiently store Animated GIFs
Do not store the whole canvas for additional images
2018-01-29 16:07:17 +01:00
Thomas Bernard
5c932dd2d9 Save_GIF(): fix for 1 pixel GIFs 2018-01-29 15:52:43 +01:00
Thomas Bernard
ea81cbb46b Save_GIF()/GIF_next_pixel() support saving sub-area of the canvas 2018-01-29 15:52:43 +01:00
Thomas Bernard
207e487d99 Show palette in preview (instead of image) when loading palette ! 2018-01-25 22:55:27 +01:00
Thomas Bernard
a53d6da6ea Add visible_image and backups to the T_Document structure 2018-01-22 16:16:39 +01:00
Thomas Bernard
8ae651c75f put common fields for Main and Spare page in a T_Document structure 2018-01-22 14:46:44 +01:00
Thomas Bernard
afb1feb75d PCX : the CGA "color burst" bit is not taken into account by Paintbrush 3.11 2018-01-20 11:56:03 +01:00
Thomas Bernard
34c7f96535 Better PCX support
support 3 plane 8 colors files
Correctly set CGA palette for 1bpp and 2bpp images
2018-01-19 16:22:53 +01:00
Thomas Bernard
3271d6ba8d Fix BMP loading for big endian machines (68k, PPC)
also removed some debug printf
2018-01-19 10:14:14 +01:00
Thomas Bernard
1232675b59 Save_ICO()
With transparency data
2018-01-18 11:20:51 +01:00
Thomas Bernard
ad9306498f Add support for 2bpp BMP's (Win CE)
File extension is usually 2bp (ic2 for icons)
2018-01-18 00:59:00 +01:00
Thomas Bernard
d0d0b64ecf Support transparency in ICO files with 256 colors or less 2018-01-18 00:43:36 +01:00
Thomas Bernard
2a04e363be fix for loading CUR files 2018-01-17 17:54:28 +01:00
Thomas Bernard
674fc76649 Fix minor issues 2018-01-17 17:31:32 +01:00
Thomas Bernard
d9ca2e1092 Load .ico files containing PNG images 2018-01-17 10:21:34 +01:00
Thomas Bernard
37a5a0a85c Splitted Load_PNG to allow usage by Load_ICO
Introduces Load_PNG_Sub()
some .ico contain PNG images
2018-01-17 10:19:58 +01:00
Thomas Bernard
c2486ed629 Support of .ICO file loading
only loading the biggest icon

see http://pulkomandy.tk/projects/GrafX2/ticket/69
2018-01-17 00:54:10 +01:00
Thomas Bernard
c2c36849b5 Refactor of Load_BMP() + support of OS/2 BMP 2018-01-17 00:53:32 +01:00
Thomas Bernard
ee322ed437 Fix GIF save - last byte
The last byte was not saved for sure, depending on the codesize.
Also if the codesize was big (12 bits which is the max)
in some case an additional 0 byte was store (which is harmless but
useless)

This bug only appears if the bit per code are < 8
which is possible since commit 834050c2c4cf6ed87f3192fa31f8ae13a704a5b5
2017-12-19 17:17:02 +01:00
Thomas Bernard
834050c2c4 Optimize GIF size by using only the number of bits needed in LZW codes
It was always storing images in 8bpp whatever the values of pixels are,
so the minimum LZW code size was 9 bits.

Now the bpp is chosen according to the maximum pixel value.

Please note that the Whole 256 color palette is still stored entirely,
so this commit doesn't change the user experience in anyway, except saving
a few bytes :)
2017-12-19 10:00:08 +01:00
Adrien Destugues
5b6095f0bc Fix all warnings and enable -Werror
mostly unused variables and broken indentation.
2017-05-06 15:13:50 +02:00
Adrien Destugues
2fc6b9375c Fix loading some Atari ST IFF files
IFF is a versatile format, and can store data in Atari ST display RAM format.
This allows to load several of our IFF test files, but the result for most
seems corrupt (either that, or the files in our testsuite are ugly).

Thanks to miniupnp for the patch!

Fixes #38.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2168 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2016-11-22 20:42:15 +00:00
Adrien Destugues
8808625851 Add a "tall 3" drawing mode.
Pixels with 3:4 aspect ratio. Why not?

Contributed by Nic Soudée (zoner/xylem). Thanks!


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2166 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2016-10-15 18:57:14 +00:00
Adrien Destugues
d164d1d4cc Don't free the palette, it is owned by libpng.
Fixes #21.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2118 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2015-04-24 18:24:39 +00:00
Adrien Destugues
d9f2cd2d40 Remove no-op function Palette_loaded.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2109 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2015-03-04 09:28:23 +00:00
Yves Rizoud
56cdbc4c10 Issue 505: Support for saving IFF/ILBM format, compatible with Deluxe Paint 3
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1993 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-09-15 18:05:44 +00:00
Yves Rizoud
a43c9eb31b Yet another fix for GIF loading of animations. Fixes case when Backcolor is different from Transparent color, such as this image http://i49.tinypic.com/35j08j4.gif (WIP by Hapiel)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1987 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-08-11 20:38:06 +00:00
Yves Rizoud
a630a84822 Removed all usage of __attribute__((unused)), replaced by void cast which is supported both on GCC and VBCC
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1984 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-08-11 16:19:07 +00:00
Yves Rizoud
7613093df9 Fix issue 496: Some animated GIF images don't load well. Also fixed the handling of transparency in preview (fileselector) and loading anim GIF as a brush loads first frame.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1969 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-07-12 22:27:49 +00:00
Yves Rizoud
d29bbee941 Fix an error when loading layered image that used a transparent color different from zero ,which resulted in corrupted image. Thanks iLKke!
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1947 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-05-05 16:01:14 +00:00
Yves Rizoud
d8bb1e1d55 Fix some mostly harmless warnings and re-generated dependencies. Now compiles with zero warnings on Linux (gcc 4.1.2)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1945 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-05-03 21:32:59 +00:00
Yves Rizoud
be96447f3b Anim: Improved support of extreme durations (O included to 655.350s included); Adding frames now inherits parent's duration cleanly; Default duration now 100ms (instead of 1ms). Removed blanks in Time window and made tooltips more explicit for next/prev frame, thanks to 00ai99 for reporting.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1931 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-13 00:21:12 +00:00
Yves Rizoud
b435ff2582 Added minimal support of ANIM format as part of the LBM loader : The first frame can be read.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1923 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-07 19:44:37 +00:00
Yves Rizoud
a292f4e356 Fileselector : Now only previews frame 1 of animations, instead of loading everything
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1914 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-04 17:03:46 +00:00
Yves Rizoud
20055dca31 Fix loading of GIF animations that use the 'restore to BGcolor' disposal method.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1913 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-04 16:53:40 +00:00