1851 Commits

Author SHA1 Message Date
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
e9b4392691 add GFX2_GLOBAL where forgotten.
So we avoid to have some so called "common" C symbols.
2018-01-22 14:46:06 +01:00
Thomas Bernard
350ca22f1e Restore the Selector_filename in case of Bookmark error.
There was a small bug in the code. To reproduce :
1- select a file to preview
2- Select a boggus bookmark, get the RED flash => OK
3- Click Load. RED Flash instead of loading the selected file

now the "selected file" (Selector_filename) is properly restored
2018-01-22 13:46:13 +01:00
Thomas Bernard
aeca7af074 Add comment about Current_palette 2018-01-22 13:46:13 +01:00
Thomas Bernard
08e3c6bebf Fix issue 46 : part 2
in Error(0) the palette was not properly restored
as it was always restored to the Main_palette.
Now we really restore the right palette !

Also clarified/simplified the change directory code in case of error.

http://pulkomandy.tk/projects/GrafX2/ticket/46
2018-01-22 13:46:13 +01:00
Thomas Bernard
e078b3afe1 fix issue 46 "ghost cursors"
see http://pulkomandy.tk/projects/GrafX2/ticket/46
One has to be with the cursor shown before calling Error(0)
2018-01-22 13:46:13 +01:00
Thomas Bernard
7b69b171ff Fix invalid http://grafx2.org url to grafx2.tk 2018-01-22 11:35:12 +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
ee11079b86 Count colors when loading True color pictures
If the count is <= 256 there is no need to execute the expensive
color quantization process
2018-01-16 16:27:30 +01:00
Thomas Bernard
753aaf3422 Add Fast Zoom In & Out functions.
Shift +/-  or  Shift Mouse Wheel

http://pulkomandy.tk/projects/GrafX2/ticket/28
2018-01-12 10:33:19 +01:00
Thomas BERNARD
e36cff0fef Hide cursor if we failed to set our 1 pix transparent cursor
SDL_ShowCursor() can take SDL_ENABLE / SDL_DISABLE or SDL_QUERY
2018-01-10 20:51:11 +01:00
Thomas Bernard
2928a16e41 Also save visible layers for spare page
see http://pulkomandy.tk/projects/GrafX2/ticket/25#comment:3
2018-01-03 05:13:51 +01:00
Thomas Bernard
8a67da69cc Right click on a layer toggle SOLO / previous state
Previously, if right clicking the current layer which is the only
one shown, then all layers are shown.

Now right clicking twice on the current layer return to the same
state.

see http://pulkomandy.tk/projects/GrafX2/ticket/25
2017-12-29 17:17:31 +01:00
Thomas Bernard
cad9aa53fd Switch to Unix end of line 2017-12-29 17:17:31 +01:00
Thomas Bernard
fb197cc0d9 op_c.c: handle memory allocation errors in CS_Set() 2017-12-25 16:08:29 +01:00
Thomas Bernard
d7179f7cba fix Optimize_palette() for precisions different than 8 8 8
do the right shifts instead of 16 / 8
2017-12-25 15:55:14 +01:00
Thomas Bernard
4b0878c079 Quantization: use population split 2017-12-25 15:46:31 +01:00
Thomas Bernard
b9bdf68ee6 Quantization : sort clusters by diagonal and not volume
There is a #define which enables to return to the previous algorithm
2017-12-23 14:53:50 +01:00
Thomas Bernard
5d47a76a50 introduce GRAFX2_QUANTIZE_CLUSTER_POPULATION_SPLIT macro to change cluster splitting method 2017-12-23 14:26:08 +01:00
Thomas Bernard
9ec4adae80 Color quantization : use another cluster spliting (by volume instead of population)
see http://pulkomandy.tk/projects/GrafX2/ticket/26
2017-12-23 04:36:28 +01:00
Thomas Bernard
acf65c31d2 Load additional fonts from the ~/.config/grafx2/fonts directory
Load in fact from the /fonts/ subdirectory of the config directory,
wherever it is (it depends a lot on the platform)

under WIN32 it is %APPDATA%/GrafX2/fonts
MacOS ~/Library/Preferences/com.googlecode.grafx2/fonts
etc.

see http://pulkomandy.tk/projects/GrafX2/ticket/56
2017-12-20 19:28:54 +01:00
Thomas Bernard
589a84fd3d Fix use of FontConfig on non linux platforms (FreeBSD, etc.)
just define USE_FC in the Makefile to have text.c compiled with Fontconfig support
2017-12-20 19:28:46 +01:00
Adrien Destugues
c65dc04194 Update CONTRIBUTING.md
Fix URL of bugtracker, mention where the gitlab home is, and add hyperlinks.
2017-12-20 10:32:24 +00:00
Adrien Destugues
26c6d12d09 Add license
GPL v2, without the "any later version" clause (sorry FSF, I don't want
to accept licences you didn't even write yet).
2017-12-20 10:10:37 +00:00
Adrien Destugues
0d24f95ee3 Add contribution guide 2017-12-20 10:08:42 +00: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
Thomas Bernard
51bb3057a3 add a "root" Makefile 2017-09-15 21:50:43 +02:00
Thomas Bernard
d6024c529f add tgz and Grafx2.app to .gitignore 2017-08-08 18:31:22 +02:00
Thomas Bernard
99d135fdd5 sdlscreen.c : removed unused arg warning in Update_rect() 2017-08-08 18:29:06 +02:00
Thomas Bernard
031f87ad2c remove "warning: ISO C90 forbids mixed declarations and code" 2017-08-08 18:09:42 +02:00
Thomas Bernard
1b9fb8514d mountlist.c: remove fstype_to_string() function when not needed 2017-08-08 18:06:07 +02:00
Thomas Bernard
642c6af8b6 mountlist.c: define free_then_fail: label only if need 2017-08-08 18:06:07 +02:00
Thomas Bernard
a454ba6e7c mountlist.c: remove fsp_to_string() unused function 2017-08-08 18:06:06 +02:00
Thomas Bernard
f84ca359d4 fix compilation of Native_filesel() with non win32/non linux platforms
Implementations would need to be added when Native_filesel() will be used for real
2017-08-08 18:06:06 +02:00
Adrien Destugues
1d2cfc2a8d ZX: also apply brightness constraint
There may only be one brightness per cell: either two light, or two dark
colors.
2017-06-28 08:24:32 +02:00
Adrien Destugues
f2b04e08d0 Constraint modes: Thomson, ZX 2017-06-23 22:20:08 +02:00
Adrien Destugues
9e55b2d995 Enable -Werror only for Haiku for now.
It is a bit early to have it enabled for all Linux variants out there.
2017-06-23 22:20:08 +02:00