1. 06 Jul, 2018 2 commits
  2. 22 Dec, 2017 1 commit
    • Ell's avatar
      app: add support for brush reflection · a0b73420
      Ell authored
      Add support for reflecting brushes as part of their transformation.
      The reflection is performed as the last step of the transformation,
      across the vertical axis.
      
      The option to reflect the brush is not exposed in the UI, or
      through the PDB, but is intended to be used for linking the brush
      transformation to the view transformation, in the next commit.
      a0b73420
  3. 26 Nov, 2016 1 commit
  4. 19 May, 2016 1 commit
  5. 02 Feb, 2016 1 commit
    • Jehan's avatar
      Bug 648776 - mirror symmetries. · 76f573c9
      Jehan authored
      You can now set any paint tool to mirror painting relatively
      horizontal/vertical axis or a central point (any combination of these 3
      symmetries).
      This has been implemented as a new multi-stroke core, where every stroke
      is actually handled as a multi-stroke (default of size 1).
      This is also the first usage of custom guides for symmetry guiding.
      Current version has to be activated in the playground.
      76f573c9
  6. 16 Nov, 2014 1 commit
  7. 15 Nov, 2014 2 commits
  8. 11 Oct, 2014 1 commit
  9. 02 May, 2012 1 commit
  10. 10 Sep, 2011 1 commit
  11. 17 Apr, 2011 1 commit
  12. 12 Apr, 2011 2 commits
  13. 05 Apr, 2011 3 commits
  14. 04 Apr, 2011 3 commits
  15. 17 Jan, 2011 1 commit
  16. 10 Apr, 2010 1 commit
  17. 05 Apr, 2010 1 commit
  18. 01 Jan, 2010 1 commit
    • Alexia Death's avatar
      Real dynamic hardness support for both generated and pixmap brushes. · 9774988f
      Alexia Death authored
      For generated brushes, dynamic input is applied on top of the set hardness as a factor.
      For pixmaps, it influences the amount of blur applied to the stamp. Be warned, process is slow
      for large pixmaps. The odd feature previously advertised as hardness is left in but disabled.
      If I figure out what it should be exposed as, it might be made available again.
      9774988f
  19. 19 May, 2009 1 commit
  20. 14 Feb, 2009 1 commit
    • Sven Neumann's avatar
      Bug 99457 – Support for dynamics on tilt · 306374a8
      Sven Neumann authored
      2009-02-14  Sven Neumann  <sven@gimp.org>
      
      	Bug 99457 – Support for dynamics on tilt
      
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.c
      	* app/core/gimpbrush-transform.[ch]
      	* app/paint/gimpbrushcore.c
      	* app/paint/gimpsmudge.c: applied patch from Alexia Death,
      	separates brush scaling for x and y.
      
      
      svn path=/trunk/; revision=28036
      306374a8
  21. 05 Feb, 2009 1 commit
    • Sven Neumann's avatar
      Bug 520078 – Rotate brushes · 30c118b5
      Sven Neumann authored
      2009-02-05  Sven Neumann  <sven@gimp.org>
      
      	Bug 520078 – Rotate brushes
      
      	Applied patch from Alexia Death:
      
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.c
      	* app/core/gimpbrush-transform.[ch]: affine transformations for
      	brushes. So far only scaling and rotation is supported. The
      	transformation is done using nearest-neighbour. This is a
      	regression and we need to add back interpolation before the next
      	release.
      
      	* app/paint/gimpsmudge.c
      	* app/paint/gimppaintoptions.[ch]
      	* app/paint/gimpbrushcore.[ch]: allow to control the brush
      	rotation angle.
      
      	* app/tools/gimppaintoptions-gui.c
      	* app/tools/gimpbrushtool.c: added UI for controlling the
      	brush rotation angle.
      
      	* app/actions/tools-actions.c
      	* app/actions/tools-commands.[ch]: add actions for controlling 
      the
      	brush rotation angle.
      
      
      svn path=/trunk/; revision=27987
      30c118b5
  22. 01 Feb, 2009 1 commit
    • Martin Nordholts's avatar
      Rename brush stuff with 'scale' to 'transform'. · 2716d25d
      Martin Nordholts authored
      Applied patch from Alexia Death that prepares brushes for
      arbitrary transforms by renaming stuff with 'scale' to
      'transform'. Takes us one step closer to fixing bug #520078.
      
      * app/core/gimpbrush.[ch]
      * app/core/gimpbrushgenerated.c
      * app/paint/gimpbrushcore.[ch]
      * app/paint/gimpsmudge.c
      
      * app/core/gimpbrush-transform.[ch]: New names of
      * app/core/gimpbrush-scale.[ch]
      
      * app/core/Makefile.am: Update.
      
      svn path=/trunk/; revision=27975
      2716d25d
  23. 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
      d9b5207a
  24. 14 Mar, 2007 1 commit
    • Martin Nordholts's avatar
      Made brushes upscalable by using scale_region. Downscaling still uses · e3d9198c
      Martin Nordholts authored
      2007-03-14  Martin Nordholts  <martinn@svn.gnome.org>
      
      	Made brushes upscalable by using scale_region. Downscaling still
      	uses functions in app/base/brush-scale.c (because of better
      	performance). Parametric brushes of course recalculates masks
      	instead of using bitmap scaling. Fixes bug #65030.
      
      	* app/core/gimpbrush.[ch]: Added a private scale_buf method which
      	uses scale_region (with GIMP_INTERPOLATION_LINEAR) to scale its
      	masks and pixmaps. Also added public virtual method scale_size to
      	GimpBrush (overridden by GimpBrushGenerated) which calculates the
      	buffer sizes for a given brush scaled with a given scale.
      
      	* app/core/gimpbrushgenerated.c: Implemented the new scale_size
      	method inherited from GimpBrush, and modified
      	gimp_brush_generated_calc to use this helper function.
      
      	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): Made
      	the brush Scale-slider logarithmic.
      
      	* app/paint/gimppaintoptions.c (gimp_paint_options_class_init):
      	Changed Scale scale to [0.0, 10.0].
      
      	* app/paint/gimpbrushcore.c:
      	(gimp_brush_core_calc_brush_size): Refactored 'get brush size' code
      	to where it belongs, in GimpBrush-classes, and allowed scales
      	larger than 1.0.
      
      
      svn path=/trunk/; revision=22113
      e3d9198c
  25. 12 Mar, 2007 1 commit
    • Michael Natterer's avatar
      app/core/gimpbrush.[ch] app/core/gimpbrushgenerated.c · 4648f542
      Michael Natterer authored
      2007-03-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.c
      	* app/tools/gimppaintoptions-gui.c
      	* app/base/brush-scale.[ch]
      	* app/base/temp-buf.[ch]
      	* app/paint/gimppaintoptions.c
      	* app/paint/gimpbrushcore.c: revert last commit. The patch needs
      	more review and it's easier to start from quare one than have
      	patches on top of patches.
      
      
      svn path=/trunk/; revision=22101
      4648f542
  26. 11 Mar, 2007 1 commit
    • Michael Schumacher's avatar
      Made brushes scalable (both up and down) by using existing scaling · a4e81c3a
      Michael Schumacher authored
      2007-03-11  Michael Schumacher  <schumaml@cvs.gnome.org>
      
      	Made brushes scalable (both up and down) by using existing
      	scaling routines, and also refactored some brush-code. Patch by
      	Martin Nordholts. Fixes bug #65030.
      
      	* app/paint/gimpbrushcore.c:
      	(gimp_brush_core_calc_brush_length_scale) Refactored 'get brush
      	size' code to where it belongs, in GimpBrush-classes, and renamed
      	gimp_brush_core_calc_brush_size to
      	gimp_brush_core_calc_brush_length_scale.
      
      	* app/paint/gimppaintoptions.c (gimp_paint_options_class_init):
      	Changed Scale scale to [0.0, 100.0].
      
      	* app/base/temp-buf.[ch] (mask_buf_new): Change signature to also
      	take a bpp parameter.
      
      	* app/base/brush-scale.[ch]: Changed brush_scale_(mask|pixmap) to
      	the new brush_scale_buf, which uses existing scaling routines
      	(scale_region) instead of dedicated down-scaling only routines.
      
      	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): Made
      	the brush Scale-slider logarithmic.
      
      	* app/core/gimpbrushgenerated.c: Implemented the new
      	get_scaled_size method inherited from GimpBrush, and modified
      	gimp_brush_generated_calc to use this helper function.
      
      	* app/core/gimpbrush.[ch]: Added public virtual method
      	get_scaled_size to GimpBrush, overridden by GimpBrushGenerated,
      	which calculates the buffer sizes for a given brush scaled with a
      	given scale. Also changed calls to brush_scale_(mask|pixmap) to
      	the new brush_scale_buf.
      
      svn path=/trunk/; revision=22099
      a4e81c3a
  27. 09 Mar, 2007 1 commit
    • Michael Natterer's avatar
      include "libgimpmath/gimpmathtypes.h" instead of "libgimpmath/gimpmath.h". · 83d3a750
      Michael Natterer authored
      2007-03-09  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/core-types.h: include "libgimpmath/gimpmathtypes.h"
      	instead of "libgimpmath/gimpmath.h".
      
      	* app/core/gimpbrush.h
      	* app/paint/gimppaintcore.h
      	* app/paint/gimpperspectiveclone.h
      	* app/text/gimptext.h
      	* app/tools/gimptransformtool.h: include gimpvector.h and
      	gimpmatrix.h explicitely where they are needed in public structs.
      
      	* app/*/*.c
      	* tools/pdbgen/pdb/paths.pdb: include "libgimpmath/gimpmath.h"
      	where needed.
      
      	* app/pdb/paths_cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=22084
      83d3a750
  28. 09 Dec, 2006 1 commit
  29. 09 Nov, 2006 1 commit
    • Michael Natterer's avatar
      Properly abstract brush scaling: · 1186dfd2
      Michael Natterer authored
      2006-11-09  Michael Natterer  <mitch@gimp.org>
      
      	Properly abstract brush scaling:
      
      	* app/core/gimpbrush.[ch]: added virtual functions
      	GimpBrush::scale_mask() and ::scale_pixmap() and default
      	implementations which call the functions in base/brush-scale.c.
      
      	* app/core/gimpbrushgenerated.c: factored out brush calculation to
      	an internal utility function and call that function from ::dirty()
      	and from the new ::scale_mask().
      
      	* app/core/gimpbrushcore.c: use gimp_brush_scale_mask/pixmap()
      	instead of using the lowlevel scale functions directly. Fixes the
      	uglyness that we were scaling generated brushes instead of simply
      	recalculating them in the right size.
      1186dfd2
  30. 08 Jun, 2005 1 commit
    • Sven Neumann's avatar
      Removed "stingy-memory-use" all over the place. This feature was really · c1363db8
      Sven Neumann authored
      2005-06-08  Sven Neumann  <sven@gimp.org>
      
      	Removed "stingy-memory-use" all over the place. This feature was
      	really not that useful anymore. The GUI for the preference option
      	was already removed for GIMP 2.2.  Fixes bug #306617.
      
      	* app/config/gimpbaseconfig.[ch]: set IGNORE flag on
      	"stingy-memory-use".
      
      	* app/config/gimpcoreconfig.h: added a comment that the
      	font_path_writable variable is unused.
      
      	* app/base/temp-buf.[ch]: removed code that used to deal with
      	swapping temp-bufs to disk.
      
      	* app/base/base.c: made base_config a static variable.
      
      	* app/core/gimpdata.[ch]
      	* app/core/gimpdatafactory.[ch]: removed stingy_memory_use
      	parameter from data construction methods.
      
      	* app/core/gimp-gradients.c
      	* app/core/gimpbrush-load.[ch]
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.[ch]
      	* app/core/gimpbrushpipe.[ch]
      	* app/core/gimpcontext.c
      	* app/core/gimpgradient-load.[ch]
      	* app/core/gimpgradient.[ch]
      	* app/core/gimppalette-import.c
      	* app/core/gimppalette.[ch]
      	* app/core/gimppattern.[ch]: changed accordingly.
      c1363db8
  31. 15 Apr, 2005 1 commit
    • Michael Natterer's avatar
      Added loading of Photoshop brushes. Fixes bug #163047: · 4ffe1f03
      Michael Natterer authored
      2005-04-15  Michael Natterer  <mitch@gimp.org>
      
      	Added loading of Photoshop brushes. Fixes bug #163047:
      
      	* app/core/Makefile.am
      	* app/core/gimpbrush-load.[ch]: new files holding all brush
      	loading code. Added .abr loader based on a patch by Adrian
      	Likins. Didn't add a new brush subclass as in the original patch,
      	but only a loading function which loads the brushes into standard
      	GimpBrush objects. Did misc fixes to the code, needs further
      	cleanup.
      
      	* app/core/gimpbrush.[ch]: removed brush loading code here.
      
      	* app/core/gimpbrushpipe.c: changed #includes accordingly.
      
      	* app/core/gimp.c (gimp_real_initialize): register the new load
      	functions and their extensions with the brush factory.
      4ffe1f03
  32. 26 Jul, 2004 1 commit
    • Michael Natterer's avatar
      added "gboolean writable" to the GimpDataFactoryLoaderEntry struct. Return · 638f2b3a
      Michael Natterer authored
      2004-07-26  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdatafactory.h: added "gboolean writable" to the
      	GimpDataFactoryLoaderEntry struct. Return a GList* instead of
      	GimpData* from GimpDataLoadFunc so it's possible to load more than
      	one data object from one file.
      
      	* app/core/gimpdatafactory.c (gimp_data_factory_load_data):
      	changed accordingly: add all items of the returned lists to the
      	data factory. Make the data object writable only if it's in the
      	writable path *and* its loader entry says it's a writable format
      	*and* the returned list contains exactly one element.
      
      	* app/core/gimp.c (gimp_real_initialize): declare all loader
      	entries as writable where we have code to read and write exactly
      	one object per file; all others are not writable.
      
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.[ch]
      	* app/core/gimpbrushpipe.[ch]
      	* app/core/gimpgradient-load.[ch]
      	* app/core/gimppalette.[ch]
      	* app/core/gimppattern.[ch] (all load functions): return a list
      	containing the loaded object instead of the object itself.
      638f2b3a
  33. 02 Dec, 2002 1 commit
    • Michael Natterer's avatar
      use GError for reporting load/save errors. Added gimp_data_error_quark() · 4ccd0f0a
      Michael Natterer authored
      2002-12-02  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpdata.[ch]: use GError for reporting load/save
      	errors. Added gimp_data_error_quark() and a GimpDataError enum.
      	Made simple virtual functions out of save(), get_extension()
      	and duplicate() because they don't need to be signals.
      
      	* app/core/gimpbrush.[ch]
      	* app/core/gimpbrushgenerated.[ch]
      	* app/core/gimpbrushpipe.[ch]
      	* app/core/gimpgradient.[ch]
      	* app/core/gimppalette.[ch]
      	* app/core/gimppattern.[ch]: changed accordingly. Set data->dirty
      	to FALSE in each _load() function.
      
      	* app/core/gimpdatafactory.[ch]: report GError messages here.
      	Changed the ugly factory->path pointer location hack to
      	factory->path_property_name and get the path from
      	factory->gimp->config. Added gimp_data_factory_data_duplicate()
      	implementation which was already declared in the header.
      
      	* app/core/gimp.c: pass the path property name to
      	gimp_data_factory_new().
      
      	* app/widgets/gimpdatafactoryview.c: removed the duplicate
      	implementation and call gimp_data_factory_data_duplicate().
      
      	* app/core/gimpgradient.[ch]: added gimp_gradient_save_as_pov().
      
      	* app/gui/gradients-commands.c: removed save_as_pov implementation
      	and call gimp_gradient_save_as_pov().
      4ccd0f0a