Commit Graph

614 Commits

Author SHA1 Message Date
Michael Natterer 7f29801363 gimp_image_merge_layers(): apply the layer mask only if layer->apply_mask
2000-12-27  Michael Natterer  <mitch@gimp.org>

	* app/gimpimage.c: gimp_image_merge_layers(): apply the layer mask
	only if layer->apply_mask is TRUE, cleanup.
2000-12-27 18:15:37 +00:00
Michael Natterer 4c5757ee96 app/gimage.h implemented gimp_image_get_layer_by_index(), small cleanups.
2000-12-27  Michael Natterer  <mitch@gimp.org>

	* app/gimage.h
	* app/gimpimage.[ch]: implemented gimp_image_get_layer_by_index(),
	small cleanups.

	* app/commands.c
	* app/layers_dialog.c: use the new function instead of accessing
	the layer list directly.
2000-12-27 16:12:05 +00:00
Manish Singh a7aca4cb97 disabled display filters code, since it is unfinished
-Yosh
2000-12-24 20:27:04 +00:00
Sven Neumann d75c6435e0 set the spacing and other info from the first brush just as the old code
2000-12-19  Sven Neumann  <sven@gimp.org>

	* app/gimpbrushpipe.c (gimp_brush_pipe_load): set the spacing and
	other info from the first brush just as the old code used to do.
2000-12-19 03:22:05 +00:00
Sven Neumann 3cff8419db Jens Lautenbacher <jtl@gimp.org>
2000-12-18  Sven Neumann  <sven@gimp.org>
	    Jens Lautenbacher <jtl@gimp.org>

	* app/Makefile.am

	* app/gimpbrushlistP.h
	* app/gimpbrushpipeP.h
	* app/gimpobjectP.h: removed these three files

	* app/parasitelistP.h
	* app/channels_dialog.c
	* app/docindex.c
	* app/gimpdrawable.c
	* app/gimpdrawableP.h
	* app/gimpimage.c
	* app/gimpimageP.h
	* app/gimplist.[ch]
	* app/gimpobject.c
	* app/gimpobject.h
	* app/gimpsetP.h: changed according to header removal

	* app/airbrush.c
	* app/brush_select.[ch]
	* app/brushes_cmds.c
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushlist.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpcontextpreview.c
	* app/paint_core.c
	* app/paintbrush.c
	* app/pencil.c
	* tools/pdbgen/pdb/brushes.pdb: Big Brushes Cleanup.

	The GimpBrush* object hierarchy and the file formats were broken by
	"design". This made it overly difficult to read and write pixmap
	brushes and brush pipes, leading to the situation that The GIMP was
	not able to read it's very own file formats. Since the GimpBrush
	format did support arbitrary color depths, the introduction of a
	file format for pixmap brushes was unnecessary.

	The GimpBrushPixmap object is dead. GimpBrush has an additional
	pixmap temp_buf and handles pixmap brushes transparently. The file
	format of pixmap brushes is not any longer a grayscale brush plus
	a pattern, but a simple brush with RGBA data. The old brushes can
	still be loaded, but the .gpb format is deprecated.

	GimpBrushPipe derives from GimpBrush. The fileformat is still a text
	header, followed by a number of brushes, but those brushes are stored
	in the new GimpBrush format (no pattern anymore). The pipe does not
	care about the depth of the contained GimpBrushes, so we get
	grayscale BrushPipes for free. Since the brush loader still loads the
	old format, old .gih files can also still be loaded.

	Since the brushes in the GimpBrushPipe do not any longer contain a
	pointer to the pipe object, we do only temporarily switch brushes
	in the paint_core routines. This is not very elegant, but the best
	we can do without a major redesign.

	* app/patterns.[ch]: changed the loader to work with a filedescriptor
	instead of a filehandle to make it work with the new brush loading
	code.

	* plug-ins/common/.cvsignore
	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl
	* plug-ins/common/gih.c: new plug-in that saves GIH files in the
	new format (loader will follow soon)

	* plug-ins/common/gpb.c: removed since Pixmap Brushes are no longer
	supported as a special file format.

	* plug-ins/common/gbr.c: load and save brushes in the new brush format
	which allows RGBA brushes too.

	* plug-ins/common/pat.c: load and save grayscale patterns too
2000-12-18 15:14:08 +00:00
Sven Neumann 7d0ca8d0fe app/gimppreviewcache.h app/channel.c put the preview cache priming code
2000-12-16  Sven Neumann  <sven@gimp.org>

	* app/gimppreviewcache.h
	* app/channel.c
	* app/layer.c: put the preview cache priming code back into place,
	but disabled it for small images to avoid unnecessary upscaling.
2000-12-16 22:02:10 +00:00
Sven Neumann dfa2bed505 Last-minute cleanup:
2000-12-16  Sven Neumann  <sven@gimp.org>

	Last-minute cleanup:

	* app/gimpdrawableF.h
	* app/gimphistogramF.h
	* app/gimpimageF.h
	* app/gimplistF.h
	* app/gimplutF.h
	* app/gimpobjectF.h
	* app/gimpsetF.h
	* app/layerF.h
	* app/parasitelistF.h: removed these files

	* app/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly

	* app/[almost every file]: include cleanup
2000-12-16 21:37:03 +00:00
Sven Neumann e29df7e285 added new function gimp_preview_scale().
2000-12-15  Sven Neumann  <sven@gimp.org>

	* app/gimppreviewcache.[ch]: added new function gimp_preview_scale().

	* app/channel.c
	* app/channels_dialog.c
	* app/gimpimage.c
	* app/layer.c
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/nav_window.c: unified preview drawing code. Previews are never
	generated larger than the canvas size. Image and channel previews are
	scaled up to the desired size, so does the navigation window. The
	layer previews are not yet scaled up again since we can not use
	gimp_preview_scale here. I have removed the preview_cache priming
	code since we don't need it any longer and it caused bad results.
