131 Commits

Author SHA1 Message Date
Yves Rizoud
52574a8e87 translations fixes (name clashes)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@685 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-03-18 01:14:53 +00:00
Yves Rizoud
4dcdc53409 more translations
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@684 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-03-18 00:16:29 +00:00
Yves Rizoud
f69cf6b8f7 More manual translations, to make the bulk process easier
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@683 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-03-17 19:09:43 +00:00
Yves Rizoud
aa7d13a3fc Resolution screen: Fixed a problem where it didn't find the current resolution, when using tall/wide/double pixels. If the cursor was not visible and you pressed OK anyway, it could crash.
Resolution changes: No longer reset the mouse cursor in center of screen.
Emergency save: When you run grafx2 again, the recovered images are now marked as modified (grafx2 will ask you to save before quit)



git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@646 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-20 20:12:27 +00:00
Yves Rizoud
d323b545ce Fix possible crash in extreme resolutions with wide and tall pixels. Manu factor was computed too big, causing clipped palette and windows didn't fit.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@643 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-19 19:37:03 +00:00
Yves Rizoud
2d8beccbbd Fixed issue 122: Qshade only working in one direction with some tools.
Re-computed the dependencies, graph.o was missing, which could cause lots of problem if you don't 'make clean' when upgrading.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@640 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-17 19:13:18 +00:00
Yves Rizoud
0bbd2249ea Fixed Contour crash when outside limits (issue 119)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@632 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-16 01:01:14 +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
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
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
0c26dc6459 Contourfill now uses a kind of 'additive XOR' lines : Pixels stay marked even if you pass over them several times.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@588 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-03 21:58:25 +00:00
Yves Rizoud
306752eaeb Fixed Contour to allow drawing single pixels
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@586 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-03 01:18:28 +00:00
Yves Rizoud
db02be0e41 Fix the Contour not advancing the backup/redo status.
Fix the polygon filling (used in 3 tools) to include all the right pixels. whoo!
Fix the operations' cursors, that I broke when I added Contour.




git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@582 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-02-02 00:53:07 +00:00
Adrien Destugues
91d4dc20b9 Fixes for compiling under freebsd
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@562 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2009-01-28 22:12:28 +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
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
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
Pete Gordon
8fe10d38dc MSDOS text format problem again. Sorry. Will try and be more careful with
this... :-/


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@452 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-31 21:52:24 +00:00
Pete Gordon
c582a90500 Fixed a bug where the graphics would get sometimes trashed when resizing
the window. I fixed it by forcing the width to a multiple of 16 instead of
4 (only for OS4).


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@451 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-31 21:50:33 +00:00
Yves Rizoud
df33261b59 Fix issue 57: Missing refresh in the cross points for the 4-point splines.
Also fixed the display of the bottom-right corner of the spline itself.
Grad rectangle: The vector line is now drawn as XOR: dragging it no longer erases the screen.
SFont.c: Only removed TAB characters in source.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@418 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-26 19:38:21 +00:00
Yves Rizoud
7247b83007 (Linux and Windows) Fix missing refresh that happened when zoom was on and you were drawing in the left part of screen.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@411 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-22 18:44:02 +00:00
Yves Rizoud
d237b058ad Fixes SIGSEGV from r406 when loading an image from command-line. oops.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@407 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-20 20:20:32 +00:00
Yves Rizoud
a81bc2c1a4 Fixes SIGSEGVs and weird coordinates of viewports when resizing the screen (w/ and w/o zoom, with resolution change or window resize)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@406 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-20 19:06:00 +00:00
Yves Rizoud
8862c1994f Fixes a SIGSEGV when using line,polyline,polygon etc. with a starting point below the picture (outside).
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@405 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-20 17:50:54 +00:00
Yves Rizoud
28805017a2 Fix issue 56: Window resizing and zoom mode.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@404 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-19 16:49:01 +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
Yves Rizoud
78df30d844 Fix broken characters >127 in the help window.
Fix broken characters >127 in normal fonts.
(Pkm: I unsigned the characters during gcc port, please don't re-sign them :)
Got rid of OEM->ANSI character translation in normal text.
Now displays the nice '...' character for filenames that dont fit windows/menus.
(dev) Added a sample Amstrad CPC picture with wide pixels. Remember to run grafx2 with '/wide'


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@394 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-16 19:26:19 +00:00
Adrien Destugues
514eee4f79 Fixes the brush roatation missing update. Also switched to cumulative rects method instead of rect-by-rect, as it is faster, and flicker free when working with big brushes. It may makes it harder to diagnose missing refreshes, however.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@392 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-16 16:54:21 +00:00
Yves Rizoud
b6d18a012b Brush menu displays with wide/tall aspect ratio if needed
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@388 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-15 22:28:32 +00:00
Adrien Destugues
383bb56366 Added the missing text refresh for text in windows.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@387 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-12-15 22:05:32 +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
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
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
Yves Rizoud
7ba57b206e Attempt at fixing BeOS build that I broke in r345 -> Issue 61.
Completed bugfinders list.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@362 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-25 19:55:06 +00:00
Yves Rizoud
a723537d94 Fix incomplete display of brush at screen edges in zoom mode (issue 53
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@358 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-23 16:54:18 +00:00
Yves Rizoud
1a44350060 Fixes missing refresh when grabbing a brush with RMB (issue 50)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@350 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-16 17:20:45 +00:00
Adrien Destugues
48979bf251 Fixed the last bug remaining in the gradiation rectangle. Again caused by loss of precision by not using floats :)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@346 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-15 18:33:27 +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
a6774e5d73 Fixed the remaining bugs from r339. Now we have a fully working gradiation rectangle system !
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@343 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-15 15:35:02 +00:00
Adrien Destugues
d016b8ba48 Some tweaks and fixups to the gradiation rectangles. Clipping and zoom mode work better, but :
-I introduced some weird bug making lines appear on the screen when drawing outside the limits of the zoom in zoom mode. Seems there is a XOR line function that get called with negative coordinates
-The preview rectangle is drawn with XOR-lines on the screen and does not modify the picture. So it is possible to erase it in the zoom screen by moving the cursor around it.
-Maybe I missed some testcases, i did not manage to reproduce the problem trigerred by grid clipping, for one.
-The gradiation vector is horizontal when it should be inclined. I probably missed something when writing the code for it. Probably a division gets out of precision... i should check if i used floats where needed


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@339 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-13 21:56:03 +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
3e04f68127 FIX screen refresh with large brushes and in zoomed mode
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@330 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-11-08 20:54:00 +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
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
Adrien Destugues
72c42b92ce fixed crash when drawing a vertical gradiation or a single-point (nonsense) gradiation.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@315 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-28 09:59:58 +00:00
Adrien Destugues
d72897e93d Some more fixes for the gradiation rectangles. The position is now calculated in an int, you should not experience any problem with the circle limit.
Also fixed the operation handling. The rectangle is now drawn properly when you finish sizing it.
The vector line still leaves some artifact on screen, however...


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@310 416bcca6-2ee7-4201-b75f-2eb2f807beb1
2008-10-27 09:02:33 +00:00