1. 10 Sep, 2007 1 commit
    • Sven Neumann's avatar
      app/core/gimp-transform-region.[ch] app/core/gimpchannel.c · 77b7161a
      Sven Neumann authored
      2007-09-10  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimp-transform-region.[ch]
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpdrawable.c
      	* app/core/gimpimage-item-list.[ch]
      	* app/core/gimpitem-linked.[ch]
      	* app/core/gimpitem.[ch]
      	* app/core/gimplayer.c
      	* app/paint/gimpperspectiveclone.c
      	* app/vectors/gimpvectors.c: removed supersample parameter from
      	transform functions and perform it depending on the interpolation
      	type (bug #473265).
      
      	* app/tools/gimptransformoptions.[ch]
      	* app/tools/gimptransformtool.c: removed Supersample toggle from
      	the transform tool options.
      
      	* tools/pdbgen/pdb/drawable_transform.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: document that the
      	supersample parameter is unused and improved documentation of the
      	recursion-level parameter.
      
      	* app/pdb/transform_tools_cmds.c
      	* app/pdb/drawable_transform_cmds.c
      	* libgimp/gimpdrawabletransform_pdb.c: regenerated.
      
      svn path=/trunk/; revision=23494
      77b7161a
  2. 04 Sep, 2007 1 commit
    • Michael Natterer's avatar
      remove unbalanced "*/" · 5b1fa26d
      Michael Natterer authored
      2007-09-04  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpparamspecs.c: remove unbalanced "*/"
      
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimp-transform-resize.c: formatting.
      
      
      svn path=/trunk/; revision=23463
      5b1fa26d
  3. 30 Apr, 2007 1 commit
    • Michael Natterer's avatar
      changed "drawable" parameter to "pickable" and added some special casing · ee0ab61b
      Michael Natterer authored
      2007-04-30  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpselection.[ch] (gimp_selection_extract): changed
      	"drawable" parameter to "pickable" and added some special casing
      	for the GIMP_IS_DRAWABLE(pickable) case in the implementation.
      
      	* app/core/gimpdrawable-transform.c: changed accordingly.
      
      	* app/core/gimp-edit.c: ditto. Removed utility function
      	gimp_edit_extract_visible() and simply use gimp_edit_extract() for
      	"copy visible", passing image->projection. Fixes bug #434102.
      
      
      svn path=/trunk/; revision=22368
      ee0ab61b
  4. 24 Dec, 2006 1 commit
    • Mukund Sivaraman's avatar
      app/core/Makefile.am app/core/gimp-transform-resize.c · f0cff0ff
      Mukund Sivaraman authored
      2006-12-24  Mukund Sivaraman  <muks@mukund.org>
      
              * app/core/Makefile.am
              * app/core/gimp-transform-resize.c
              * app/core/gimpchannel.c
              * app/core/gimpdrawable-transform.c
              * app/core/gimpdrawable-transform.h
              * app/core/gimpdrawable.c
              * app/core/gimpimage-item-list.c
              * app/core/gimpimage-item-list.h
              * app/core/gimpitem-linked.c
              * app/core/gimpitem-linked.h
              * app/core/gimpitem.c
              * app/core/gimpitem.h
              * app/core/gimplayer.c
              * app/pdb/drawable_transform_cmds.c
              * app/text/gimptextlayer-transform.c
              * app/text/gimptextlayer-transform.h
              * app/tools/gimptransformoptions.c
              * app/tools/gimptransformtool.c
              * app/vectors/gimpvectors.c
              * libgimp/gimpdrawabletransform_pdb.c
              * libgimp/gimpdrawabletransform_pdb.h
              * libgimp/gimpenums.c.tail
              * libgimpbase/gimpbase.def
              * libgimpbase/gimpbaseenums.c
              * libgimpbase/gimpbaseenums.h
              * tools/pdbgen/enums.pl
              * tools/pdbgen/pdb/drawable_transform.pdb: implemented UI and PDB
              for new clipping modes for affine transforms (crop to largest
              rectangle, and crop to largest rectangle with the source's aspect
              ratio); fixed various bugs in the largest rectangle computation
              code; set padding to 6 in the transformation tool options.
      f0cff0ff
  5. 09 Dec, 2006 1 commit
  6. 26 Oct, 2006 2 commits
  7. 25 Oct, 2006 2 commits
    • Michael Natterer's avatar
      changed GimpDrawable parameter to "GimpImageType dest_type". · dd6f5d71
      Michael Natterer authored
      2006-10-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpimage.[ch]
      	(gimp_image_transform_rgb)
      	(gimp_image_transform_color)
      	(gimp_image_transform_temp_buf): changed GimpDrawable parameter to
      	"GimpImageType dest_type".
      
      	(gimp_image_get_foreground)
      	(gimp_image_get_background): ditto and reordered parameters.
      
      	* app/core/gimp-edit.c
      	* app/core/gimpdrawable-bucket-fill.c
      	* app/core/gimpdrawable-stroke.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpimage-merge.c
      	* app/core/gimplayer.c
      	* app/core/gimpselection.c
      	* app/paint/gimpbrushcore.c
      	* app/paint/gimpclone.c
      	* app/paint/gimperaser.c
      	* app/paint/gimpheal.c
      	* app/paint/gimpink.c
      	* app/paint/gimppaintbrush.c: changed accordingly.
      
      	* app/core/gimpdrawable-transform.c
      	(gimp_drawable_transform_tiles_affine): set the progress to 1.0
      	when done, some tiny cleanups around lanczos.
      dd6f5d71
    • Michael Natterer's avatar
      fix indentation and spacing in the lanczos code. Removed trailing · 7c8a68b1
      Michael Natterer authored
      2006-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable-transform.c
      	(gimp_drawable_transform_tiles_affine): fix indentation and
      	spacing in the lanczos code. Removed trailing whitespace.
      7c8a68b1
  8. 24 Sep, 2006 1 commit
  9. 29 Aug, 2006 1 commit
    • Sven Neumann's avatar
      libgimpbase/Makefile.am libgimpbase/gimpbase.h added new files that hold · d34ff553
      Sven Neumann authored
      2006-08-29  Sven Neumann  <sven@gimp.org>
      
      	* libgimpbase/Makefile.am
      	* libgimpbase/gimpbase.h
      	* libgimpbase/gimprectangle.[ch]: added new files that hold
      	gimp_rectangle_intersect(), factored out of the core.
      
      	* libgimpbase/gimpbase.def: updated.
      
      	* app/core/gimp-edit.c
      	* app/core/gimp-utils.c
      	* app/core/gimp-utils.h
      	* app/core/gimpchannel-combine.c
      	* app/core/gimpdrawable-foreground-extract.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpimage-preview.c
      	* app/core/gimplayer.c
      	* app/core/gimpscanconvert.c
      	* app/display/gimpdisplayshell-draw.c: changed includes accordingly.
      
      	* libgimp/gimpdrawablepreview.c: don't duplicate
      	gimp_rectangle_intersect() here, use the function in libgimpbase.
      
      	* app/base/siox.c: use gimp_rectangle_intersect() to reduce the
      	working area to the region of interest. Fixes bug #340422.
      d34ff553
  10. 27 Jun, 2006 1 commit
    • Sven Neumann's avatar
      app/core/gimpchannel-select.c app/core/gimpdrawable-bucket-fill.c · 12e0bf90
      Sven Neumann authored
      2006-06-27  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimpchannel-select.c
      	* app/core/gimpdrawable-bucket-fill.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpimage-crop.c
      	* app/dialogs/image-scale-dialog.c
      	* app/tools/gimpforegroundselecttool.c
      	* app/tools/gimpfreeselecttool.c
      	* app/tools/gimpfuzzyselecttool.c
      	* app/tools/gimpmovetool.c
      	* plug-ins/gfig/gfig-dialog.c: applied patch from Zbigniew Chyla
      	that adds translation context to some problematic strings
      	(bug #345982).
      12e0bf90
  11. 12 Apr, 2006 1 commit
  12. 28 Mar, 2006 1 commit
  13. 21 Mar, 2005 1 commit
    • William Skaggs's avatar
      Bill Skaggs <weskaggs@primate.ucdavis.edu> · 1cc9701b
      William Skaggs authored
      	* app/tools/gimptransformtool.c
      	* app/tools/gimpfliptool.c
      	* app/core/gimpdrawabletransform.c: avoid messages and critical
      	error when transforming a drawable that does not intersect
      	the selection.
      1cc9701b
  14. 21 Jan, 2005 1 commit
  15. 19 Jan, 2005 1 commit
  16. 15 Jan, 2005 1 commit
  17. 11 Jan, 2005 1 commit
    • Sven Neumann's avatar
      app/base/base-enums.[ch] app/core/gimpdrawable-transform.c · f3166ba9
      Sven Neumann authored
      2005-01-11  Sven Neumann  <neumann@jpk.com>
      
      	* app/base/base-enums.[ch]
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpdrawable.c
      	* app/paint-funcs/Makefile.am
      	* app/paint-funcs/paint-funcs.[ch]
      	* app/paint-funcs/scale-funcs.[ch]: applied patch by Geert Jordaens
      	(after a good deal of reformatting for coding style compliance).
      	This factors the scale routines into their own file and adds a
      	sinc-based (Lanczos) interpolation routine (bug #162250).
      f3166ba9
  18. 16 Nov, 2004 1 commit
    • Michael Natterer's avatar
      app/core/gimpchannel-select.c app/core/gimpchannel.c · 0d5df419
      Michael Natterer authored
      2004-11-16  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpchannel-select.c
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable-desaturate.c
      	* app/core/gimpdrawable-equalize.c
      	* app/core/gimpdrawable-histogram.c
      	* app/core/gimpdrawable-invert.c
      	* app/core/gimpdrawable-levels.c
      	* app/core/gimpdrawable-offset.c
      	* app/core/gimpdrawable-stroke.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpdrawable.c
      	* app/core/gimpitem-linked.c
      	* app/core/gimpitem.c
      	* app/core/gimplayer.c
      	* app/core/gimpselection.c
      	* app/paint/gimppaintcore-stroke.c
      	* app/text/gimptextlayer.c: in all functions which somehow
      	(explicitely or implicitely) touch undo, either g_return_if_fail()
      	on gimp_item_is_attached() or simply don't push an undo step if
      	feasible (e.g. for simple stuff like layer opacity).
      
      	* tools/pdbgen/pdb/color.pdb
      	* tools/pdbgen/pdb/drawable.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb
      	* tools/pdbgen/pdb/paint_tools.pdb: let PDB wrappers fail
      	accordingly so they don't run into the assertions added above.
      
      	* app/pdb/color_cmds.c
      	* app/pdb/drawable_cmds.c
      	* app/pdb/image_cmds.c
      	* app/pdb/layer_cmds.c
      	* app/pdb/paint_tools_cmds.c: regenerated.
      0d5df419
  19. 01 Nov, 2004 1 commit
    • Michael Natterer's avatar
      renamed "center" to "auto_center". · 41e48fd8
      Michael Natterer authored
      2004-11-01  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable-transform.[ch]
      	(gimp_drawable_transform_flip): renamed "center" to "auto_center".
      
      	(gimp_drawable_transform_rotate): added missing parameters so it
      	can be used for a to-be-added PDB wrapper offering a
      	GimpRotationType based rotate API.
      
      	Both functions: always clip when transforming a whole channel,
      	since they must keep their size.
      
      	(gimp_drawable_transform_affine): actually forward the passed
      	"clip_result" to transform_tiles_affine() instead of always FALSE.
      41e48fd8
  20. 27 Oct, 2004 1 commit
  21. 26 Oct, 2004 1 commit
    • Sven Neumann's avatar
      Added new drawable transform API to the PDB. Largely based on patches from · 57eec590
      Sven Neumann authored
      2004-10-26  Sven Neumann  <sven@gimp.org>
      
      	Added new drawable transform API to the PDB. Largely based on
      	patches from Joao S. O. Bueno. Fixes bug #137053.
      
      	* app/core/gimpdrawable-transform.[ch]: added missing parameters
      	to gimp_drawable_transform_flip().
      
      	* tools/pdbgen/pdb/transform_tools.pdb: changed accordinly.
      
      	* app/base/base-enums.h
      	* app/core/core-enums.h: removed pdp-skip for GimpInterpolationType
      	and GimpTransformDirection enums.
      
      	* libgimp/gimpenums.h
      	* plug-ins/pygimp/gimpenums.py
      	* tools/pdbgen/enums.pl
      	* tools/pdbgen/groups.pl: regenerated.
      
      	* tools/pdbgen/Makefile.am
      	* tools/pdbgen/pdb/drawable_transform.pdb: added new file defining
      	the new PDB calls.
      
      	* app/pdb/Makefile.am
      	* app/pdb/drawable_transform_cmds.c
      	* app/pdb/internal_procs.c
      	* app/pdb/transform_tools_cmds.c
      	* libgimp/gimp_pdb.h
      	* libgimp/gimpdrawabletransform_pdb.[ch]: regenerated.
      57eec590
  22. 31 Aug, 2004 1 commit
    • Michael Natterer's avatar
      added GimpProgress parameter to gimp_drawable_transform_affine(). · 6b43c205
      Michael Natterer authored
      2004-08-31  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable-transform.[ch]: added GimpProgress
      	parameter to gimp_drawable_transform_affine().
      
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/transform_tools.pdb: show progress for "blend"
      	and all transform functions.
      
      	* app/pdb/edit_cmds.c
      	* app/pdb/transform_tools_cmds.c: regenerated.
      6b43c205
  23. 10 Aug, 2004 1 commit
    • Michael Natterer's avatar
      Redid the whole internal progress stuff: don't pass around · 02d2b990
      Michael Natterer authored
      2004-08-10  Michael Natterer  <mitch@gimp.org>
      
      	Redid the whole internal progress stuff: don't pass around
      	progress_callback and progress_data; instead, provide a
      	pointer to a GimpProgressInterface which can be implemented
      	by a variety of backends.
      
      	Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
      
      	* app/display/Makefile.am
      	* app/display/gimpprogress.[ch]: removed the old progress hack.
      
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpprogressdialog.[ch]: the standalone progress
      	dialog as widget implementing GimpProgressInterface.
      
      	* app/display/gimpdisplay.c
      	* app/display/gimpstatusbar.[ch]
      	* app/widgets/gimpfiledialog.[ch]
      	* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
      	implementation to these classes.
      
      	* app/core/gimp-gui.[ch]
      	* app/gui/gui-vtable.c: replaced the old progress vtable entries
      	by two new to create and destroy a GimpProgressDialog in case
      	no other progress is available.
      
      	* app/pdb/procedural_db.[ch]
      	* app/plug-in/plug-in-run.[ch]
      	* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
      	all plug-ins.
      
      	* app/plug-in/plug-in.[ch]
      	* app/plug-in/plug-ins.c
      	* app/plug-in/plug-in-message.c
      	* app/plug-in/plug-in-progress.c: handle the case there the
      	plug-in was crated with a progress as well as the case where it
      	wasn't.
      
      	* app/app_procs.c
      	* app/batch.c
      	* app/xcf/xcf.c
      	* app/file/file-open.[ch]
      	* app/file/file-save.[ch]
      	* app/widgets/gimphelp.c
      	* app/widgets/gimpbrushselect.c
      	* app/widgets/gimpfontselect.c
      	* app/widgets/gimpgradientselect.c
      	* app/widgets/gimppaletteselect.c
      	* app/widgets/gimppatternselect.c: changed accordingly.
      
      	* app/core/gimpimagefile.[ch]
      	* app/display/gimpdisplayshell-dnd.c
      	* app/gui/file-open-dialog.c
      	* app/gui/file-open-location-dialog.c
      	* app/gui/file-save-dialog.c
      	* app/widgets/gimplayertreeview.c
      	* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
      	related functions. Embed the progress in the file dialog where
      	possible.
      
      	* app/core/gimpdrawable-blend.[ch]
      	* app/core/gimpdrawable-transform.[ch]
      	* app/core/gimpimage-convert.[ch]
      	* app/core/gimpimage-flip.[ch]
      	* app/core/gimpimage-resize.[ch]
      	* app/core/gimpimage-rotate.[ch]
      	* app/core/gimpimage-scale.[ch]
      	* app/core/gimpitem-linked.[ch]
      	* app/core/gimpitem.[ch]
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable.c
      	* app/core/gimplayer.c
      	* app/core/gimpselection.c
      	* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
      
      	* app/tools/gimpblendtool.c
      	* app/tools/gimptransformtool.c
      	* app/gui/convert-dialog.c
      	* app/actions/documents-commands.c
      	* app/actions/file-commands.c
      	* app/actions/image-commands.c
      	* app/actions/layers-commands.c
      	* app/actions/plug-in-commands.c
      	* app/actions/vectors-commands.c
      	* tools/pdbgen/pdb/convert.pdb
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/image.pdb
      	* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
      
      	* app/pdb/*_cmds.c: regenerated.
      02d2b990
  24. 29 Jul, 2004 1 commit
  25. 17 Jun, 2004 1 commit
  26. 15 Jun, 2004 1 commit
  27. 14 Jun, 2004 1 commit
    • Sven Neumann's avatar
      declared gimp_drawable_transform_cubic() as inline function. Makes · 2b78805a
      Sven Neumann authored
      2004-06-14  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimpdrawable-transform.c: declared
      	gimp_drawable_transform_cubic() as inline function. Makes
      	sample_cubic() run about 10% faster and causes a 7% speedup on
      	cubic transformations.
      
      	* app/paint-funcs/paint-funcs.c (border_region): avoid an
      	unnecessary memory allocation.
      2b78805a
  28. 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
      	gimp_[get|set]_current_context().
      
      	* 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
      	gimp_get_current_context().
      
      	* 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.
      18d9161e
  29. 13 Apr, 2004 1 commit
    • Michael Natterer's avatar
      Moved the calls to floating_sel_relax()/rigor() from various places to two · 2e61d12e
      Michael Natterer authored
      2004-04-13  Michael Natterer  <mitch@gimp.org>
      
      	Moved the calls to floating_sel_relax()/rigor() from various
      	places to two single spots in the core where they are actually
      	needed. Fixes bug #138356 (which was caused by the projection
      	being triggered in the middle of changing the floating selection's
      	size or the size of the drawable it is attached to). This commit
      	effectively removes floating selection fiddling from the core's
      	public API.
      
      	* app/core/gimpdrawable.[ch] (gimp_drawable_has_floating_sel): new
      	function which returns TRUE if there is a floating selection
      	attached to the drawable.
      
      	* app/core/gimpdrawable.c (gimp_drawable_translate)
      	(gimp_drawable_set_tiles_full): if the drawable *has* a floating
      	selection, relax/rigor it before/after modifying the drawable.
      
      	* app/core/gimplayer.c (gimp_layer_translate)
      	(gimp_layer_set_tiles): if the layer *is* the floating selection,
      	relax/rigor it before/after modifying it.
      
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-crop.c
      	* app/core/gimpimage-flip.c
      	* app/core/gimpimage-resize.c
      	* app/core/gimpimage-rotate.c
      	* app/core/gimpimage-scale.c
      	* app/gui/layers-commands.c
      	* app/tools/gimpeditselectiontool.c
      	* tools/pdbgen/pdb/layer.pdb: removed calls to
      	floating_sel_rigor()/relax() all over the place. Also removed
      	lots of undo groups which are obsolete now.
      
      	* app/pdb/layer_cmds.c: regenerated.
      2e61d12e
  30. 10 Apr, 2004 1 commit
  31. 31 Mar, 2004 1 commit
    • Michael Natterer's avatar
      make sure 0.0/0.0 results in 1.0, not NaN. · 4de398bb
      Michael Natterer authored
      2004-03-31  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimp-transform-utils.c
      	(gimp_transform_matrix_perspective): make sure 0.0/0.0 results
      	in 1.0, not NaN.
      
      	* app/core/gimpdrawable-transform.c
      	(gimp_drawable_transform_tiles_affine): instead of returning NULL
      	if the transformation shrinks the tiles completely away, return at
      	least the pixel (or the row or column of pixels) which best covers
      	the sub-pixel area of the transform result:
      
      	- Changed rounding of the transformed coordinates from RINT()
      	  to floor()/ceil() so we don't cut off sub-pixel portions of the
      	  transform result.
      	- Force the minimal size if the changed rounding didn't help.
      
      	Fixes bug #138117.
      
      	Also added paranoia code which falls back to clip_result if the
      	passed matrix produces NaN coordinates (copied the FINITE() macro
      	from image_cmds.c).
      4de398bb
  32. 26 Mar, 2004 1 commit
  33. 17 Mar, 2004 1 commit
  34. 15 Mar, 2004 3 commits
    • Michael Natterer's avatar
      emit "update" signals from the drawable before and after setting tiles and · 59b77c35
      Michael Natterer authored
      2004-03-15  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable.c (gimp_drawable_set_tiles_full): emit
      	"update" signals from the drawable before and after setting tiles
      	and offsets.
      
      	* app/core/gimpdrawable-offset.c (gimp_drawable_offset)
      	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste)
      	* app/core/gimpimage-undo-push.c (undo_pop_layer_mod, _channel_mod)
      	* app/text/gimptextlayer.c (gimp_text_layer_render)
      	* app/tools/gimptransformtool.c (gimp_transform_tool_doit):
      	removed calls to gimp_drawable_update().
      
      	* app/core/gimpdrawable-offset.c (gimp_drawable_offset): don't
      	push an undo step before calling gimp_drawable_set_tiles()
      	but simply pass push_undo == TRUE and the undo_desc.
      59b77c35
    • Michael Natterer's avatar
      added "offset_x" and "offset_y" parameters to GimpDrawable::set_tiles(). · 1ef5fa93
      Michael Natterer authored
      2004-03-15  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdrawable.[ch]: added "offset_x" and "offset_y"
      	parameters to GimpDrawable::set_tiles().
      
      	(gimp_drawable_set_tiles): removed the "GimpImageType" parameter.
      
      	(gimp_drawable_set_tiles_full): new function adding type, offset_x
      	and offset_y parameters.
      
      	(gimp_drawable_real_set_tiles): set the drawable's offsets from
      	the offset parameters and its size from the passed TileManager's
      	size. Emit "size_changed" accordingly.
      
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable-offset.c
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpimage-convert.c
      	* app/core/gimpimage-undo-push.c
      	* app/core/gimplayer.c
      	* app/text/gimptextlayer.c
      	* app/tools/gimptransformtool.c: changed accordingly: removed
      	calls to gimp_viewable_size_changed() and all sorts of hackish
      	assignments of the drawable's width/height/offset_x/offset_y
      	properties.
      1ef5fa93
    • Michael Natterer's avatar
      don't call gimp_image_flush(). · 79776036
      Michael Natterer authored
      2004-03-15  Michael Natterer  <mitch@gimp.org>
      
      	* app/text/gimptextlayer.c (gimp_text_layer_render): don't call
      	gimp_image_flush().
      
      	* app/tools/gimpxttool.c (gimp_text_tool_apply): call it here
      	instead.
      
      	Now that we have a common place that exchanges drawable->tiles,
      	we can abstract away boundary invalidation for this operation:
      
      	* app/core/gimpdrawable.c (gimp_drawable_real_set_tiles):
      	call gimp_drawable_invalidate_boundary() before setting
      	the new tiles.
      
      	* app/core/gimpchannel.c (gimp_channel_set_tiles)
      	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste)
      	* app/core/gimpimage-undo-push.c (undo_pop_layer_mod)
      	* app/core/gimplayer.c (gimp_layer_scale) (gimp_layer_resize)
      	(gimp_layer_flip) (gimp_layer_rotate) (gimp_layer_transform)
      	* app/text/gimptextlayer.c (gimp_text_layer_render): removed
      	calls to gimp_drawable_invalidate_boundary() from all functions
      	which finally call gimp_drawable_real_set_tiles().
      
      	* app/tools/gimptransformtool.c (gimp_transform_tool_doit): no
      	need to set channel->bounds_known to FALSE, because
      	gimp_drawable_set_tiles() already did this.
      79776036
  35. 13 Mar, 2004 2 commits
    • Michael Natterer's avatar
      Completed the fix for bug #136702: · 2498c665
      Michael Natterer authored
      2004-03-13  Michael Natterer  <mitch@gimp.org>
      
      	Completed the fix for bug #136702:
      
      	* app/core/gimpitem.[ch]: added "gboolean supersample" and
      	"gint recursion_level" to GimpItem::transform().
      
      	* app/core/gimpitem-linked.[ch]	(gimp_item_linked_transform): ditto.
      
      	* app/core/gimpdrawable-transform.[ch]: added "recursion_level"
      	parameters and removed the RECURSION_LEVEL #define.
      
      	* app/core/gimpchannel.c
      	* app/core/gimpdrawable.c
      	* app/core/gimplayer.c
      	* app/vectors/gimpvectors.c: changed accordingly.
      
      	* app/tools/gimptransformoptions.[ch]: added new property
      	"recursion_level" which is not serializable and has no GUI. Pretty
      	useless, but it's IMHO better to hardcode the default value here
      	than in gimpdrawable-transform.c
      
      	* app/tools/gimptransformtool.c: changed accordingly.
      
      	* tools/pdbgen/pdb/transform_tools.pdb: hardcode "recursion_level"
      	to 3.
      
      	* app/pdb/transform_tools_cmds.c: regenerated.
      2498c665
    • Sven Neumann's avatar
      added new virtual function GimpDrawable::set_tiles(). · c179f9ac
      Sven Neumann authored
      2004-03-13  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimpdrawable.[ch]: added new virtual function
      	GimpDrawable::set_tiles().
      
      	* app/core/gimpchannel.c
      	* app/core/gimplayer.c: push an undo before chaining up in
      	set_tiles().
      
      	* app/core/gimpdrawable-transform.c
      	* app/core/gimpimage-convert.c
      	* app/tools/gimptransformtool.c: use gimp_drawable_set_tiles()
      	instead of fiddling with the drawable's tile manager directly.
      c179f9ac