43 Commits

Author SHA1 Message Date
Adrien Destugues
c0b95295ae Correct handling of multi-button for spray and freehand.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@579 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-01 15:03:16 +00:00
Yves Rizoud
920e19b298 Moved save/load functions out of global.h
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@572 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-29 18:23:13 +00:00
Yves Rizoud
0575684810 PNG loading. Don't try saving yet, it's pkm-saving code
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@569 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-29 17:01:02 +00:00
Yves Rizoud
e302f2d26a gfx2.dat is now replaced by an editable "skin" file: 'gfx2gui.gif', and a reference INI file: 'gfx2def.ini'.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@557 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-27 00:10:02 +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
2c8fe249e6 Adds a listing of all the mountpoints under linux. I used a piece of code from gnulib, but i'm not sure it's a very good idea. It works for me and should be easy to adapt for many other platforms. This may need some tweaking to work also under beos and skyos (and possibly other unix-like), but if not done, the function will be compiled empty and will not harm anyone.
Also, cleans some warnings that occurs with -pedantic -c99 options to gcc, and some little things pointed by splint.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@458 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-05 15:26:59 +00:00
Adrien Destugues
94e26e5764 Replaces GLOBAL by GFX2_GLOBAL in graph.h, because it conflicted with something in MorphOS.
Anyways, this GLOBAL thing looks quite ugly, maybe we should clean it up in some way... is there a better way to do the same thing ?


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@454 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-03 15:20:00 +00:00
Adrien Destugues
32f07b66ce Remove useless setting "show system directories".
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@391 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-16 12:41:57 +00:00
Yves Rizoud
d4dcf44f7c Support for "wide pixel" mode (Each pixel is 2x1). Run the program with "/wide" argument to test.
Now you can draw graphics for Amstrad CPC's "mode 0" :)


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@385 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-15 21:00:18 +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
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
Yves Rizoud
ff27c5dcf9 BIG change in directory handling:
- Unix users can "make install" and "make uninstall" (as root).
- Installation creates shortcuts "grafx2" and "gfx2cfg" in /usr/local/bin
- Installation puts data files (icon GIFs, gfx2.dat,..) and the actual binaries in /usr/local/share/grafx2
- At runtime, the programs search and create configuration files (gfx2.cfg and gfx2.ini) in ~/.grafx2
(But if there are some present in program's own directory, they override)
- Uninstall removes programs and data, but leaves all users' configurations.

Win32: User's config directory is %APPDATA%\GrafX2
Win98: %APPDATA% is not set by default, so the program falls back to executable's directory.

Tested on Debian Linux
Partially tested on Win XP (early version)
Tested on Win98


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@365 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-28 23:50:28 +00:00
Yves Rizoud
c4f6cf7762 Changed a lot of platform-specific code to "simplify" it:
A Unix-like system is now considered the default.
The number of platform-specific blocks is down to:
   win32: 13, watcomc: 3, linux: 4, macosx: 16, amigaos4: 8, beos/haiku: 1
Removed linux.c, implemented the relevant functions for all platforms.
(win32) In Stats screen, included free memory report
(macosx) Conversion_ANSI: Fixed the __macosx__ with wrong case from my former 'fix', sorry.
(macosx) readline.c : Removed a manual "Update_necessaire=1", because normally
all calls to UpdateRect() will set this flag already. Don't hesitate to call 
Flush_Update() anywhere where it's lacking, but you shouldn't put it inside a  #ifdef __macosx__
(win32) Packaging: 'make ziprelease' now includes libpng13.dll and zlib1.dll
(win32) Hacked something to resolve naming conflict of MOD_SHIFT constants with windows.h
(all) Resolution: Fixed the black space that appeared between button and label,
the memory overwrite also caused resolutions above number 2 to disappear from list.
 
Tested fine on Linux (without TTF) and Windows


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@345 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-15 16:25:37 +00:00
Adrien Destugues
d5143b5f82 Implemented font listing under linux in a quite hacky way. The directory list returned by XGetFontPath is not really usable, there are some path with appended :unscaled for non-ttf fonts, so i needed to add some null-pointer check to for_each_file after the opendir to avoid a crash. I think most of my ttf fonts gets listed, but at a quick glance i find some duplicates and the list is not alphabetically sorted. That would be a great improvement (sort and remove duplicates).
Also renamed Mask to Mask_table because XLib.h already defines some var called Mask.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@337 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-13 20:20:47 +00:00
Adrien Destugues
dc9e10c054 Started work on the gradiation rectangle.
The handling in the operation engine should work pretty well. I would like to do some changes, however (displaying the bottomright of the rectangle, and use XOR for the vector, for example)
Now, i have to do the real thing, the gradiation calculation and drawing. But let's see that tomorrow...


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@299 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-21 19:57:25 +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
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
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
74d0b87233 Contextual help in Effects menu
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@239 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-12 19:09:29 +00:00
Yves Rizoud
8a1e44ed30 Windows restore their background. Fixes/speeds-up some refreshes, and prepares for pop-up windows
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@237 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-12 17:32:46 +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
Adrien Destugues
8d5e4f6840 removed screen refreshing in the block drawing function and made the needed update in windows display. Should be a lot faster, but i may have missed some screen updates.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@205 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-07 14:16:48 +00:00
Yves Rizoud
40fe3ccf09 SDL Graphics mode detection and checking if valid, CFG saves only configuration for valid modes where the user set <3 | Imperfect | Unsupported.
Modes are not sorted yet (cosmetic)


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@199 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-05 02:10:53 +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
7bf71cd7b0 More work on endianness. Grid settings are now saved and reloaded.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@187 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-30 19:24:49 +00:00
Adrien Destugues
92c4340dbd Video modes can now be windowed or fullscreen. Quite hacky, however. We would need a way to :
-Easily change the number of video modes in the list (i'd like to use my 1440x900 screen at full resoluution !)
-Maybe add a resizeable window mode, but that would require more work, so i'd like to keep that for 2.0 .

In the meantime, i've made the list symetric, ie, mode are loaded from the cfg file and when the list is processed, each mode is copied to a fullscreen equivalent. Note this way of doing things will prevent the config file to save the selected video mode properly, so the program will switch to the default 800x600 windowed. When you load an image, Grafx2 will switch back to windowed mode when selecting the appropriate resolution for that image.

The NB_MODES_VIDEO constant is also only the HALF of the actually available video modes


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@183 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-30 15:12:40 +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
7197a98fe3 Added constants for shift/ctrl/alt modifiers
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@173 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-27 17:12:11 +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
Yves Rizoud
7175fe7b17 "Help" text is now hard-coded in tables_aide.h and compiled into the exe,
instead of being encrypted in the middle of gfx.dat


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@158 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-16 23:22:18 +00:00
Yves Rizoud
a3f2b7c2f8 Save/Load: Allows long filenames of mixed case. File extensions lowercase by default. Confirmation of Deleting a file no longer hangs.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@150 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-15 00:32:08 +00:00
Yves Rizoud
2f5c16a8a0 Support for long file names in file selector, up to 27char.
Cleanup in the Load/Save function for all formats, preparing for big endianness fix.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@146 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-09-14 18:07:17 +00:00
Adrien Destugues
2b609d6e03 -BMP Loading
-Fixed PCX loading
-Some work on ILBM loading
-Little adaptation for long filenames (does not crash anymore, but there are display bugs)
-Some other small fixes i can't remember


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@123 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-08-14 20:21:11 +00:00
Adrien Destugues
b2f9193e85 Made it compile under windows with Open Watcom
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@66 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-07-27 21:04:12 +00:00
Adrien Destugues
0ddc462158 Ligne horiz XOR
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@43 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2007-12-08 15:00:21 +00:00
Adrien Destugues
a6ea5950f6 Lots of speedup-cleanup-debug. Menu is usable, we need to implement drawing functions now...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@39 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2007-11-03 19:12:03 +00:00
Adrien Destugues
28e0cdbaf1 First drawing functions. We can see the interface !
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@25 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2007-09-20 15:37:39 +00:00
Adrien Destugues
57fa46de8c Big cleanup, proper makefile
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@12 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2007-08-13 18:41:50 +00:00
Adrien Destugues
306a004e36 First upload of the code.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2007-04-14 20:18:30 +00:00