Thomas Bernard
76f3860712
fix after rebase
2018-01-25 22:55:27 +01:00
Thomas Bernard
9fafd0173f
minor Restore_background() improvement
2018-01-25 22:55:27 +01:00
Thomas Bernard
1c6a9e2db2
fix UI colors Remaping when several windows are open
2018-01-25 22:55:27 +01:00
Thomas Bernard
2d26bb8a1f
WIP: "Load" button in Palette Dialog
...
see http://pulkomandy.tk/projects/GrafX2/ticket/24
still some issues :
1) UI color remapping
2) File type selector (need to add a Palette selector
in addition to the Main and Brush selector)
2018-01-25 22:55:27 +01:00
Thomas Bernard
ccf3e6a77f
Change Load_picture() prototype to allow loading of palette
...
the change matches what is done with Save_picture()
2018-01-25 22:55:27 +01:00
Adrien Destugues
f3bf217bb6
Fix doxygen warnings.
2018-01-25 07:39:28 +01:00
Adrien Destugues
837773ea1d
Fix build with gcc2
...
Partial initializers are not supported. This is not needed anyway, the
variable will be in .bss so it will be cleared to 0 by default.
2018-01-24 19:51:33 +01:00
Thomas Bernard
b2898ed7f1
clean global.h
2018-01-22 22:12:47 +01:00
Thomas Bernard
5ab93eb7fd
Great simplification of Main/Spare page flipping
2018-01-22 21:47:44 +01:00
Thomas Bernard
353b494617
move tilemap data to T_Document.
...
Also merge Disable_main_tilemap + Disable_spare_tilemap
=> Disable_tilemap()
2018-01-22 20:59:49 +01:00
Thomas Bernard
92620bb4ba
merge Upload_infos_page_main() / Upload_infos_page_spare() => Upload_infos_page()
2018-01-22 20:34:29 +01:00
Thomas Bernard
297b653304
input.c: Simplify code in Color_cycling()
2018-01-22 16:31:23 +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
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
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
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