59 Commits

Author SHA1 Message Date
Thomas Bernard
aeaf468c4b
code cleaning
Creates Pixel_in_document_current_layer() to factorize code between
Pixel_in_spare() and Pixel_in_current_layer()
2018-11-22 11:39:24 +01:00
Thomas Bernard
50f3b99106 store unicode filename for brush 2018-11-09 12:50:45 +01:00
Thomas Bernard
734bad13e1 move KEY_* defines from global.h to keycodes.h 2018-07-02 11:38:52 +02:00
Thomas Bernard
af25970c09 Fix Joystick support (with SDL and SDL2) 2018-07-02 11:38:51 +02:00
Thomas Bernard
aa73e76e67 SDL2: readline.c uses SDL_TEXTINPUT unicode input text 2018-07-02 11:38:51 +02:00
Thomas Bernard
5c761ace2c Use KEY_NONE for buttons without key shortcuts
SDLK_LAST was used, but it is SDL 1.x specific
2018-07-02 11:38:51 +02:00
Thomas Bernard
72fea0290f isolate dependencies to SDL
Do not access directly the SDL_Surface Screen_pixels
use new functions Get_Screen_pixel_ptr() Set_Screen_pixel(),
Get_Screen_pixel()
And SetPalette()

Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-02 11:38:51 +02:00
Philip Linde
efe9f8406f Add missing cursors for operations
Some new operations were added in
f2d579695cf78bf3e538383bd5843347be0c6acf, but the corresponding cursor
settings were not added to the CURSOR_FOR_OPERATION table. This resulted
in wrong cursors for the brush grab operation and probably several more
operations. This commit adds the missing cursor settings.

