101 Commits

Author SHA1 Message Date
Adrien Destugues
ab5f789fdf Mostly some cleanups.
Also added two experimetal functions, Ouvrir_popup and Fermer_popup, and started to implement a (commented) example popup menu for selecting freehand draw mode.
But it seems there are problem if doing a while(Mouse_K), Mouse_K seems to be reset when the mouse moves, or in some other place. Time to sleep so i'll continue that tomorrow.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@474 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-11 21:59:10 +00:00
Adrien Destugues
f3c63fe785 Smoother joystick to cursor move conversion.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@467 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-06 13:41:57 +00:00
Adrien Destugues
154f5e824a Fixes all the tabulation problems.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@465 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-05 22:55:30 +00:00
Adrien Destugues
bdf86b06a8 More joystick fixes and some patches to the makefile (we need a different name for the strip binary when cross compiling). Please update your platform with new STRIP = strip line ...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@464 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-05 22:23:57 +00:00
Adrien Destugues
8c0475c43e Simple joystick support. Should be made configurable and all the gp2x buttons could be used as shortcuts.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@463 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-05 22:00:23 +00:00
Adrien Destugues
132eabcde5 Some work on a port for the gp2x. Runs up to the splashscreen, but as there is no mouse i have to make the program usable with a joystick.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@462 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-05 21:12:46 +00:00
Adrien Destugues
5971f4c9e3 MorphOS port, and some tweaks to the config tool to make it look a little bit less ugly. We should probably use a better color palette for it anyways.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@456 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-04 20:41:22 +00:00
Yves Rizoud
159d623f44 Sliders no longer lag the mouse cursor, and the delay stops when you release one mouse button or click the other.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@455 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-04 16:18:29 +00:00
Adrien Destugues
8f66a5905d Discards mouse moved event if the calculated X and Y did not changed (can happen in zoomed mode because we are dividing the coords)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@453 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-02 11:06:22 +00:00
Pete Gordon
761f872ee2 A couple of changes to let it build again for OS4.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@445 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-31 10:16:08 +00:00
Adrien Destugues
0eb18b7619 SkyOS port. Thanks again Begasus :)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@437 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-29 17:48:02 +00:00
Adrien Destugues
30184d82e9 Some more fixes for AROS build.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@436 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-29 17:15:56 +00:00
Adrien Destugues
9bc64e8adb Fixes the crash with the gradrect. But there are still some screen corruption (and missing lines) problems...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@429 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-27 17:25:20 +00:00
Adrien Destugues
79aca71830 Fixes issue #78 and some more makefile tuning (ziprelease names the archives according to the platform)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@427 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-27 15:10:35 +00:00
Yves Rizoud
4c48c74a96 Fixed minor issues of r419 when keyboard-drawing in zoom area: "Escaping" the zoom window, and going up at the top warps to the bottom.
Also, even with mouse,when you draw downwards into the menu, the cursor no longer blinks into the top line of the menu.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@420 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-27 03:12:21 +00:00
Adrien Destugues
a2324e2cb1 Cursor moves faster when using the keyboard shortcuts over the zoomed screen. Feels more natural to me
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@419 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-26 21:46:17 +00:00
Adrien Destugues
2825350f17 We missed a flush_update there...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@399 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-17 20:52:39 +00:00
Adrien Destugues
90b3f9b1a1 Finished updating the includes for graph.c split. Now we have :
-Graph.c : everything related to drawing.
-Brush.c : everything related to brushes (displaying, erasing, capturing, and effects)
-Windows.c : windows and menu drawing functions

