Commit graph

129 commits

Author SHA1 Message Date
Tor Lillqvist 0274d8526d Uncomment the inclusion of gdkcursor.h that should happen only with GTk+
1999-10-25  Tor Lillqvist  <tml@iki.fi>

* app/cursorutil.h: Uncomment the inclusion of gdkcursor.h that
should happen only with GTk+ 1.3, anyway? Why was it commented
out?

* app/tile_swap.c: Close before unlinking on Win32, too.

* libgimp/gimp.def: Updates, sorted.

* plug-ins/makefile.{cygwin,msc}: Add the gap and imagemap
plug-ins. Remove palette plug-in (what happened to it?).

Portability fixes from Hans Breuer:

* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gap/*.c:
* plug-ins/gimpressionist/gimpressionist.c:
* plug-ins/common/spheredesigner.c: Ifdefify system-dependent includes.

* plug-ins/common/psp.c: Remove an unused variable.

* plug-ins/imagemap/{imap_csim.y,imap_csim_parse.c}: Use
<string.h>, not <strings.h>.

* plug-ins/imagemap/imap_rectangle.c (rectangle_near_sash): Use
the & operator for function names to return pointers to them.

* plug-ins/winsnap/winsnap.c (sendBMPToGimp):
gimp_drawable_flush() should be called before resizing the layer
and image. Now the snapshot of a window is returned the correct
size, it's not padded in width to a multiple of four pixels.
1999-10-25 19:20:41 +00:00
Marc Lehmann ec40ac728b API PATCH #2 or so 1999-10-17 00:07:55 +00:00
Manish Singh d0519fd33d use G_OS_WIN32 and G_HAVE_CYGWIN #defines
* app/app_procs.c
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.c: make the ui usable

* app/gdisplay.c: enable cdisplay support

* modules/Makefile.am
* modules/cdisplay_gamma.c: moved gamma functionality to separate

-Yosh
1999-10-04 19:26:07 +00:00
Kelly Martin 8fd0791d89 don't update a tile's swap file position until the tile's actually been
* app/tile_swap.c (tile_swap_default_out): don't update a tile's swap
  file position until the tile's actually been successfully written
  out

* app/tile_cache.c (tile_cache_zorch_next): add test to make sure tile
  was successfully swapped out before dropping it from the cache

--klm
1999-10-04 15:31:14 +00:00
Michael Natterer 002aa905db app/Makefile.am app/gimphelp.[ch] new files
1999-09-27  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphelp.[ch]
	* app/gimpui.[ch]: new files

	* app/interface.[ch]
	* app/preferences_dialog.[ch]

	The GIMP Help System part 1: Press "F1" in any dialog to pop up
	the help page for this dialog.

	Moved the widget constructors from preferences_dialog.[ch] and the
	query boxes from interface.[ch] to gimpui.[ch].

	The dialog constructors take a help_func and a help_data
	parameter and install the "F1" accelerator which emits the new
	"help" signal.

	The "help" signal callback calls help_func(help_data) which finally
	has to call gimp_help() which in turn invokes the help browser.

	Still have to find a proper way to (1) prevent "F1" being assigned
	to some menu item and (2) to catch "F1" while browsing the menu
	trees in order to pop up the help for the selected item.

	* app/menus.c: a <Toolbox>/File/Help... menu item.
	* app/commands.[ch]: a command callback for the "Help..." menu item.

	* app/gimprc.[ch]: new boolean gimprc variable "use_help".

	* app/info_dialog.[ch]: pass a help function and data to the info
	dialog constructor.

	* app/tools.[ch]: store the tools help page names in the tool info
	structure. Export a special tools_help_func() which shows the help
	page for the active tool.

	* app/[all files calling a dialog constructor]: pass the dialog's
	help page to the constructor.

	Most dialogs are now created by gimp_dialog_new() which also sets
	up the action_area and the WM delete event callback, so I removed
	the resp. code from these files.

	Fixed some minor bugs and did some other stuff but didn't change
	any logic except dialog creation.

	* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
	help browser and don't install any menu path (all done in
	app/gimphelp.[ch] now).
1999-09-27 17:58:10 +00:00
Sven Neumann ba211f07f2 i18n patch from Daniel Egger
--Sven
1999-09-23 11:49:16 +00:00
BST 1999 Andy Thomas eff3e1b8ce app/curves.c app/curves.h
Fri Sep  3 22:52:26 BST 1999 Andy Thomas <alt@gimp.org>

	* app/curves.c
	* app/curves.h

	Added indicators (x,y of mouse & x for the line) to the curves
	dialog.
1999-09-03 21:58:41 +00:00
Sven Neumann 42b6faccc0 I decided not to try to rewrite the brush_select dialog to make use of
the new preview widgets. This means code_duplication, but I don't want to
spend the whole weekend on this...


--Sven
1999-09-02 17:27:28 +00:00
BST 1999 Adam D. Moss f4f0932dfd app/gradient.c app/color_transfer.c app/free_select.c app/lut_funcs.c
Wed Sep  1 22:28:09 BST 1999 Adam D. Moss <adam@gimp.org>

	* app/gradient.c
	* app/color_transfer.c
	* app/free_select.c
	* app/lut_funcs.c
	* app/blob.c: s/#include <math.h>/#include "libgimp/gimpmath.h"/
1999-09-01 21:31:55 +00:00
Tor Lillqvist 6ef23d984f app/appenv.h New file. Includes <math.h>. Move G_PI, RINT(), ROUND() etc
1999-09-01  Tor Lillqvist  <tml@iki.fi>

* app/appenv.h
* libgimp/gimpmath.h: New file. Includes <math.h>. Move G_PI,
RINT(), ROUND() etc from app/appenv.h here, so plug-ins can
use them, too. Remove some commented-out old stuff in appenv.h.

* libgimp/gimp.h: Include gimpmath.h.

* libgimp/gimp.c (gimp_main): Win32: Don't install signal
handlers, we can't do anything useful in the handler ourselves
anyway (it would be nice to print out a backtrace, but that seems
pretty hard to do, even if not impossible). Let Windows inform the
user about the crash. If the plug-in was compiled with MSVC, and
the user also has it, she is offered a chance to start the
debugger automatically anyway.

* app/*several*.c: Include gimpmath.h for G_PI etc. Don't include
<math.h>, as gimpmath.h includes it.

* plug-ins/*/*many*.c: Include config.h. Don't include <math.h>.
Remove all the duplicated definitions of G_PI and rint(). Use
RINT() instead of rint().

