45 Commits

Author SHA1 Message Date
Adrien Destugues
32ec828835 Group all copyright statements in a single file.
This gives a much clearer overview of the licensing.

It also shows there are some problems:
- Some files are under GPLv3 only
- Some files have no known license at all.
2020-12-19 21:56:33 +00:00
Thomas Bernard
c037c2c911
move GFX2_GetTicks() to osdep.c 2020-04-11 23:20:39 +02:00
Thomas Bernard
4283fde82a MOD_CTRL => GFX2_MOD_CTRL, etc. 2019-02-13 15:42:51 +01:00
Thomas Bernard
bf29a6837c remove references to SDL_GetModState();
changed
word Key_modifiers(SDLMod mod);
to
word Get_Key_modifiers(void);
2018-07-02 11:38:51 +02:00
Thomas Bernard
4d86b8a0c1 change all references to SDLK_xxxxx to KEY_xxxx
+ some fixes
2018-07-02 11:38:51 +02:00
Thomas Bernard
77005eb780 use screen.h instead of sdlscreen.h, etc.
Create grafx2-win32 MSVC++ project
create keycode.h
various fixes
2018-07-02 11:38:51 +02:00
Thomas Bernard
fb51c1bb1c SDL_GetTicks() => GFX2_GetTicks()
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-02 11:38:51 +02:00
Thomas Bernard
92facef46d Convert comments to UTF-8
most were encoded in Latin1 / CP1252
but a few lines in op_c.c were using IBM437/850 !
2018-06-26 11:37:19 +02:00
Thomas Bernard
6731a57999 escape non ascii chars to HEX \xNN in C source (not in comments)
add "" where needed.

also fix extra space at end of lines (only in modified files)
2018-06-26 10:49:33 +02:00
Philip Linde
0936118568 Use separate operation-before storage for panning
This allows fast panning to be interrupt interrupting operations, like
color pick and click-zoom
2018-06-03 21:03:59 +00:00
Thomas Bernard
f2d579695c implements selection of circle/ellipse mode with right button
see http://pulkomandy.tk/projects/GrafX2/ticket/54
2018-03-10 00:46:11 +01:00
Thomas Bernard
df73e91c08 Implement "corner to corner" Gradient ellipses 2018-03-10 00:46:11 +01:00
Thomas Bernard
c1afa188a2 Change empty/filled Ellipse drawing to draw ellipse inscribed in rectangle
still to do gradient ellipses.

