101 Commits

Author SHA1 Message Date
Adrien Destugues
6dd54a1686 Some fixes to get_input : allows to move windows.
Touche is now resetted to 0 only when a shortcut is processed. So you can let it at the key value for cursor moves, for example. But it does not work, i must have missed something :/


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@577 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-31 11:33:18 +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
840d26cd17 Fixed: When the last resize was by the 'safe resolution' button, on exit the program recorded the previous window size instead.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@553 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-24 15:19:28 +00:00
Adrien Destugues
0f2d642847 Amiga systems use / and not .. for parent dir. Takes this into account...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@498 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-20 18:33:50 +00:00
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
Yves Rizoud
ba8ee723fe Fixed refresh problems in brush rotate and brush stretch, when screen was zoomed or scrolled.
The buttons in the screens FX and Brush FX now use the same shortcuts as when drawing.
The help screens for FX and Brush FX now show the keyboard shortcuts of all functions.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@471 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-11 00:41:20 +00:00
Yves Rizoud
b73d8b03dc The Spray tool no longer lags when you use a >0 delay setting.
Delay is now expressed in 1/100s, with range 0-99

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@470 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-10 17:28:38 +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
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
c4102e4eb7 Fixes screen updates problems
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@432 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-27 21:41:30 +00:00
Franck Charlet
d37b4f44e9 X/Y labels weren't displayed in status when leaving magnify mode.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@415 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-23 21:48:52 +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
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
71c2aa4ce6 Fix missing refresh in Spray menu.
Fix wrong color selection in Spray menu when clicking between columns.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@390 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-15 23:54:28 +00:00
Yves Rizoud
72738b9e48 Sieve menu displays sieve previews with wide/tall aspect ratio if needed.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@389 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-15 23:02:33 +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
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
d6d03dc6c7 Load/Save: Fixed "Backspace" shortcut (previous directory), broken recently.
Load/Save: Fixed "Backspace" shortcut detecting root only on MS filesystems.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@371 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-05 23:28:50 +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
3ca05279db Fix program hang in Save/Load (Issue 59)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@363 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-25 20:22:10 +00:00
Yves Rizoud
d71d7d701d Fixed more missing screen refreshes:
- Issue 54: Palette screen, BG color area after picking a BG color by right-click.
- All screens that allow the user to press Tilde to hides the window and pick a color on the image.
- Stencil screen, the selected colors when you're back after picking a color.
- Issue 55: Load/Save, areas with file stats (size, preview) just after changing selection.
- Issue 44: Status bar when emptying it (ex: hovering the status bar or the zoom separator)


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@357 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-22 00:56:21 +00:00
Yves Rizoud
54ca84e094 Text: Implemented Bold and Italic, redid the screen layout.
GUI: Generalized the system that right-clicking an input area empties it while
entering edit mode, since it was indeed a very good idea, it saves a lot of time
once you do it intuitively. (Esc still cancels and restores)
Added a bitmap font, GrafX2_Classic.gif. Helpful for prototyping GUI screens.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@353 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-17 23:44:19 +00:00
Franck Charlet
415b878844 - Added support for Mac OSX system fonts in texte.c.
- Inverted the "AntiAlias" and "No AA" labels so it's more intuitive that way.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@349 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-16 00:50:14 +00:00
Yves Rizoud
9f8381593a Fonts are now sorted (bitmaps before TrueType, then alphabetically).
Duplicate fonts (already same path+filename) are skipped.
Font selector allows pageup and pagedown.
Windows fonts directory is now determined by WINDIR environment variable


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@348 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-16 00:26:50 +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
Yves Rizoud
038303721c Fix long filenames, and cursor keys while editing text
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@336 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-12 23:39:05 +00:00
Franck Charlet
1b183d5861 - Added handling for right mouse button when entering filenames input array (clears it) also using escape key restores old filename.
- Clicking the button with default filename in an empty directory wouldn't work.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@334 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-12 13:30:22 +00:00
Franck Charlet
f5d45ade8e - Issue 51 should be fixed.
- Patched 2 segfaults in Save_PKM() which were due to the packing routine accessing a byte of a picture beyond the allocated memory block.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@333 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-12 12:55:54 +00:00
Franck Charlet
02bdbd4627 - Fixed the display of the current directory size by casting uint64_t for the multiplication (should work for linux too i guess).
- Fixed the macosx xcode project.
- More aspect ratios added.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@332 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-10 17:51:01 +00:00
Yves Rizoud
83bfd14393 Text: Help screen (F1), and font detection by file extension (unknown files are ignored)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@329 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-06 23:37:24 +00:00
Yves Rizoud
863f5111f0 Text: You can now type long lines (250car).
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@327 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-05 23:59:05 +00:00
Yves Rizoud
29dae934f1 Text: tweaked and debugged the screen, Up/Down/Home/End allow easily changing the font
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@326 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-05 23:22:33 +00:00
Yves Rizoud
c5a3b7b3c8 Text tool: now has a preview.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@321 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-02 20:33:36 +00:00
Yves Rizoud
de2f95863d Text tool: corrected colors, various fixes.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@320 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-02 19:03:11 +00:00
Yves Rizoud
3b4149be49 Text: Fonts are scanned in fonts/ and Windows own directory
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@319 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-31 20:03:58 +00:00
Yves Rizoud
bd23cc6f76 Text with SFont, unfinished. Also merged in some Makefile tweaks by xeron
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@318 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-29 20:04:25 +00:00
Yves Rizoud
cc81845f7b work in progress on Text menu
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@314 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-28 00:02:48 +00:00
Yves Rizoud
cf54d4a460 Load/Save: "Select Drive" button. Allows a way for the AmigaOS4 version to display the list of drives / volume names.
Peter, you can plug in Lire_liste_des_lecteurs(void) to enumerate the drives.

