Commit Graph

634 Commits

Author SHA1 Message Date
Michael Natterer 4a0f7c5866 removed all the "typedef gimage_function gimp_image_function" stuff so we
2000-12-30  Michael Natterer  <mitch@gimp.org>

	* app/gimage.[ch]: removed all the
	"typedef gimage_function gimp_image_function" stuff so we can clearly
	see what is really a GImage function.
	Removed gimage_get_ID(). Use pdb_id_to_image() instead.

	* app/airbrush.c
	* app/desaturate.c
	* app/disp_callbacks.c
	* app/equalize.c
	* app/fileops.c
	* app/floating_sel.c
	* app/gdisplay_ops.c
	* app/gimpdrawable.c
	* app/global_edit.c
	* app/image_map.c
	* app/invert.c
	* app/lc_dialog.c
	* app/paths_dialog.c
	* app/plug_in.c
	* app/xcf.c

	* app/color_cmds.c
	* app/convert_cmds.c
	* app/image_cmds.c
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly.
2000-12-30 00:16:50 +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 7355ee111c app/bezier_select.[ch] massive cleanup (prototypes, indentation, ...)
2000-12-28  Michael Natterer  <mitch@gimp.org>

	* app/bezier_select.[ch]
	* app/bezier_selectP.h: massive cleanup (prototypes, indentation, ...)
2000-12-27 23:40:34 +00:00
Michael Natterer f8769ee5e2 cleanup, proper prototypes, ...
2000-12-28  Michael Natterer  <mitch@gimp.org>

	* app/measure.c: cleanup, proper prototypes, ...
2000-12-27 23:25:51 +00:00
Michael Natterer 274a33a063 This is not my day :) 2000-12-24 16:55:13 +00:00
Sven Neumann 336e10aed0 applied a patch from David Hodson that reverts the curves tool back to its
2000-12-19  Sven Neumann  <sven@gimp.org>

	* app/curves.c: applied a patch from David Hodson that reverts
	the curves tool back to its old behaviour (start with the identical
	transform), but keeps the fix for bug #33403.
2000-12-19 16:31:49 +00:00
Michael Natterer 3c85607e6a app/Makefile.am removed.
2000-12-19  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphistogramP.h: removed.

	* app/gimphistogram.[ch]
	* app/histogramwidget.[ch]: Histogram cleanup: replaced the
	channel #define's by a properly named enum and use this enum
	type as parameter in functions instead of "int".

	* app/curves.c
	* app/histogram_tool.c
	* app/levels.c: changed accordingly.
2000-12-19 14:43:54 +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 6639e17c0d preview the curve settings in the image window when initializing the tool.
2000-12-17  Sven Neumann  <sven@gimp.org>

	* app/curves.c: preview the curve settings in the image window when
	initializing the tool. This way the new curves behaviour (init with
	last settings) is visible.

	* app/user_install.c: check that strings are non-NULL before passing
	them to strcmp.

	* libgimp/gimpfileselection: do not try to pass a NULL text to
	gtk_entry_set_text, use an empty string instead.
2000-12-17 00:28:32 +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 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
Sven Neumann 01412f0ba2 clamp scale factor between 0.0 and 1.0 to avoid problems with broken
2000-12-11  Sven Neumann  <sven@gimp.org>

	* app/paint_core.c: clamp scale factor between 0.0 and 1.0 to avoid
	problems with broken XInput drivers. Should fix bug #18913.
2000-12-11 19:30:22 +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
GMT 2000 Andy Thomas fb4fb8c014 app/curves.c app/levels.c
Thu Nov 30 23:26:07 GMT 2000 Andy Thomas <alt@gimp.org>

	* app/curves.c
        * app/levels.c

	Fix for gimp bug #33403. The curves and levels dialogs should now
	work in GRAYA images.
2000-11-30 23:23:59 +00:00
Austin Donnelly 9a3f33f6f0 Applied patch from David Hodson <hodsond@ozemail.com.au> to fix Bug#33399:
2000-11-29  Austin Donnelly  <austin@gimp.org>

	* app/curves.c: Applied patch from David Hodson
	    <hodsond@ozemail.com.au> to fix Bug#33399: GIMP crashes when
	    applying curve to Grayscaled image when preview is off.
	    Previously the curves tool attempted a reset when changing
	    image, but didn't correctly do this.  Now it has the
	    (more useful) behaviour of doing a partial reset, where the
	    curve remains the same across multiple invocations, allowing
	    you to apply the same tweak to multiple images.  The internal
	    state relevant to image type/depth is correctly reset,
	    stopping the segfault behaviour seen before.

	    Still no fix for Bug#33403: Curves/Levels Tool does not work
	    on GRAYA-Images.
