121 Commits

Author SHA1 Message Date
Adrien Destugues
86976c9dde Updates pinceau_x and pinceau_y when closing the resolution window.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@641 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-17 21:10:39 +00:00
Yves Rizoud
fdf8015d77 Fixes the resolution screen with wide/tall/double pixels
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@637 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-16 23:04:58 +00:00
Yves Rizoud
6c2d55ed8f Implemented Double Pixel mode (issue 86)
Tall pixels can now be used in resolution minimum 320x400, and Tall pixels minimum 640x200. (instead of 640x400 for both)
Fixed: There was incorrect error recovery when trying to use a fullscreen mode too small to use wide/tall/double pixel.
Little code cleanup in the different pixel renderers.



git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@631 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-15 23:34:35 +00:00
Yves Rizoud
a28deef902 Fixed zoom window bar not draggable (issue 114)
Checked for all other uses of "while (!Get_input())", seems ok.
Palette screen: Copy,Swap,X-Swap now take place when you click button, not release.
In all screens where you could press ` and pick a color (palette, shade...): The action now takes place when you click, not release.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@626 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-11 00:00:17 +00:00
Yves Rizoud
82dc541a3c Menu: Palette size is now free, 1-256 on X and 1-16 on Y (non-powers-of-two are accepted)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@622 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-09 21:44:15 +00:00
Yves Rizoud
bba08c936f Configurable palette size (issue 47)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@618 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-08 23:59:30 +00:00
Yves Rizoud
dbdd73c0c3 Tried to improve the splash screen, and failed. Never mind, it's not important
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@617 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-08 19:09:39 +00:00
Yves Rizoud
1f7f1b87ea Fix buttons refresh, wrong in wide and tall pixel modes.
Fix window dragging not showing XOR rectangle (recent)


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@616 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-08 18:40:20 +00:00
Yves Rizoud
f00c58ade3 PNG format now saves the pixel ratio if the program is in /wide or /tall mode.
The ratio is also reloaded, but not used yet.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@615 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-08 17:53:45 +00:00
Yves Rizoud
1ed8852d64 Fixed mouse cursor in text input (Readline(), recent problems)
Fixed refresh problem when rotating a brush outside of screen limits (bug in 98%)
Fixed Palette window having 'S' as shortcut for 2 functions.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@612 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-08 00:46:42 +00:00
Yves Rizoud
05ede3ed0a Save/Load: Fixed the missing confirmation message (issue 105)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@605 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-05 23:47:52 +00:00
Yves Rizoud
13aa8e0988 Support for two shortcuts per function
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@602 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-05 22:58:13 +00:00
Yves Rizoud
ca2e12ff00 A million fixes in operations' cursor display. Oh gods I wake up in 4 am.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@600 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-05 01:24:02 +00:00
Yves Rizoud
266145cd0a Menus: Implemented 'repeatable buttons' that work like slider arrows.
Used for [+] [-] in Palette and Text, and for the arrow buttons that scroll Sieve pattern.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@598 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-04 20:34:53 +00:00
Adrien Destugues
16b405ccfe Fixes some little bugs with Attendre_fin_de_click.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@597 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-04 20:30:02 +00:00
Yves Rizoud
da942a7021 Support for ESC shortcut on GP2X (button X)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@591 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-04 01:27:04 +00:00
Yves Rizoud
bb7f09fc8e Fix CRASH in Help screen, when pressing PageDown in pages of less than 16 lines. Bug is present in 98.0% release:(
Internal support for action shortcuts on joystick buttons, mousewheel, mouse3.
Mousewheel now scrolls lists in Save/Load, Text, Help.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@589 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-04 00:23:27 +00:00
Yves Rizoud
5a80cdae44 Fixed the double icons having their diagonal not shaded on selection.
Fixed the Ellipse / Grad ellipse icon graphics (were quite off-centered)
Some tidy-up of input.c


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@584 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-02 23:09:06 +00:00
Yves Rizoud
4349fd71a3 Contour fill (issue 90), 4th mode of continuous drawing.
However, there is a rendering problem from the original polygon tool: the bottom pixels are not drawn.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@581 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-01 23:15:24 +00:00
Yves Rizoud
778d2fccde Added icons for alternative functions (issue 91)
Fixed some input problem I introduced in recent revision


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@580 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-01 22:44:05 +00:00
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