see http://pulkomandy.tk/projects/GrafX2/ticket/54
2018-03-10 00:46:11 +01:00
Thomas Bernard
d6ce86cae4 Remove Circle_limit global variable 2018-03-10 00:46:11 +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
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
878c926ce4 Fix issue 185 (XOR highlight) :
* Use a simple optimization algorithm to compute a good set of XOR color pairs
 * Algorothm is not very optimized (complexity is up to n^3). In practize, it stabilizes after 2 to 3 rounds of swapping colors
 * Use this color table for all XOR effects
 * Setting for grid color is now removed


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2048 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2013-01-06 12:46:46 +00:00
Yves Rizoud
e87f9140c7 Fix issue 516: Some changes can't be undone on animations > 32 frames
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2033 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-10-16 00:07:42 +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
064bbebc5b Fix part of issue 459: In anim mode, Color-replacer didn't refresh the screen
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1943 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-04-08 14:45:56 +00:00
Yves Rizoud
c5f9bb354d Tilemap mode: added a missing tile refresh after using the scroll(pan) tool. Added a few Doxygen comments.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1939 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-30 21:46:54 +00:00
Yves Rizoud
e73eb2786a Animation now has correct visual display and input feedback. Loading GIF guesses it's an anim if it loops, layers otherwise : Some rare non-looping GIF anims (usaully broken) will be misunderstood as layered. Editing of anims and layers seems flawless and stable. Still requires an auto-switch to the best toolbar (anim/layers) when relevant, but you can already switch manually.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1910 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-03-02 23:19:47 +00:00
Yves Rizoud
f77f38e238 When running new version of Grafx2 for first time, new shortcuts take priority over user's. Useful for the space=pan (issue 233) that replaces default space=left-click. Also improved pan to display updated xy coords.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1902 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-02-03 23:32:32 +00:00
Yves Rizoud
cbcb7a6b8f Issue 233: Added mouse panning. Default is 'space' for new users, others need pick a key in Help screen.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1901 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-02-01 00:56:21 +00:00
Adrien Destugues
d74649ffbc Make sure XOR helpers are shown even after drawing the first circle/ellipse
Update helpfile credits.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1894 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-01-08 21:16:46 +00:00
Adrien Destugues
bcb0b563ee Add XOR-line helper when drawing circles and ellipses.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1891 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-01-08 14:15:55 +00:00
Yves Rizoud
1b4b242a06 Split Display_paintbrush() in two: one function for preview, another function (Draw_paintbrush()) for image modification. Should be functionally identical, but code becomes simpler.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1857 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-06 19:38:55 +00:00
Yves Rizoud
e9acd1e8e4 The scroll tool (adjust) now works in the 'nolayers' version
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1843 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-10-24 23:12:01 +00:00
Yves Rizoud
8fb16e7089 Re-integrated anim in trunk, fixing the 999-layer limit at the same time
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1841 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-10-19 23:35:56 +00:00
Yves Rizoud
8cf7e1096f Fix performance bug in previous commit (pre-scale was also performed when entering other tools than 'brush rotate')
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1790 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-06-04 15:25:06 +00:00
Yves Rizoud
2d8c061e32 Improved brush rotation by adding 3 steps of scale2x. Result is not as good as I hoped, but for large flat surfaces, the edges are indeed much smoother than before.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1789 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-06-04 15:22:13 +00:00
Yves Rizoud
e11d8e030c Fix issue 417: Severe image corruption when scrolling image while some layers are hidden.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1748 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-03-05 18:17:55 +00:00
Yves Rizoud
2378d8cedc Fix remaining issue of gradients / color cycling.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1716 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-09 21:40:15 +00:00
Yves Rizoud
e886553314 Fix issue 401: Touchscreen adaptation for Caanoo and Wiz
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1659 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-12-12 18:55:55 +00:00
Adrien Destugues
715ddad331 iBrush rotation now snap cursor in an useful way (to fixed angles)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1582 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-08-22 16:02:17 +00:00
Yves Rizoud
520da7d168 Reverted the change of input system (mostly, still needs more testing) Changed color cycling so it no longer needs a separate thread.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1581 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-08-19 00:33:06 +00:00
Yves Rizoud
c83cd8c339 Drag and drop files: more stable. Unfinished
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1570 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-08-12 20:08:36 +00:00
Yves Rizoud
cd39485232 Critical fix for Airbrush, to prevent it from spiraling to death when airbrushing time-consuming brushes : Event queue would fill with 'tick' events, mouse button release wouldn't be caught, more airbrushing , more cpu cost, deadlock
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1569 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-08-11 00:23:56 +00:00
Yves Rizoud
25796b9188 More work on SDL events. Also fixed an issue (very old?) where Grafx2 didn't accurately follow mouse movements when it's very busy, ie when using Continuous Freehand with a large brush or transparency. Now, as long as the setting Merge mouse is zero, all intermediate mouse positions are correctly buffered and played back. From my testing, up to 7 seconds will be memorized.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1568 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-08-11 00:07:55 +00:00
Yves Rizoud
951ec2d48a Still work on SDL events. Airbrush seems to work. Need to do repeatable buttons.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1565 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-08-08 19:59:17 +00:00
Yves Rizoud
9456b06143 Changed skin format to allow skinmakers to provide 'selected' versions of buttons. Still slightly buggy
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1495 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-06-06 19:29:28 +00:00
Yves Rizoud
acd31e1a3a Implemented 'Right click colorpick' option (Issue 300)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1491 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-05-29 15:18:12 +00:00
Yves Rizoud
ff2c44eaf9 Fix issue 339 (Grad Rectangle can leave construction lines on image)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1451 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-04-10 19:46:41 +00:00
Yves Rizoud
3ca5322379 Reorganized source code and directory tree.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1375 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-03-05 02:53:19 +00:00