2000-12-15 15:54:17 +00:00
Michael Natterer 06e409e0f7 configure.in Updated Gimp-Help. See help/ChangeLog for details.
2000-12-15  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* help/*: Updated Gimp-Help. See help/ChangeLog for details.

	* app/channels_dialog.c
	* app/gdisplay.c
	* app/gradient.c
	* app/layers_dialog.c
	* app/menus.c
	* app/paths_dialog.c
	* app/preferences_dialog.c
	* app/resize.c: fixed menu paths.

	* plug-ins/helpbrowser/helpbrowser.c: load a special
	"undocumented_filter.html" page if a filter was not found.
	Adapted to the new help structure.

2000-12-15  Michael Natterer  <mitch@gimp.org>

	* makedummyhelpfile.sh
	* makeindex.sh: removed.

	* images/*: added some images.

	* help/*: Updated to the latest version of the gimp-help CVS module.

	This Version instoduces a bunch of new toplevel HTML files for
	general topics, an autogenerated index, TOC, glossary,
	an "image" directory on the "C" level, peace, love, and stuff...

	Thanks to all help writers: Prof, Bex, Piers, ...
2000-12-15 03:47:24 +00:00
Sven Neumann 550aa9b482 app/layers_dialog.c app/lc_dialog.c another try on bug #31098. This time
2000-12-14  Sven Neumann  <sven@gimp.org>

	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/nav_window.c: another try on bug #31098. This time limited the
	preview scale ratio in the calling functions. Please test!

	* app/gimpimage.c: small cleanup
2000-12-14 17:28:38 +00:00
Sven Neumann 471713e3a7 app/gimpimage.c app/layer.c app/layers_dialog.c cleaned up these files
2000-12-14  Sven Neumann  <sven@gimp.org>

	* app/gimpimage.c
	* app/layer.c
	* app/layers_dialog.c
	* app/nav_window.c: cleaned up these files while trying to find a
	fix for #31098. No real changes, the bug is still present :-(
2000-12-14 13:52:16 +00:00
Sven Neumann 2458bfcbba app/color_picker.c app/convert.c app/curves.c app/gimpdrawable.c
2000-12-13  Sven Neumann  <sven@gimp.org>

        * app/color_picker.c
        * app/convert.c
        * app/curves.c
        * app/gimpdrawable.c
        * app/gimpimage.c
        * app/gimpimage.h
        * app/image_map.c
        * app/info_window.c
        * app/layer.c
        * app/undo.c: couldn't resist: renamed TYPE_HAS_ALPHA() to
        GIMP_IMAGE_TYPE_HAS_ALPHA()

        * plug-ins/common/sunras.c
        * plug-ins/common/xwd.c: small cleanups
2000-12-13 18:53:35 +00:00
GMT 2000 Andy Thomas c538b3fe37 app/gimpimage.c app/layers_dialog.c
Mon Dec 11 22:52:43 GMT 2000 Andy Thomas <alt@gimp.org>

	* app/gimpimage.c
        * app/layers_dialog.c

	Backed out some changes that caused problems with the Nav preview
	and small sized images.
2000-12-11 22:46:40 +00:00
Sven Neumann d7c90b6d67 check for NULL pointer
2000-12-11  Sven Neumann  <sven@gimp.org>

	* app/channel.c (channel_invalidate_previews): check for NULL pointer

	* app/fileops.c: if saving and loading images at the same time, the
	PDB obviously manages to mangle return values. By checking the
	validity of the returned image id we avoid to crash as described in
	bug #26788.

	* app/module_db.c: unload modules from the idle_loop as suggested
	by Austin in #5745.
2000-12-11 21:31:08 +00:00
Sven Neumann ed707bea13 app/edit_selection.c app/gimpimage.c app/layer_select.c when computing a
2000-12-11  Sven Neumann  <sven@gimp.org>

	* app/edit_selection.c
	* app/gimpimage.c
	* app/layer_select.c
	* app/layers_dialog.c: when computing a preview, limit the scale ratio
	to a maximum of 1.0. By doing so we avoid to scale drawables up if the
	image (canvas) size becomes larger than the drawable. Fixes bug #31098.

	* app/gimppreviewcache.[ch]: indented
2000-12-11 03:33:25 +00:00
Sven Neumann 1edd823545 do not set the layer mode of the bottom layer to NORMAL_MODE if it is
2000-12-03  Sven Neumann  <sven@gimp.org>

	* app/gimpimage.c: do not set the layer mode of the bottom layer to
	NORMAL_MODE if it is DISSOLVE_MODE since the latter does not work
	on the projection with the lower layer but on the layers alpha
	channel. Fixes bug #7829.
2000-12-03 21:34:38 +00:00
Sven Neumann 0d9382fb04 app/layer.c app/layers_dialog.c reviewed code in an attempt to fix the
2000-12-03  Sven Neumann  <sven@gimp.org>

	* app/layer.c
	* app/layers_dialog.c
	* plug-ins/common/jpeg.c: reviewed code in an attempt to fix the
	crash-on-jpeg-save. The only thing that I have changed (despite
	lots of indentation) is that we now connect the preview rewdraw
	using gtk_signal_connect_while_alive() which should keep gimp from
	trying to create previews of nonexistant drawables.

Updated german translation.
2000-12-03 18:15:08 +00:00
Sven Neumann 54f243d76c changed the logic that sets the default for "Custom Palette" so it goes
2000-11-20  Sven Neumann  <sven@gimp.org>

	* app/convert.c (build_palette_button): changed the logic that sets
	the default for "Custom Palette" so it goes through the whole list
	instead of stopping at the "Web" palette. The Indexed-Conversion
	dialog now also remembers palettes appearing after the "Web" palette.
2000-11-20 12:06:45 +00:00
Michael Natterer cdd0a5147d app/fileops.c Make sure that we don't try to destroy query_boxes twice or
2000-11-18  Michael Natterer  <mitch@gimp.org>

	* app/fileops.c
	* libgimp/gimpquerybox.[ch]: Make sure that we don't try to destroy
	query_boxes twice or try to disconnect not-any-more connected
	handlers.

	* app/color_notebook.c
	* app/gimpcontext.[ch]
	* app/gimphelp.[ch]
	* app/lc_dialog.[ch]
	* app/menus.h
	* app/preferences_dialog.c
	* app/tools.[ch]
	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimpexport.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimppixmap.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpui.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: in a coding attack, changed help_data
	and many other strings passed to UI functions to (const gchar *).
	As a consequence, I had to fix lots of warnings ;)

	* plug-ins/common/tga.c
	* plug-ins/imagemap/imap_main.c: fixed warnings.

	Code cleanup and indentation all over the place.
2000-11-18 00:25:42 +00:00
Garry R. Osgood c24b37e51c 2000-11-11 Garry R. Osgood <gosgood>@idt.net *
app/gimpbrushpipe.c
Double frees due to dangling pointers [gimpbrushpipe.c
CVS-1.27 Lines 396 ff]. Upon failure to load an n-th
pixmap, a GPattern holding the dangling pointers would
be released first, also releasing n-1 pixmap's name and
RGB mask. These would again be freed in pipe and GTK
deconstruction.
2000-11-11 15:48:27 +00:00
Michael Natterer 6cfb041479 app/gimpdrawable.[ch] did some code review: s/0/NULL/,
2000-10-28  Michael Natterer  <mitch@gimp.org>

	* app/gimpdrawable.[ch]
	* libgimp/gimpsizeentry.c: did some code review: s/0/NULL/,
	s/sprintf/g_snprintf/, spacing.
2000-10-28 15:43:56 +00:00
Sven Neumann 8cfac64aac avoid modulo operation on negative values.
2000-10-26  Sven Neumann  <sven@gimp.org>

	* app/channel_ops.c (offset_ok_callback): avoid modulo operation on
	negative values.

	* app/channel_ops.c
	* app/crop.c
	* app/file_new_dialog.c
	* app/layers_dialog.c
	* app/preferences_dialog.c
	* app/rotate_tool.c
	* app/scale_tool.c: use RINT() when assigning the result of
	gimp_size_entry_get_refval() to an integer.
2000-10-26 22:02:44 +00:00
Sven Neumann 27a4faa0b2 plugged memleak (similar to the one that was present in
2000-10-22  Sven Neumann  <sven@gimp.org>

	* app/edit_selection.[ch]: plugged memleak (similar to the one that
	was present in gtkutil_compress_motion()) in the key snooper.

	Round moves to nearest integer instead of truncating the value.
	This seems to fix the reported redraw problems when moving
	selections at low zoom levels.

	Cleaned up the code a little and converted enum values to uppercase.

	* app/bezier_select.c
	* app/free_select.c
	* app/fuzzy_select.c
	* app/move.c
	* app/rect_select.c
	* app/text_tool.c: updated to use the new EditType enum values.

	* app/gimprc.c: minor optimization in the GList handling.

	* app/layer.[ch]: removed unused functions.

	* app/menus.c: removed "Dump Items (Debug)" menu entry.
2000-10-23 09:05:45 +00:00
Manish Singh a0cb639b6f 1.1.27 stuff
-Yosh
2000-10-04 23:41:47 +00:00
Michael Natterer b0cd835d08 resize the cursor label if the shrink_wrap flag is set. Closes #21936.
2000-10-02  Michael Natterer  <mitch@gimp.org>

	* app/undo.c: resize the cursor label if the shrink_wrap flag is
	set. Closes #21936.
2000-10-01 23:04:03 +00:00
Michael Natterer 4eeb875946 app/gimpbrush.c app/gimpbrushpipe.c app/pattern_header.h fixed #8150.
2000-10-01  Michael Natterer  <mitch@gimp.org>

	* app/gimpbrush.c
	* app/gimpbrushpipe.c
	* app/pattern_header.h
	* app/patterns.c: (Hopefully) fixed #8150.

	- If something goes wrong during loading, free the resp. object
	  immediately and close it's FD.
	- When destroying, check each pointer before freeing it.
	- Never use if (!gimp_brush_load_brush() || !pattern_load())
	  but check the return values of both calls separately.
	  (the original code tried to free an already destroyed temp_buf).
	- stuff like below (s/sz_PatternHeader/sizeof(PatternHeader)/g etc.)
2000-10-01 18:53:39 +00:00
Michael Natterer f38cdf123c app/brush_edit.[ch] app/brush_header.h app/gimpbrush.[ch]
2000-09-29  Michael Natterer  <mitch@gimp.org>

	* app/brush_edit.[ch]
	* app/brush_header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushlist.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpcontext.h
	* app/gimplist.[ch]
	* app/gimpobject.[ch]
	* app/gimpset.[ch]
	* app/gimpsignal.[ch]
	* app/parasitelist.h: Lotsa fixes in the brush referencing code
	and cleanups in many GtkObjects:

	- Reference brushes correctly (call gtk_object_sink() after adding
	  them to the brush list). Don't crash when renaming a brush
	  multiple times.
	- Replaced all gtk_object_destroy() with gtk_object_unref|sink().
	- Removed the "Fake Gimp object system" (gimp_object_destroy() et.al.)
	  all over the place (while it's a good idea to have a common Gimp
	  base object, it's totally useless to try to imitate Gtk's object
	  system).
	- s/sz_BrushHeader/sizeof(BrushHeader)/g
	- And of course various indentation and coding style paranoia changes
	  in all files I visited.
2000-09-29 12:00:00 +00:00
Daniel Egger b07c7184ed New dialog_hide functions which are utilised from convert.c to hide
New dialog_hide functions which are utilised from convert.c to hide
 dialogs before converting an image to indexed. Bug #23104.
2000-09-29 01:22:27 +00:00
Daniel Egger 61131728ac C++ comments removals.
C++ comments removals.
2000-09-27 18:00:05 +00:00
Daniel Egger 4b2c4d8424 Return when brush loading failed and react the right way. Fixes parts of
Return when brush loading failed and react the right way. Fixes
 parts of bug #8150.
2000-09-27 17:50:59 +00:00
Daniel Egger e13fcd8b1f Turned C++ style comments into C style ones.
Turned C++ style comments into C style ones.
2000-09-26 22:54:33 +00:00
Michael Natterer b9413eb038 added -DGTK_DISABLE_COMPAT_H to CPPFLAGS.
2000-08-28  Michael Natterer  <mitch@gimp.org>

	* configure.in: added -DGTK_DISABLE_COMPAT_H to CPPFLAGS.

	* app/app_procs.c
	* app/gdisplay.c
	* app/layers_dialog.c
	* app/menus.c
	* app/tips_dialog.c
	* libgimp/gimpcolorbutton.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/bmp/bmpwrite.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/cubism.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/gee.c
	* plug-ins/common/glasstile.c
	* plug-ins/common/iwarp.c
	* plug-ins/common/mail.c
	* plug-ins/common/pat.c
	* plug-ins/common/pixelize.c
	* plug-ins/common/plugindetails.c
	* plug-ins/common/png.c
	* plug-ins/common/sample_colorize.c
	* plug-ins/common/sel_gauss.c
	* plug-ins/common/sinus.c
	* plug-ins/common/sparkle.c
	* plug-ins/common/spheredesigner.c
	* plug-ins/common/tga.c
	* plug-ins/common/tileit.c
	* plug-ins/common/vpropagate.c
	* plug-ins/common/warp.c
	* plug-ins/common/waves.c
	* plug-ins/common/wmf.c
	* plug-ins/flame/flame.c
	* plug-ins/fp/fp_gtk.c
	* plug-ins/gap/gap_arr_dialog.c
	* plug-ins/gap/gap_dbbrowser_utils.c
	* plug-ins/gap/gap_mov_dialog.c
	* plug-ins/gap/gap_navigator_dialog.c
	* plug-ins/gap/gap_resi_dialog.c
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/brush.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/print/gimp_main_window.c
	* plug-ins/rcm/rcm_callback.c
	* plug-ins/rcm/rcm_dialog.c
	* plug-ins/script-fu/script-fu-console.c
	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu-server.c
	* plug-ins/sel2path/sel2path_adv_dialog.c
	* plug-ins/xjt/xjt.c: removed COMPAT_CRUFT.
2000-08-28 00:42:32 +00:00
Garry R. Osgood 2667aca2bb app/image_map.c A bit of refresh drawable code was misplaced these many
2000-08-23 Garry R. Osgood <gosgood@idt.net>
* app/image_map.c
A bit of refresh drawable code was misplaced
these many years ago, leading to the persistence
of color tool effects, as reported in Mihail
Milushev's nicely composed bug report. Closes #7626
which has the gory details.
2000-08-24 02:11:37 +00:00
Sven Neumann 5b205f17eb make the file_save dialog sensitive again if the user clicked "No" when
2000-08-23  Sven Neumann  <sven@gimp.org>

	* app/fileops.c: make the file_save dialog sensitive again if the
	user clicked "No" when asked if he wishes to overwrite a file.

	* app/gimpimage.c: when saving an undoable parasite, just do it
	without calling undo_push_cantundo(). Undoable parasites are used
	by many save plug-ins to attach a comment, but this operation
	shouldn't prevent the user from using the undo_stack afterwards.
	The JPEG plug-in has an additional bug that I couldn't solve, so
	undoing after a Save As JPEG is still impossible.

	* app/undo_history.c: lame attempt to draw the clean symbol at the
	correct undo step. Not perfect but much better as before...
2000-08-23 19:29:01 +00:00
Garry R. Osgood 43ff0cdfee app/gdisplay.c app/image_map.c
2000-08-16  Garry R. Osgood <gosgood@idt.net>
* app/gdisplay.c
* app/image_map.c

Addresses Bug Report #14704, and an
undisclosed undo system bug. Freezes
undo stack before interactive tools
commence idle rendering; thaws stack
on cleanup and immediately sets menu
sensitivity.

Not an image lock, but Yet Another UI
Lock. Oh well; merrilly we patch along...
See http://bugs.gnome.org/db/14/14704.html
for gory details. Closes #14704.
2000-08-17 01:33:44 +00:00
Daniel Egger 6a6b8ab135 Removed two functions.
Removed two functions.
2000-08-08 22:34:11 +00:00
BST 2000 Austin Donnelly 1218b2bb89 The gif save plugin normally asks the user if it's ok to crop the image if
Tue Jul 18 23:34:34 BST 2000  Austin Donnelly  <austin@gimp.org>

	* plugs-ins/common/gif.c: The gif save plugin normally asks the
	    user if it's ok to crop the image if there are layers larger
    	    than the image size.  This isn't a good idea if we're running
    	    with run_mode == NON_INTERACTIVE.  Fix similar to that
    	    suggested by Bryan Livingston <bryan@cooltext.com> on
    	    gimp-developer mailing list.

   	* app/layer.c: Fix for Bug#17347: Scale Layer leaves artifacts.
	    Basic problem is that scaling a layer when there's a selection
    	    active (eg there's a floating selection) doesn't invalidate
    	    the layer bounds.  Same problem with resizing a layer,
    	    although the bug report didn't mention that.  Fixed by changing
    	    layer_resize() and layer_scale_lowlevel() to call
    	    layer_invalidate_boundary() once done changing the layer.
2000-07-18 22:48:14 +00:00
Matt Wilson 74fdc62e2a allocate the tool's paint_core with g_new0. This prevents us from having
2000-06-22  Matt Wilson  <msw@redhat.com>

	* app/paint_core.c (paint_core_new): allocate the tool's
	paint_core with g_new0.  This prevents us from having cruft in
	unused tools.  Systems with sensitive FPUs (Alpha) will raise
	exception in the paint_core_cursor_update if paint_core->last{x,y}
	are messy.

	* app/bezier_select.c (tools_new_bezier_select)
	* app/blend.c (blend_options_new)
	* app/brightness_contrast.c (tools_new_brightness_contrast)
	* app/bucket_fill.c (tools_new_bucket_fill)
	* app/by_color_select.c (tools_new_by_color_select)
	* app/color_balance.c (tools_new_color_balance)
	* app/color_panel.c (color_panel_new)
	* app/color_picker.c (tools_new_color_picker)
	* app/crop.c (tools_new_crop)
	* app/curves.c (tools_new_curves)
	* app/ellipse_select.c (tools_new_ellipse_select)
	* app/free_select.c (tools_new_free_select)
	* app/fuzzy_select.c (tools_new_fuzzy_select)
	* app/histogram_tool.c (tools_new_histogram_tool)
	* app/hue_saturation.c (tools_new_hue_saturation)
	* app/ink.c (tools_new_ink)
	* app/iscissors.c (tools_new_iscissors)
	* app/levels.c (tools_new_levels)
	* app/magnify.c (tools_new_magnify)
	* app/measure.c (tools_new_measure_tool)
	* app/move.c (tools_new_move_tool)
	* app/path_tool.c (tools_new_path_tool)
	* app/posterize.c (tools_new_posterize)
	* app/rect_select.c (tools_new_rect_select)
	* app/resize.c (resize_widget_new)
	* app/threshold.c (tools_new_threshold)
	* app/transform_core.c (transform_core_new)
	* app/xinput_airbrush.c (tools_new_xinput_airbrush): likewise (it
	can only help and it really isn't slow.)

	* app/color_area.c: #include <string.h> for memcpy declaration

	* app/gimphelp.c: #include <string.h> for strlen declaration
2000-06-23 00:14:07 +00:00
Michael Natterer b8ee0c8c82 Makefile.am app/cursorutil.[ch] app/tools.c added lots of new cursors and
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* app/cursorutil.[ch]
	* app/tools.c
	* cursors/*: added lots of new cursors and removed old ones.

	* app/gdisplay.[ch]: enabled the cursor setting parameters in
	gdisplay_install_tool_cursor().

	* app/bezier_select.c
	* app/blend.c
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.c
	* app/color_picker.c
	* app/crop.c
	* app/disp_callbacks.c
	* app/edit_selection.c
	* app/eraser.c
	* app/flip_tool.c
	* app/ink.c
	* app/iscissors.c
	* app/magnify.c
	* app/measure.c
	* app/move.c
	* app/paint_core.c
	* app/rect_select.c
	* app/text_tool.c
	* app/transform_core.c: use the new cursors. Only the transform
	tools are still using old cursors.

	* app/layers_dialog.c: a tooltip for "Keep Trans."

	* app/user_install.c: set the ctree's selection mode to BROWSE.
2000-06-14 10:59:16 +00:00
Michael Natterer 6fddfc295f app/gdisplay.[ch] oops, my last commit caused a segfault.
2000-06-09  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.[ch]
	* app/scroll.c: oops, my last commit caused a segfault.
2000-06-09 13:36:33 +00:00
Michael Natterer d0a551bbf8 Cursor patch II: This is only the logic inside the cursor system and not
2000-06-09  Michael Natterer  <mitch@gimp.org>

	Cursor patch II:
	This is only the logic inside the cursor system and not yet used.

	* app/cursorutil.[ch]: [gimp]_change_win_cursor() take lots of
	parameters now and compose cursors from up to three cursor
	bitmaps/masks.

	* app/gdisplay.[ch]: As a test, create a hardcoded example cursor
	if "Cursor Mode" is set to "Tool Icon with Crosshair" in prefs.

	* app/curves.c
	* app/dialog_handler.c
	* app/scroll.c: changed the calls to the win_cursor function.

	* app/tools.[ch]: added a cursor and a toggle cursor to the ToolInfo
	structure of all tools.

	* app/toolsF.h: new ToolType TOOL_TYPE_NONE.

	* app/gimpdnd.c
	* app/interface.c: check for silly filenames in the file dnd
	callback. Closes #13733.

	* Makefile.am
	* cursors/bucket_fill_small.xbm
	* cursors/bucket_fill_small_mask.xbm
	* cursors/crop_small.xbm
	* cursors/crop_small_mask.xbm
	* cursors/crosshair_small.xbm
	* cursors/crosshair_small_mask.xbm
	* cursors/ellipse_select_small.xbm
	* cursors/ellipse_select_small_mask.xbm
	* cursors/eraser_small.xbm
	* cursors/eraser_small_mask.xbm
	* cursors/free_select_small.xbm
	* cursors/free_select_small_mask.xbm
	* cursors/fuzzy_select_small.xbm
	* cursors/fuzzy_select_small_mask.xbm
	* cursors/intersect.xbm
	* cursors/intersect_mask.xbm
	* cursors/minus.xbm
	* cursors/minus_mask.xbm
	* cursors/move.xbm
	* cursors/move_mask.xbm
	* cursors/paintbrush_small.xbm
	* cursors/paintbrush_small_mask.xbm
	* cursors/pencil_small.xbm
	* cursors/pencil_small_mask.xbm
	* cursors/plus.xbm
	* cursors/plus_mask.xbm
	* cursors/rect_select_small.xbm
	* cursors/rect_select_small_mask.xbm
	* cursors/resize_small.xbm
	* cursors/resize_small_mask.xbm
	* cursors/zoom.xbm
	* cursors/zoom_mask.xbm
	* cursors/zoom_small.xbm
	* cursors/zoom_small_mask.xbm: new files extracted from Tigert's
	gimp-tool-cursors.xcf created at GimpCon.

	Tigert, I'll commit the xcf as soon as I've added empty layers
	with the names of the cursors that are missing.

	* cursors/mouse.xbm
	* cursors/mouse_mask.xbm: made it 32x32 to allow for cursor
	composition.
2000-06-09 12:31:19 +00:00
Sven Neumann fd4355bc89 call undo_push_qmask() before removing the channel since the callback will
2000-06-08  Sven Neumann  <sven@gimp.org>

        * app/qmask.c: call undo_push_qmask() before removing the
        channel since the callback will set the qmask_state
        incorrectly otherwise. Fixes bug #13472.

        * app/undo.[ch]: code cleanup

        * plug-ins/common/gif.c: put save_comment into the values
        that are stored between calls to the GIF plug-in, so it
        remembers if the user wants to save the comment. Fixes
        bug #12755.
2000-06-07 22:51:23 +00:00
Manish Singh 0157738431 [patches from Daniel Egger]
* app/layers_dialog.c: Disable the "Add Layermask" menuentry
for indexed images.

* app/gimpimage.c: Leave gimp_image_add_layer_mask(...) after
spitting out messages when trying to add a layermask to an
indexed image.

-Yosh
2000-06-07 19:10:06 +00:00
Michael Natterer 5d43ca6c21 Makefile.am cursors/crosshair.xbm new files.
2000-06-06  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/crosshair.xbm
	* cursors/crosshair_mask.xbm: new files.

	* app/cursorutil.[ch]
	* app/gdisplay.[ch]
	* app/gimprc.[ch]
	* app/preferences_dialog.c: Started to add the new set of
	consistent tool cursors. The crosshair one is the easy part
	but I wanted to see a result :) The other two options in
	the pref's cursor menu are still dummys.
2000-06-06 00:28:28 +00:00
Manish Singh f764c56d03 Be smarter about emitting the "invalidate_preview" signal.
comitted using Yosh's account...


--Sven
2000-06-03 18:19:22 +00:00
Michael Natterer 804af727f6 app/gimpunit.c all libgimp headers are included via gimp.h or gimpui.h, so
2000-05-31  Michael Natterer  <mitch@gimp.org>

	* app/gimpunit.c
	* libgimp/*: all libgimp headers are included via gimp.h or
	gimpui.h, so include <gtk/gtk.h> there and in the *.c files.
	Various cleanups.
2000-05-30 23:38:46 +00:00
Sven Neumann 9529e1e696 app/Makefile.am app/paint_core.c moved brush subsampling kernels into its
2000-05-29  Sven Neumann  <sven@gimp.org>

        * app/Makefile.am
        * app/paint_core.c
        * app/paint_core_kernels.h: moved brush subsampling kernels
        into its own header file and generated a slightly different
        kernel (using the new kernelgen tool, see below). The new
        kernel simulates a circular brush instead of a rectangular
        one and gives slightly different (lighter) results.

        * app/gimage_mask.c: when stroking a selection, offset the
        points by 0.5 to align the brushes with the pixel grid. This
        lets you create 1-pixel wide rectangles and ellipses.

        * tools/Makefile.am
        * tools/kernelgen.c: simple hack to generate subsampling
        kernels.
2000-05-29 08:40:29 +00:00
People doing a 16 bpc version of gimp b09291f06d Sat May 27 04:27:36 EDT 2000 calvinw@mindspring.com
* app/gimpimage.c
	--Fixed Fujita Yuji's bug (reported 27May2000 to
	gimp-developer) -larger than 64x64 brush and
	selection mask crashes smudge/dodgeburn/convolve
	This was a rowstrides bug in gimp_image_replace_image.
2000-05-27 08:48:50 +00:00
Michael Natterer 6fa33d6855 Libgimp cleanup part II (with a little help from Yosh who moved the CVS
2000-05-27  Michael Natterer  <mitch@gimp.org>

	Libgimp cleanup part II (with a little help from Yosh
	who moved the CVS files).

	* libgimp/Makefile.am
	* libgimp/gimpchannel_pdb.c
	* libgimp/gimpdisplay_pdb.c
	* libgimp/gimpdrawable_pdb.c
	* libgimp/gimpgradient_pdb.c
	* libgimp/gimphelp_pdb.c
	* libgimp/gimpimage_pdb.c
	* libgimp/gimplayer_pdb.c
	* libgimp/gimppalette_pdb.c
	* libgimp/gimpparasite_pdb.c
	* libgimp/gimpselection_pdb.c
	* libgimp/gimpunit_pdb.c: new names of all files which contain
	PDB wrappers.

	* modules/Makefile.am
	* libgimp/gimpcolordisplay.h
	* libgimp/gimpcolorselector.h
	* modules/gimpmodregister.[ch]: renamed.

	* libgimp/gimpparasiteF.h
	* libgimp/gimpparasiteP.h: removed because gimp.h had to include
	the private header anyway.

	* app/color_notebook.c
	* app/color_select.c
	* app/gdisplay_color.[ch]
	* app/gdisplay_color_ui.c
	* app/gimpbrushpipe.c
	* app/gimpdrawable.[ch]
	* app/gimpimage.c
	* app/gimpimage.h
	* app/gimpparasite.[ch]
	* app/gimprc.c
	* app/image_new.c
	* app/layer.c
	* app/parasite_cmds.c
	* app/parasitelist.[ch]
	* app/plug_in.c
	* app/procedural_db.c
	* app/undo.c
	* app/xcf.c
	* libgimp/gimp.[ch]
	* libgimp/gimpcolordisplay.h
	* libgimp/gimpparasite.[ch]
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/colorsel_gtk.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/Events.c
	* plug-ins/Lighting/lighting_apply.c
	* plug-ins/Lighting/lighting_shade.c
	* plug-ins/MapObject/mapobject_image.c
	* plug-ins/common/gpb.c
	* plug-ins/common/psp.c
	* plug-ins/sel2path/sel2path.c
	* po-libgimp/POTFILES.in
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/parasite.pdb: changed includes accordingly.
2000-05-27 01:30:21 +00:00
Michael Natterer 863f7e1c44 Final (1.2) libgimp namespace cleanup part I:
2000-05-26  Michael Natterer  <mitch@gimp.org>

	Final (1.2) libgimp namespace cleanup part I:

	* app/gimpbrushpipe.c
	* app/gimpdrawable.[ch]
	* app/gimpimage.[ch]
	* app/gimpparasite.[ch]
	* app/gimprc.c
	* app/image_new.c
	* app/parasite_cmds.c
	* app/parasitelist.[ch]
	* app/parasitelistP.h
	* app/plug_in.c
	* app/undo.c
	* app/xcf.c
	* libgimp/color_display.h
	* libgimp/gimp.[ch]
	* libgimp/gimpdrawable.c
	* libgimp/gimpimage.c
	* libgimp/gimpparasite.c
	* libgimp/gimpprotocol.c
	* libgimp/parasite.[ch]
	* libgimp/parasiteF.h
	* libgimp/parasiteP.h
	* libgimp/parasiteio.[ch]
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* plug-ins/common/csource.c
	* plug-ins/common/gif.c
	* plug-ins/common/gpb.c
	* plug-ins/common/jpeg.c
	* plug-ins/common/psp.c
	* plug-ins/common/tiff.c
	* plug-ins/common/xbm.c
	* plug-ins/gap/gap_exchange_image.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/xjt/xjt.c: s/Parasite/GimpParasite/g,
	                      s/parasite_*/gimp_parasite_*/g

	* libgimp/gimpcompat.h: added the old names.

	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/parasite.pdb: dito and an ugly perl hack to work
	around a substitution clash. Perl gurus, feel free to fix it.
