1. 25 Oct, 2008 5 commits
    • Michael Natterer's avatar
      More merging from SOC 2006's vector layer branch: · 39af762f
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	More merging from SOC 2006's vector layer branch:
      
      	* app/core/gimpitem.[ch]: add "gboolean push_undo" to
      	GimpItem::stroke().
      
      	* app/core/gimpdrawable-stroke.[ch]
      	* app/paint/gimppaintcore-stroke.[ch]
      	* app/paint/gimppaintcore.[ch] (gimp_paint_core_finish): add
      	"push_undo" parameters here too.
      
      	* app/actions/select-commands.c
      	* app/actions/vectors-commands.c
      	* app/core/gimpchannel.c
      	* app/core/gimpselection.c
      	* app/dialogs/stroke-dialog.c
      	* app/tools/gimppainttool.c
      	* app/vectors/gimpvectors.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/paint_tools.pdb
      	* tools/pdbgen/pdb/paths.pdb: pass TRUE all over the place.
      
      	* app/pdb/edit-cmds.c
      	* app/pdb/paint-tools-cmds.c
      	* app/pdb/paths-cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=27398
      39af762f
    • Martin Nordholts's avatar
      Make layer modes work on premultiplied data. This makes compositing 40% · 5c05c609
      Martin Nordholts authored
      * app/gegl/gimpoperationlayermode.c: Make layer modes work on
      premultiplied data. This makes compositing 40% faster on my test
      image with 10 interlaced Normal and Addition mode layers.
      
      * app/gegl/gimpoperationadditionmode.c: Switch to the
      premultiplied algorithm and remove the experimental ones. The new
      Addition mode has two important differences over the legacy
      Addition mode:
      
        o Addition mode now really is commutative as the GIMP
          documentation says (this wasn't previously the case).
      
        o Layers in Addition mode are just as opaque as Normal
          layers. That is, their effect on the composite alpha channel
          is the same. For discussion, refer to bug #387449.
      
      svn path=/trunk/; revision=27396
      5c05c609
    • Michael Natterer's avatar
      formatting. · f096382a
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/paint/gimppaintoptions.h: formatting.
      
      
      svn path=/trunk/; revision=27395
      f096382a
    • Michael Natterer's avatar
      bail out if the notification is not about one of our own properties (but · a9292536
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpcontext.c (gimp_context_parent_notify): bail out if
      	the notification is not about one of our own properties
      	(but from a subclass).
      
      
      svn path=/trunk/; revision=27394
      a9292536
    • Michael Natterer's avatar
      add "gboolean use_context_color" parameter to gimp_stroke_options_new() · efb6d15a
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpstrokeoptions.[ch]: add "gboolean use_context_color"
      	parameter to gimp_stroke_options_new() and set the passed context
      	as parent of the new options only if it's TRUE. Also fixed the
      	GimpConfig::duplicate() implementation to really duplicate the
      	object and not just return an object containing default values.
      
      	* app/core/gimpfilloptions.[ch]: add gimp_fill_options_new().
      
      	* app/actions/select-commands.c
      	* app/dialogs/stroke-dialog.c
      	* app/actions/vectors-commands.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/paths.pdb: pass TRUE to gimp_stroke_options_new().
      
      	* app/pdb/edit-cmds.c
      	* app/pdb/paths-cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=27393
      efb6d15a
  2. 24 Oct, 2008 5 commits
    • Michael Natterer's avatar
      add non-serializable properties pattern-view-type and pattern-view-size · 90c26cf1
      Michael Natterer authored
      2008-10-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/gimpfilloptions.[ch]: add non-serializable properties
      	pattern-view-type and pattern-view-size which are used only by the
      	new UI below.
      
      	* app/widgets/gimpfilleditor.[ch]: added boolean edit-context
      	property. If TRUE, add widgets to edit the context's foreground and
      	pattern. Add "edit_context" parameter to gimp_fill_editor_new().
      
      	* app/widgets/gimpstrokeeditor.[ch]: add the same parameter here.
      
      	* app/widgets/gimpwidgets-utils.[ch]: add gimp_enum_radio_box_add()
      	which does the same as the existing gimp_enum_radio_frame_add().
      
      	* app/dialogs/stroke-dialog.c: pass FALSE for "edit_context"
      	because this dialog takes its foreground and pattern from the user
      	context and doesn't need it's own GUI for them.
      
      
      svn path=/trunk/; revision=27392
      90c26cf1
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new widget factored · 9c299a8f
      Michael Natterer authored
      2008-10-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/Makefile.am
      	* app/widgets/widgets-types.h
      	* app/widgets/gimpfilleditor.[ch]: new widget factored out of
      	GimpStrokeEditor.
      
      	* app/widgets/gimpstrokeeditor.[ch]: derive from GimpFillEditor
      	and remove UI for the properties of GimpFillOptions.
      
      
      svn path=/trunk/; revision=27390
      9c299a8f
    • Michael Natterer's avatar
      app/core/Makefile.am app/core/core-types.h remove this mis-engineered · 1a453c37
      Michael Natterer authored
      2008-10-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimpstrokedesc.[ch]: remove this mis-engineered
      	abstraction...
      
      	* app/core/gimpstrokeoptions.[ch]: ...and add its properties and
      	API here.
      
      	* app/core/gimpitem.[ch]: GimpItem::stroke() take a
      	GimpStrokeOptions instead of a GimpStrokeDesc.
      
      	* app/core/gimpchannel.c
      	* app/core/gimpselection.c
      	* app/vectors/gimpvectors.c
      	* app/actions/select-commands.c
      	* app/actions/vectors-commands.c
      	* app/dialogs/stroke-dialog.c
      	* tools/pdbgen/pdb/edit.pdb
      	* tools/pdbgen/pdb/paths.pdb: changed accordingly.
      
      	* app/pdb/edit-cmds.c
      	* app/pdb/paths-cmds.c: regenerated.
      
      
      svn path=/trunk/; revision=27388
      1a453c37
    • Sven Neumann's avatar
      to be on the safe side, always show hidden dialogs when the Tab key is · 4260576f
      Sven Neumann authored
      2008-10-24  Sven Neumann  <sven@gimp.org>
      
      	* app/widgets/gimpdialogfactory.c 
      (gimp_dialog_factories_toggle):
      	to be on the safe side, always show hidden dialogs when the Tab
      	key is used. It should not be possible to get a Tab key-press
      	while all displays are iconified, but you never know ...
      
      
      svn path=/trunk/; revision=27385
      4260576f
    • Sven Neumann's avatar
      Bug 556896 – Dialogs don't get minimized with single image window · bf97ad31
      Sven Neumann authored
      2008-10-24  Sven Neumann  <sven@gimp.org>
      
      	Bug 556896 – Dialogs don't get minimized with single image 
      window
      
      	* app/widgets/gimpdialogfactory.[ch]: renamed the new methods to
      	gimp_dialog_factories_{show|hide}_with_display().
      	Remember if the dialogs were hidden using
      	gimp_dialog_factories_hide_with_display() or using
      	gimp_dialog_factories_toggle() and keep this into account when
      	making them visible again. This ensures that dialogs that were
      	hidden using the Tab key won't be shown when the image window is
      	uniconified.
      
      	* app/display/gimpdisplayshell.c
      	(gimp_display_shell_window_state_event): changed accordingly.
      
      
      svn path=/trunk/; revision=27384
      bf97ad31
  3. 23 Oct, 2008 8 commits
    • Michael Natterer's avatar
      Another merge from the vector layer branch: · 50ad791f
      Michael Natterer authored
      2008-10-24  Michael Natterer  <mitch@gimp.org>
      
      	Another merge from the vector layer branch:
      
      	* app/core/gimpstrokedesc.c (gimp_stroke_desc_new): make sure
      	each stroke desc always has GimpPaintInfo.
      
      
      svn path=/trunk/; revision=27383
      50ad791f
    • Martin Nordholts's avatar
      For alpha compositing consistency, all layers should affect alpha in the · 06b46fef
      Martin Nordholts authored
      * app/gegl/gimpoperationadditionmode.c: For alpha compositing
      consistency, all layers should affect alpha in the same way
      independent of layer mode. Replace the compositing algorithm with
      a version without the flaws discovered so far in the previous
      ones. Don't use it yet though as it requires premultiplied data.
      
      svn path=/trunk/; revision=27382
      06b46fef
    • Sven Neumann's avatar
      use the inverse of the scale factor so that we can multiply instead of · 8626bed8
      Sven Neumann authored
      2008-10-24  Sven Neumann  <sven@gimp.org>
      
      	* app/paint-funcs/scale-region.c (scale): use the inverse of the
      	scale factor so that we can multiply instead of dividing in the
      	loops.
      
      
      svn path=/trunk/; revision=27380
      8626bed8
    • Michael Natterer's avatar
      rename GimpStrokeStyle to GimpFillStyle. · 3dfef0f1
      Michael Natterer authored
      2008-10-23  Michael Natterer  <mitch@gimp.org>
      
      	* app/core/core-enums.[ch]: rename GimpStrokeStyle to GimpFillStyle.
      
      	* app/core/gimpfilloptions.[ch]
      	* app/core/gimpdrawable-stroke.c
      	(gimp_drawable_stroke_scan_convert): changed accordingly.
      
      
      svn path=/trunk/; revision=27379
      3dfef0f1
    • Michael Natterer's avatar
      Merge a part of SOC 2006's vector layer branch: · 67a5eaea
      Michael Natterer authored
      2008-10-23  Michael Natterer  <mitch@gimp.org>
      
      	Merge a part of SOC 2006's vector layer branch:
      
      	* app/core/Makefile.am
      	* app/core/core-types.h
      	* app/core/gimpfilloptions.[ch]: new GimpContext subclass factored
      	out of GimpStrokeOptions. Has "style" and "antialias" properties.
      
      	* app/core/gimpstrokeoptions.[ch]: derive from GimpFillOptions
      	and remove said properties.
      
      	* app/core/gimpdrawable-stroke.c
      	(gimp_drawable_stroke_scan_convert): changed accordingly.
      
      
      svn path=/trunk/; revision=27378
      67a5eaea
    • Michael Natterer's avatar
      set proc_frame->procedure to NULL *after* calling gimp_plug_in_cleanup(). · d3d9724e
      Michael Natterer authored
      2008-10-23  Michael Natterer  <mitch@gimp.org>
      
      	* app/plug-in/gimppluginprocframe.c
      	(gimp_plug_in_proc_frame_dispose): set proc_frame->procedure to
      	NULL *after* calling gimp_plug_in_cleanup(). Fixes the crash on
      	windows in bug #557061 (but not the bug).
      
      
      svn path=/trunk/; revision=27376
      d3d9724e
    • Michael Natterer's avatar
      don't #include "libgimpwidgets/gimpwidgets.h". · 3b053f79
      Michael Natterer authored
      2008-10-23  Michael Natterer  <mitch@gimp.org>
      
      	* app/display/gimpdisplayshell.h: don't #include
      	"libgimpwidgets/gimpwidgets.h".
      
      	* app/display/gimpdisplayshell-draw.c
      	* app/display/gimpdisplayshell-scale.c
      	* app/tools/gimpeditselectiontool.c: include it here.
      
      
      svn path=/trunk/; revision=27375
      3b053f79
    • Sven Neumann's avatar
      Bug 556896 – Dialogs don't get minimized with single image window · 45b41a76
      Sven Neumann authored
      2008-10-23  Sven Neumann  <sven@gimp.org>
      
      	Bug 556896 – Dialogs don't get minimized with single image 
      window
      
      	* app/display/gimpdisplay-foreach.[ch]: added utility function 
      to
      	get the number of visible (not withdrawn or iconified) displays.
      
      	* app/widgets/gimpdialogfactory.[ch]: added functions to hide 
      and
      	show the dock windows. Changed gimp_dialog_factories_toggle() to
      	use the new functions.
      
      	* app/display/gimpdisplayshell.c
      	(gimp_display_shell_window_state_event): hide the docks if the
      	last display is iconified. Unhide them if a display is
      	uniconified. Probably needs more work ...
      
      
      svn path=/trunk/; revision=27374
      45b41a76
  4. 22 Oct, 2008 5 commits
    • Sven Neumann's avatar
      removed check for Carbon and added a test for the target OS being Darwin · 06a983e3
      Sven Neumann authored
      2008-10-23  Sven Neumann  <sven@gimp.org>
      
      	* configure.in: removed check for Carbon and added a test for 
      the
      	target OS being Darwin instead.
      
      	* app/config/gimpguiconfig.c: use PLATFORM_OSX instead of
      	HAVE_CARBON to determine the default "web-browser" command.
      
      
      svn path=/trunk/; revision=27370
      06a983e3
    • Martin Nordholts's avatar
      Bug 556804 – Zoom drop down doesn't update · 2427cc54
      Martin Nordholts authored
      * app/display/gimpdisplayshell-scale.c
      * app/display/gimpdisplayshell-callbacks.c: Fix calls to
      gimp_display_shell_scaled() when Resize window on zoom is enabled.
      
      svn path=/trunk/; revision=27366
      2427cc54
    • Sven Neumann's avatar
      set box->progress to NULL in destroy() and check for progress being NULL · 883cb6da
      Sven Neumann authored
      2008-10-22  Sven Neumann  <sven@gimp.org>
      
      	* app/widgets/gimpprogressbox.c: set box->progress to NULL in
      	destroy() and check for progress being NULL in various places so
      	we don't crash on API calls after the widget is destroyed.
      
      
      svn path=/trunk/; revision=27362
      883cb6da
    • Sven Neumann's avatar
      Bug 555246 – gimp crashes when a file is opened while a preview is · 90bf1e42
      Sven Neumann authored
      2008-10-22  Sven Neumann  <sven@gimp.org>
      
      	Bug 555246 – gimp crashes when a file is opened while a preview 
      is
      	generating
      
      	* app/widgets/gimpthumbbox.c: set box->progress to NULL in
      	destroy() and check for progress being NULL in various places so
      	we don't crash on API calls after the widget is destroyed.
      
      
      svn path=/trunk/; revision=27360
      90bf1e42
    • Sven Neumann's avatar
      app/core/gimpimagefile.c formatting. · b6ae85b7
      Sven Neumann authored
      2008-10-22  Sven Neumann  <sven@gimp.org>
      
      	* app/core/gimpimagefile.c
      	* app/plug-in/gimpplugin-progress.c: formatting.
      
      
      svn path=/trunk/; revision=27357
      b6ae85b7
  5. 21 Oct, 2008 4 commits
  6. 20 Oct, 2008 3 commits
  7. 19 Oct, 2008 9 commits
    • Michael Natterer's avatar
      app/actions/debug-actions.c app/actions/debug-commands.[ch] rename · c75ce5af
      Michael Natterer authored
      2008-10-19  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/debug-actions.c
      	* app/actions/debug-commands.[ch]
      	* menus/image-menu.xml.in: rename
      	debug-dump-projection-benchmarking to debug-benchmark-projection.
      
      
      svn path=/trunk/; revision=27334
      c75ce5af
    • Martin Nordholts's avatar
      Remove local channel offset defines. · 509c025f
      Martin Nordholts authored
      * app/gegl/gimpoperationadditionmode.c: Remove local channel
      offset defines.
      
      svn path=/trunk/; revision=27331
      509c025f
    • Martin Nordholts's avatar
      Refer to the input as 'in' instead of 'src', the layer as 'layer' instead · 1bb7794c
      Martin Nordholts authored
      * app/gegl/gimpoperation*mode.c: Refer to the input as 'in'
      instead of 'src', the layer as 'layer' instead of 'aux', and the
      result as 'out' instead of 'dest'.
      
      svn path=/trunk/; revision=27329
      1bb7794c
    • Martin Nordholts's avatar
      Rename the convenient channel offset defines from FOO_PIX to FOO as this · e38ca549
      Martin Nordholts authored
      * app/base/base-types.h: Rename the convenient channel offset
      defines from FOO_PIX to FOO as this increases readability.
      
      * app/base/color-balance.c
      * app/base/colorize.c
      * app/base/desaturate.c
      * app/base/hue-saturation.c
      * app/base/siox.c
      * app/base/threshold.c
      
      * app/core/gimp-edit.c
      * app/core/gimp-transform-region.c
      * app/core/gimpchannel.c
      * app/core/gimpdrawable-bucket-fill.c
      * app/core/gimpdrawable-convert.c
      * app/core/gimpdrawable-stroke.c
      * app/core/gimpdrawable.c
      * app/core/gimpimage-convert.c
      * app/core/gimpimage.c
      * app/core/gimppalette-import.c
      * app/core/gimppickable.c
      
      * app/gegl/gimpoperation*mode.c
      * app/gegl/gimpoperationcolorbalance.c
      * app/gegl/gimpoperationcolorize.c
      * app/gegl/gimpoperationhuesaturation.c
      * app/gegl/gimpoperationlevels.c
      * app/gegl/gimpoperationposterize.c
      * app/gegl/gimpoperationthreshold.c
      
      * app/paint-funcs/subsample-region.c
      
      * app/paint/gimpclone.c
      * app/paint/gimppaintbrush.c
      
      * app/widgets/gimpviewrenderer.c: Adapt.
      
      svn path=/trunk/; revision=27324
      e38ca549
    • Martin Nordholts's avatar
      There is nothing magic or ugly about the convenient defines, remove · bbbeb069
      Martin Nordholts authored
      * app/base/base-types.h: There is nothing magic or ugly about the
      convenient defines, remove comments saying so.
      
      svn path=/trunk/; revision=27322
      bbbeb069
    • Martin Nordholts's avatar
      Refer to the input as 'in' instead of 'src', the layer as 'layer' instead · 87d45965
      Martin Nordholts authored
      * app/gegl/gimpoperationadditionmode.c: Refer to the input as 'in'
      instead of 'src', the layer as 'layer' instead of 'aux', and the
      result as 'out' instead of 'dest'. The old terminology clashes
      with at least the SVG 1.2 compositing terminology [1] and there is
      no reason for creating confusion.
      
      [1] http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html
      
      svn path=/trunk/; revision=27321
      87d45965
    • Martin Nordholts's avatar
      Use local variants of channel offset defines, namely RED instead of · 7501c23b
      Martin Nordholts authored
      * app/gegl/gimpoperationadditionmode.c: Use local variants of
      channel offset defines, namely RED instead of RED_PIX etc, to
      increase readability.
      
      svn path=/trunk/; revision=27320
      7501c23b
    • Martin Nordholts's avatar
      In addition to priting how long it takes to validate the projection, also · 48fee852
      Martin Nordholts authored
      * app/actions/debug-commands.c
      (debug_dump_projection_benchmarking_cmd_callback): In addition to
      priting how long it takes to validate the projection, also print
      the number of layers in the image.
      
      svn path=/trunk/; revision=27319
      48fee852
    • Martin Nordholts's avatar
      menus/image-menu.xml.in app/actions/debug-actions.c · 9d91e6b3
      Martin Nordholts authored
      * menus/image-menu.xml.in
      * app/actions/debug-actions.c
      * app/actions/debug-commands.h
      * app/actions/debug-commands.c: Added a 'Dump Projection
      Benchmarking' item to the Debug Menu so that we can test how
      different GEGL graph setups affect performance.
      
      svn path=/trunk/; revision=27317
      9d91e6b3
  8. 18 Oct, 2008 1 commit
    • Sven Neumann's avatar
      Applied patch from Alexia Death as attached to bug #471344: · e25c82e2
      Sven Neumann authored
      2008-10-18  Sven Neumann  <sven@gimp.org>
      
      	Applied patch from Alexia Death as attached to bug #471344:
      	
      	* app/core/Makefile.am
      	* app/core/gimpcoords-interpolate.[ch]: new files with
      	interpolation code taken from ...
      
      	* app/vectors/gimpbezierstroke.c: ... here.
      
      	* app/Makefile.am (AM_LDFLAGS): make it link.
      
      
      svn path=/trunk/; revision=27314
      e25c82e2