Some functions were also moved to divers.c.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@396 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-16 22:14:08 +00:00
Adrien Destugues
c004c90d90 Splitted graph.c in multiple files. Compiles but there is a lot of warnings about declarations. I'm cleaning it up but i wanted to commit that before starting to get conflicts
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@395 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-16 22:02:22 +00:00
Adrien Destugues
87d887e240 One more small speedup. The coordinates were always printed twice in the menubar. Also added a missing refresh when using the pipette and the color replace tools. Now you get a preview of the color under the cursor in the menubar.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@381 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-15 15:17:47 +00:00
Adrien Destugues
6c8bbfbc56 Now idles when there is nothing to do. Much less CPUtime use, but the spray is slowed down. We need to improve the handling of Get_input in Gestion_principale.
Get_input now returns 1 if something happened, and 0 if not. So we can chose what to do depending on that.
We should try not to wait if the operation needs to be asynchronous, but there is no way to know that for now, and it may be quite complex to determine (i think the shade effect can be asynchronous for example, so it'll affect pretty much all operations).

The other solution would be to drop events to react to the more recent ones. It would look smoother but the mouse will do strange things.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@378 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-14 11:17:15 +00:00
Yves Rizoud
d2300cc2c1 Support for "tall pixel" mode (Each pixel is 1x2). Run the program with "/tall" argument to test.
The following tools don't take the ratio into account;
Circle,
Grad rectangle,
Brush rotation,
Resizable brushes (diamond, squares, circles...)


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@376 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-13 16:20:37 +00:00
Adrien Destugues
2033f2dfb4 Some optimisations to the text drawing (Print_general) unfinished, breaks the OEM special chars for now.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@375 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-10 11:53:56 +00:00
Yves Rizoud
09ba984aa6 On all screens that display a palette, the grey columns are no longer "dead", you can
click them to pick the color to its right.
Added help text for HSL mode in Palette, and Grad rectangle
Fixed display of colored rectangles in Palette screen (issue 64)
Fixed more missing refreshes in the Palette screen
Fixed wrong shortcuts in Palette screen
Removed an obsolete message ("Sensibilite Souris") and dead code


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@370 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-04 21:44:59 +00:00
Yves Rizoud
14accb544b Palette now uses RGB components in the full 0-255 range instead of 0-63.
All palette functions can be used in HSL color space too (multi-select, etc).
Fixed some more missing refreshes in Palette screen.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@368 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-03 01:03:32 +00:00
Adrien Destugues
3422eeff46 Patch from begasus to allow building under haiku and beos. The program is crashing when you launch it (segmentation violation).
I'm not sure the way to get the program directory we use is ok for beos, but the official way of doing that is using C++ code.
Maybe it's time to switch to some more unix way to store the config files...

This should also fix watcom build (very untested as i'm using mingw to cross compile windows builds now)
Also added begasus to the credits screen.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@325 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-05 18:59:55 +00:00
Yves Rizoud
b11d9e3ff9 Fix tiny compilation problem with mingw-gcc 3.4.2, and standardized tabs
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@324 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-03 22:42:48 +00:00
Adrien Destugues
8dd0113697 Fixed the key release handling. Avoid to mess with global variables... or the shortcut keys will trigger the actions twice (both when pressed and released)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@323 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-03 17:03:30 +00:00
Adrien Destugues
2e163fb5af Fixed drawing with the keyboard. Space key release wasn't taken into account. Now you can plot a single pixel.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@322 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-03 15:59:18 +00:00
Adrien Destugues
31c278813e Trying to get straight lines drawn with shift + click. Seems the value of the starting point gets cut to 8 bit somewhere but i can't see where that happens... and it works fine when drawing, but not in preview mode !
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@294 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-21 13:39:47 +00:00
Franck Charlet
c3182555b9 I noticed modifying the logical palette only wasn't effective in fullscreen mode so i modified the palette functions to act a little bit differently: the physical palette is only refreshed globally after all locals colors are modified, that should hopefully fix the speed issue as it looks like there's also a vblank wait when the physical palette is modified (that's how it acts on mac).
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@293 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-21 01:44:46 +00:00
Franck Charlet
2b232bbc48 Improved the speed of the spread and swap commands in the palette window by only refreshing the logical palette instead of the physical one (at least it works on MacOSX, i don't know if it's any good on other versions)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@292 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-20 20:08:26 +00:00
Yves Rizoud
b488ec9272 Fixed stricter compilation warnings, deleted unused asm code
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@288 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-18 19:23:35 +00:00
Yves Rizoud
568e4b7349 Implemented the Additive and Substractive modes, missing from the DOS version
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@286 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-17 23:24:41 +00:00
Yves Rizoud
9a759615ae Cleaned up some DOS leftovers.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@282 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-17 21:30:38 +00:00
Yves Rizoud
763087a626 Implemented Meilleure_couleur_sans_exclusion().
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@281 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-17 21:01:47 +00:00
Franck Charlet
0f74b81151 Removed the shift + click right mouse button emulation as it looks like is already handled with the apple key.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@272 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-16 23:07:26 +00:00
Franck Charlet
6a778031fe Handling for these formats were broken due to endianness problems on PPC: pkm img bmp gif
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@268 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-16 00:29:04 +00:00
Yves Rizoud
9770d70f2a Refactored the "#ifndef __macosx__" that were around every SDL_UpdateRect().
Redraw method is now defined once, in sdlscreen.c

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@266 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-15 22:52:00 +00:00
Franck Charlet
99b99322be Added the missing objective C files for the macosx and fixed the changes you forgot in main.c etc..
Also added a way to handle the right mouse button when the shift key is pressed (for mice with only have 1 button :]).

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@264 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-15 20:55:31 +00:00
Adrien Destugues
b4673bf9de Fixed big ellipses
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@246 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-13 19:50:33 +00:00
Adrien Destugues
0bbed15383 Removed the useless "squares table" wich only worked for resolutions <= 1024 px.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@245 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-13 19:38:58 +00:00
Yves Rizoud
5fd1e42ea0 Copyright notices in source files
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@217 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-08 19:40:47 +00:00
Yves Rizoud
dd984538bf Removed some old DOS code, unified (for gcc) the handling of file paths.
Probably fixed some linux issues there.
Fixed the filename search by typing in Save/load.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@196 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-04 21:56:02 +00:00
Adrien Destugues
eaa35aa9c7 Fixed the palette window : color counting works (forgot to initialize the buffer), and correct display of selected colors.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@191 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-04 18:14:29 +00:00
Yves Rizoud
7ba9a726dc Implemented window sizing (and re-sizing) by draggin window edges.
Unfinished, more work needed in:
* command-line arguments (grafx2 myimage.pcx -width 640 -height 480)
* querying SDL for best modes
* detecting bad modes and recovering (though shift+return restores to window)
* saving settings in gfx2.ini.
Also, now the window's close button triggers Quit. Both events (quit, resize)
are only taken into account when all menus are closed.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@188 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-03 01:06:42 +00:00
Yves Rizoud
acfe5836ce Grafx2 can now read and convert gfx2.cfg from the original DOS (96.5%) format.
Older .cfg files in svn were saved incorrectly: the wrong size of chunk #5
(0x0101 instead of 0xE1) made it impossible to re-read the file in gfxcfg.

gfxcfg can read and save gfx2.cfg. Upward compatibility is provided:
- If new chunk types are added to the format, it only needs a re-compile. Older
files can be read and saved.
- If new keyboard shortcuts are added (134 currently), the older files can be
read and the default shortcut will be used for missing keys.

Fixed many endianness cases, hopefully
Fixed LBM loading : bug in ASM->C conversion of Couleur_ILBM_line()
Broke PCX loading : argh!


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@176 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-29 23:15:08 +00:00
Yves Rizoud
11a4a488a6 Changed all the remaining OEM characters in the source code into Windows-1252.
Except in aide.c, because the strings are printed with an OEM font.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@175 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-27 22:11:17 +00:00
Yves Rizoud
8ec86f1899 gfxcfg now uses SDL keysyms for input, you can test it to check how SDL understands keys on your platform. The utility still doesn't load gfx2.cfg, and still saves is badly.
Fixed more hardcoded scancodes (shade menu).


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@171 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-27 16:53:26 +00:00
Yves Rizoud
73ca66c084 Keyboard: Converted hardware scancodes to SDL keysyms.
Version becomes 97.0%, Charger_CFG() auto-converts 96.5% format as needed.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@169 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-26 23:08:21 +00:00