2000-05-26 22:28:40 +00:00
Michael Natterer 9c6b0b0c33 These changes enable help support for 3rd party plug-ins which install
2000-05-21  Michael Natterer  <mitch@gimp.org>

	These changes enable help support for 3rd party plug-ins which
	install their help files outside GIMP's main help dir.

	Instead of calling gimp_help(), gimp_plugin_help_func() etc.,
	all help callbacks now have to call gimp_standard_help_func()
	which has different implementations in the app and in libgimp.

	There is a new function gimp_plugin_help_register() which can
	be called during plug-in query. plug_in.c keeps a list of
	executable_name/help_path pairs. Plug-ins have to pass their
	exec. name to gimp_help() which uses the list to find the plug-in's
	help directory.

	* app/gimphelp.[ch]: gimp_help() now takes a help_path parameter.
	help_path == NULL means the standard help directory. Various
	changes to pass the help_path to the help browser.

	* app/gimprc.c: save the plug-in's help_path in the pluginrc file.

	* app/menus.c: ugly hack to enable help_paths in the "F1" callback.

	* app/plug_in.[ch]: many help_path related changes. Use g_basename()
	instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups.

	* app/internal_procs.c
	* app/gimphelp_cmds.c
	* tools/pdbgen/pdb/gimphelp.pdb: new procedure
	gimp_plugin_help_register(). gimp_help() takes a second parameter
	which is the executable name (not the help_path).

	* app/color_notebook.c
	* app/commands.c
	* app/lc_dialog.c
	* app/preferences_dialog.c
	* app/tools.c: call gimp_standard_help_func() instead of gimp_help().

	* libgimp/gimp.c: new function gimp_get_progname() which returns
	the full path of the plug-in's executable.

	* libgimp/gimp.h: export the new function,
	removed gimp_plugin_help_func(), gimp_help() takes the executable
	name as second parameter.

	* libgimp/gimpcompat.h: added gimp_plugin_help_func().

	* libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(),
	changed the calls to gimp_help.

	* libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead
	of gimp_help().

	* plug-ins/helpbrowser/helpbrowser.c: now called with an additional
	help_path parameter. Various changes to enable
	help_path != gimp_standard_help_path.

	Unrelated stuff:

	* app/batch.h: added missing GPL header.

	* app/gimpunit.c: had a LGPL header, merged some fprintf's into
	one call.

	* app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/,
	prototypes, indentation.

	* app/resize.c: use less packing widgets. didn't find the "offset"
	redraw bug :(
2000-05-21 17:41:02 +00:00
Sven Neumann b101e7bc85 enabled the (commented out) signal "invalidate_preview".
2000-05-12  Sven Neumann  <sven@gimp.org>

* gimpdrawable.c: enabled the (commented out) signal
  "invalidate_preview".

* app/layers_dialog.c: connect to the "invalidate_preview"
  signal to catch changes that need to be shown in the layer
  previews. Synthetize an expose event when a layer changes.

  Expose events are optimzed away by GTK+ if the widget is not
  visible. Therefore, previews not visible in the layers_dialog
  are not redrawn when they invalidate. Later the preview gets
  validated by the image_preview in lc_dialog but is never
  propagated to the layer_pixmap. We work around this by using an
  additional flag "layer_pixmap_valid" so that the pixmap gets
  updated once the preview scrolls into sight.

  Fixes bugs #10549, #10300 and #8787.

* app/channel.[ch]
* app/layer.[ch]: code review and indentation


--Sven
2000-05-12 17:07:54 +00:00
jaycox e2b3381917 Copy the name, tatto and parasites of the bottom layer to the new merged
* app/gimpimage.c: Copy the name, tatto and parasites of the
	bottom layer to the new merged layer in gimp_image_merge_layers.
2000-05-12 01:14:21 +00:00
jaycox af0c94abf6 new function image_map_clear that removes the preview without freeing the
* app/image_map.[ch]: new function image_map_clear that removes
	the preview without freeing the image_map.

	* app/brightness_contrast.c
	* app/color_balance.c
	* app/curves.c
	* app/hue_saturation.c
	* app/levels.c
	* app/posterize.c
	* app/threshold.c: Add a call to image_map_clear in the
	preview toggle button callback.  This makes the preview toggle
	button behave as expected.

	* app/histogram_tool: remove an unnecessary include.
2000-05-09 05:43:29 +00:00
Michael Natterer e475183f05 oops, forgot a debugging g_print().
2000-05-08  Michael Natterer  <mitch@gimp.org>

	* app/errors.c (gimp_fatal_error): oops, forgot a debugging
	g_print().

	* app/gdisplay.c (gdisplay_set_menu_sensitivity): there _can_ be
	an active drawable even if there is no layer. Also reordered
	the rest if the checks.
2000-05-08 21:20:53 +00:00
Michael Natterer 5948e2ab51 app/fileops.c return silently from save/save_as and grey out the menu
2000-05-08  Michael Natterer  <mitch@gimp.org>

	* app/fileops.c
	* app/gdisplay.c: return silently from save/save_as and grey out
	the menu entries if there is no active drawable. Fixes #10239.
2000-05-08 00:40:10 +00:00
Michael Natterer ef751a454d gimprc.in replaced "color-cube" by "min-colors".
2000-04-30  Michael Natterer  <mitch@gimp.org>

	* gimprc.in
	* app/gimprc.[ch]: replaced "color-cube" by "min-colors".

	* app/app_procs.c: read unitrc/gimprc before displaying the splash.

	* app/colormaps.c: set min_colors and install_cmap before
	initializing GdkRGB.

	* app/gimprc.[ch]
	* app/gimpunit.c: don't call the splash's progress_update function.

	* app/plug_in.c: pass min_colors instead of color_cube to plugins.

	* app/preferences_dialog.c: widget for min_colors.

	* libgimp/gimp.[ch]: s/color_cube/min_colors/ but left
	gimp_color_cube() there for source level compatibility.

	* libgimp/gimpprotocol.[ch]: changed the GPConfig message
	accordinly and increased the gimp protocol version number because
	the change breaks binary compatibility. Also actually pass the
	use_xshm variable over the wire (was only in the GPConfig struct
	before).

	Was it the right thing to do to increase the version number??

	* libgimp/gimpui.c (gimp_ui_init): use the same code as the app
	for initializing GdkRGB. Never explicitly activate Gdk's SHM
	usage (only switch it off).

	* app/main.c
	* libgimp/gimp.c: reverted the handling of all signals except
	SIGCHLD back to plain old signal() because those signals are
	fatal anyway and sigaction() as used by gimp_signal_*() made
	debugging (stacktrace) impossible.

	* plug-ins/AlienMap/AlienMap.c
	* plug-ins/AlienMap2/AlienMap2.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/bmp/bmp.c
	* plug-ins/borderaverage/borderaverage.c
	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/faxg3/faxg3.c
	* plug-ins/fits/fits.c
	* plug-ins/flame/flame.c
	* plug-ins/fp/fp.c
	* plug-ins/fp/fp_gtk.c
	* plug-ins/gdyntext/Makefile.am
	* plug-ins/gdyntext/gdyntext_ui.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gfli/gfli.c
	* plug-ins/gimpressionist/gimpressionist.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/imagemap/Makefile.am
	* plug-ins/imagemap/imap_main.c
	* plug-ins/maze/maze_face.c
	* plug-ins/mosaic/mosaic.c
	* plug-ins/pagecurl/pagecurl.c
	* plug-ins/print/print.c
	* plug-ins/rcm/rcm_dialog.c
	* plug-ins/script-fu/script-fu-console.c
	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/script-fu-server.c
	* plug-ins/sel2path/Makefile.am
	* plug-ins/sel2path/sel2path.c
	* plug-ins/sgi/sgi.c
	* plug-ins/sinus/sinus.c
	* plug-ins/struc/struc.c
	* plug-ins/webbrowser/webbrowser.c
	* plug-ins/winsnap/winsnap.c
	* plug-ins/xjt/xjt.c: use gimp_ui_init().

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c: only switch Gdk SHM usage off,
	never on. Don't use gimp_ui_init() here because of libgck.
2000-04-30 18:17:55 +00:00
jaycox 2ba5ae4c24 Fix the end of group check in gimage_mask_stroke. This fixes bug #8699
* app/gimage_mask.c: Fix the end of group check in
	gimage_mask_stroke.  This fixes bug #8699
2000-04-29 22:00:27 +00:00
Michael Natterer c73b233f8a app/color_select.c app/colormaps.[ch] removed unused global variables
2000-04-26  Michael Natterer  <mitch@gimp.org>

	* app/color_select.c
	* app/colormaps.[ch]
	* app/context_manager.c: removed unused global variables
	[foreground|background]_pixel and [old|new]_color_pixel.

	Initialize the colormap and visual stuff with GdkRGB instead of
	GtkPreview functions (which are deprecated).

	* app/[62 files]: removed #include's (started with colormaps.h and
	couldn't stop). Also ordered them consistently and did some small
	unrelated cleanups.
	Removed variuos <stdlib.h> et.al. but checked the files carefully
	before doing so. If I was too radical and you get warnings on your
	platform, please flame me or just put them back :)