* app/app_procs.[ch]: app_exit() takes a gboolean.

* app/batch.c
* app/commands.c
* app/interface.c: Call app_exit() with FALSE or TRUE.

* app/main.c (on_error): Call gimp_fatal_error. (main): Don't
install any signal handler on Win32 here, either.

* app/errors.c (gimp_fatal_error, gimp_terminate): Win32: Format
the message and call MessageBox with it.  g_on_error_query doesn't
do anything useful on Win32, and printf'ing a message to stdout or
stderr doesn't do anything, either, in a windowing application.
1999-09-01 20:30:56 +00:00
Manish Singh 6320f26fb9 no leading underscore for S_IFOO constants
-Yosh
1999-09-01 06:15:59 +00:00
Tor Lillqvist 6a71208875 Use _O_TEMPORARY. Removed #ifdef, instead define the Win32-only _O_BINARY
1999-09-01  Tor Lillqvist  <tml@iki.fi>

* app/tile_swap.c (tile_swap_open): Use _O_TEMPORARY. Removed
#ifdef, instead define the Win32-only _O_BINARY and _O_TEMPORARY
as zero if not defined.

* plug-ins/common/spheredesigner.c: Include config.h (#if
HAVE_CONFIG_H). RAND_FUNC and SRAND_FUNC are defined in that.
1999-09-01 04:27:30 +00:00
Sven Neumann d5cc2ac5da RGB brush scaling
--Sven
1999-08-21 20:33:13 +00:00
jaycox 99111b635f added InterpolationType enum. replaced cubic_interpolation flag with
* app/apptypes.h: added InterpolationType enum.
	* app/gimprc.[ch], app/preferences_dialog.c: replaced
	cubic_interpolation flag with interpolation_type variable.

	* app/pixel_region.[ch]: added pixel_region_has_alpha function.

	* app/paint_funcs.c: rewrote scale_region.  It now behaves
	correctly on images with alpha, no longer leaves an artifact on the
	right edge of images when scailing up, and runs signifigantly
	faster.
1999-08-20 10:06:54 +00:00
Kelly Martin f369da0a95 Color brushes now appear in the brush selector in color. Scaling is
* app/brush_select.c: Color brushes now appear in the brush
selector in color.  Scaling is disabled for color brushes because
I can't figure out how to do it just now.  Still need to fix the
toolbox to do this too.

