Commit Graph

225 Commits

Author SHA1 Message Date
Daniel Egger b4630d410e Use the new _clear function and more cleanups.
2001-01-02  Daniel Egger  <egger@suse.de>

        * app/clone.c:
	* app/gimpimage.c:
	* app/temp_buf.c: Use the new _clear function and more cleanups.
2001-01-02 19:14:24 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Michael Natterer 0d440e1040 app/channel.[ch] app/drawable.h app/gimpdrawable.[ch] app/gimpdrawableP.h
2000-12-28  Michael Natterer  <mitch@gimp.org>

	* app/channel.[ch]
	* app/drawable.h
	* app/gimpdrawable.[ch]
	* app/gimpdrawableP.h
	* app/gimpimage.[ch]
	* app/gimpimageP.h
	* app/layer.[ch]
	* app/layer_pvt.h: started a major cleanup of all image/drawable
	files. Added tons of "const GimpImage *" declarations and properly
	formated the headers.

	* app/bezier_select.c
	* app/channels_dialog.c
	* app/crop.c
	* app/fileops.[ch]
	* app/fuzzy_select.c
	* app/gdisplay.c
	* app/layers_dialog.c
	* app/move.c
	* app/paint_funcs.[ch]
	* app/qmask.c
	* app/undo.c: changed accordingly plus the usual portion of coding
	style paranoia. This is not finished but Sven promised to buy me
	a beer if I commit now ;)