2000-04-27 17:27:28 +00:00
Michael Natterer 4c24479a58 app/gdisplay.[ch] made the warning_dialog a per-display variable. The old
2000-04-26  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.[ch]
	* app/gdisplay_ops.c: made the warning_dialog a per-display
	variable. The old behaviour of having only one global variable
	can easily result in loss of work and should IMHO be considered
	a bug.
2000-04-26 21:04:35 +00:00
Tor Lillqvist 2041747fc6 Add gimp_ui_init.
2000-04-23  Tor Lillqvist  <tml@iki.fi>

* libgimp/gimpui.def: Add gimp_ui_init.

* libgimp/makefile.{cygwin,msc} (gimpui_OBJECTS): Add gimpui.

* app/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: New installation directory.

* app/datafiles.c (is_script): Must not g_free() value returned by
g_getenv().

* plug-ins/gdyntext/font_selection.c: Don't include gdkx.h with
GTk+ 1.3.
2000-04-23 20:27:41 +00:00
Michael Natterer 63dc6ed333 app/fuzzy_select.c app/selection_options.h moved the "Threshold" scale
2000-04-20  Michael Natterer  <mitch@gimp.org>

	* app/fuzzy_select.c
	* app/selection_options.h
	* app/tool_options.c: moved the "Threshold" scale from the fuzzy
	select options to the selection options structure, so none of the
	selection tools needs it's own tools options structure.

	* app/bucket_fill.c: moved "Threshold" after "Sample Merged" as in
	the fuzzy select options.