2000-11-29 16:19:43 +00:00
Garry R. Osgood 18871b798e 2000-11-24 Garry R. Osgood <gosgood>@idt.net *
* app/smudge.c
Defer tool initialization to first motion event.
Fixes latency problem that gave rise to
Shift-smudge bug. Closes #30778.
2000-11-24 17:49:03 +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
Sven Neumann f6fb459511 use gdk_fonset_load() as we do in text_render(). Supposed to fix #31099.
2000-11-07  Sven Neumann  <sven@gimp.org>

	* app/text_tool.c (text_get_extends): use gdk_fonset_load() as we
	do in text_render(). Supposed to fix #31099.
2000-11-07 18:37:28 +00:00
Sven Neumann 746c37eb7e moved the new enum Garry introduced recently from the header to the .c
2000-11-06  Sven Neumann  <sven@gimp.org>

	* app/convolve.[ch]: moved the new enum Garry introduced recently
	from the header to the .c file so it does not get exported to the
	PDB by enumgen.pl.

and some updates to the italian translation as sent by Daniele Medri.
2000-11-06 12:40:07 +00:00
Garry R. Osgood 2bcc63533c Garry R. Osgood <gosgood>@idt.net
Convolution tool can now operate
in two-pixel regions at the edge
of images. Closes #19285. See
http://idt.net/~gosgood/gimp-patch/patch08.html
2000-11-04 17:54:01 +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
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
Sven Neumann aa5d61c24d use gimp_dialog_hide() instead of gtk_widget_hide(). Closes bug #19164.
2000-07-30  Sven Neumann  <neo@wintermute.ochsenblut.de>

* app/tools.c (tool_options_close_callback): use
gimp_dialog_hide() instead of gtk_widget_hide(). Closes bug #19164.
2000-07-30 00:24:40 +00:00
Michael Natterer a17cf3bd0b cursors/background.xbm cursors/background_mask.xbm cursors/foreground.xbm
2000-07-29  Michael Natterer  <mitch@gimp.org>

	* cursors/background.xbm
	* cursors/background_mask.xbm
	* cursors/foreground.xbm
	* cursors/foreground_mask.xbm
	* cursors/pattern.xbm
	* cursors/pattern_mask.xbm: new files.

	* cursors/gimp-tool-cursors.xcf
	* app/cursorutil.[ch]: new cursor modifiers for bucket_fill.

	* app/bucket_fill.c: use the new modifiers. Closes #17871.

	* app/convolve.c
	* app/dodgeburn.c: added cursor_update functions which update the
	tools' "toggled" state before they call the cursor_update "method"
	of the paint_core "class" -- eek -- I-want-real-objects!
	Closes #17872 and #17873.

	* app/tools.h: added SELECTION_ANCHOR to the SelectOps enum.

	* app/free_select.c
	* app/rect_select.c: use the new enum value in the "oper_update"
	and "cursor_update" functions. In the "motion" function, set the
	tool's operation type back to SELECTION_REPLACE if the tool is
	active and call the "cursor_update" function explicitly.
	Closes #17870.

	* app/by_color_select.c: fixed warning caused by the new enum value.
2000-07-29 16:12:40 +00:00
Seth Burgess 24542e8c9c app/levels.c : changed reset to reset all channels, not just currently
active one.  Fixes #15042.
2000-07-05 01:26:10 +00:00
BST 2000 Andy Thomas 3ed86a7343 app/paint_core.c
Tue Jun 27 22:26:30 BST 2000 Andy Thomas <alt@gimp.org>

	* app/paint_core.c

	Fixed problem with coloured brushes/grayscale images and painting
	close to the edge. Fixes bug #14159
2000-06-27 21:26:59 +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
BST 2000 Andy Thomas 7434c9bc8b app/edit_selection.c
Fri Jun 16 23:47:00 BST 2000 Andy Thomas <alt@gimp.org>

	* app/edit_selection.c

	A better fix for the problem with the selection outline.
	It should now cope with offsets in the image as well as
	scaling the image while moving the selection.

	These problems occurred both when moving the selection as a layer
	and just moving the selection outline.
2000-06-16 22:48:10 +00:00
Michael Natterer 7890b7ace9 Makefile.am cursors/gimp-tool-cursors.xcf cursors/perspective_small.xbm
2000-06-16  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/perspective_small.xbm
	* cursors/perspective_small_mask.xbm
	* cursors/rotate_small.xbm
	* cursors/rotate_small_mask.xbm
	* cursors/shear_small.xbm
	* cursors/shear_small_mask.xbm: new cursors.

	* app/tools.c
	* app/transform_core.c: use them.
2000-06-16 11:38:45 +00:00
Sven Neumann 858715f64d Dodge/Burn seems to handle animated brushes quite well, so set
2000-06-16  Sven Neumann  <sven@gimp.org>

        * app/dodgeburn.c (tools_new_dodgeburn): Dodge/Burn
        seems to handle animated brushes quite well, so set
        TOOL_CAN_HANDLE_CHANGING_BRUSH.