Additionally, if you want to display drive icons as well, you have a spot in
Rechercher_drives(void) :
For each drive, call Ajouter_lecteur(car, icon, string);
* car is the displayed character
* string is the drive name "df0:", "mypictures:" etc. (string will be copied)
* icon is one of :
    LECTEUR_FLOPPY_3_5
    LECTEUR_FLOPPY_5_25
    LECTEUR_HDD
    LECTEUR_CDROM
    LECTEUR_NETWORK


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@309 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-25 18:20:31 +00:00
Yves Rizoud
45f1dfeb7b TEXT Tool, first work-in-progress commit.
Truetype only, compile with "make NOTTF=1" if you don't want to bother with it.
Only TTF is done, aliased (ok) and non-aliased (backgound color is
currently stuck to color index 0)
The Clear button doesn't update the window.
Only one font (certified to be public domain).
Preview not done.
Font selector not done.
SFont support not done.
Limit 30 characters.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@305 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-23 22:13:53 +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
Franck Charlet
320eb547cd Added support for 192:145 (1152*870) aspect ratio in screen sizes dialog (and revamped the column a bit).
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@298 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-21 14:15:18 +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
8f7d11ef04 Added back the confirmation message in "Copy Spare / Some colors" function.
I shouldn't have removed it in r279, it happens because the spare page has 
unsaved changes and will be modified.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@285 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-17 22:01:22 +00:00
Yves Rizoud
a223fcb9b6 Made the welcome screen behave like a spash screen: Any click or keypress dismisses it.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@280 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-17 19:35:02 +00:00
Yves Rizoud
30aa716ba6 "Copy Spare / Some colors" is no longer a guaranteed SEGFAULT (crash)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@279 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-17 19:21:23 +00:00
Yves Rizoud
a86ded68e4 Fixed missing refreshes in the GUI: Load/Save, Stencil, Mask, Best match colors, and all scrollbar buttons.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@278 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-17 19:09:22 +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