2000-04-20 15:57:13 +00:00
jtl 5c816c6b38 *** empty log message *** 2000-04-16 12:10:24 +00:00
Sven Neumann 949b6e3f34 changed GIMP_MIN_RESOLUTION to 5e-3,
a bunch of small cleanups here and there


--Sven
2000-04-06 18:59:48 +00:00
Michael Natterer 8ed5f8ce06 app/color_panel.[ch] app/color_picker.c removed the public function
2000-04-03  Michael Natterer  <mitch@gimp.org>

	* app/color_panel.[ch]
	* app/color_picker.c
	* app/qmask.c: removed the public function color_panel_free() and
	fake a real widget's behaviour by connecting to the panel widget's
	"destroy" signal.

	* app/channels_dialog.c
	* app/layers_dialog.c: cleaned up and sync'ed the code where
	possible (without changing the logic).
2000-04-03 15:40:30 +00:00
Michael Natterer 9c834ce564 app/gimpdnd.[ch] app/channels_dialog.c removed the GdkGC parameter from
2000-04-03  Michael Natterer  <mitch@gimp.org>

	* app/gimpdnd.[ch]
	* app/channels_dialog.c
	* app/layers_dialog.c: removed the GdkGC parameter from
	gimp_dnd_set_drawable_preview_icon() since it's no longer used.

	* app/gimpimage.c: dirty the view correctly after applying the
	layer mask. Don't gdisplays_flush() because it's the job of the
	caller.

	* app/layers_dialog.c: when applying a layer mask, flush either
	the display or just the layer_widget, depending on the previous
	visibility state of the mask. Cleanups.

	* plug-ins/print/gimp_color_window.c
	* plug-ins/print/gimp_main_window.c: including config.h re-enables
	i18n.