This fixes issue #75
2018-05-28 17:52:14 +02: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
d6ce86cae4 Remove Circle_limit global variable 2018-03-10 00:46:11 +01:00
Thomas Bernard
be8b05a384 remove Ellipse_vertical_radius_squared Ellipse_horizontal_radius_squared Ellipse_limit global variables 2018-03-10 00:46:11 +01:00
Thomas Bernard
6b97fcc322 Remove Ellipse_cursor_X/Y and Circle_cursor_X/Y global variables 2018-03-10 00:46:11 +01:00
Thomas Bernard
144d10b682 Support Unicode Keyboard Input 2018-02-20 15:44:39 +01:00
Thomas Bernard
689aebf264 Unicode support in keyboard editable field for filename 2018-02-20 15:44:39 +01:00
Thomas Bernard
3322529804 Support for unicode names in directory listing 2018-02-20 15:44:39 +01:00
Thomas Bernard
545308265b Add the ability to print unicode characters in addition to "Latin1" ones 2018-02-20 15:44:39 +01:00
Thomas BERNARD
5e3bbca49f Enable UTF8 filename conversion for OS X
HFS drives are using combining characters, so use
UTF-8-MAC encoding for iconv
2018-02-15 16:20:00 +01:00
Thomas Bernard
4ffa389a90 Update File selector to load/save palettes
Also "constify" the format array
2018-01-25 22:55:27 +01:00
Thomas Bernard
b2898ed7f1 clean global.h 2018-01-22 22:12:47 +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
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
Adrien Destugues
0eaf3fce96 Use iconv to convert filenames from UTF-8.
Patch by miniupnp, with some C89 adjustments.
Enabled for Haiku and the generic Linux/*BSD part of the Makefile.
Please adjust as needed.

Fixes #10 for codepages for which we have a font.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2172 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2016-12-02 19:43:23 +00:00
Adrien Destugues
0c7d17304a Fix remaining doxygen warnings.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2128 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2015-10-03 06:28:26 +00:00
Adrien Destugues
705584a9d7 Fix some doxygen warnings.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2117 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2015-04-04 09:08:11 +00:00
Yves Rizoud
1248100ae9 Integrate path fix from Android port (tnanks a lot Pelya)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2071 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2014-03-30 17:31:05 +00: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
80fc7da7f6 Fix issue 462: Save/Load path problems: Main, Spare and Brush now have completely distinct fileselector settings.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2003 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-09-22 16:47:39 +00:00
Yves Rizoud
db50b4ebdc More unification of layers and anim version: toolbars work. You can switch toolbars by right-clicking the icon from status bar: it proposes 'Anim' only while the current image has 1 layer (see Button_toggle_toolbar()). The animation-specific stuff (rendering...) isn't activated yet, see all the NOLAYERS places remaining. Also will need a trick for keyboard shortcuts to work on multiple buttons, and extra code on swap-to-spare, undo, redo, load etc. to sync toolbars with Image_type.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1909 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-02-27 23:19:23 +00:00
Yves Rizoud
2343dcb54c Internal: Moved tooltips inside Buttons_pool, and Buttons_pool from globals.h to to windows.c/h for easier modification
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1908 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-02-27 01:36:40 +00:00
Yves Rizoud
d38f5ee981 CPC mode 5 : replaced the global Constraint_mode by a state (Image_mode) in each versioned T_Page: This allows keeping it sane when swapping to Spare, and when Undo/Redoing. Also fixed the first page when program starts, it was unnecessarily allocating pointers for the maximum number of layers(16)/frames(999)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1907 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-02-27 00:47:18 +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
781cda3a47 Add a distinctive icon for the fill (and color replace) tool.
Thanks to DawnBringer for icon drawing.
All skins use the same icon, feel free to draw something else for them.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1893 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2012-01-08 20:44:05 +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
e7d37cf367 Tilemap: now separate for main and spare. Safeties added in most places necessary (auto-recompute tilemap after load, undo, etc)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1866 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-11 22:57:35 +00:00
Yves Rizoud
3b989f3eb3 Tilemap: support Y-flipped tiles
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1863 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-10 19:59:19 +00:00
Yves Rizoud
ef030fec3f Tilemap mode improved to analyze and detect identical tiles, so you write in real time on all occurences of same tile. Works very well but unfinished, will crash or have other problems when you resize image
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1859 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-08 23:11:18 +00:00
Yves Rizoud
f1f658ded4 Start of tilemap. Only a togglable effect
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1856 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-11-06 19:03:27 +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
Adrien Destugues
1d510d40bc Remove unused vars. I think there are others since the IO_Context introduction ?
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1825 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-09-24 13:29:42 +00:00
Yves Rizoud
1f10338f60 Merged trunk into branches/mode5 (=update mode5 branch to latest)
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1785 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-04-25 15:17:18 +00:00
Yves Rizoud
9cfefc9662 Fix display bug on menu buttons when comiled with 'unsigned character' (issue 423)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1734 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-26 15:56:45 +00:00
Adrien Destugues
72e9892b53 Constraint mode is now switchable on/off in the effect screen.
I did some changes to the effect screen to make some space : instead of displaying an "on/off" label, we now keep the button pressed for active effects. 

There is no "constraint menu" yet, we should allow to select different constraints there (C64, MO5, spectrum, ...) to activate their respective enforcer and plug the right thing to the associated checker.

This should eventually allow drawers to :
 * Load any single-layer picture
 * Select the mode they want to use (without enabling it)
 * Run the checker and get the result as a multilayer (with an error layer)
 * Then, once they feel enough issues are solved, switch to "enforcer" mode for further manual tweaking.

Now we need a checker for CPC Mode5... :)

git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1721 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-14 13:37:35 +00:00
Adrien Destugues
eba26aaa96 Merge trunk to the cpcmode5 branch. This gets us a more recent grafx2 with the cpcmode5 drawing. Now to make this mode optional so users can still work in regular mode :)
git-svn-id: svn://pulkomandy.tk/GrafX2/branches/cpcmode5@1719 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-02-13 21:49:31 +00:00
Yves Rizoud
e01b310317 Some work on brush remapping
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1700 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2011-01-29 21:20:54 +00:00
Yves Rizoud
7a3ae5824a Merged the specifics of Caanoo 1.2 port by Pheel + Enabled TTF text on Caanoo
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1645 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-11-05 01:03:11 +00:00
Yves Rizoud
5fd72996c3 Virtual keyboard for string input
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1636 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-10-02 19:05:30 +00:00
Yves Rizoud
e3e9be75b0 Unification of button system for the three current console ports.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1630 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-09-29 23:06:26 +00:00
Yves Rizoud
bd13dd93b1 Integrated the changes by PheeL for Caanoo support
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1629 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2010-09-29 22:21:25 +00:00