2000-06-16 01:45:08 +00:00
Michael Natterer 35e55cf16d app/convolve.c app/dodgeburn.c app/eraser.c app/paint_core.c fixed my tool
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* app/convolve.c
	* app/dodgeburn.c
	* app/eraser.c
	* app/paint_core.c
	* app/tools.[ch]: fixed my tool toggle braino: the paint_core
	cannot decide which cursor to show from the state of the modifier
	keys.

	Added a boolean "toggled" variable to the Tool structure,
	set it in the toggleable paint tools and evaluate it in the
	paint_core.
2000-06-14 14:22:47 +00:00
Michael Natterer 1a2cfc0ff8 Makefile.am cursors/gimp-tool-cursors.xcf cursors/anchor.xbm new cursor
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/anchor.xbm
	* cursors/anchor_mask.xbm: new cursor modifier for the move tool.

	* app/cursorutil.[ch]
	* app/move.c: use the new modifier for anchoring floating selections.
2000-06-14 13:57:17 +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 db76b885a2 another cursor fix.
2000-06-15  Michael Natterer  <mitch@gimp.org>

	* app/crop.c (crop_cursor_update): another cursor fix.
2000-06-14 10:59:13 +00:00
Michael Natterer af1bd5e367 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:13 +00:00
BST 2000 Andy Thomas be17b30bce app/edit_selection.c
Tue Jun 13 22:38:22 BST 2000 Andy Thomas <alt@gimp.org>

	* app/edit_selection.c

	Fixed problem with selection outline. The outline drawing did not
	take acount of the display offset so that if you moved a selection
	to the edge of an image that cause the image to scroll in the viewing
	window the section outline was drawn incorrectly.
2000-06-13 21:44:48 +00:00
Jay Cox 49424610cd These files should have been commited in my 2000-05-08 commit but somehow
2000-06-13  Jay Cox  <jaycox@gimp.org>

        These files should have been commited in my 2000-05-08 commit
	but somehow they didnt make it.

	* 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-06-13 09:13:16 +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 8630a62302 as suggested by Daniel Egger, set TOOL_CAN_HANDLE_CHANGING_BRUSH for the
2000-06-08  Sven Neumann  <sven@gimp.org>

	* app/eraser.c: as suggested by Daniel Egger, set
	TOOL_CAN_HANDLE_CHANGING_BRUSH for the eraser tool.
	Fixes bug #13172.
2000-06-07 23:13:39 +00:00
Sven Neumann a43f448b9d indentation, no real changes
2000-06-05  Sven Neumann  <sven@gimp.org>

        * app/paint_core.[ch]: indentation, no real changes

        * plug-ins/gap/README
        * plug-ins/gap/gap_mov_dialog.c
        * plug-ins/gap/gap_mov_exec.c: applied a patch from Wolfgang
        Hofer

        * plug-ins/imagemap/imap_csim.y: applied a patch from
        Maurits Rijk which promises to fix bug #10090.
        Yosh, could you regenerate the C code, please...?!

        * tips/gimp_tips.txt: applied gimp-quinet-20000508-0.patch,
        an update to the english tips file provided by Raphael Quinet.
2000-06-05 22:08:45 +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
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
Sven Neumann 95500f2d40 moved Magnify into the Transformation tools category. This is not entirely
2000-05-22  Sven Neumann  <sven@gimp.org>

* app/tools.c: moved Magnify into the Transformation tools
category. This is not entirely correct, but at least the
tools are now grouped as they appear in the toolbox.

* plug-ins/common/flarefx.c: applied modified version of
gimp-timecop-200005-4.flarefx which adds a scaled down
flarefx to tthe preview.


--Sven
2000-05-22 17:39:15 +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 03b2e9d08a when transforming a selection in an indexed image, we used to create an
2000-05-20  Sven Neumann  <sven@gimp.org>

* app/transform_core.c (transform_core_cut): when transforming
a selection in an indexed image, we used to create an indexed
tile_buffer. This gives strange (black) results later when we
use layer_new_from_tiles() since that function assumes that a
TileManager is always RGB or GRAY. Eeek!!

Instead of fixing it correctly by changing the TileManager
struct, I've unset the keep_indexed flag when calling
gimage_mask_extract(), so whatever layer_new_from_tiles()
assumes becomes true. Fixes bug #10762.


--Sven
2000-05-20 10:49:03 +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
Sven Neumann a907871937 gimprc.in gimprc.win32 set default image size back to 256x256, default to
* gimprc.in
* gimprc.win32
* app/gimprc.c: set default image size back to 256x256, default
to local paint options and info-window-follows-mouse.

* app/brightness_contrast.c
* app/docindex.c
* app/hue_saturation.c: picky changes on some labels.

* app/tips_dialog.c: applied (sort of) gimp-quinet-20000504-0,
which replaces the message "Show tip next time" in the
Tip Of The Day dialog with "Show tip next time GIMP starts".


--Sven
2000-05-07 10:06:27 +00:00
Manish Singh e35436426b applied gimp-quinet-000427-0, draw the straight line preview in the center
* app/paint_core.c: applied gimp-quinet-000427-0, draw the straight
line preview in the center of the start and end pixels at high zoom
levels.

-Yosh
2000-05-01 18:10:20 +00:00