2000-04-03 01:11:03 +00:00
Michael Natterer 5735b2adcd add an "add_alpha" parameter to allow selected regions to be extracted
2000-03-26  Michael Natterer  <mitch@gimp.org>

	* app/gimage_mask.[ch] (gimage_mask_extract): add an "add_alpha"
	parameter to allow selected regions to be extracted without having
	an alpha channel added.

	* app/global_edit.c: pass add_alpha = TRUE.

	* app/transform_core.[ch]: made the transform core work on
	non-layer drawables even if no selection is present. Fixes #7485
	and #7555.

	- transform_core_cut(): extract the mask without alpha if
	  operating on a non-layer without having a selection.
	- transform_core_paste(): return a boolean indicating success
	  instead of a layer and handle channels correctly.
	- transform_core_do(): if the "floating_tiles" passed to the
	  function are from an un-floated non-layer, treat the whole
	  non-layer as alpha channel and never enter the loop which
	  transforms the (not present) color channels.
	  Also clip the result to ensure that the channel never grows
	  larger then the image.

	* app/tools_cmds.c
	* tools/pdbgen/pdb/tools.pdb: transform_core_paste() returns a
	gboolean now.
2000-03-26 18:39:03 +00:00
Sven Neumann 97f08d8235 reverted Martin's changes.
--Sven
2000-03-25 23:44:38 +00:00
Stanislav Brabec 2481607268 patches from Martin Weber and Peter Kirchgessner 2000-03-25 22:19:17 +00:00
Sven Neumann 99f85a4626 applied gimp-quinet-000308-0, gimp-quinet-000310-0 and gimp-quinet-000322-0
--Sven
2000-03-24 14:54:59 +00:00
Sven Neumann c6b6cd9d7a app/fileops.c when reverting an image, reconnect all affected views to the
* app/fileops.c
* app/gdisplay.[ch]: when reverting an image, reconnect all
  affected views to the reverted version. This fixes one of the
  bugs Tigert pointed out at GUADEC.

* app/gimage_mask.[ch]
* app/flip_tool.c: cleanups


--Sven & Mitch
2000-03-21 03:19:11 +00:00
Sven Neumann c104ee5fda renamed "Custom from Editor" to "Custom Gradient" and added the
possibility to drop gradients onto the blend tooloptions to set
the blend mode and the gradient in one move.


--Sven
2000-03-10 01:57:10 +00:00
Andy Thomas a78e51c4fa Thu Mar 9 22:29:14 GMT 2000
* app/gimpimage.c

	An Images tattoos state can equal the highest tattoo in the image.