2000-12-28 16:19:55 +00:00
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
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 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
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 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 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
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
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
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
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
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 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
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
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
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
Marc Lehmann 9d02cb0d45 *** empty log message *** 2000-02-13 00:11:26 +00:00
Michael Natterer ef17866973 app/* libgimp/* plug-ins/* did a global s/GUnit/GimpUnit/ and
2000-02-07  Michael Natterer  <mitch@gimp.org>

	* app/*
	* libgimp/*
	* plug-ins/*
	* tools/pdbgen/*: did a global s/GUnit/GimpUnit/ and
	s/GimpSizeEntryUP/GimpSizeEntryUpdatePolicy/

	* libgimp/gimpcolorspace.c: renamed the parameter names to match
	the names in the header.

	* libgimp/gimphelpui.h
	* libgimp/gimpimage.c
	* libgimp/gimpmatrix.h
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunit.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: added documentation and use g* types
	all over the place (enables cross-referencing with the glib and
	gtk+ html documentation).

	* plug-ins/common/exchange.c
	* plug-ins/common/max_rgb.c: small cleanups.

	* plug-ins/common/mapcolor.c: the color buttons were attached in
	the wrong order.
2000-02-07 20:35:13 +00:00
Sven Neumann c9482821ab mostly header cleanup and i18n
--Sven
2000-01-31 23:59:05 +00:00
Sven Neumann 07cd86c451 use color_conversion routines out of libgimp
--Sven
2000-01-30 23:56:04 +00:00
Sven Neumann bceb97a993 Renamed gimage->ref_count to disp_count and slightly changed
the way it is used. As the new name suggests it is only used
to count the number of displays associated with an image. It
is now impossible to delete an image that has an associated
display. You have to delete the display instead. Before this
change it was possible to delete an image through the PDB that
was created through the UI and bad things happened soon...


--Sven
2000-01-23 13:44:12 +00:00
Sven Neumann 8b178fcbcc Implemented the "removed" signal for channels and connected qmask to it
to keep the buttons in sync when a qmask channels gets deleted manually.
Fixes bug #2516.


-Sven
2000-01-20 17:10:49 +00:00
Sven Neumann 1b10f54b5a overworked my latest change and fixed some typos
--Sven
2000-01-08 12:42:53 +00:00
Sven Neumann 440b86e12f don't set the resolution to zero
got rid of the compiler warnings in psp.c


--Sven
2000-01-08 10:55:05 +00:00
Sven Neumann 5e4e7d8884 Fixed a crash that oxccured when gimp_export_image() was called with an
active floating selection.
gimp_image_merge_visible_layers() and gimp_image_flatten() did not handle
floating selections.


--Sven
2000-01-05 09:09:46 +00:00
Garry R. Osgood fe6ee9d1af app/gimpimage.c app/undo.c app/undo_types.h docs/undo.txt Changed sanity
1999-12-10 Garry R. Osgood <gosgood@idt.net>
	* app/gimpimage.c
	* app/undo.c
        * app/undo_types.h
        * docs/undo.txt
        Changed sanity checks in undo_pop/free_layer_mask() to LAYER_MASK_ADD_UNDO
	and LAYER_MASK_REMOVE_UNDO to be consistent with undo_push_layer_mask()
	These now nvoke proper cleanup and release of GimpLayerMasks.
	* docs/undo.txt: New file, an overview of undo logic written by
	Austin Donnelly
	* app/undo.c
	* app/undo_types.h
	* app/gimpimage.c : Introduced a new UndoType, UNDO_NULL, which maps
	to zero, introducing that value into the enumerated types. Use the
        type to signal type unknown/error/untyped conditions.

	Full patch documentation at
	http://idt.net/~gosgood/gimp-patch/patch02.html
1999-12-10 20:55:57 +00:00
Sven Neumann 1fdea67422 fix bug #2168
--Sven
1999-11-30 00:18:44 +00:00
Marc Lehmann 643e1b1a92 *** empty log message *** 1999-11-24 20:11:03 +00:00
Sven Neumann 558271ff3b when moving layers/masks freeze the undo after the first move to avoid
* app/edit_selection.c: when moving layers/masks freeze the undo
        after the first move to avoid that each and every small movements
        puts an undo on the stack. Significantly speeds up layer moves
        and especially the undo of a layer move.

        * app/gdisplay.h: correct rounding errors

        * app/gimpimage.c: correctly display floating selections in the
        composite_preview instead of ignoring them

        * app/channels_dialog.c
        * app/layers_dialog.c
        * app/lc_dialog.c: s/gtk_widget_draw/gtk_widget_queue_draw/

--Sven
1999-11-05 14:39:04 +00:00
BST 1999 Andy Thomas e5528e6cd8 app/gimpimage.c
Thu Oct 28 23:22:34 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gimpimage.c

	Fixed memory leak with image is deleted.

	* plug-ins/common/jpeg.c

	Fixed the way the plugin added layers. Preview stuff does not now
	get corrupted.
1999-10-28 22:47:56 +00:00
Michael Natterer a74d52fbbf Use the context almost everywhere. 1999-10-26 18:27:27 +00:00
Manish Singh f697f6cfab don't free the old filename pointer till we're all done, since we might be
* app/gimpimage.c: don't free the old filename pointer till we're
all done, since we might be passed our own filename as a param
and reference it after freeing. The code didn't heed it's own
warning ;) (TigerT, this should fix that filename corruption bug)

-Yosh
1999-10-25 23:51:56 +00:00
Marc Lehmann ec40ac728b API PATCH #2 or so 1999-10-17 00:07:55 +00:00
Sven Neumann fce4ad6327 a whole lotta guide fixes
--Sven
1999-10-13 23:07:45 +00:00
EDT 1999 Austin Donnelly 97140d8f15 Factored out common code from gimp_image_{raise,lower}_layer and
Fri Oct  1 19:05:04 EDT 1999  Austin Donnelly  <austin@gimp.org>

	* app/gimpimage.c: Factored out common code from
	    gimp_image_{raise,lower}_layer and
	    gimp_image_{raise_layer_to_top,lower_layer_to_bottom}.  They
	    now call gimp_image_position_layer() to do the real work.
	* app/gimpimage.h: gimp_image_position_layer() takes extra arg to
	    tell whether an undo should be pushed.
	* app/layers_dialog.c: reposition layer with undo.
	* app/undo.c: new undo type for layer reposition.  Layer rename
	    shouldn't dirty and clean the image twice!
	* app/undo.h: prototype for undo_push_layer_reposition().
	* app/undo_types.h: LAYER_REPOSITION_UNDO type.
1999-10-01 23:13:13 +00:00
Austin Donnelly 4b4d3934db don't want sub-undo type undo_push_channel() takes ADD or REMOVE type
Fri Oct  1 15:18:34 1999  Austin Donnelly  <and1000@research.att.com>

	* app/channel.h: don't want sub-undo type
	* app/gimpimage.c: undo_push_channel() takes ADD or REMOVE type
	* app/undo.c: undo_push_channel() takes type.  More specific
	    CHANNEL_{ADD,REMOVE}_UNDO types.
	* app/undo.h: undo_push_channel() prototype.
	* app/undo_types.h: More specific CHANNEL_{ADD,REMOVE}_UNDO types.
1999-10-01 19:26:56 +00:00
Austin Donnelly 11409e97fb comment typo fix, plus add %D* to default image-title-format string, so
Fri Oct  1 12:46:12 1999  Austin Donnelly  <austin@gimp.org>

	* gimprc.in: comment typo fix, plus add %D* to default
	    image-title-format string, so people get a '*' in the titlebar
	    if their image is dirty.
	* app/fileops.c: initialise filename before using it.
	* app/gdisplay.c: empty parameter list () is K&R - should be
	    stronger (void) in ANSI C.
	* app/gimpdrawable.c: gimp_drawable_{dirty,clean} functions
	    removed - no one uses them anyway.  Parasite undo type is
	    proper parasite undo type, not MISC_UNDO.
	* app/gimpdrawableP.h: drawable dirty bit removed.
	* app/gimpimage.c: don't change the resolution if there's no
	    difference from the old one.  Call gdisplay_shrink_wrap() to
	    re-calculate scale factors and refresh the display on
	    resolution change.  Layer undo doesn't have sub-types
	    anymore, uses main UndoType instead.
	* app/layer.h: Remove LayerUndoType
	* app/qmask.c: fix qmask undo so it actually works.
	* app/undo.h: new types for undo_push_layer{,_mask} and
	    undo_push_qmask.
	* app/undo.c: change way group boundaries are represented:
	    each Undo has a group_boundary boolean set to TRUE if this is
	    the start or the end of a group, and the type of the Undo is
	    the group's type.  Within a group, each Undo keeps its own
	    type.  This allows pop funcs and free funcs to do
	    type-specific things (eg needed by layer and channel stuff).
	    Don't maintain per-drawable dirty flags anymore.   Floating
	    sel to layer and layer rename now uses meaningful undo types.
	* app/undo_types.h: more specific undo types:
	    LAYER_{ADD,REMOVE}_UNDO, LAYER_MASK_{ADD,REMOVE}_UNDO,
	    LAYER_RENAME_UNDO, and PARASITE_{ATTACH,DETACH}_UNDO.
	* app/undo_history.c: oops - undo stack was being placed into gtk
	    list in wrong order.
	* app/edit_selection.c: push more descriptive LAYER_DISPLACE_UNDO
	    rather than MISC_UNDO.
	* app/layers_dialog.c: better tagging of undo types
1999-10-01 18:43:24 +00:00
Sven Neumann c3a5070e5c undo for resolution and unit changes
--Sven
1999-09-29 16:44:52 +00:00
Sven Neumann ba211f07f2 i18n patch from Daniel Egger
--Sven
1999-09-23 11:49:16 +00:00
EDT 1999 Austin Donnelly bf8db4adc8 Honest, guv, it's not a feature - it's a tightly integrated package of
Mon Sep 20 12:51:30 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Honest, guv, it's not a feature - it's a tightly integrated
	package of undo system cleanups and fixes.

	NEW FILES:
	* app/undo_history.c: window showing recent undo (and redo) steps
	    available.
	* app/undo_types.h: broken out of undo.h to fix circular includes.

	MODIFIED FILES:
	* app/Makefile.am: compile undo_history.c
	* app/channel.h: use enum for channel undo type, not just magic
	    numbers.
	* app/layer.h: same for layer undos.
	* app/commands.c: edit_show_undo_history_cmd_callback() function to
	    pull up undo history window.
	* app/commands.h: prototype for above.
	* app/gdisplay.c: make undo / redo menu items sensitive according
	    to whether they would do anything.  Would be easy to change
	    the text to say what would be undone/redone, but I don't know
	    the GTK.
	* app/gimpimage.c: new signal emitted by gimage:
	    UNDO_EVENT. gimp_image_undo_event() function to emit it.
	* app/gimpimage.h: prototype for above.
	* app/gimpimageP.h: pushing_undo_group member is now an undo_type,
	    not an int.  Keep undo history widget here too (if created).
	* app/menus.c: add "Edit/Undo history..." to image menu.
	* app/undo.c: new types: enums undo_type and undo_state rather than
	    ints and magic numbers.  All undo_pop_* and undo_free_*
	    functions made static.  New static function
	    undo_type_to_name().  Issue undo event signals on various
	    important events (eg undo pushed, undo popped etc).
	    undo_push() now takes a "dirties_image" arg to say whether
	    image should be dirtied.  Layer moves now dirty the image.  A
	    couple of g_return_if_fails () on undo_pop and undo_redo to
	    assert we're not in the middle of an undo group.
	    undo_get_{undo,redo}_name() to peek at names of top items on
	    undo and redo stacks resp.   undo_map_over_{undo,redo}_stack()
	    to run a function for each item or group on stack.  Layer and
	    channel undos use symbolic names rather than 0 or 1.  Array
	    mapping undo types to names.
	* app/undo.h: split out undo types to undo_types.h.  Prototypes
	    for functions described above.  undo_event_t enum.
	    undo_history_new() prototype lives here too.

	Random other fixes:
	* app/gimpdrawable.c
	* app/image_render.c: default labels in switches to keep egcs happy.

	* app/nav_window.c: some fixes to (sort of) cope with image res !=
	    screen res.  Still needs work to handle non-square pixels
	    properly.

	* app/paths_dialog.c: bad idea to call gimp_image_dirty()
	    directly.  Even though it's currently commented out.
1999-09-20 17:15:20 +00:00
CDT 1999 Shawn T. Amundson c6eec63232 Added new files, the UI independant part of new image dialog.
Wed Aug 25 02:40:39 CDT 1999 Shawn T. Amundson <amundson@gimp.org>

        * app/image_new.[ch]: Added new files, the UI independant part of
          new image dialog.

        * app/file_new_dialog.[ch]: uses image_new stuff now.  Alot
          changed.  No UI changed.  Different behavior is a bug, as
          this is only for UI separation.

        * app/gimpimage.[ch]: Added gimp_image_get_width () and
          gimp_image_get_height ().

        * app/global_edit.c: Call a function in image_new instead of
          file_new_dialog for updating the status of the cut buffe.
1999-08-26 04:39:21 +00:00
EDT 1999 Austin Donnelly 0a7dca9110 Dirty flag now correct in all cases. Can be displayed in image window
Mon Aug 23 10:15:32 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Dirty flag now correct in all cases.  Can be displayed in image
	window title too.  See NOTE near gimp_image_dirty() for details.

	* app/fileops.c: gimp_image_clean_all() after reverting an image.
	* app/gdisplay.c: register handlers for gimage dirty and clean
	    signals to update image title.  New image-title-format
	    expansion: %Dx expands to x if the image is dirty.
	* app/gdisplay_ops.c: gimage->dirty flags != 0 is the correct
	    condition to test to see if an image is dirty.
	* app/gimpdrawable.c: gimp_image_dirty() should never be called
	    except from an undo_push_* function.  Call
	    undo_push_cantundo() if you want to dirty the image but can't
	    be bothered writing an undo handler (be ashamed of yourself!).
	* app/gimpimage.c: new gimage signal: clean.  Emitted when an undo
	    operation takes place.  Gimage changes when either dirty or
	    clean is emitted, so if you need to update previews etc, look
	    for both!  Move group_count into gimage structure, since
	    leaving it as a static in undo.c is bad if two undo groups are
	    started on different images at the same time.  More changes
	    of gimp_image_dirty() to undo_push_cantundo()
	    (parasite-related, plus layer moves).  See the NOTE on dirty
	    counter near gimp_image_dirty() for the full story.
	    gimp_image_dirty() and gimp_image_clean() simplified - counter
	    can go negative.
	* app/gimpimageP.h: group_count moved from undo.c
	* app/layers_dialog.c: push undo for layer name change, rather
	    than dirtying the image.
	* app/undo.c: layer rename undo functions
	    added. undo_push_cantundo() convenience functions added.
	    group_count made per-gimage since everything else is.  When
	    blowing away redo stack, make image infinitely dirty if redo
	    info contained file save point.
	* app/undo.h: added undo_push_layer_rename() and
	    undo_push_cantundo().
	* TODO: added idea for undo history window.
1999-08-23 14:34:58 +00:00
Michael Natterer 1e08aa1ef7 app/color_area.[ch] app/color_panel.[ch] enabled dnd for colors
1999-08-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/color_area.[ch]
	* app/color_panel.[ch]
	* app/gimpdnd.[ch]: enabled dnd for colors (compatible with the
	standard gtk/gnome color dnd). The color selection is now invoked
	on a real click, not on button_down to avoid confusion with dnd.

	* app/channels_dialog.c
	* app/disp_callbacks.c
	* app/interface.c
	* app/layers_dialog.c: minor dnd updates/fixes.

	* app/channel.[ch]
	* app/channel_pvt.h
	* app/docindex.[ch]
	* app/docindexif.[ch]
	* app/drawable.[ch]
	* app/floating_sel.c
	* app/gimage.[ch]
	* app/gimage_mask.c
	* app/gimpdrawable.[ch]
	* app/gimpdrawableP.h
	* app/gimpimage.[ch]
	* app/gimpimageP.h
	* app/layer.[ch]
	* app/layer_pvt.h
	* app/undo.c
	* app/xcf.c: wanted to do some s/int/gboolean/ in the layer files
	where appropriate and found myself spending the whole night doing
	a big code review for layers/channels/drawables/images:
	s/int/gboolean/, s/<type>/g<type>/, lots of indentation, removed
	some old global variables and deprecated functions, #include
	cleanups, proper prototypes, copyright headers, ...
1999-08-22 11:45:31 +00:00
BST 1999 Adam D. Moss 2403247334 Preview layers need to be alpha-padded, since they're not on the bottom of
Sat Aug 21 16:53:17 BST 1999  Adam D. Moss  <adam@gimp.org>

	* plug-ins/common/jpeg.c:  Preview layers need to be alpha-padded,
	since they're not on the bottom of the stack.  That's a GIMP rule.

	Plus... use new API functions gimp_image_{freeze,thaw}_undo() to avoid
	the dilemma of either consuming a squillion superfluous tiles or
	clobbering the whole undo stack.

	* app/gimage.h
	* app/gimage_cmds.c
	* app/gimpimage.c
	* libgimp/gimp.h
	* libgimp/gimpimage.c: New API functions
	gimp_image_{freeze,thaw}_undo()	to avoid the above twin	evils.
	Similar to gimp_image_{disable,enable}_undo() but without
	clobbering the undo stack (I would have simply changed the latter,
	but too many plugins seem to rely on that behaviour).  See the PDB
	docs for slightly more information.
1999-08-21 16:15:58 +00:00
Michael Natterer 70407d2882 app/Makefile.am new file. Contains a function which creates dnd preview
1999-08-20  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpdnd.c: new file. Contains a function which creates dnd
	preview icons for all kinds of drawables.

	* app/gimpdnd.h: added the new dnd types.

	* app/channels_dialog.c: same dnd functions as in the layers
	dialog. Fixed channels_dialog_flush(). Code cleanup.

	* app/layers_dialog.c: enabled dnd for layer masks.

	* app/disp_callbacks.c
	* app/interface.c: dnd code generalization. The toolbox and the
	display accept drop of any kind of drawable now.

	* app/gimage.h
	* app/gimpimage.[ch]: new function gimp_image_position_channel().

	* app/layer.[ch]: new function layer_mask_get_layer().
1999-08-20 19:59:06 +00:00
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

	Add an enum ConvolutionType, suffix the too general constants
	NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
	instead of NORMAL in some places (this was what was intended). Fix
	some minor gccisms.

	* app/apptypes.h: New file. This file contains the above
	enumeration types, and some opaque struct typedefs. It was
	necessary to collect these in one header that doesn't include
	other headers, because when we started using the above mentioned
	types in the headers, all hell broke loose because of the
	spaghetti-like cross-inclusion mess between headers.

	(An example: Header A includes header B, which includes header C
	which includes A. B uses a type defined in A. This is not defined,
	because A hasn't defined it yet at the point where it includes B,
	and A included from B of course is skipped as we already are
	reading A.)
1999-08-18 23:41:39 +00:00
Seth Burgess b519150fa9 ChangeLog app/channel.c app/channel.h app/channel_ops.c
app/gimpimage.c app/gimpimageP.h app/interface.c
 	app/paint_core.c app/qmask.c app/qmask.h:

	Added qmask settings dialogs through double clicking.
1999-08-07 20:55:26 +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
Michael Natterer acffb96f7b app/commands.c app/desaturate.[ch] no need to pass the image as a void
1999-07-27  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/desaturate.[ch]
	* app/equalize.[ch]: no need to pass the image as a void pointer
	to desaturate and equalize.

	* app/gimage.h
	* app/gimpimage.[ch]: new function gimp_image_position_layer().

	* app/layers_dialog.c: move layers with drag'n'drop.
1999-07-27 02:41:34 +00:00
Sven Neumann 645f85352d Indentation paranoia!
--Sven
1999-07-19 19:46:05 +00:00
Tor Lillqvist fe1cc678c1 app/makefile.cygwin app/makefile.msc plug-ins/makefile.cygwin
* app/makefile.cygwin
	* app/makefile.msc
	* plug-ins/makefile.cygwin
	* plug-ins/makefile.msc
	* modules/makefile.cygwin
	* modules/makefile.msc
	* tools/gcg/makefile.cygwin: Various updates. GCC-compiled DLL
	name change.

	* app/context_manager.c: Include paint_options.h for prototype.

	* app/gimpimage.c (gimp_image_initialize_projection): Break out of
 	loop as soon as possible.

	* app/menus.c (menus_last_opened_cmd_callback): Check if referring
 	to entry not in list.

	* app/module_db.c (valid_module_name): (Win32) Require module DLL
 	names to include name of compiler built with.

	* app/paths_dialog.c (paths_draw_segment_points): No use to draw
 	lines if we have less that two points.

	* app/qmask.c: Include stdio.h and floating_sel.h.

	* libgimp/makefile.cygwin: New file.

	* libgimp/Makefile.am:  Distribute above file.

	* libgimp/gimp.def: Update.

	* libgimp/gimpenv.c (gimp_directory): Don't warn about missing
 	home directory on Win32, it is perfectly natural.

	* plug-ins/sel2path/global.h: Bypass unused declarations, some
	of which clash with functions in MSVCRT.

	* plug-ins/sel2path/math.c
	* modules/colorsel_water.c: Define M_PI if necessary.

	* plug-ins/sel2path/sel2path.c: Include config.h and
 	glib.h. Define rint() if needed.

	* plug-ins/sel2path/vector.c: Include glib.h (for hypot() renaming
 	on Win32; In the MS C runtime, as hypot() is non-ANSI, it's called
 	_hypot(), sigh).

	* plug-ins/sinus/sinus_logo.h: Use indexed format, it is easier on
 	some compilers than the huge string.
1999-07-14 16:02:32 +00:00
MEST 1999 Sven Neumann 9fa818fafc applied a (modified) patch from Shuji Narazaki <narazaki@gimp.org>
Fri Jul  9 20:12:12 MEST 1999  Sven Neumann <sven@gimp.org>

        * app/app_procs.c: applied a (modified) patch from
        Shuji Narazaki <narazaki@gimp.org>

        * app/gimpimage.c: applied a modified) patch from
        Tom Rathborne <tomr@aceldama.com> that aligns guides on layer_resize


--Sven
1999-07-09 18:15:39 +00:00
Seth Burgess 7058d4c631 Added Qmasks 7-6-99 <sjburges@gimp.org>
* pixmaps/qmasknosel.xpm
        * pixmaps/qmasksel.xpm: Ugly pixmaps that tigert promised to replace

        * app/channel.[ch]
        * app/channel_cmds.c : made some of the private structures accessible
          through exported functions to keep things a bit clean

        * app/interface.c
        * app/gdisplay.[ch]
        * app/gimpimageP.h
        * app/gimpimage.[ch]
        * app/undo.[ch]: added qmasks

        * app/Makefile.am
        * app/qmask.[ch]: added new files for qmask support

        * tools/pdbgen/pdb/channel.pdb: changed some channel stuff to keep
          things a bit more private
1999-07-07 03:18:54 +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
jaycox 4faeeaeb9f new mouse cursor for intersection operations.
* cursors/{mouse1_u,mouse1_umsk}: new mouse cursor for intersection
	operations.

	* app/cursorutil.[ch], app/rect_select.c: use the new cursor.

	* app/gimpimage.c:  Applied layer removal bug fix from
	David Le Corfec, <lecorfec@etudiant.univ-mlv.fr>

	* plug-ins/gdyntext/{font_selection.c, gdyntext.c, gdyntext_ui.c}:
	replaced snprintf with g_snprintf.

	* plug-ins/jpeg/jpeg.c: updated to work with the double precision
	resolutions.
1999-05-27 09:10:10 +00:00
Michael Natterer dcfb450b25 app/[all files with resolution info] libgimp/gimp.h libgimp/gimpimage.c
1999-05-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all files with resolution info]
	* libgimp/gimp.h
	* libgimp/gimpimage.c
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunit.[ch]
	* plug-ins/newsprint/newsprint.c
	* plug-ins/pgn/png.c
	* plug-ins/tiff/tiff.c: double instead of float for all resolution
	and unit-factor variables.

	* app/commands.c
	* app/crop.c
	* app/interface.c
	* app/layers_dialog.c
	* app/move_tool.c
	* app/resize.c
	* app/rotate_tool.c
	* app/scale_tool.c: pass the image's unit *and* gdisp->dot_for_dot
	to all functions which create sizeentries. Never create a
	sizeentry with UNIT_PIXEL but with the image's unit and set it's
	unit to UNIT_PIXEL after creation if dot_for_dot is on.
	This way the image's unit can always be picked from the menu
	without selecting "More...".

	* app/interface.c: made the query_*_box() functions use the
	ActionArea.

	* plug-ins/gimpunitmenu.c: GTK_WIN_POS_MOUSE for the unit
	selection dialog.
1999-05-22 17:56:35 +00:00
Manish Singh 80de6ea79c app/gimage_cmds.c pdbgenned files
* app/gimage_cmds.c
* app/guides_cmds.c: pdbgenned files

* app/parasite_cmds.c: added image parasite cmds

* app/gimpimage.h: capitalized ChannelType and MergeType enums,
made HORIZONTAL_GUIDE and VERTICAL_GUIDE an enum

* app/layer.h: made APPLY and DISCARD an enum

* app/internal_procs.[ch]: finally pdbgenned

* app/channels_dialog.c
* app/fileops.c
* app/gimpimage.c
* app/layers_dialog.c: ChannelType, MergeType enum changes

* app/commands.c: remove gimage_cmds.h #include

* app/cursorutil.h: #include <gdk/gdktypes.h>

* app/paint_funcs.h: cosmetic change for PDB help

* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/layer_cmds.c
* app/tools_cmds.c: pdbgen updates

* app/Makefile.am: removed gimage_cmds.h, added guides_cmds.c

* plug-ins/Lighting/lighting_main.c
* plug-ins/MapObject/mapobject_main.c
* plug-ins/rcm/rcm.c
* plug-ins/xbm/xbm.c: removed trailing ";" from MAIN ()

-Yosh
1999-04-27 04:57:59 +00:00
jaycox d996031ab0 removed some nonfunctional code.
* app/edit_selection.c: removed some nonfunctional code.

	* app/paint_core.c: remove the alt toggles perfectmouse behaviour.

	* app/paintbrush.c: when ctl (or alt) is held set the fg (or bg) color.

	* app/gimpparasite.[ch]: made char *name parameters const.

	* app/parasitelist.c: removed unused static variable.

	* app/gimpdrawable.c, app/gimpimage.c, app/undo.[ch]: added
 	support for undoing parasite changes.

	* libgimp/gimp.h, libgimp/gimpimage.c: added
 	gimp_undo_push_group_start and gimp_undo_push_group_end

	* libgimp/parasite.[ch]: added undoable flag.

	* plug-ins/gdyntext/font_selection.c: fixed c++ style comment.

	* plug-ins/gdyntext/gdyntext.c: use the new undoable parasites.

	* plug-ins/rcm/rcm_misc.c: arctg can't be inline because it is
 	used in other .c files

	* plug-ins/waterselect/waterselect.c,
	* plug-ins/rotators/rotators.c, app/tips_dialog.c, app/plug_in.c:
 	fixed some warnings
1999-04-23 06:07:09 +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
GMT 1999 Andy Thomas 2252863eb6 This is a bit of a biggy. Added paths to layers & channels dialog. This is
Fri Mar  5 21:45:39 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>

	This is a bit of a biggy. Added paths to layers & channels
	dialog. This is not complete yet (it still has some rough edges ;-)

	New:-

	* paths_dialog.c
	* paths_dialog.h
	* pathsP.h

	These are the core parts of the paths dialog & interaction.

	* tools/penadd.xpm
	* tools/pendel.xpm
	* tools/pennorm.xpm
	* tools/penedit.xpm
	* tools/penstroke.xpm

	New images found in the dialog. Maybe someone with a better
	artistic flair could replace these?

	Changed:-

	* Makefile.am

	Added new files for build

	* layers_dialog.c

	Added new tab for paths.

	* bezier_select.h
	* bezier_selectP.h
	* bezier_select.c

	Rearrangement & fixes. Not finished yet.

	* iscissors.c

	Header file changes. (Need to include more headers).

	* gdisplay.c
	* gdisplay.h

	Hmmm... Added a function that did a mapping from gimage to gdisp.
	This is a little bit of a "hack", but it was needed.. really.

	* ops_buttons.h
	* ops_buttons.c

	Enhanced to create more types of button ops. Used in the paths dialog.

	* channels_dialog.c

	Header file changes?

	* xcf.c

	Paths stored in new PROP. Yosh.. I did as you and Adam suggested.

	* gimpimage.c
	* gimpimage.h
	* gimpimageP.h

	Added paths items to the image structures.
1999-03-05 23:50:24 +00:00
Sven Neumann 77f4d4abec More unit/resolution stuff (most if it from Michael).
--Sven
1999-03-03 17:48:29 +00:00
jaycox 6ae2a9bc9f added gimphistogram*, histogramwidget*, removed histogram.[ch]
* app/Makefile.am: added gimphistogram*, histogramwidget*,
	removed histogram.[ch]

	* app/histogram.[ch]: removed.  replaced with histogramwidget.[ch].

	* app/{gimphistogramP.h, gimphistogram.h, gimphistogram.c}: new
 	functions that calculate histograms in parallel and perform
 	calculations on them.

	* app/histogramwidget.[ch]: Same as old histogram.[ch], only it is
 	now a real widget, and it uses GimpHistograms instead of arrays of
 	values.

	* app/curves.c: #include gimphistogram.h instead of histogram.h.

	* app/equalize.c: use GimpHistogram and GimpLut.

	* app/gimpbrush.c, app/gimpimage.c, app/gimpset.c: use
	GTK_RUN_FIRST in calls to gimp_signal_new.

	* app/histogram_tool.c, app/levels.c, app/threshold.c: modified to
 	use the new HistogramWidget.

	* app/paint_funcs.c: removed some unused variables.

	* app/preferences_dialog.c: only display the num-processor field
 	if we are configured --with-mp

	* plug-ins/gee/gee.c: removed a couple of c++ style comments.
1999-03-01 05:11:19 +00:00
CST 1999 Shawn T. Amundson df051bd37f Add default to Cancel button, remove unset GTK_RECEIVES_DEFAULT from
Sat Feb 20 16:12:33 CST 1999 Shawn T. Amundson <amundson@gimp.org>

        * app/tips_dialog.c: Add default to Cancel button, remove
          unset GTK_RECEIVES_DEFAULT from prev/next buttons (they
          are like toolbar buttons), changed abreviated prev to
          previous, prev/next button are now same size, cancel button
          is in a button box.  Added vboxes where necessary to prevent
          prev/next and check button from filling vertically.

        * app/app_procs.c: when splashscreen dialog is larger than the
          logo, (due to huge font), center logo.

        * app/file_new_dialog.c: patch from Marco Lamb <lm@geocities.com>
          disallows resizing, changes vertical expanding of widgets to
          not occur

        * app/palette.c: patch from Marco Lamb <lm@geocities.com>.  Makes
          +/- buttons for zoom pixmaps (eventually, these can be replaced
          with a magnifying glass with a little +/- I think), so that they
          no longer expand as they did before.  I modified his patch so it
          did not create a misused toolbar.  I did some other stuff here too,
          moved Close button to the left, made it the window's default,
          and unset GTK_RECEIVES_DEFAULT off of the non-bottom buttons.

        * app/actionarea.c: another patch from Marco Lamb <lm@geocities.com>.
          This one changes buttons to be put in a button box which is right
          justified.  If we decide later that spread is better, we can
          change this easy enough.

        * app/tools/zoom_in.xpm, app/tools/zoom_out.xpm: + and - graphics.

        * libgimp/gimpunit.h
          libgimp/gimpunit.c: New files from Michael Natterer
          <mitschel@cs.tu-berlin.de>, gimp_unit_* routines.

        * app/gimage.h
          app/gimpimage.h
          app/gimpimage.c
          app/gimpimageP.h
          app/xcf.c: Patches from Michael Natterer <mitschel@cs.tu-berlin.de>,
          which keep a unit assocated with an image.
1999-02-21 02:08:15 +00:00
jaycox a26f8d3f5c new source files that implement pixel Look Up Table functions.
* app/gimplut.[ch]: new source files that implement pixel Look Up
 	Table functions.

	* app/Makefile.am: build gimplut.[ch]


	* app/brightness_contrast.c
	* app/curves.c
	* app/invert.c
	* app/levels.c
	* app/posterize.c: Use the new lut functions.  Use
 	pixel_region_process_parallel in the PDB versions of these routines.

	* libgimp/parasite.h
	* libgimp/parasite.c: new functions parasite_name and
 	parasite_compare.

	* app/gimpdrawable.c:
	* app/gimpdrawable.h: new function
 	gimp_drawable_get_color_at(...) returns the RGBA[color index]
 	value at a specified position in the drawable.  Don't set the dirty
 	bit on the image if a new parasite is the same as the old.

	* app/gimpimage.c
	* app/gimpimage.h new function
 	gimp_image_get_color_at(...) returns the RGBA[color index]
 	value at a specified position in the drawable.  Don't set the dirty
 	bit on the image if a new parasite is the same as the old.

	* app/by_color_select.c
	* app/color_picker.c: use the new gimp_*_get_color_at
 	functions instead of messing with the tiles.

	* app/layer.c: fixed a minor warning.

	* app/commands.c:
	don't scale the image if the new size == the old size

	* app/channel.c: optimized channel_bounds by only checking the
 	pixels in a tile if it is not already entirely within the
 	currently computed bounds.
1999-02-16 08:53:54 +00:00
GMT 1999 Austin Donnelly f45dfe1764 don't #include resize.h - it's not needed ditto.
Sun Feb 14 20:43:55 GMT 1999  Austin Donnelly  <austin@gimp.org>

	* app/channels_dialog.c: don't #include resize.h - it's not needed
	* app/preferences_dialog.c: ditto.

	* app/resize.c: do all dialog creation here to factor out lots of
	     common code in commands.c and layers_dialog.c.  Also cancel
	     resize/scale dialog on destruction/removal of images/layers -
	     proper fix for Peter Teichman's bug.
	* app/resize.h: new prototype for resize_widget_new() - beginnings
	     of resolution-aware scaling.
	* app/commands.c: pull all the resize/scale dialog creation stuff
	     out to resize.c
	* app/layers_dialog.c: same again.

	* app/layer.c: add REMOVED signal, sent when a layer is removed
	     from an image.  Layers typically aren't destroyed until their
	     undo info expires.
	* app/layer.h: prototype for layer_removed() call.
	* app/gimpimage.c: send out removed signal.
1999-02-14 21:09:55 +00:00
Marc Lehmann 446a11e938 *** empty log message *** 1999-02-13 18:19:44 +00:00
GMT 1999 Adam D. Moss 32675c4408 More robust and kickin' thumbnail support.
Sun Feb  7 15:04:23 GMT 1999 Adam D. Moss <adam@gimp.org>

        * app/fileops.c: More robust and kickin' thumbnail support.

        * app/edit_selection.c app/layer.c app/layer.h: Working
        on lazy opaque layer moves.  Disabled for now.

        * app/gdisplay.c
        * app/gimage.h
        * app/gimpimage.c
        * app/gimpimage.h
        * app/image_render.c
        * app/tile_manager.c: Errr, I don't remember.  No, seriously.
        Nothing of consequence.
1999-02-07 15:16:45 +00:00
GMT 1999 Adam D. Moss 0fdba92512 Backed out last change for now, since I'm a coward and yosh was
Thu Jan 21 00:10:33 GMT 1999  Adam D. Moss  <adam@gimp.org>

	* app/gimpimage.c: Backed out last change for now, since I'm a
	coward and yosh was threatening to make a release...!
1999-01-21 00:17:43 +00:00
Adam D. Moss f9317782bc killed some // comments 1999-01-20 22:45:03 +00:00
GMT 1999 Adam D. Moss 434870dd73 Enabled the gimage->projection copy-on-write hack for RGBA/GRAYA
Wed Jan 20 22:37:13 GMT 1999  Adam D. Moss  <adam@gimp.org>

        * app/gimpimage.c: Enabled the gimage->projection copy-on-write
        hack for RGBA/GRAYA single-layer images.  Masks/channels
        probably don't show yet when this is active.  Report strangeness.
        Thanks.
1999-01-20 22:41:38 +00:00
GMT 1999 Adam D. Moss 11068b83dd Part one of an effort to allow a one-layer gimage to share tiles with its
Mon Jan 18 22:55:19 GMT 1999 Adam D. Moss <adam@gimp.org>

	* app/gimpimage.c app/gimpimage.h:

	Part one of an effort to allow a one-layer gimage
	to share tiles with its own projection courtesy of
	copy-on-write, where sane.  This can save megabytes
	when working with such images.

	The code is 'mostly working' rather than 'perfect',
	so it's disabled until I have time to finish it.
1999-01-18 22:59:51 +00:00
GMT 1999 Adam D. Moss 7d362aadf7 app/gimage_cmds.c app/gimpimage.c app/layers_dialog.c
Sun Jan 17 20:36:45 GMT 1999 Adam D. Moss <adam@gimp.org>

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

	Guides are now duplicated upon image duplication.
	Guides are now scaled upon image scaling.
	Lowering, raising, and renaming a layer now correctly
	mark the image as dirty.
1999-01-17 20:41:38 +00:00
GMT 1999 Adam D. Moss 64a6d4571d app/blend.c app/bucket_fill.c app/convert.c app/crop.c app/cursorutil.c
Sun Jan 17 16:56:25 GMT 1999 Adam D. Moss <adam@gimp.org>

        * app/blend.c app/bucket_fill.c app/convert.c app/crop.c
        app/cursorutil.c app/cursorutil.h app/dialog_handler.c
        app/dialog_handler.h app/fuzzy_select.c app/gdisplay.c
        app/gimage_cmds.c app/gimpimage.c app/scroll.c
        app/transform_core.c app/xcf.c

	Hourglasses also apply to all registered dialogs.  Hourglasses
	added in a couple more important places.  New hack lets
	hourglasses be added and automagically removed again when
	gimp/gtk re-enters the idle loop.
1999-01-17 17:03:54 +00:00
Manish Singh a1d5f3abba app/colormaps.c app/devices.h minor cleanups
* app/colormaps.c
* app/devices.h
* app/tips_dialog.h: minor cleanups

* app/gimpimage.c: the dirty/clean handling seemed weird, and wasn't
correct in all cases. Just do a straight increment/decrement to
try to fix it.

-Yosh
1999-01-14 00:17:13 +00:00
GMT 1999 Adam D. Moss bf0dbb2018 Most lengthy UI-blocking operations now put up an hourglass so the user
Sun Jan 10 23:31:45 GMT 1999 Adam D. Moss <adam@gimp.org>

	* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
	app/cursorutil.c app/cursorutil.h app/fuzzy_select.c
	app/gdisplay.c app/gdisplay.h app/gimage_cmds.c
	app/gimpimage.c app/transform_core.c app/xcf.c:

	Most lengthy UI-blocking operations now put up an
	hourglass so the user can see that GIMP is working.
	Let me know if there are other vital cases.
1999-01-10 23:36:29 +00:00
Lauri Alanko a56f89b812 Added stuff to make gcg by default (for maintainers)
Redid the indexed palette dialog to not crash, to be a bit more
usable, and to be a cleaner module. A first shot at using gcg in
actual practice.. If something is screwed, let me know!
1999-01-07 19:53:05 +00:00
GMT 1998 Andy Thomas 1d591e95e6 Changed the palette dialog. New functionality. Better previews. Can
Fri Dec 18 23:46:11 GMT 1998 Andy Thomas <alt@picnic.demon.co.uk>

	Changed the palette dialog. New functionality. Better previews.
	Can display larger palettes. Can import palettes from images and from
	gradients. Fixed colour selection so that the hightlighted
	square says in sync on redraws.

	* app/convert.h
	* app/palette.h
	* app/palette.c
	* app/gradient.c
	* app/gradient_select.c
	* app/gimage.c
	* app/gimpimage.c
	* app/gimpimage.h

	New file:-

	* app/palette_entries.h
1998-12-19 00:00:06 +00:00
Manish Singh af37146ad9 warning pogrom
-Yosh
1998-12-17 11:40:19 +00:00
jaycox fe3fa4e2e5 libgimp/gserialize.c Changed the enum values to allow for simpler future
* libgimp/gserialize.c
	* libgimp/gserialize.h: Changed the enum values to allow for
 	simpler future expansion.

	* libgimp/parasite.c
	* libgimp/parasite.h: s/persistant/persistent/.
 	new accessor functions for parasites.  #defines for new flags.

	* app/paintbrush.c: added timeing code for brush strokes.
  	It is #ifed out, and is only valid for shift clicks.

	* app/parasite_cmds.h: fixed a warning

	* app/parasitelist.h
	* app/parasitelist.c: added _for_each and _length functions

	* app/gimpdrawable.c:  set the dirty flag when adding or removing a
 	persistent parasite

	* app/gimpimage.c: set the dirty flag when adding or removing a
 	persistent parasite.  Fixed bug and removed debug statements in
 	merge_down.

	* app/xcf.c: save and load resolution, parasites, and tattoos.

	* app/main.c: updated the deserialize test.

	* plug-ins/tiff/tiff.c
	* plug-ins/gif/gif.c: use PARASITE_PERSISTENT define instead of 1

	* plug-ins/bmp/bmp.c
	* plug-ins/bmp/bmp.h: declare some struct variable as extern.

	* app/paint_funcs.c: Lots of optimizations aimed at speeding up
 	painting.  Should see a 2-4X speed up on most painting
 	(depending on paint modes, brush size etc.)

	* app/drawable.c: check for NULL drawable in drawable_ID.
  	this stops us from being crashed by ill-behaved plug-ins
1998-12-16 11:23:30 +00:00
Manish Singh cb80e23d3b applied gimp-stric-981116-1, lots o files changes in app. i18n patch.
* applied gimp-stric-981116-1, lots o files changes in app. i18n patch.

* plug-ins/gfig/gfig.c: applied gimp-tml-981121-0, use proper PDB params

-Yosh
1998-11-23 14:47:09 +00:00
Sven Neumann 63e3d52df8 Cosmetic fixes in waves-anim.scm and app/app_procs.c.
First set of changes to integrate GAP (Gimp Animation Plugin written
by Michael Hofer)
New functions:  gimp_layer_[get|set]_linked
		gimp_image_raise_layer_to_top
		gimp_image_lower_layer_to_bottom


--Sven
1998-11-15 17:02:59 +00:00
GMT 1998 Austin Donnelly 9dd1c38b7f app/gimpimage.h app/gimpimageP.h app/gimpimage.c app/gimage_cmds.c
Sat Nov 14 23:16:55 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>

	* app/gimpimage.h
	* app/gimpimageP.h
	* app/gimpimage.c
	* app/gimage_cmds.c
	* app/file_new_dialog.c
	* app/info_window.c
	* libgimp/gimp.h
	* libgimp/gimpimage.c
	* plug-ins/newsprint/newsprint.c
	* plug-ins/tiff/tiff.c: gimp_image_{get,set}_resolution() calls
	now get and set both X and Y resolutions.  Gimp image struct now
	has two resolution fields, one for each direction.  I've updated
	the two plugins which used the info (TIFF and newsprint).
1998-11-14 23:28:47 +00:00
jaycox 682b1f3c65 Modified Files: ChangeLog app/Makefile.am app/app_procs.c app/channel.c
Modified Files:
 	ChangeLog app/Makefile.am app/app_procs.c app/channel.c
	app/channel.h app/file_new_dialog.c app/gimage_cmds.c
 	app/gimage_cmds.h app/gimpdrawable.c app/gimpdrawable.h
 	app/gimpdrawableP.h app/gimpimage.c app/gimpimage.h
 	app/gimpimageF.h app/gimpimageP.h app/internal_procs.c
 	app/layer.c app/layer.h app/parasite_cmds.c
 	app/parasite_cmds.h app/plug_in.c app/preferences_dialog.c
 	libgimp/Makefile.am libgimp/gimp.h libgimp/gimpdrawable.c
 	libgimp/gimpfeatures.h.in libgimp/gimpimage.c
 	libgimp/gimpmatrix.h libgimp/parasite.c libgimp/parasite.h
 	plug-ins/script-fu/script-fu-console.c
 	plug-ins/script-fu/script-fu.c
 Added Files:
 	app/gimpparasite.c app/gimpparasite.h app/parasitelist.c
 	app/parasitelist.h app/parasitelistF.h app/parasitelistP.h
 	libgimp/gimpparasite.c

lots of parasite related changes.
1998-10-30 10:21:33 +00:00
Manish Singh fc491e5fa6 applied gimp-ruth-981025-0, cosmetic fix for indexed palette dialog
* app/indexed_palette.c: applied gimp-ruth-981025-0, cosmetic fix for
indexed palette dialog

* app/fileops.[ch]
* app/gimage.h
* app/gimpimage.[ch]
* app/gimpimageP.h: applied gimp-ruth-981025-1, remember LAST_VALS for
image save

-Yosh
1998-10-27 09:26:38 +00:00
jaycox c5a8b43846 Modified Files: ChangeLog app/Makefile.am app/channel.c app/channel.h
Modified Files:
 	ChangeLog app/Makefile.am app/channel.c app/channel.h
 	app/channel_cmds.c app/channel_cmds.h app/drawable_cmds.c
 	app/gimage_cmds.c app/gimpdrawable.c app/gimpdrawable.h
 	app/gimpdrawableP.h app/gimpimage.c app/gimpimage.h
 	app/gimpimageP.h app/internal_procs.c app/layer.c app/layer.h
 	app/layer_cmds.c app/layer_cmds.h app/parasite_cmds.c
 	app/perspective_tool.c app/plug_in.c app/procedural_db.c
 	app/rotate_tool.c app/scale_tool.c app/shear_tool.c
 	app/transform_core.c app/transform_core.h docs/parasites.txt
 	libgimp/Makefile.am libgimp/gimp.c libgimp/gimp.h
 	libgimp/gimpdrawable.c libgimp/gimpimage.c
 	libgimp/gimpprotocol.c libgimp/gimpprotocol.h
 	plug-ins/gif/gif.c plug-ins/script-fu/script-fu.c
 	plug-ins/tiff/tiff.c
 Added Files:
 	libgimp/gimpmatrix.c libgimp/gimpmatrix.h libgimp/parasite.c
 	libgimp/parasite.h libgimp/parasiteF.h libgimp/parasiteP.h
 Removed Files:
 	app/parasite.c app/parasite.h app/parasiteF.h app/parasiteP.h
 	libgimp/gimpparasite.c libgimp/gimpparasite.h

Tue Oct 13 19:24:03 1998  Jay Cox  (jaycox@earthlink.net)

        * app/parasite.c
        * app/parasite.h
        * app/parasiteF.h
        * app/parasiteP.h : use a single name field instead of seperate
        creator/type fields.  moved to libgimp/parasite*

        * libgimp/Makefile.am
        * libgimp/gimp.c
        * libgimp/gimp.h
        * libgimp/gimpdrawable.c
        * libgimp/gimpimage.c
        * libgimp/gimpprotocol.c
        * libgimp/gimpprotocol.h
        * app/Makefile.am
        * app/channel.c
        * app/channel.h
        * app/channel_cmds.c
        * app/channel_cmds.h
        * app/drawable_cmds.c
        * app/gimage_cmds.c
        * app/gimpdrawable.c
        * app/gimpdrawable.h
        * app/gimpdrawableP.h
        * app/gimpimage.c
        * app/gimpimage.h
        * app/gimpimageP.h
        * app/internal_procs.c
        * app/layer.c
        * app/layer.h
        * app/layer_cmds.c
        * app/layer_cmds.h
        * app/parasite_cmds.c
        * app/plug_in.c
        * app/procedural_db.c: Add tattoos to layers and drawables.
        Use new style parasites.

        * libgimp/gimpmatrix.c
        * libgimp/gimpmatrix.h: new files for matrix math.

        * app/perspective_tool.c
        * app/rotate_tool.c
        * app/scale_tool.c
        * app/shear_tool.c
        * app/transform_core.c
        * app/transform_core.h: use GimpMatrix instead of the old matrix
        code from transform_core.

        * ligimp/gimpparasite*: removed.  now useing the same source
        for plug-ins and the core.

        * plug-ins/script-fu/script-fu.c
        * plug-ins/tiff/tiff.c
        * plug-ins/gif/gif.c: updated to use new style parasites.
1998-10-14 02:54:02 +00:00
jaycox e2a601d444 Modified Files: ChangeLog app/Makefile.am app/channel.c
Modified Files:
 	ChangeLog app/Makefile.am app/channel.c app/drawable_cmds.c
 	app/drawable_cmds.h app/gimage_cmds.c app/gimage_cmds.h
 	app/gimpdrawable.c app/gimpdrawable.h app/gimpdrawableP.h
 	app/gimpimage.c app/gimpimage.h app/gimpimageP.h
 	app/internal_procs.c app/layer.c app/plug_in.c
 	app/procedural_db.c app/procedural_db.h libgimp/Makefile.am
 	libgimp/gimp.c libgimp/gimp.h libgimp/gimpdrawable.c
 	libgimp/gimpenums.h libgimp/gimpimage.c libgimp/gimpprotocol.c
 	libgimp/gimpprotocol.h plug-ins/dbbrowser/dbbrowser_utils.c
 	plug-ins/script-fu/script-fu.c plug-ins/tiff/tiff.c
 Added Files:
 	app/parasite.c app/parasite.h app/parasiteF.h app/parasiteP.h
 	app/parasite_cmds.c app/parasite_cmds.h libgimp/gimpparasite.c
 	libgimp/gimpparasite.h

   	Allow plug-ins (and scripts) to attach arbitrary data
	(parasites) to images, layers and channels that can be read
	back at a later time.
1998-10-08 08:15:21 +00:00
Manish Singh 65ab53a840 applied gimp-bjj-980922-0, makes get_token's EOF report "sticky"
* app/general.c: applied gimp-bjj-980922-0, makes get_token's
EOF report "sticky"

* app/devices.c: applied gimp-bjj-980922-1, sanity check our
saved device info for NULL pointers

* app/file_new_dialog.c
* app/gimage_cmds.[ch]
* app/gimpimage.[ch]
* app/info_window.c
* app/internal_procs.c
* libgimp/gimp.h
* libgimp/gimpimage.c
* plug-ins/tiff/tiff.c: applied gimp-austin-980916-0, adds resolution
info to GimpImage, with accessors, and support in the tiff plug-in

-Yosh
1998-10-05 10:05:29 +00:00
BST 1998 Adam D. Moss c3d66ee292 Resizing image canvases should be less horrible to look at. I've removed
Sat Oct  3 21:01:34 BST 1998 Adam D. Moss <adam@gimp.org>

	* app/channel.c app/channel_ops.c app/disp_callbacks.c
	app/floating_sel.c app/gdisplay.c app/gdisplay.h
	app/gdisplay_ops.c app/gimpimage.c app/image_map.c
	app/interface.c app/layers_dialog.c app/plug_in.c app/undo.c
	app/xcf.c:

	Resizing image canvases should be less horrible to look at.
	I've removed the implicit clear of the whole area when a
	window is resized by the user, and clear the exposed area around
	the image manually when appropriate.

	Dialogs which want synchronous updates for previews and
	such use displays_update_now().

	Removed some old debugging nonsense which I don't want any more.
1998-10-03 20:14:00 +00:00
BST 1998 Adam D. Moss 769bfa6ecd Temporarily disabled IdleRender code whilst working on a more centralised
Thu Oct  1 12:44:19 BST 1998 Adam D. Moss <adam@gimp.org>

	* app/floating_sel.c app/gdisplay.c app/gdisplay.h
	app/gimpimage.c app/layers_dialog.c app/undo.c:
	Temporarily disabled IdleRender code whilst working
	on a more centralised approach.
1998-10-01 11:53:20 +00:00
BST 1998 Adam D. Moss d1d3697c9d Moved the idlerender stuff into gdisplay.c. Implemented idlerender when
Sat Sep 26 20:46:18 BST 1998  Adam D. Moss <adam@gimp.org>

	* app/channel.c app/channel_ops.c app/drawable.c
	app/floating_sel.c app/gdisplay.c app/gdisplay.h
	app/gimpimage.c app/layers_dialog.c app/undo.c:

	Moved the idlerender stuff into gdisplay.c.  Implemented
	idlerender when doing floating_sel->layer, and undoing/redoing
	layer deletion.

	idlerender would be useful in many other places for improving
	interactivity, if it weren't for the following problems:

		* By definition, idlerender doesn't wait for a
		gdisplays_update() call	before starting work - it just
		runs in idle time, which due to CPU contention with
		plugins may not	be genuinely available idle time when
		things are 'noninteractive'.

		* Most GIMP functions don't know whether they're
		being run interactively or not.  idlerender only
		makes sense for interactive work.  This is why
		it is currently only applied to those functions which
		would normally only be activated manually.

		* Mixing idlerender and drawable_update() /
		gdisplays_update_area() calls can lead to a region
		being rerendered twice.

	Hence, some slogwork is needed before idlerender can be
	applied in the more general case.
1998-09-26 20:07:46 +00:00
jaycox 0fb97ecb8e app/channel.[ch] app/channel_cmds.c app/drawable.h app/channels_dialog.c
* app/channel.[ch]
	* app/channel_cmds.c
	* app/drawable.h
	* app/channels_dialog.c
	* app/gimage_cmds.c
	* app/gimpdrawable.[ch]
	* app/gimpimage.c
	* app/layer.[ch]
	* app/layer_cmds.c
	* app/layer_select.c
	* app/layers_dialog.c: enforce unique names for layers and
	channels.  New functions {channel,gimp_drawable,layer}_{get,set}_name
1998-09-24 01:19:57 +00:00
CDT 1998 Larry Ewing 228d0484f2 Actually add the gdisplays_flush call that an this changelog entry refers to
Mon Aug 31 23:32:40 CDT 1998  Larry Ewing  <lewing@gimp.org>

	* app/gimpimage.c (gimp_image_remove_layer_mask): add back a call to
	gdisplays_flush that seems to have been lost in the
	objectification.
1998-09-02 04:47:37 +00:00
Adam D. Moss 976f803c44 Moved the guide PDB functions into a more sensible place, made them
* app/gimage_cmds.c app/gimage_cmds.h app/gimpimage.c
	app/gimpimage.h libgimp/gimp.h libgimp/gimpenums.h
	libgimp/gimpimage.c: Moved the guide PDB functions into
	a more sensible place, made them accessible to plugins
	through libgimp.
1998-09-01 18:26:41 +00:00
CDT 1998 Larry Ewing 3c7bb378d7 app/gimpimage.[ch] app/gimage_cmds.[ch] Added merge down procedure, I'm
Mon Aug 31 16:33:11 CDT 1998  Larry Ewing  <lewing@gimp.org>

 	* app/gimpimage.[ch]
	* app/gimage_cmds.[ch]
	* app/layers_dialog.c: Added merge down procedure, I'm not really
	sure if this behaves the way people expect it to, so please send
	me any comments on what it actually should do.  It also needs a
	little testing, especially the pdb call.

	* app/gimpimage.c: cleaned up Seth's merge commit a little. Also
	changed the mode of a merged layer to normal, as this seems to be
	the proper thing.  Discussion is welcome here as well.
1998-08-31 21:41:43 +00:00
Adam D. Moss eeca444ba3 I'm pleased to say that lewing doesn't want to kill me any more. Hooray!
* app/gimpimage.c: I'm pleased to say that lewing doesn't
	want to kill me any more.  Hooray!
1998-08-31 18:20:56 +00:00
Adam D. Moss b164ee7947 Guide creation/deletion/query is now available as PDB procedures. Not yet
* app/gimage.h app/gimpimage.c app/gimpimage.h
	app/internal_procs.c app/layer.c app/xcf.c:
	Guide creation/deletion/query is now available as
	PDB procedures.  Not yet directly exported to libgimp,
	and needs to be moved into gimage_cmds.c, but it
	works.
1998-08-31 17:31:19 +00:00
Seth Burgess 1f325983b7 Folding in Zach Beane's layer opacity on merge changes. 1998-08-31 16:40:58 +00:00
CDT 1998 Larry Ewing 8474c4e220 move the mru and docindex calls to before the call to
Mon Aug 24 13:41:49 CDT 1998  Larry Ewing  <lewing@gimp.org>

	* app/fileops.c (file_save): move the mru and docindex calls to
	before the call to gimp_image_set_filename so that they are still
	accessing valid memory.  Fixes the filename corruption seen in
	these interfaces.
	* app/gimpimage.c: added a warning about the side effect that
	caused the above bug.
1998-08-24 18:48:06 +00:00
People doing a 16 bpc version of gimp 8868daee7f ok, i modified *way* more files than CVS is telling me....
ok, i modified *way* more files than CVS is telling me....

- add canvas_init machinery (tile_manager_validate equivalent)
- fix bugs in compositing code
- layers/channels dialog, previews
- all color handling should be fairly precision independent now
- replaced gimage_type and gimage_base_type with Tags
- remove concept of flat vs. layered gimages

ray lehtiniemi <rayl@netrover.com>
1998-08-20 00:35:40 +00:00
scott 85393964a0 Another tile tweak. This one eliminates tile levels (which add
bookkeeping without being used).  Made copy_region more intelligent on
when to use tile sharing; some changes made to pixel_regions to
facilitate this.  Fixed a refcount problem with xcf load and probably
a few other bugs that I've forgotten about.  Added a sanity check in
set_undo_tiles to help with a problem larry is reporting with airbrush
and xinput.  --sg
1998-08-15 19:17:36 +00:00
scott 0ffabfe95b Bunch of tile-related stuff. 1998-08-11 17:35:34 +00:00
scott 7bcac06c7e Some data encapsulation stuff for tile managers. This one will
probably make everyone recompile AGAIN.  Ha ha ha.
1998-07-28 23:13:36 +00:00
scott 9ccef4a648 Tile overhaul. Mostly minor changes, except for tile*.*, which are
barely recognizable.
1998-07-10 02:43:12 +00:00
CDT 1998 Larry Ewing 1a1393983b fixed a small typo that prevented the composite image from being updated
Wed Jul  8 21:08:03 CDT 1998  Larry Ewing  <lewing@gimp.org>

	* app/gimpimage.c (gimp_image_raise_layer): fixed a small typo
	that prevented the composite image from being updated properly


CV: ----------------------------------------------------------------------
1998-07-09 02:07:37 +00:00
scott 217b494f52 Makefile.am blend.c boundary.c by_color_select.c channel.c color_picker.c
* Makefile.am blend.c boundary.c by_color_select.c channel.c
* color_picker.c drawable_cmds.c fuzzy_select.c gimpimage.c
* image_render.c ink.c layer.c main.c paint_core.c paint_funcs.c
* pixel_region.c plug_in.c tile.c tile.h tile_cache.c tile_manager.c
* tile_swap.c transform_core.c undo.c xcf.c: split off tile_pvt.h
from tile.h so changes in the tile implementation don't force a
complete recompile.
--sg
1998-07-08 06:41:58 +00:00
Lauri Alanko 6a02cda396 Started gimpset, a generic class for handling collections of
objects. (And to automatically manage their signals, not implemented
yet)

Moved drawable_apply_image to drawable.c

Created a global context object (image_context) to handle the
collection of images that the app manages.
1998-07-01 23:06:49 +00:00
Lauri Alanko ef3e162eae start collecting some core stuff to libgimpim.a
Started separating crud out of drawables.

	Isolated the id system of images entirely within pdb. Even the
	window titles and menus use pointers instead of ids. Should at
	least remind people that this is a developers' version. :)
1998-06-30 15:31:32 +00:00
Lauri Alanko 5c5c73f3f5 Misc cleaning up here and there. Note that since the ids were used
to detect if an image still exists, some things may, for now,
access freed images and break. This will be fixed once proper
destroy handlers are added.
1998-06-30 01:14:36 +00:00
Lauri Alanko faeaa7cc23 Removed most of the image id system. They're still used with pdb.
At quick glance, nothing seems to be broken, but if things weird
	out, blame me.

	Now just the same for layers, channels and displays...
1998-06-29 00:24:44 +00:00
Lauri Alanko 3897b71b72 Started doing a GtkObjectifying framework, and started cleaning images
from all sorts of ugly dependencies.
1998-06-28 10:39:58 +00:00