1. 11 Mar, 2016 1 commit
  2. 16 Jan, 2016 1 commit
    • Ell's avatar
      app: Add "Diagonal neighbors" option to the bucket fill tool · 350c7ca3
      Ell authored
      When checked, diagonally neighboring pixels are considered connected
      when calculating the affected area.
      This commit also adds a corresponding diagonal_neighbors parameter to
      gimp_drawable_bucket_fill(), and modifies the callers, other than the
      bucket fill tool, to pass FALSE for this parameter, to retain the
      current behavior.
  3. 02 Jun, 2014 1 commit
  4. 02 May, 2012 1 commit
  5. 17 Jan, 2009 1 commit
    • Michael Natterer's avatar
      Change licence to GPLv3 (and to LGPLv3 for libgimp). · d9b5207a
      Michael Natterer authored
      2009-01-17  Michael Natterer  <mitch@gimp.org>
      	* all files with a GPL header and all COPYING files:
      	Change licence to GPLv3 (and to LGPLv3 for libgimp).
      	Cleaned up some copyright headers and regenerated the parsers in
      	the ImageMap plugin.
      svn path=/trunk/; revision=27913
  6. 06 Dec, 2007 1 commit
    • Michael Natterer's avatar
      add GError parameter. · 90606bc4
      Michael Natterer authored
      2007-12-06  Michael Natterer  <mitch@gimp.org>
      	* app/core/gimpdrawable-bucket-fill.[ch]: add GError parameter.
      	* app/tools/gimpbucketfilltool.c: handle the returned error.
      	* tools/pdbgen/pdb/edit.pdb: pass the error.
      	* app/pdb/edit_cmds.c: regenerated.
      svn path=/trunk/; revision=24275
  7. 09 Dec, 2006 1 commit
  8. 05 Aug, 2006 1 commit
    • Michael Natterer's avatar
      Applied (modified and enhanced) patch from Chris Moller which allows tools · 9dabd23e
      Michael Natterer authored
      2006-08-05  Michael Natterer  <mitch@gimp.org>
      	Applied (modified and enhanced) patch from Chris Moller which allows
      	tools to distinguish similar colors not only by composite, but also
      	by R, G, B, H, S and V. Fixes bug #348291.
      	* app/core/core-enums.[ch]: added new enum GimpSelectCriterion
      	which can be one of { COMPOSITE, R, G, B, H, S, V }.
      	* app/core/gimpimage-contiguous-region.[ch]: added
      	select_criterion params and create the region based on difference
      	by the selected criterion.
      	* app/core/gimpchannel-select.[ch]
      	* app/core/gimpdrawable-bucket-fill.[ch]: take criterion params and
      	pass them through to the contiguous region functions.
      	* app/tools/gimpbucketfilloptions.[ch]
      	* app/tools/gimpselectionoptions.[ch]: added criterion properties
      	and GUI to select it.
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpfuzzyselecttool.c: pass the selected criterion to
      	the resp. core functions.
      	* app/widgets/gimpdrawabletreeview.c
      	* app/widgets/gimpselectioneditor.c
      	* app/display/gimpdisplayshell-dnd.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/selection_tools.pdb: changed accordingly
      	(simply pass GIMP_SELECT_CRITERION_COMPOSITE in most cases).
      	* app/pdb/edit_cmds.c
      	* app/pdb/selection_tools_cmds.c: regenerated.
  9. 14 Apr, 2004 1 commit
    • Michael Natterer's avatar
      Get rid of the "current_context" which was in fact just a bunch of global · 18d9161e
      Michael Natterer authored
      2004-04-15  Michael Natterer  <mitch@gimp.org>
      	Get rid of the "current_context" which was in fact just a bunch of
      	global variables. Instead, pass the needed context all the way
      	from the GUI and the PDB to the core. This is a prerequisite for
      	macro recording and generally helps separating the various
      	subsystems from each other. Work in progress...
      	* app/core/gimp.[ch]: removed member "current_context" and
      	* app/core/gimp-edit.[ch]
      	* app/core/gimpdrawable-blend.[ch]
      	* app/core/gimpdrawable-bucket-fill.[ch]
      	* app/core/gimpdrawable-offset.[ch]
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpimage-crop.[ch]
      	* app/core/gimpimage-flip.[ch]
      	* app/core/gimpimage-merge.[ch]
      	* app/core/gimpimage-resize.[ch]
      	* app/core/gimpimage-rotate.[ch]
      	* app/core/gimpimage.[ch]
      	* app/core/gimpimagefile.[ch]
      	* app/core/gimpitem-linked.[ch]
      	* app/core/gimpitem.[ch]
      	* app/core/gimplayer.[ch]
      	* app/core/gimpselection.[ch]
      	* app/core/gimptemplate.[ch]
      	* app/file/file-open.[ch]
      	* app/file/file-save.[ch]
      	* app/pdb/procedural_db.[ch]
      	* app/text/gimptext-compat.[ch]
      	* app/text/gimptextlayer-transform.[ch]
      	* app/gui/brush-select.[ch]
      	* app/gui/font-select.[ch]
      	* app/gui/gradient-select.[ch]
      	* app/gui/palette-select.[ch]
      	* app/gui/pattern-select.[ch]: added tons of "GimpContext *context"
      	parameters and use the passed context instead of
      	* app/app_procs.c
      	* app/batch.c
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable.c
      	* app/paint/gimperaser.c
      	* app/paint/gimppaintbrush.c
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-ins.c
      	* app/text/gimptextlayer.c
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpcroptool.c
      	* app/tools/gimpeditselectiontool.c
      	* app/tools/gimpfliptool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimptransformtool.c
      	* app/vectors/gimpvectors.c
      	* app/gui/convert-dialog.c
      	* app/gui/drawable-commands.c
      	* app/gui/edit-commands.c
      	* app/gui/file-commands.c
      	* app/gui/file-new-dialog.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/gui/image-commands.c
      	* app/gui/layers-commands.c
      	* app/gui/offset-dialog.c
      	* app/gui/select-commands.c
      	* app/gui/vectors-commands.c
      	* app/widgets/gimpdnd.c
      	* app/widgets/gimpdocumentview.c
      	* app/widgets/gimphelp.c
      	* app/widgets/gimpthumbbox.c: pass gimp_get_user_context() or
      	GIMP_CONTEXT(tool_options) or whatever is the right context
      	to the changed core functions.
      	* tools/pdbgen/app.pl: pass "GimpContext *context" to all
      	generated PDB invokers.
      	* tools/pdbgen/pdb/brush_select.pdb
      	* tools/pdbgen/pdb/brushes.pdb
      	* tools/pdbgen/pdb/drawable.pdb
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/font_select.pdb
      	* tools/pdbgen/pdb/gradient_select.pdb
      	* tools/pdbgen/pdb/gradients.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/paint_tools.pdb
      	* tools/pdbgen/pdb/palette.pdb
      	* tools/pdbgen/pdb/palette_select.pdb
      	* tools/pdbgen/pdb/palettes.pdb
      	* tools/pdbgen/pdb/paths.pdb
      	* tools/pdbgen/pdb/pattern_select.pdb
      	* tools/pdbgen/pdb/patterns.pdb
      	* tools/pdbgen/pdb/selection.pdb
      	* tools/pdbgen/pdb/text_tool.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: pass the new context
      	parameter to the changed core functions.
      	* app/pdb/*_cmds.c: regenerated.
  10. 14 Feb, 2003 1 commit
    • Michael Natterer's avatar
      Fixed most of the bugs the Script-Fu logo scripts triggered: · a4a22458
      Michael Natterer authored
      2003-02-14  Michael Natterer  <mitch@gimp.org>
      	Fixed most of the bugs the Script-Fu logo scripts triggered:
      	* app/core/gimpdrawable-bucket-fill.[ch]
      	(gimp_drawable_bucket_fill): added "gboolean do_seed_fill"
      	parameter instead of assuming TRUE.
      	(gimp_drawable_bucket_fill_full): moved "color" and "pattern"
      	parameters to the end.
      	* app/tools/gimpbucketfilltool.c
      	* app/display/gimpdisplayshell-dnd.c
      	* app/widgets/gimpdrawablelistview.c: changed accordingly.
      	* tools/pdbgen/pdb/misc_tools.pdb: only pass TRUE if the selection
      	is empty. Restores old PDB behaviour.
      	* app/core/gimpimage-undo.c (gimp_image_undo_group_end): return
      	early if gimage->undo_on is FALSE. Fixes bogus criticals.
      	* app/core/gimpimage.c (gimp_image_add_[layer|channel|vectors]):
      	clamp the passed position to sane values before calling
      	gimp_container_insert() (Scripts adding layers at wrong indices
      	are broken but should not crash the core).
      	* tools/pdbgen/pdb/paint_tools.pdb: need to copy the relevant
      	paint parameters from the current context now that the paint
      	options are contexts themselves.
      	* tools/pdbgen/pdb/palette.pdb: removed useless includes.
      	(Mostly) fixed text PDB functions:
      	* app/text/gimptext-compat.[ch] (text_render): don't set
      	text->font_size = -1 but get the size from the PangoFontDescrition.
      	(text_get_extents): return the logical_rect, not the ink_rect
      	because the size of the created text layer will be the logical_rect.
      	* tools/pdbgen/pdb/text_tool.pdb: removed text_fontname_create()
      	utility function and the usage of pass_through and implement all
      	invokers in-place, using the correct parameters.
      	* plug-ins/script-fu/siod-wrapper.c: fixed BG-IMAGE-FILL compat
      	define so we can BG fill again. Cleaned up color handling code.
      	* plug-ins/script-fu/scripts/coolmetal-logo.scm
      	* plug-ins/script-fu/scripts/glossy.scm
      	* plug-ins/script-fu/scripts/land.scm
      	* plug-ins/script-fu/scripts/lava.scm
      	* plug-ins/script-fu/scripts/test-sphere.scm: use new gradient names.
      	* app/pdb/misc_tools_cmds.c
      	* app/pdb/paint_tools_cmds.c
      	* app/pdb/palette_cmds.c
      	* app/pdb/text_tool_cmds.c: regenerated.
  11. 18 Mar, 2002 1 commit
    • Sven Neumann's avatar
      app/core/core-enums.h moved some more enums into the right place and · bba46560
      Sven Neumann authored
      2002-03-18  Sven Neumann  <sven@gimp.org>
      	* app/core/core-enums.h
      	* app/core/core-types.h: moved some more enums into the right place
      	and namespacified them.
      	* app/undo.c
      	* app/core/gimpdrawable-bucket-fill.[ch]
      	* app/core/gimpdrawable.c
      	* app/core/gimpedit.c
      	* app/core/gimpimage-mask.c
      	* app/core/gimpimage-new.c
      	* app/core/gimpimage-qmask.c
      	* app/core/gimplayer.[ch]
      	* app/display/gimpdisplayshell-dnd.c
      	* app/gui/channels-commands.c
      	* app/gui/file-new-dialog.c
      	* app/gui/layers-commands.c
      	* app/gui/menus.c
      	* app/paint-funcs/paint-funcs.c
      	* app/tools/gimpbucketfilltool.c
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.
      	* libgimp/gimpcompat.h
      	* plug-ins/script-fu/siod-wrapper.c: added compat defines for changed
      	GimpMaskApplyMode enum.
      	* tools/pdbgen/enums.pl
      	* app/pdb/drawable_cmds.c
      	* app/pdb/edit_cmds.c
      	* app/pdb/image_cmds.c
      	* app/pdb/layer_cmds.c
      	* app/pdb/misc_tools_cmds.c
      	* libgimp/gimpenums.h
      	* plug-ins/script-fu/script-fu-constants.c: regenerated.
  12. 10 Feb, 2002 1 commit
    • Michael Natterer's avatar
      removed #if 0'ed old display update hackery. Don't flush the displays here · ceed8eae
      Michael Natterer authored
      2002-02-10  Michael Natterer  <mitch@gimp.org>
      	* app/undo.c: removed #if 0'ed old display update hackery. Don't
      	flush the displays here at all and include nothing from
      	* app/undo_history.c
      	* app/gui/edit-commands.c: call gdisplays_flush() if undo_pop() or
      	undo_redo() return TRUE.
      	* app/core/gimpimage-contiguous-region.[ch]: allow a contiguous
      	transparent region to be selected/filled (#71058).
      	* app/core/gimpdrawable-bucket-fill.[ch]
      	* app/core/gimpimage-mask-select.[ch]: take a boolean
      	fill_transparent/select_transparent parameter and pass it to the
      	contiguous region funcion.
      	* app/display/gimpdisplayshell-dnd.c: pass
      	fill_transparent == FALSE to bucket_fill_full because we fill the
      	whole drawable anyway here.
      	* app/tools/gimpbucketfilltool.c
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/selection_options.[ch]: added toggle buttons to the
      	tool options and pass the value to the fill and select core
      	* tools/pdbgen/pdb/misc_tools.pdb
      	* tools/pdbgen/pdb/selection_tools.pdb: hardcode
      	"select_transparent" to FALSE to get the old behaviour. Should
      	export the new feature to plug-ins however.
      	* app/pdb/misc_tools_cmds.c
      	* app/pdb/selection_tools_cmds.c: regenerated.
  13. 08 Nov, 2001 1 commit
    • Michael Natterer's avatar
      build display/ before tools/. · 02fde14c
      Michael Natterer authored
      2001-11-08  Michael Natterer  <mitch@gimp.org>
      	* app/Makefile.am: build display/ before tools/.
      	* app/devices.c: devices_check_change(): added all events
      	which have a GdkDevice pointer.
      	* app/gimpprogress.c: include "display-types.h" instead of
      	* app/core/Makefile.am
      	* app/core/gimpdrawable-bucket-fill.[ch]: new files: the bucket_fill
      	stuff taken from tools/gimpbucketfilltool.[ch].
      	* app/core/core-types.h: added "BucketFillMode".
      	* app/core/gimpimage-mask-select.[ch]: cleanup.
      	* app/core/gimpmarshal.list: added more marshallers for GimpTool's
      	new signal signatures.
      	* app/core/gimpmarshal.[ch]: regenerated.
      	* app/display/Makefile.am
      	* app/display/gimpdisplayshell-dnd.[ch]
      	* app/display/gimpdisplayshell-layer-select.[ch]: new files: the
      	canvas drop callbacks from gimpdisplayshell-callbacks.[ch] and
      	the stuff formerly knows as gui/layer-select.[ch].
      	* app/display/gimpdisplay.h: don't include "gui/gui-types.h".
      	* app/display/gximage.c: include "display-types.h".
      	* app/display/gimpdisplay-foreach.c
      	* app/display/gimpdisplayshell.[ch]: call gdsplay_delete(), don't
      	destroy the shell widget.
      	* app/gui/Makefile.am
      	* app/gui/layer-select.[ch]: removed.
      	* app/gui/gradients-commands.c: fixed "Save as POV" fprintf()s.
      	* app/gui/preferences-dialog.c: removed the layer_select stuff
      	because it is useless with the new preview system.
      	* app/gui/tool-options-dialog.c: send the correct data to the
      	* app/gui/tools-commands.c: changed to follow the new
      	gimp_tool_initialize() semantics (see below).
      	Tool & canvas event handling chainsawing:
      	* app/tools/tools-types.h: new struct GimpCoords which contains
      	x, y, pressure, tilt etc.
      	* app/display/gimpdisplayshell-callbacks.[ch]: added utility
      	functions which transparently retreive the current event's
      	GimpCoords or take it from the device directly if the event has
      	none. Pass GimpCoords _in_image_coordinates_ to all tool
      	Most important: don't pass GdkEvents and display coordinates to
      	tools any more.
      	* app/tools/gimptool.[ch]: changed virtual functions to take
      	GimpCoords, time and state separately instead of GdkEvents.
      	* app/tools/gimpbezierselecttool.c
      	* app/tools/gimpblendtool.c
      	* app/tools/gimpbucketfilltool.[ch]
      	* app/tools/gimpbycolorselecttool.c
      	* app/tools/gimpclonetool.c
      	* app/tools/gimpcolorpickertool.c
      	* app/tools/gimpconvolvetool.c
      	* app/tools/gimpcroptool.[ch]
      	* app/tools/gimpcurvestool.c
      	* app/tools/gimpdodgeburntool.c
      	* app/tools/gimpdrawtool.c
      	* app/tools/gimpeditselectiontool.[ch]
      	* app/tools/gimperasertool.c
      	* app/tools/gimpfliptool.c
      	* app/tools/gimpfreeselecttool.[ch]
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimpinktool.c
      	* app/tools/gimpiscissorstool.c
      	* app/tools/gimpmagnifytool.c
      	* app/tools/gimpmeasuretool.c
      	* app/tools/gimpmovetool.c
      	* app/tools/gimppainttool.c
      	* app/tools/gimppathtool.[ch]
      	* app/tools/gimprectselecttool.c
      	* app/tools/gimprotatetool.c
      	* app/tools/gimpselectiontool.[ch]
      	* app/tools/gimpsmudgetool.c
      	* app/tools/gimptexttool.c
      	* app/tools/gimptransformtool.[ch]
      	* app/tools/path_tool.[ch]
      	* app/tools/selection_options.c: tons and tons of changes:
      	- changed to use the new virtual function parameters.
      	- removed zillions of gdisplay_untransform_coords().
      	- get the active drawable's offsets manually in many cases.
      	  (questionable, but IMHO ok because it's obvious and not simply a
      	  "TRUE" passed to some function)
      	- reordered some functions to be consistent across tools.
      	- some tools had to be changed to work on image coords, not
      	  display ones (esp. crop).
      	- fixed strange rotate tool behaviour which should be backported
      	  to stable.
      	- some stuff i came across.
      	- indentation and other paranoia.
      	- rounding of coordinated may be broken in some tools.
      	- new bugs guaranteed.
      	* app/tools/tool_manager.[ch]: new semantic of
      	tool_manager_initialize_active() (looked at the places where it
      	was used from and put common code together). Should be a bit
      	better now :)
      	* app/tools/gimpblendtool.c
      	* app/tools/transform_options.c: use the new GTK+ feature that a
      	widget (toggle button) can be a frame's title for this tools' tool
      	* app/widgets/widgets-types.h: stuff.
      	* themes/Default/gtkrc: s/GtkDialog/GimpDialog/.
      	* tools/pdbgen/Makefile.am: don't scan tools/gimpbucketfilltool.h
      	any more.
      	* tools/pdbgen/enums.pl: regenerated.
      	* tools/pdbgen/pdb/tools.pdb: changed bucket_fill wrapper.
      	* app/pdb/tools_cmds.c: regenerated.