2000-03-09 22:41:19 +00:00
Sven Neumann ad55aef27e gimp_drawable_get_color_at() now silently returns NULL again if the
* app/gimpdrawable.c: gimp_drawable_get_color_at() now silently
returns NULL again if the coordinates are out of range. A lot of
code using this function relies on this feature and correctly
checks the return value. No need to emit critical warnings here.

The GTK_CHECK_TYPE macro test for obj != NULL, no need to do this
check twice. Removed lots of unnecessary calls to g_return_if_fail().

* app/color_picker.c: with the old behaviour of
gimp_drawable_get_color_at() the code is a bit simpler.

* app/fuzzy_select.c: fuzzy_select relied on drawable_offsets()
returning off_x = off_y = 0 if drawable == NULL. Decided to change
this here, fixes bug #7077.

* app/gimpimage.[ch]: Even though we made bad experiences with the
changes in gimpdrawable.c, I have introduced similar argument checks
here.

* app/image_map.c: indentation


--Sven
2000-03-09 11:58:03 +00:00
Michael Natterer 21e95fdf43 Makefile.am cursors/selection_move.xbm cursors/selection_move_mask.xbm new
2000-03-04  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/selection_move.xbm
	* cursors/selection_move_mask.xbm
	* app/cursorutil.[ch]: new cursor for moving the selection
	mask. Looks imho nicer than the ugly GDK_DIAMOND_CROSS.

	* app/move.c
	* app/rect_select.c: use the new cursor.

	* app/paint_core.c: check for the statusbar's context_id in the
	cursor_update function. Fixes gdk_criticals with the line preview
	(which doesn't need a mouse click). Minor cleanups.

	* app/tool_options.c: put the paint_pressure options in a
	GtkHWrapBox instead of a GtkHBox. Makes the size of the dialog a
	bit less locale-dependent.

	* plug-ins/common/xbm.c: use accessor functions instead of using
	the parasite's fields directly.
2000-03-05 00:06:11 +00:00
Michael Natterer 83bb5a38b8 s/"Only"/"only"/
2000-03-03  Michael Natterer  <mitch@gimp.org>

	* app/crop.c: s/"Only"/"only"/

	* app/iscissors.c: one more cursor_update fix. This time I don't
	claim that it's _really_ correct.

	* app/tool_options.c: don't add a separator after
	opacity/paint_mode if a paint pressure options box follows.

	* cursors/bad.xbm
	* cursors/bad_mask.xbm: made it FAT (no need to use thin lines
	which show as much as possible of the image below because the
	cursor indicates that no operation is possible).

	* libgimp/gimpprotocol.[ch]: s/int/gboolean/ where appopriate,
	indentation paranoia.

	_gp_*_read(): free the already allocated parts of the message if
	reading a subsequent part fails. These cleanups will probably occur
	shortly before the process crashes, but at least they make the
	search for real leaks easier.

	* plug-ins/common/uniteditor.c: some more tooltips.

	* plug-ins/common/xbm.c: store the image comment in the
	"gimp-comment" parasite and the hot spot in the new "hot-spot"
	parasite. Added ui for entering the hot spot.

	* docs/parasites.txt: documented the new "hot-spot" parasite.
2000-03-04 00:24:39 +00:00
Michael Natterer 6be08358fb s/"Fill Options"/"Fill Type"/
2000-03-02  Michael Natterer  <mitch@gimp.org>

	* app/channel_ops.c: s/"Fill Options"/"Fill Type"/

	* app/gimpparasite.c: removed _() around the parasiterc header.
2000-03-02 02:23:26 +00:00
Michael Natterer a48c1d7065 gimp_drawable_get_color_at(): put the check below back but only require a
2000-03-01  Michael Natterer  <mitch@gimp.org>

	* app/gimpdrawable.c: gimp_drawable_get_color_at(): put the check
	below back but only require a non-indexed drawable if the drawable
	doesn't have an image.
	(The function may call gimp_image_get_color() with gimage == NULL
	for RGB and GRAY colors because we don't need a colormap to
	transform them to RGB space).
	This was the obscure special case (TM).
2000-03-01 22:05:22 +00:00
Michael Natterer c52aec7129 gimp_drawable_get_color_at(): don't g_return_val_if_fail(!indexed, NULL)
2000-03-01  Michael Natterer  <mitch@gimp.org>

	* app/gimpdrawable.c: gimp_drawable_get_color_at(): don't
	g_return_val_if_fail(!indexed, NULL) because the function seems to
	work fine for all kinds of drawables. Fixes #6756. Or is this
	check needed for some obscure special case?
2000-03-01 21:42:57 +00:00
Michael Natterer 990a071c4b set <Image>/File/Revert... insensitive if the image has no filename.
2000-03-01  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.c: set <Image>/File/Revert... insensitive if the
	image has no filename.

	* plug-ins/common/uniteditor.c: minor fix.

2000-03-01  Michael Natterer  <mitch@gimp.org>

	* C/dialogs/layers/Makefile.am
	* C/dialogs/layers/index.html
	* C/dialogs/layers/apply_mask.html: removed.

	* C/layers/Makefile.am
	* C/layers/index.html
	* C/layers/apply_mask.html
	* C/layers/delete_mask.html: new files.
2000-02-29 23:32:39 +00:00
Garry R. Osgood bdbb45d87c gimp/app/by_color_select.c gimp/app/color_picker.c gimp/app/gimpdrawable.c
2000-02-27 Garry R. Osgood <gosgood@idt.net>

* gimp/app/by_color_select.c
* gimp/app/color_picker.c
* gimp/app/gimpdrawable.c
* gimp/app/image_map.c
* gimp/app/paint_core.c
Inadvertent logic error in g_return_val_if_fail()
style sanity checks implemented in
gimp_drawable_get_color_at() gave rise to
segment violation reported in #6624;
error admitted out-of-bounds x&y that
do not map to tiles. Closes #6624.
GTK-critical warnings which result from
this new sanity check require that
gimp_drawable_get_color_at() clients
perform initial culling of out-of-bounds
x & y coordinates.
2000-02-28 02:40:44 +00:00
Garry R. Osgood e99bf6ac94 app/gimpimage.c Fixed small typo.
2000-02-27 Garry R. Osgood <gosgood@idt.net>

* app/gimpimage.c Fixed small typo.
2000-02-27 19:57:49 +00:00
Sven Neumann 1bd3c65443 removed warnings, cleaned up the source, unmarked
internal error messages for translation


--Sven
2000-02-27 12:09:29 +00:00
Garry R. Osgood 8769bbb456 app/commands.c app/gimpimage.c app/layer.c app/layer.h app/resize.c
2000-02-26 Garry R. Osgood <gosgood@idt.net>
* app/commands.c
* app/gimpimage.c
* app/layer.c
* app/layer.h
* app/resize.c
* app/resize.h

Aliasing artifacts that changed relative positions
of layers under scaling, giving rise to #5271, are
minimized by a new layer.c function,
layer_scale_by_factors(). Closes #5271. See
http://idt.net/~gosgood/gimp-patch/patch07.html for
further detail. See also usage documentation for
layer_scale() and layer_scale_by_factors() in
layer.c.

Provided logic for the Scale Image dialog box to
pre-check an image's layers for the possibility that
a particular scaling, s: 0 < s < 1, reduces a layer
dimension to zero. Should this case prevail, a
boolean dialog box warns the user of the
possibility. The user may (1) Cancel, returning
focus to Scale Image and the possibility of
corrective adjustment, or (2) OK the scaling. The
layers that will vanish upon the new scaling are
culled from the GimpImage::layers list first.
2000-02-26 18:46:08 +00:00
Michael Natterer 8f4adbadbf app/gimpbrush.[ch] app/gimpbrushgenerated.[ch] app/gimpbrushlist.[ch]
2000-02-24  Michael Natterer  <mitch@gimp.org>

	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushlist.[ch]
	* app/gimpbrushlistP.h
	* app/gimpbrushpipe.[ch]
	* app/gimpbrushpipeP.h: did a brushes code-review: indentation,
	removed some includes, didn't find a bug :-)

	* app/gradient.c
	* app/palette.c: we were leaking all gradient and palette preview
	pixmaps as well as all lists of palette colors on each refresh.

	* libgimp/gimpenv.c: updated documentation.
2000-02-24 11:39:26 +00:00
Michael Natterer ae38b99c21 another leak: don't allocate the PaintPressureOptions structure twice for
2000-02-24  Michael Natterer  <mitch@gimp.org>

	* app/tool_options.c: another leak: don't allocate the
	PaintPressureOptions structure twice for one tool.
2000-02-24 02:11:10 +00:00
Michael Natterer 868888fe21 fixed a memleak.
2000-02-24  Michael Natterer  <mitch@gimp.org>

	* app/datafiles.c: fixed a memleak.

	* app/gimpbrushlist.c
	* app/gradient.c
	* app/palette.c: use the gimp_path_* functions, cleanups.

	* app/gimpbrushpipe.c: call the "destroy" function of the parent
	class, not of the object class. Fixes a huge memleak on each
	"Refresh".

	* app/gimpbrushpipeP.h
	* app/gimplist.c
	* app/gimpbrush.c: did some cleanups while searching the brush
	memleak.

	* libgimp/gimpenv.c: gimp_path_get_user_writable_dir(): return a
	copy of the string.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: g_free() the string returned by
	gimp_path_get_user_writable_dir().
2000-02-24 01:52:31 +00:00
Michael Natterer 863b24917c it's more intelligent to implement the parent_context stuff with
2000-02-22  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: it's more intelligent to implement the
	parent_context stuff with gtk_signal_connect_object() instead of
	having internal callbacks for each context attribute.
	Exported the existing gimp_context_*_changed() functions and
	changed them to do nothing but emitting the signal.

	* app/app_procs.c
	* app/tools.c
	* app/transform_tool.c: use gimp_context_tool_changed() instead of
	gtk_signal_emit_by_name().
2000-02-22 17:06:44 +00:00
Michael Natterer a4f6d59af0 app/color_area.[ch] pass masks for the "default" and "swap" pixmaps to the
2000-02-22  Michael Natterer  <mitch@gimp.org>

	* app/color_area.[ch]
	* app/interface.c: pass masks for the "default" and "swap" pixmaps
	to the color_area constructor and use them to create a clip mask
	in color_area_draw().

	* app/datafiles.[ch]: some harmless cleanups.

	* libgimp/gimppixmap.c: use gtk_pixmap_set_build_insensitive()
	instead of accessing the field directly.
2000-02-22 15:14:54 +00:00
Michael Natterer ed071953b2 fixed a gtk-doc comment.
2000-02-21  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimppixmap.c: fixed a gtk-doc comment.

	* libgimp/gimpenv.[ch]: new functions:

	- gimp_path_parse(): Creates a GList of strings from a searchpath
	  string and performs sanity checks.
	- gimp_path_to_str(): Creates a searchpath string from the list
	  returned by gimp_path_parse().
	- gimp_path_free(): Frees the list returned by gimp_path_parse().
	- gimp_path_get_user_writable_dir(): Returns the first dir in a
	  path where the user has write access. With this function the
	  "Save" dialogs of some plugins always show the plugin's
	  subdirectory of the user's gimp_dir instead of the read-only
	  global one.

	* app/datafiles.[ch]
	* app/gimpbrushlist.c: use the new functions and
	s/datafile_loader_t/GimpDataFileLoaderFunc/.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.c: use the new functions.
2000-02-21 17:15:30 +00:00
Sven Neumann e836901c83 more places with Solaris compilation problems
--Sven
2000-02-21 12:05:45 +00:00
Michael Natterer bf72684e5a app/paint_options.h put the pointer to tool's private context to the
2000-02-18  Michael Natterer  <mitch@gimp.org>

	* app/paint_options.h
	* app/tool_options.h: put the pointer to tool's private context to
	the PaintOptions structure instead of attaching it to the
	paint_mode optionmenu (which does not exist for all paint tools
	which have a private context). Fixes bug #6308.
2000-02-18 21:22:13 +00:00
Sven Neumann defbe35de6 forgot to exclude airbrush_blob.[ch] from the build
* app/Makefile.am: forgot to exclude airbrush_blob.[ch] from the build

* app/gimpbrushgenerated.c
* app/ink.c
* app/measure.c
* app/rotate_tool.c: use gimp_rad_to_deg and gimp_deg_to_rad macros


--Sven
2000-02-18 18:20:04 +00:00
Manish Singh 45842e262a added 2000 to the copyrights
* tools/pdbgen/*.pl: added 2000 to the copyrights

* tools/pdbgen/lib.pl: it's foo_pdb.[ch] now

* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/parasite.pdb: reenabled sanity checks for the
drawable IDs and the parasite names

* app/drawable.c
* app/gimpdrawable.c: added a bunch of g_return_if_fail's, instead
of the silent check and return in many functions. This should also
be done in gimpimage.c and the like too.

* app/gimpdrawable.h
* app/layer.c: cosmetic code fix

-Yosh
2000-02-17 11:44:27 +00:00
Sven Neumann 1417c36b4b copy image parasites on image duplicate (fixes bug #6270)
--Sven
2000-02-16 20:44:39 +00:00
Sven Neumann fde312118a Cleaned up the Path header mess.
--Sven
2000-02-16 13:52:33 +00:00
Sven Neumann 1cde0279ff Moved some functions out of paths_dialog.c into the new file
paths.c and did a general namespace cleanup:
s/PATHP/Path*/  s/PATHIMAGELISTP/PathList/ and friends.

Paths are now copied on image duplicate (fixes bug #5726).

Removed Path Tool and XInput Airbrush from the build and
renamed "Layers & Channels" to "Layers, Channels & Paths".

Applied patch from Wolfgang Hofer to xjt.c that enables loading
and saving of paths based on Andy's change explained below.


--Sven
2000-02-16 01:47:22 +00:00
GMT 2000 Andy Thomas 8f6bca3234 gimp/app/gimpdrawable.c gimp/app/channel.c gimp/app/layer.c
Tue Feb 15 23:27:42 GMT 2000 Andy Thomas <alt@gimp.org>

	 * gimp/app/gimpdrawable.c
	 * gimp/app/channel.c
	 * gimp/app/layer.c
	 * gimp/app/channel.h
	 * gimp/app/layer.h
	 * gimp/app/gimpimage.c
	 * gimp/app/gimpimage.h
	 * gimp/app/gimpdrawable.h
	 * gimp/tools/pdbgen/pdb/paths.pdb
	 * gimp/tools/pdbgen/pdb/layer.pdb
	 * gimp/tools/pdbgen/pdb/channel.pdb
	 * gimp/tools/pdbgen/pdb/gimage.pdb
	 * gimp/app/channel_cmds.c
	 * gimp/app/gimage_cmds.c
	 * gimp/app/internal_procs.c
	 * gimp/app/layer_cmds.c
	 * gimp/app/paths_cmds.c

	New gimp_*_set_tattoo procedures. This allows save/load plugins
        to save/restore tattoo states of layers, channels and paths. Note the
	internal tattoo state can also be set, however rigorous checks are
	performed to make sure that the internal tattoo states of layer,
	channels and paths are consistent and that the new state value is
	newval > MAX(MAX(layertattoo),MAX(channeltattoo),MAX(pathtattoo)).
2000-02-15 23:49:03 +00:00
Tor Lillqvist 970ad834d1 libgimp/gimp.def libgimp/gimpui.def libgimp/makefile.{cygwin,msc}
2000-02-15  Tor Lillqvist  <tml@iki.fi>

* libgimp/gimp.def
* libgimp/gimpui.def
* libgimp/makefile.{cygwin,msc}
* app/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: Updates.

* app/datafiles.c (is_script): New Win32-only function, which
tests if a file's extension matches one of the extensions in the
PATHEXT environment variable (which the cmd.exe command
interpreter also uses). This is to avoid starting applications
associated with any random data file the user might have dropped
in the plug-ins folder, while still supporting plug-ins written in
scripting languages.

* app/gimpparasite.c (gimp_parasiterc_save): (Win32:) Cannot
rename to an existing file.

* plug-ins/Lighting/lighting_image.c
* plug-ins/Lighting/lighting_share.c
* plug-ins/MapObject/mapobject_preview.c
* plug-ins/MapObject/mapobject_shade.c: Use G_PI.

* plug-ins/common/gz.c: #ifdef G_OS_WIN32 was used before its
potential definition via glib.h.

* plug-ins/common/jpeg.c: Also recognize Exif files, which are
typically produced by digital cameras. The usually have a .jpg
file name extension, and would thus already match this plug-in,
but add the magic string just in case. They are loaded just fine
by libjpeg even if they don't have the JFIF signature.

* plug-ins/common/tiff.c: Set TIFF warning and error handler, so
we get to pass libtiff's messages through the normal channels.
2000-02-14 22:44:06 +00:00
Michael Natterer 2715fd15c8 app/Makefile.am removed.
2000-02-14  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/vector2d.[ch]: removed.

	* app/gimpbrush.h
	* app/paint_core.c: use the vectors from libgimp.
2000-02-14 18:09:33 +00:00