2005-02-19 Hans Breuer <hans@breuer.org>
* app/base/pixel-processor.c : TILE_WIDTH is used unconditionally
so always include "tile.h"
* app/base/tile-swap.c : WIN32 needs <process.h> for _getpid()
* app/dialogs/user-install-dialog.c : include gimpwin32-io.h
* libgimpbase/gimpwin32-io.h : there are no group or other
flags in msvcrt, define S_IGRP etc in terms of _S_IREAD etc
* plug-ins/script-fu/script-fu.c plug-ins/script-fu/siod-wrapper.c :
no script-fu server on win32, make respective function calls conditional
* libgimpconfig/makefile.msc : new file
* **/makefile.msc app/gimpcore.def : updated, gimp builds
and runs once more with ms toolchain
2005-02-16 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.c: switched to using a thread pool.
Enables the progress callback for the threaded case.
2005-02-16 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.[ch]: added a variant of
pixel_regions_process_parallel() that takes a progress callback and
progress data. Does only work for the single-threaded case yet.
* app/core/gimpdrawable-blend.c (gradient_fill_region): parallelized.
2005-02-15 Sven Neumann <sven@gimp.org>
* app/core/gimpimagemap.[ch]: changed GimpImageMapApplyFunc to
be compatible with PixelProcessorFunc.
* app/base/color-balance.[ch]
* app/base/colorize.[ch]
* app/base/gimplut.[ch]
* app/base/hue-saturation.[ch]
* app/base/threshold.[ch]: removed wrappers that used to
shift parameters around to match GimpImageMapApplyFunc and
PixelProcessorFunc signatures.
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpposterizetool.c
* app/tools/gimpthresholdtool.c: changed accordingly.
* tools/pdbgen/pdb/color.pdb: use pixel_region_process_parallel()
for all color operations.
* app/pdb/color_cmds.c: regenerated.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/gimphistogram.c: allocate histogram slots in one large
block instead of multiple smaller chunks. Hide pointer arithmetic
in macros.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/gimphistogram.[ch]: allocate temporary histogram slots
on demand and provide an array with enough slots for the maximum
number of threads. gimp_histogram_new() doesn't need a
GimpBaseConfig parameter any longer.
* app/core/gimpdrawable-equalize.c
* app/core/gimpdrawable-levels.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/tools/gimpthresholdtool.c
* app/widgets/gimphistogrameditor.c
* tools/pdbgen/pdb/color.pdb: changed accordingly.
* app/pdb/color_cmds.c: regenerated.
2005-02-14 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.[ch]: define the maximum number of
threads in the header file.
* app/config/gimpbaseconfig.c: use the #define.
2005-02-13 Sven Neumann <sven@gimp.org>
* configure.in
* app/base/tile-cache.c
* app/base/tile-private.h
* app/base/tile-swap.c
* app/base/tile.c: in an attempt to safe this code from bit-rot,
ported the experimental threaded tile-swapper to gthread.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/pixel-processor.c: some more cleanup; introduced a
#define to control the number of tiles per thread.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/base.c: fixed typo.
* app/config/gimpbaseconfig.c: reverted last change,
"num-processor" doesn't need a confirmation.
2005-02-13 Sven Neumann <sven@gimp.org>
* app/base/base.c
* app/base/tile-swap.[ch]: moved some code from base_init() into
tile_swap_init().
* app/base/pixel-processor.[ch]: prepared for porting to GThreadPool.
* app/config/gimpbaseconfig.c: changed "num-processors" option to
require a confirmation before being changed.
2005-01-23 Sven Neumann <sven@gimp.org>
* app/base/base-enums.h
* libgimpbase/gimpbaseenums.h: moved GimpInterpolationType and
GimpTransferMode to libgimpbase (from core and libgimp). The
remaining enums in app/base/base-enums.h need special treatment.
* app/base/base-enums.c
* libgimp/gimpenums.h
* libgimpbase/gimpbaseenums.[ch]
* tools/pdbgen/enums.pl: regenerated.
* libgimpbase/gimpbase.def
* libgimp/gimp.def: updated.
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).
2004-12-28 Michael Natterer <mitch@gimp.org>
* app/base/base-enums.[ch]: added translatable strings to the
GimpLayerModeEffects enum because they will soon disappear from
widgets/gimpwidgets-constructors.c
* app/core/gimpbrush.c: don't ask for preview with
zero width or height, fixes bug #162232.
* app/base/brush-scale.c: remove tabs and trailing
whitespace.
2004-12-12 Sven Neumann <sven@gimp.org>
* app/base/tile-manager-crop.c: removed trailing whitespace.
* plug-ins/imagemap/imap_selection.c: need to define
GTK_DISABLE_DEPRECATED for gtk_toolbar_append_space().
2004-12-12 Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs.[ch]: added new function
copy_region_nocow() as a workaround for the fact that sharing
tiles with the projection is heavily broken.
* app/base/tile-manager.c (tile_invalidate): added a warning when
entering the code path that breaks badly.
* app/core/gimp-edit.[ch]: added gimp_edit_copy_visible(), using
the non-COW copying function above.
* app/widgets/gimphelp-ids.h: added GIMP_HELP_COPY_VISIBLE.
* app/actions/edit-actions.c
* app/actions/edit-commands.[ch]: added action & callback for
"edit-copy-visible".
* menus/image-menu.xml.in: added "edit-copy-visible" to the image
menu.
* tools/pdbgen/pdb/edit.pdb: added gimp_edit_copy_visible()
PDB wrapper.
* app/pdb/edit_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpedit_pdb.[ch]: regenerated.
* plug-ins/script-fu/scripts/copy-visible.scm: removed all code
and made it a backward compat wrapper around gimp-edit-copy-visible.
Fixes bug #138662.
2004-11-22 Sven Neumann <sven@gimp.org>
* app/app_procs.c (app_exit_after_callback): call base_exit()
before quitting the application using exit(). Fixes bug #159019.
* app/base/tile-swap.c: moved the warning about a non-empty swap
file into #ifdef GIMP_UNSTABLE ... #endif.
2004-11-11 Jay Cox <jaycox@gimp.org>
* app/base/brush-scale.c: Keep computed brush values from
overflowing with large reduction factors. Fixes bug #76228.
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.
2004-10-25 Michael Natterer <mitch@gimp.org>
Don't store human readable and translatable enum/flag strings in
GEnumValue's and GTypeValue's fields but attach them to their
GType using separate structs and utility functions:
* tools/gimp-mkenums: added params and perl voodoo to support
generating a second array of values, which is used by the
Makefiles below to create and register arrays of value
descriptions.
* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
arrays of translatable strings to/from enum and flags types. Added
structs GimpEnumDesc and GimpFlagsDesc for that purpose.
* libgimpbase/gimputils.[ch]: changed existing enum utility
functions, added new ones and added a symmetric API for flags.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am: changed *-enums.c generation rules
accordingly.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c
* libgimpbase/gimpbaseenums.c: regenerated.
* app/widgets/gimpenumstore.c
* app/widgets/gimpenumwidgets.c
* app/widgets/gimptemplateeditor.c
* libgimpwidgets/gimppreviewarea.c: follow the enum utility
function API changes.
2004-09-24 Sven Neumann <sven@gimp.org>
* app/base/curves.[ch]
* app/tools/gimpcurvestool.c: defined CURVES_NUM_POINTS and use it.
* tools/pdbgen/pdb/color.pdb (curves_spline_invoker): unset the
last control point which got initialized to (255,255) by
curves_init(). Fixes bug #153635.
* app/pdb/color_cmds.c: regenerated.
2004-09-03 Sven Neumann <sven@gimp.org>
* libgimpbase/Makefile.am
* libgimpbase/gimpchecks.[ch] added gimp_checks_get_shades().
* app/base/temp-buf.c
* app/display/gimpdisplayshell-render.c
* libgimpwidgets/gimppreviewarea.c: use the new function instead
of replicating these numbers in three different places.
2004-07-28 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.h: added still unused flags type
GimpDirtyMask.
* app/base/Makefile.am
* app/core/Makefile.am
* app/display/Makefile.am
* app/paint/Makefile.am
* app/text/Makefile.am
* app/tools/Makefile.am
* app/widgets/Makefile.am
* libgimpthumb/Makefile.am: changed calls to gimp-mkenums to
support GTypeFlags and to make the value arrays private to the
get_type() functions.
* app/base/base-enums.c
* app/core/core-enums.c
* app/display/display-enums.c
* app/paint/paint-enums.c
* app/text/text-enums.c
* app/tools/tools-enums.c
* app/widgets/widgets-enums.c: regenerated.
2004-07-20 Sven Neumann <sven@gimp.org>
* app/app_procs.c
* app/base/base.[ch]
* app/composite/gimp-composite.[ch]: pass "be_verbose" to the base
and composite subsystems.
2004-07-19 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpwin32-io.h: added copyright header, added
#defines for access(), F_OK, R_OK and X_OK.
* app/core/gimpdata.c: include the above instead of defining
the workarounds here.
* app/base/tile-swap.c
* app/config/gimpconfig-dump.c
* libgimpthumb/gimpthumb-utils.c
* libgimpthumb/gimpthumbnail.c: for consistency, #include
gimpwin32-io.h with "" instead of <>.
2004-07-06 Sven Neumann <sven@gimp.org>
Added an RGB histogram based on a patch by Tor Lillqvist. Fixes
bug #145401.
* app/base/base-enums.[ch]: added GIMP_HISTOGRAM_RGB, don't export
it to the PDB.
* app/base/gimphistogram.c: implemented histogram functions for
the RGB mode.
* app/base/levels.c
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* app/widgets/gimpcolorbar.c
* app/widgets/gimphistogrameditor.c: handle the new enum value.
* app/widgets/gimphistogramview.c: for GIMP_HISTOGRAM_RGB mode,
draw a histogram that shows the RGB channels simultaneously
2004-06-28 Michael Natterer <mitch@gimp.org>
Fixed bug #141930 while keeping bug #132322 fixed:
* app/base/curves.c (curves_lut_func)
* app/base/levels.c (levels_lut_func): changed meaning of channel
slots for GRAYA images: just as for GRAY images, expect the value
channel in slot 0 and the alpha channel in slot 1, so it matches
the meaning of slots of GimpHistogram (before this change, only
GRAY images had their value in slot 0 and GRAYA images had it in
slot 1, whereas the histogram had the value channel in slot 0,
which was breaking auto levels for GRAYA images).
* app/tools/gimpcurvestool.c
* app/tools/gimplevelstool.c
* tools/pdbgen/pdb/color.pdb: adjusted channel fiddling for GRAY
and GRAYA images accordingly.
* app/tools/gimpcurvestool.c (curves_update)
* app/tools/gimplevelstool.c (levels_update): call
gimp_color_bar_set_buffers() with the right buffers.
* app/pdb/color_cmds.c: regenerated.
2004-06-13 Manish Singh <yosh@gimp.org>
* app/base/cpu-accel.c: Reorged, to address bug #142907 and
bug #143069. Accel implementations #define HAVE_ACCEL, and cpu_accel()
keys on that. Both PPC and X86 implementations check for __GNUC__.
X86 stuff is only used with USE_MMX is defined. The SSE OS check
is now checked in arch_accel(), not cpu_accel(). Finally, the
arch x86_64 checks now are EM64T aware (which didn't matter in
practice).
2004-06-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.c (shapeburst_region): don't call
tile_ewidth() three times from the inner loop.
* app/base/tile-manager.c (tile_manager_get): don't call
tile_size() twice on the same tile.
* app/base/tile-private.h: added tile_size_inline(), an inline
version of the tile_size() function.
* app/base/tile-cache.c
* app/base/tile-manager.c
* app/base/tile-swap.c
* app/base/tile.c: use tile_size_inline() from inside the tile
subsystem.
2004-03-15 Simon Budig <simon@gimp.org>
* app/base/tile-swap.[ch]: Applied a modified version of a patch
from Raphaël, that implements a test if a swap file can be
created. Also make the failure message more verbose.
* app/base/base.[ch]: extend base_init() with a boolean return
to indicate if the test to create a swap file was OK.
* app/app_procs.c: Display a warning message at startup when the
test fails.
Fixes bug #64835.
22004-03-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.c: use g_printerr() for debug output.
* app/base/tile-manager.c: cleaned up stone-old debug output.