--klm
1999-08-13 15:20:35 +00:00
Sven Neumann 2c1e3f2f7d First set of camp-merges. Adds brush-scaling for the brush previews.
--Sven
1999-08-12 17:53:51 +00:00
Tor Lillqvist 933b866166 Define ROUND(), RINT(), SQR(), G_PI and G_PI_4. The latter two will
* app/appenv.h: Define ROUND(), RINT(), SQR(), G_PI and
	G_PI_4. The latter two will presumably eventually be in
	GLib. RINT() calls rint() if we have it, otherwise adds 0.5 and
	calls floor().

	* app/*.c: Remove the multiple identical definitions of M_PI. Use
	G_PI instead of M_PI. Remove ROUND() and rint() definitions. Use
	RINT() instead of rint().
1999-08-04 23:22:29 +00:00
Manish Singh 7cb07a90bf add sample_colorize and curve_bend defs
* plug-ins/common/plugin-defs.pl: add sample_colorize and
curve_bend defs

* libgimp/color_selector.h: minor consistency cleanup

* libgimp/gimpchainbutton.[ch]: use new style gtk object helper macros

* libgimp/gimpfileselection.c
* libgimp/gimpmatrix.h: minor cleanup

* libgimp/gimpintl.h: resync with gnome-i18n.h


* libgimp/color_display.h
* app/gimp.sym
* app/gdisplay_color.[ch]
* app/app_procs.c
* app/gdisplay.h
* app/image_render.c: color display transformation code. Still
unfinished, so it's not activated yet.

* app/buildmenu.h: remove unused defines (PULLDOWN, POPUP, OPTION)

* app/colormaps.[ch]
* app/image_render.c: remove vestigal dithering stuff

* app/convolve.h
* app/gimpdrawable.h
* app/gimpimage.h
* app/lut_funcs.h
* app/paint_funcs.h
* app/plug_in.h: enum nick changes from Marc

* app/channel_ops.c
* app/crop.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/move.c: s/([A-Z]+)_GUIDE/ORIENTATION_$1/

* app/flip_tool.[ch]
* app/shear_tool.[ch]: use ORIENTATION_* constants instead of our own

* app/disp_callbacks.c: remove HORIZONTAL and VERTICAL #defines

* app/general.h: enumified TOKEN_* symbols

* app/lc_dialog.c
* app/paint_funcs.c: remove unused variables

* tools/pdbgen/lib.pl: autogen gimpenums.h (unfinished)

* tools/pdbgen/stddefs.pdb: new std_orientation_enum, remove
layer_mode shortcut since we've skipped it in app/

* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gimage.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: reflect above enum changes, whitespace
cleanups

* tools/pdbgen/enums.pl
* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/color_cmds.c
* app/drawable_cmds.c
* app/gimage_cmds.c
* app/layer_cmds.c
* app/procedural_db_cmds.c
* app/tools_cmds.c: reflect pdb and enum nick changes above

-Yosh
1999-07-28 23:00:08 +00:00
jaycox bc0451b4b4 more cursor support. new cursor fix that rounding error the right way this
* app/clone.c: more cursor support.
	* app/cursorutil.[ch], cursors/{bad,badmsk}: new cursor
	* app/paint_core.c: fix that rounding error the right way this time.
	* app/pixel_processor.c, app/pixel_region.c:  Lock the tiles while
	they are being processed.  Only create new threads if the region
	being processed is large enough to warrant it.
1999-07-27 08:47:31 +00:00
Michael Natterer a4c1e8a557 new ui for the "Layer Offset" dialog.
1999-07-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/channel_ops.[ch]: new ui for the "Layer Offset" dialog.

	* app/channels_dialog.c
	* app/layers_dialog.c: major code cleanup: Folded some callbacks
	into common ones, "widget" instead of "w", indentation, ...

	* app/commands.c
	* app/interface.[ch]
	* app/global_edit.c: the query boxes must be shown by the caller
	now. There's no need to split up the string for the message box
	manually as the Gtk 1.2 label widget handles newlines corectly.
	Added the "edge_lock" toggle to the "Shrink Selection" dialog.
	Nicer spacings for the query and message boxes.

	* app/ink.c: tried to grab the pointer in the blob preview but
	failed. Left the code there as a reminder (commented out).

	* app/menus.c: reordered <Image>/Select.

	I was bored and grep-ed the sources for ancient or deprecated stuff:

	* app/about_dialog.[ch]
	* app/actionarea.[ch]
	* app/app_procs.c
	* app/brush_edit.c
	* app/brush_select.c
	* app/color_select.c
	* app/convert.c
	* app/devices.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/histogram_tool.[ch]
	* app/info_window.c
	* app/install.c
	* app/ops_buttons.c
	* app/palette.c
	* app/palette_select.c
	* app/paths_dialog.c
	* app/pattern_select.c
	* app/resize.c
	* app/scale_toolc.c
	* app/text_tool.c:
	s/container_border_width/container_set_border_width/g,
	s/sprintf/g_snprintf/g, replaced some constant string lengths with
	strlen(x).

	* app/bezier_select.c
	* app/blend.c
	* app/boundary.c
	* app/errors.[ch]
	* app/free_select.c
	* app/gimpbrushlist.c
	* app/gimprc.c
	* app/iscissors.c
	* app/main.c
	* app/patterns.[ch]
	* app/text_tool.c: namespace fanaticism: prefixed all gimp error
	functions with "gimp_" and formated the messages more uniformly.

	* app/gradient.c
	* app/gradient_select.c: same stuff as above for the ui
	code. There are still some sub-dialogs which need cleanup.

	Did some cleanup in most of these files: prototypes, removed tons
	of #include's, i18n fixes, s/w/widget/ as above, indentation, ...
1999-07-22 16:21:10 +00:00
Sven Neumann 645f85352d Indentation paranoia!
--Sven
1999-07-19 19:46:05 +00:00
Michael Natterer a60b2c2f02 the Tool structure is now allocated by a common constructor which sets
1999-07-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tools]: the Tool structure is now allocated by a common
	constructor which sets default values and provides default tool
	action functions. To get rid of much code duplication there should
	be a object hierarchy of tools.

	* app/context_manager.c
	* app/tools.[ch]: create and destroy private contexts for the
	paint tools on startup and exit. They are not used yet.

	* app/interface.c
	* app/menus.c
	* app/tools.h: num_tools is now exported in tools.h

	* app/commands.c
	* app/gdisplay.c
	* app/menus.c: made "Toggle Selection" a toggleable menu item.
1999-07-02 17:40:10 +00:00
Michael Natterer c456ba93ba app/[all tool related files] app/commands.c app/disp_callbacks.c
1999-06-26  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tool related files]
	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage.c
	* app/interface.c: hopefully fixed the bugs that appeared with my
	last fix. And some more changes...

	- Slightly changed the conditions which cause the tools to be
	  re-initialized on button_press events and the global
	  initialisation functions.
	- The dialog tools now explicitly set tool->gdisp_ptr so they can
	  be properly hidden on display deletion.
	- Create the crop info dialog only once and avoid ugly redraw bugs
	  by blocking the sizeentries' signal when initializing them.
	- Standardized the tools_new_<tool>() functions. They are
	  scheduled to be moved to a common constructor in tools.c
	- Various stuff...
1999-06-26 11:16:47 +00:00
Michael Natterer d5d99e5c34 app/brightness_contrast.c app/by_color_select.c app/curves.c
1999-06-23  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/brightness_contrast.c
	* app/by_color_select.c
	* app/curves.c
	* app/disp_callbacks.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/levels.c
	* app/posterize.c
	* app/threshold.c:

	Factored out the cleaning up code to the tool dialog's "cancel"
	callbacks because they are called from every function which is
	aborting the tool. This should fix the remaining segfaults.

	I probably killed a feature of "Levels". The tool wanted to
	preserve it's drawable all the time, so it was possible to select
	colors from other displays. If this was the intended behaviour,
	please flame me and I will try to set the "preserve" flag
	correctly.

	* plug-ins/common/Makefile.am: "struc" was in the Makefile but not
	in the directory.
1999-06-23 15:24:46 +00:00
Michael Natterer f1b5e1ae47 namespace cleanups.
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: namespace cleanups.

	* app/commands.[ch]
	* app/menus.c: moved the "Toggle Selection" menu entry to "View",
	sprinkled some separators and made the layers/channels/paths popup
	menus consistent with Tigert's last ops buttons change.

	* app/fileops.c
	* app/plug_in.c: check for gdisplay_active() returning NULL in
	some more places.

	* app/[all tool related files]:

	- Turned the ToolAction and ToolState #define's into typedef'ed
	  enums, so the compiler can do some more sanity checking.
	- Removed one more unused global variable "active_tool_layer".
	- Removed some #include's from tools.c.
	- Standardized the individual tools' structure names.
	- Moved showing/hiding the tool options to separate functions.
	- Stuff...

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/tools.c: fixed the segfaults which happened when the image
	of one of the tools which have dialogs (levels/posterize/...) was
	deleted. My approach was to do stricter sanity checking and to set
	some gdisplay pointers correctly where appropriate, so I can't
	tell exactly where the bug was.
	The curves tool now(??) updates on every _second_ display change
	only, which is really obscure.
	Finding/changing the display to operate on should definitely be
	done by connecting to the user context's "display_changed"
	signal.

	* app/gimpset.c: emit the "remove" signal _after_ removing the
	pointer from the set. If this was not a bug but a feature, please
	let me know, we'll need two signals then.
1999-06-21 22:12:07 +00:00
Tor Lillqvist 776cd54ca9 Mention using GNU gettext.
* README.win32: Mention using GNU gettext.

	* config.h.win32: Enable NLS stuff. Remove the X11 & Unix vs. Win32
	feature test macros, we use those from glibconfig.h and gdkconfig.h.

	* app/makefile.msc: Use gettext. New object files.

	* app/batch.c: No need to include <io.h> on Win32.

	* app/errorconsole.c
	* app/plug_in.c
	* app/tile_swap.c: Include <glib.h> early to get Win32 feature
	test macros from <glibconfig.h>.

	* app/gimpset.c: Remove unnecessary (?) warning.

	* app/main.c
	* libgimp/stdplugins-intl.h: If no LOCALEDIR defined
	(as on Win32), use the "locale" subdir in gimp_data_directory().

	* app/palette.c: Open palette file in text mode.

	* app/session.c
	* app/text_tool.c: Use GDK's GDK_WINDOWING feature test macro
	if available, not WINDOWS_DISPLAY.

	* libgimp/gimpfeatures.h.win32: Correct GIMP_VERSION.

	* libgimp/makefile.msc: Use gettext.

	* plug-ins/makefile.msc: Use gettext. Add some missing
 	plug-ins. Advice how to build "unofficial" plug-ins.

	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/faxg3/faxg3.c
	* plug-ins/gbr/gbr.c
	* plug-ins/gz/gz.c: Include <glib.h> early.

	* plug-ins/tga/tga.c: Include config.h, use HAVE_UNISTD_H.
1999-06-14 22:18:02 +00:00
Tomas Ogren 79be4895ec Misc l10n fixes
1999-06-06  Tomas Ogren  <stric@ing.umu.se>

* app/{color_notebook.c,color_select.c,lc_dialog.c,temp_buf.c,tool_options.c,tools.c}:
  Misc l10n fixes
1999-06-06 19:44:36 +00:00
Manish Singh dfd9d1cc70 i18n patch from gimp-monniaux-050699-1
-Yosh
1999-06-05 23:41:45 +00:00
Manish Singh f2622e5420 configure.in removed tips files, AC_SUBST GIMP_PLUGINS and GIMP_MODULES so
* configure.in
* Makefile.am: removed tips files, AC_SUBST GIMP_PLUGINS and
GIMP_MODULES so you can easily skip those parts of the build

* acinclude.m4
* config.sub
* config.guess
* ltconfig
* ltmain.sh: libtool 1.3.2

* app/fileops.c: shuffle #includes to avoid warning about MIN and
MAX

[ The following is a big i18n patch from David Monniaux
  <david.monniaux@ens.fr> ]

* tips/gimp_conseils.fr.txt
* tips/gimp_tips.txt
* tips/Makefile.am
* configure.in: moved tips to separate dir

* po-plugins: new dir for plug-in translation files

* configure.in: add po-plugins dir and POTFILES processing

* app/boundary.c
* app/brightness_contrast.c
* app/by_color_select.c
* app/color_balance.c
* app/convert.c
* app/curves.c
* app/free_select.c
* app/gdisplay.c
* app/gimpimage.c
* app/gimpunit.c
* app/gradient.c
* app/gradient_select.c
* app/install.c
* app/session.c: various i18n tweaks

* app/tips_dialog.c: localize tips filename

* libgimp/gimpunit.c
* libgimp/gimpunitmenu.c: #include "config.h"

* plug-ins/CEL
* plug-ins/CML_explorer
* plug-ins/Lighting
* plug-ins/apply_lens
* plug-ins/autostretch_hsv
* plug-ins/blur
* plug-ins/bmp
* plug-ins/borderaverage
* plug-ins/bumpmap
* plug-ins/bz2
* plug-ins/checkerboard
* plug-ins/colorify
* plug-ins/compose
* plug-ins/convmatrix
* plug-ins/cubism
* plug-ins/depthmerge
* plug-ins/destripe
* plug-ins/gif
* plug-ins/gifload
* plug-ins/jpeg
* plug-ins/mail
* plug-ins/oilify
* plug-ins/png
* plug-ins/print
* plug-ins/ps
* plug-ins/xbm
* plug-ins/xpm
* plug-ins/xwd: plug-in i18n stuff

-Yosh
1999-05-29 16:35:47 +00:00
Tor Lillqvist 4e886ad428 Check for mmap.
* configure.in: Check for mmap.

	* app/makefile.msc: Depend on gimpi.lib.

	* app/app_procs.c (app_init): Fix gccism: Allocate filenames (an
 	array with non-constant size) dynamically.

	* app/{datafiles,fileops,general,install,module_db,temp_buf}.c:
 	Include glib.h before standard headers, because of certain obscure
 	details related to compiling with gcc on Win32.

	(If you really want to know: glib.h defines he names of POSIXish
	(but non-ANSI) functions as prefixed with underscore, because
 	that's how they are named in the msvcrt runtime C library we want
 	to use. However, defining stat as _stat causes some problems if
 	done after including the mingw32 <sys/stat.h>. So, it's easiest to
 	include <glib.h> early.)

	* app/main.c: Use _stdcall and __argc, __argv with MSC, but
 	__attribute__((stdcall)) and _argc, _argv with gcc. Don't print
 	the "Passed serialization test" message on Win32. (It would open
 	up an otherwise unnecessary console window.)

	* app/paint_funcs.c (gaussian_blur_region): Don't use variable sum
 	until initialized.

	* app/{bezier_select,paths_dialog}.c: Include config.h and define
 	rint() if necessary.

	* app/plug_in.c: Use _spawnv, not spawnv, on Win32 and OS/2.
1999-05-28 17:47:17 +00:00
Austin Donnelly 8218179aa6 Thu May 20 16:38:05 BST 1999 Austin Donnelly <austin@gimp.org
* app/curves.c: colour in the previously greyscale bars to the
	    left and below the curve itself.  Might want to take alpha and
	    value into account, but currently we don't.  Incidentally
	    fixes a few redraw problems I found along the way.  Done in
	    about an hour and a half, to show Wavey Dave what's possible :)
1999-05-20 15:43:56 +00:00
BST 1999 Andy Thomas df68aba3a7 Changed:- app/bezier_select.c app/bezier_selectP.h app/cursorutil.c
Thu May 13 22:41:26 BST 1999 Andy Thomas <alt@gimp.org>

	Changed:-
	* app/bezier_select.c
	* app/bezier_selectP.h
	* app/cursorutil.c
	* app/cursorutil.h
	* app/curves.c
	* app/paths_dialog.c

	New:-
	* cursor/mouse1_ap
	* cursor/mouse1_apmsk
	* cursor/mouse1_cp
	* cursor/mouse1_cpmsk
	* cursor/mouse1_mm
	* cursor/mouse1_mmmsk
	* cursor/mouse1_sel
	* cursor/mouse1_selm
	* cursor/mouse1_selmmsk
	* cursor/mouse1_selmsk
	* cursor/mouse1_selp
	* cursor/mouse1_selpmsk

	Paths changes:-
	Implemented multi-part paths.
	(Import the path (RMB in paths dialog brings menu up)
	http://www.picnic.demon.co.uk/tmp/gimp.path
	into a 600x256 (WxH) for an example).

	Can copy/paste paths.
	Fully custom cursors when using the Bezier tool. A number of bug
	fixes re boundary problems also fixed.

	Note that heavy use is made of the modifier keys in the bezier tool.
	MB1 inside a closed curve converts it to a selection. The modifiers
	change how the selection interacts with any current selection (in
	much the same way as the selection tool does).

	MB1 + ALT on control point will move a curve, if shift modifier active
	then single curve is moved.


	Curves:-

	In curves dialog you can now press MB1 + shift will add point to
	curves dialog corresponding to the current position in
	the currently selected channel. MB1 + CNTRL will add the point
	to all channels. (Thanks to Carey Bunks for the initial idea).
1999-05-13 22:53:40 +00:00
BST 1999 Adam D. Moss 928dd48af7 app/tile.c app/tile.h app/tile_manager.c app/tile_pvt.h
Sun May  9 16:23:47 BST 1999  Adam D. Moss  <adam@gimp.org>

	* app/tile.c
	* app/tile.h
	* app/tile_manager.c
	* app/tile_pvt.h
	* app/paint_funcs.c:

	Added Tile Row Hinting to the GIMP tile structure.  Tiles
	now have cheap per-row hints indicating whether each row is
	all-transparent, all-opaque, a mixture, or other properties.

	These hints are automatically invalidated when the tile is checked
	in as dirty, and are re-evaluated on demand.

	Currently only the layer compositing routines take advantage
	of these hints, though there is opportunity to use them to
	advantage in numerous other places.

	The whole layer compositing process is typically 2x-4x faster
	now, especially on subsequent renders of data which has already
	had its hints calculated.

	See tile.h for the explicit TileRowHint query/set interface.
	The procedure to re-evaluate tile hints currently resides in
	paint_funcs.c but may be exposed to other parts of the core
	if necessary.

	This is experimental.  Please report mis-rendering problems.
1999-05-09 15:45:37 +00:00
Tor Lillqvist 1dea4958bb Win32 portability changes:
* config.h.win32, README.win32: Small changes.

	* tools/pdbgen/pdb/*.pdb: Include <string.h>.

	* app/*_cmds.c: Autogenerated files reflect above changes.

	* libgimp/makefile.msc app/makefile.msc: Various updates,
 	including new object files. Gtk+ directory now should be called
 	gtk+ (not gtk-plus). Use win32-specific gdk subdir. Glib directory
 	now should be called just glib.

	* libgimp/gimp.def: Updates.

	* libgimp/gimpfeatures.h.win32: Made current with
 	gimpfeatures.h.in.

	* libgimp/gimpfileselection.c: Define S_ISDIR and S_ISREG if
 	necessary.

	* tools/pdbgen/pdb/fileops.pdb: Must have a
 	statement (even an empty one) after a label.

	* app/fileops_cmds.c: Autogenerated file reflects above changes.

	* app/crop.c: Include <string.h>.

	* app/{app_procs,batch,fileops,datafiles,errorconsole,general,
 	plug_in,temp_buf,tile_swap}.c: Test NATIVE_WIN32, not
 	_MSC_VER. (NATIVE_WIN32 means we are using the Microsoft C
 	runtime, even if we might be compiling with gcc.)

	* app/fileops.c: Don't include <process.h> here.

	* app/fileops.h: Do include <process.h> here.

	* app/gimpparasite.c: Include config.h, guard inclusion of
 	<unistd.h>. (Is the inclusion of unistd.h in source files all over
 	the place really necessary?)

	* app/ink.c: MSC doesn't handle conversion from unsigned __int64
 	to double, so cast to signed.

	* app/lut_funcs.c: Include config.h, and define rint() if necessary.

	* app/pixel_processor.c: Include config.h without "..", like in
 	all the other places. Include <string.h>

	* app/text_tool.c: Guard the "POINTS" identifier that clashes with
 	<windows.h>, sigh.
1999-05-04 21:32:17 +00:00
Sven Neumann d342563d60 Moved from toggle_key_func to modifier_key_func.
--Sven
1999-04-27 21:06:00 +00:00
Asbjørn Pettersen 0355c5aa10 close swap file before unlink 1999-04-27 18:59:53 +00:00
Sven Neumann 8b46a4f9f5 Toggable tools!
I hope I haven't broken too much ;-)


--Sven
1999-04-27 02:09:03 +00:00
Asbjørn Pettersen 020a39a9a5 add <sys/types.h> 1999-04-23 15:20:10 +00:00
Manish Singh 993089b8cb moved a bunch of PDB stuff here
* app/color_cmds.c: moved a bunch of PDB stuff here

* app/color_balance.[ch]: removed PDB proc, exported TransferMode
enum, ColorBalanceDialog, color_balance_create_lookup_tables, and
color_balance

* app/curves.[ch]: removed PDB procs, exported SMOOTH and GFREE
#defines, CurvesDialog, curves_lut_func and curves_calculate_curve

* app/desaturate.[ch]: removed PDB proc, exported desaturate

* app/equalize.[ch]: removed PDB proc, exported equalize

* app/histogram_tool.[ch]: removed PDB proc, exported HISTOGRAM_WIDTH
and HISTOGRAM_HEIGHT #defines, HistogramToolDialog,
histogram_tool_histogram_range

* app/hue_saturation.[ch]: removed PDB proc, exported HueRange enum,
HueSaturationDialog, hue_saturation_calculate_transfers,
hue_saturation

* app/invert.[ch]: remove PDB proc, export invert

* app/threshold.[ch]: remove PDB proc, export ThresholdDialog and
threshold_2

* internal_procs.c: changes for pdbgen

* app/gimprc.c: removed leftover declaration

* app/image_map.h: add #include "gimpdrawableF.h"

* app/lut_funcs.h: add ALPHA_LUT to ChannelLutType

-Yosh
1999-04-21 05:39:57 +00:00
Manish Singh 4151b821c7 code cleanup
* app/boundary.c: code cleanup

* app/levels.c: applied gimp-lecorfec-990314-0, added spin buttons
to the levels dialog

* plug-ins/script-fu/scripts/font-map.scm: changes for updated
gimp_text interface
1999-04-13 04:59:07 +00:00
Michael Natterer 8dbd5f9b65 app/airbrush.c app/bezier_select.c app/blend.c app/brightness_contrast.c
1999-04-12  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/airbrush.c
        * app/bezier_select.c
        * app/blend.c
        * app/brightness_contrast.c
        * app/bucket_fill.c
        * app/by_color_select.c
        * app/clone.c
        * app/color_balance.c
        * app/color_picker.c
        * app/convolve.c
        * app/crop.c
        * app/curves.c
        * app/ellipse_select.c
        * app/eraser.c
        * app/flip_tool.c
        * app/free_select.c
        * app/fuzzy_select.c
        * app/histogram_tool.c
        * app/hue_saturation.c
        * app/ink.c
        * app/iscissors.c
        * app/levels.c
        * app/magnify.c
        * app/move.c
        * app/paintbrush.c
        * app/pencil.c
        * app/posterize.c
        * app/rect_select.[ch]
        * app/text_tool.c
        * app/threshold.c
        * app/transform_tool.c

        * app/tools.[ch]
        * app/toolsF.h: again: all tools :(

        * app/Makefile.am
        * app/tool_options.[ch]
        * app/selection_options.h
        * app/tool_options_ui.h: new files.

        Ok, this time it's general enough for future extensions:

        - The tool options structures are organized like the gtk object
          system to allow derived tool options.
        - Renamed all create and reset functions to *_options_new() and
          *_options_reset() to reflect this.
        - Changed tools_register() again. Now it takes just a pointer to a
          ToolOptions structure.
        - Moved almost the entire tool options gui code to tool_options.c.
        - Visually separated the common selection options from the
          tool-specific ones. I'd like to do the same with opacity/paint
          mode in all paint tool options but I think this needs some more
          discussion.

        * app/histogram_tool.c: changed packing boxes, label alignments.

        * app/paintbrush.c: some more sensitive settings. The gradient
        feature can now be toggled with a button. Hopefully didn't break
        anything.
1999-04-12 17:55:06 +00:00
Manish Singh c555988860 doh, XLFD stuff is in decipoints
* app/text_tool_cmds.c: doh, XLFD stuff is in decipoints

* app/color_cmds.h: removed

* app/color_cmds.c: pdbgened file now

* app/lut_funcs.h: export ChannelLutType enum

* app/internal_procs.c: register pdbgened color procs

* app/menus.c: reverted keyboard underlines since they need more discussion

-Yosh
1999-04-10 21:51:25 +00:00
Manish Singh d6116b8d2c new file (from pdbgen)
* text_tool_cmds.c: new file (from pdbgen)

* Makefile.am: add new file, use AM_CPPFLAGS instead of CPPFLAGS

* internal_procs.c: register pdbgened text_tool procs

* text_tool.c: remove PDB stuff, export text_render and
text_get_extents and SizeType and SUPERSAMPLE symbols

* text_tool.c: remove PDB stuff

* blend.[ch]
* bucket_fill.[ch]
* clone.[ch]
* convolve.[ch]: export some enums

* channel.h
* paint_core.h: #define->enum

* channel.c
* gimpparasite.c
* parasitelist.c
* pixel_processor.c: warning cleanup

* convert_cmds.c
* paths_cmds.c: slight pdbgen changes

-Yosh
1999-04-10 04:54:34 +00:00
Manish Singh 583ecaade8 Make reality reflect the ChangeLog (#include "gimphistogramF.h")
-Yosh
1999-04-10 04:41:41 +00:00
jaycox 3ece2f7e4e new file containing typedef for GimpHistogram.
* app/gimphistogramF.h: new file containing typedef for
 	GimpHistogram.

	* app/gimphistogram.h: moved GimpHistogram typedef to
 	gimphistogramF.h

	* app/lut_funcs.h: include gimphistogramF.h again now that the
 	file actually exists.
1999-04-10 04:13:42 +00:00
Raph Levien 284f2d379d Fixed an include file in lut_funcs.h so it compiles. 1999-04-10 01:57:53 +00:00
jaycox dde3603123 build color_cmds, lut_funcs, and pixel_processor feedback in the splash
* app/Makefile.am: build color_cmds, lut_funcs, and pixel_processor
	* app/app_procs.c: feedback in the splash screen when loading
 	parasites.
	* app/boundary.c: Optimized find_empty_segs.

	* app/brightness_contrast.[ch]
	* app/levels.[ch]
	* app/posterize.[ch]:
 	moved pdb and lut calculation code.  These files now contain only
	GUI functions.

	* app/channel.c: Optimized channel_bounds (fewer compares, better
 	use of registers).  Use color_region instead of channel_*_segment
 	in channel_combine_rect.  Optimized channel_combine_ellipse by
 	skipping pixels inside of the ellipse.  Use
 	pixel_region_process_parallel in channel_combine_mask.  Use a
 	GimpLut in channel_invert, and channel_sharpen.

	* app/invert.c
	* app/equalize.c: moved the lut functions to lut_funcs.c

	* app/gimpdrawable.c, app/gimpdrawableP.h
	* app/gimpimage.c, app/gimpimageP.h: removed unused gimpmatrix
	variables/includes.

	* app/gimplut.[ch]: added new function gimp_lut_process_inline
 	that operates on a single PixelRegion.

	* app/gimpparasite.[ch]: new functions to save/load parasiterc

	* app/parasitelist.[ch]: new functions to save/load ParasiteLists
 	in/from files.

	* libgimp/parasite.[ch]: new functions to load/save parasites.

	* app/internal_procs.c: get some procs from new location in
	color_cmds.h.

	* app/pixel_region.[ch]: moved pixel_regions_process_parallel
 	related functions to a new file.

	* app/color_cmds.[ch]: new files for PDB
 	definitions/implementations of color correction functions.

	* app/lut_funcs.[ch]: new files to hold lut creation functions.

	* app/pixel_processor.[ch]: new files that contain the
 	pixel_regions_process_parallel routines.  Added some new
 	capabilities that are currently unused.
1999-04-09 06:00:11 +00:00
Michael Natterer f1b0a8835c app/airbrush.c app/bezier_select.c app/blend.c app/brightness_contrast.c
1999-04-08  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/airbrush.c
	* app/bezier_select.c
	* app/blend.c
	* app/brightness_contrast.c
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.c
	* app/color_balance.c
	* app/color_picker.c
	* app/convolve.c
	* app/crop.[ch]
	* app/curves.c
	* app/ellipse_select.c
	* app/eraser.c
	* app/flip_tool.c
	* app/free_select.c
	* app/fuzzy_select.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/ink.c
	* app/iscissors.c
	* app/levels.c
	* app/magnify.c
	* app/move.c
	* app/paintbrush.c
	* app/pencil.c
	* app/posterize.c
	* app/rect_select.[ch]
	* app/text_tool.[ch]
	* app/threshold.c
	* app/transform_tool.c

	* app/tools.[ch]
	* app/toolsF.h: in other words: all tools

	Implemented the "reset tool options" feature.
	- All tools register with a title string and a reset function now.
	- The tool options' variables have two related <var>_d (default)
	  and <var>_w (widget) variables to restore the default values.

	"Standardized" the tool options UI:
	- Put the stuff info a frame to give a hint that the dialog's
	  contents will change.
	- table layout, sensitive setting, spacings, borders, ...

	As I had them all in my emacs simultaneously, I couldn't resist to
	standardize the tools' *.c files declaration parts ;) Ansi stuff.
1999-04-08 22:25:54 +00:00
BST 1999 Andy Thomas 9a4edab746 Changed:-
Wed Apr  7 23:53:22 BST 1999 Andy Thomas <alt@gimp.org>

	Changed:-

	* app/curves.c

	Just noticed a bug that has been around for ages. The preview
	update does not work in the curves dialog when free curve
	mode is selected. Fixed it.
1999-04-07 22:58:44 +00:00
BST 1999 Andy Thomas 4bdf25daf2 Changed:-
Wed Apr  7 22:44:02 BST 1999 Andy Thomas <alt@gimp.org>

	Changed:-

	* app/curves.c
	* app/image_map.c
	* app/image_map.h

	Curves dialog now has "interactive feedback". Press and drag the
	mouse button in the image window and a marker will appear in the
	curves dialog showing the channel value at that point.
1999-04-07 22:02:26 +00:00