2004-07-30 Sven Neumann <sven@gimp.org>
Applied a bunch of AIX portability fixes (bug #148813):
* configure.in: when testing for Xmu library, link with -lXt -lX11.
* app/gui/tips-parser.c
* app/gui/user-install-dialog.c
* app/tools/tools-enums.h
* app/widgets/gimpdasheditor.c
* app/widgets/widgets-enums.h
* libgimpthumb/gimpthumb-error.h
* libgimpwidgets/gimpcolorbutton.c
* plug-ins/common/edge.c: removed trailing commas from enums.
* plug-ins/common/snoise.c
* plug-ins/imagemap/imap_cmd_move.c: no C++ style comments.
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.c: use integers for bit fields.
2004-07-05 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/Makefile.am (enum_headers): don't scan
app/paint-funcs/paint-funcs-types.h for enums.
* app/paint-funcs/paint-funcs-types.h: removed /*< pdb-skip >*/
* app/core/core-types.h: reordered opaque typedefs to somehow
match the categories in the comments.
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.
2004-06-14 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs-generic.h (color_pixels): some code
cleanup I did while attempting to optimize this code further.
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-06-13 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.[ch] (shapeburst_region): added
progress callback.
* app/core/gimpdrawable-blend.c: show a progress while calculating
the Shapeburst. Not perfect but better than not showing any
progress at all.
2004-06-05 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.[ch]: applied a patch from Philip
Lafleur that changes the way that paint is applied during a paint
stroke. Fixes bug #124225.
2004-05-31 Sven Neumann <sven@gimp.org>
* app/paint/gimpconvolve.c
* app/paint-funcs/paint-funcs.[ch]
* app/tools/gimpiscissorstool.c: reverted last change and applied
new patch instead (bug #72878).
2004-05-31 Sven Neumann <sven@gimp.org>
* app/paint/gimpconvolve.c
* app/paint-funcs/paint-funcs.[ch]
* app/tools/gimpiscissorstool.c: applied a patch from Philip
Lafleur that fixes RGBA resampling in Convolve tool (bug #72878).
2004-04-15 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs.[ch]:
* app/paint-funcs/paint-funcs-generic.h: header cleanup, added
some const qualifiers, converted tabs to spaces. Fixes bug #140115
for the HEAD branch.
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.
2004-02-18 Michael Natterer <mitch@gimp.org>
Some code review:
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c: removed obsolete code which
made sure serialize_property()/deserialize_property() are only
called for properties of the correct class. We do it the right way
for quite a while now and clear the inherited function pointers in
gimp_config_iface_base_init().
* app/config/gimprc.c (gimp_rc_dispose): don't forget to chain up.
* app/base/gimplut.c
* app/base/lut-funcs.c
* app/config/gimpconfig-deserialize.c
* app/config/gimpconfig-serialize.c
* app/config/gimpconfig-types.c
* app/config/gimprc.c
* app/core/gimp-modules.c
* app/core/gimpbrush.c
* app/core/gimpcontainer.c
* app/core/gimpdocumentlist.c
* app/core/gimpitem.c
* app/gui/about-dialog.c
* app/gui/color-notebook.c
* app/gui/gui.c
* app/gui/tips-dialog.c
* app/paint/gimppaintcore.c
* app/paint-funcs/paint-funcs.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainermenuimpl.c
* app/widgets/gimpselectioneditor.c: removed I/O includes from
files which don't use lowlevel APIs any more. Also removes
a whole bunch of G_OS_WIN32 special casing. Removed trailing
whitespace. Misc tiny cleanups.
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
2004-01-27 Manish Singh <yosh@gimp.org>
* app/paint-funcs/paint-funcs.c: inlined rotate_pointers, changed
prototypes and casts around so that we're compliant with C99 aliasing
rules.
2004-01-27 Manish Singh <yosh@gimp.org>
* app/composite/gimp-composite-generic.c
(gimp_composite_overlay_any_any_any_generic)
* app/paint-funcs/paint-funcs-generic.h (overlay_pixels): use more
than one temporary when stacking INT_MULTs, to avoid undefined
values.
2004-01-05 Manish Singh <yosh@gimp.org>
* app/paint-funcs/paint-funcs.c (expand_line): on second thought, just
make everything signed. There is no reason for any of it to be
unsigned.
2004-01-05 Manish Singh <yosh@gimp.org>
* app/paint-funcs/paint-funcs.c (expand_line): cast usage of unsigned
bytes variable in array subscripting to signed, so we really do get
a negative value when we need it. Fixes#130398.
2003-10-16 Dave Neary <bolsh@gimp.org>
* app/base/color-balance.c
* app/base/hue-saturation.c
* app/composite/gimp-composite-generic.c
* app/paint-funcs/paint-funcs-generic.h
* app/tools/gimphuesaturationtool.c
* libgimpcolor/gimpcolorspace.[ch]: Changed all occurrences of
gimp_rgb_to_hls_int and gimp_hls_to_rgb_int to
gimp_rgb_to_hsl_int and gimp_hsl_to_rgb_int respectively. This
closes bug #124661.
2003-09-27 Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs.[ch]: added new functions
color_region_mask() which works like color_region() but takes an
additional maskPR parameters and pattern_region() which fills
destPR with a TempBuf of *matching color depth*.
* app/paint-funcs/paint-funcs-generic.h: added corresponding
color_pixels_mask() and pattern_pixels().
* app/core/gimpimage.[ch] (gimp_image_transform_temp_buf): new
function which transforms a TempBuf to a specified drawable's
color space.
* app/core/gimpdrawable-bucket-fill.c: the functions were factored
out here. Removed them and use the new stuff.
* app/core/core-enums.[ch]: added enum GimpStrokeStyle which can
be one of { SOLID, PATTERN }.
* app/core/gimpstrokeoptions.[ch]: added "GimpStrokeStyle style"
property, cleanup.
* app/core/gimpdrawable-stroke.c: honor the new "style" property
and call the new color_region_mask() and pattern_region()
functions accordingly, cleanup.
* app/widgets/gimpstrokeeditor.c: added a GUI for the stroke
style. Ugly but works.
* app/gui/stroke-dialog.c: undefine "foreground" and "pattern" and
set the user context as parent context so we get these properties
from the global settings.
2003-09-05 Michael Natterer <mitch@gimp.org>
* app/paint-funcs/paint-funcs.[ch]: removed function map_to_color()
since it does not belong here and the two places using it look much
cleaner when doing that stuff themselves.
* app/core/gimpdrawable-preview.c: cleanup.
(gimp_drawable_preview_scale): do the indexed palette lookup here
instead of calling map_to_color().
* app/core/gimpimage.c (gimp_image_get_color): transform the
colors here instead of calling map_to_color().
* app/core/gimpimage.[ch] (gimp_image_get_color): reordered
parameters src parameters are before dest parameters.
Made the src color const.
(gimp_image_transform_color): reordered so src parameters are
*after* dest parameters (since this function operates on the dest
image and it makes sense to have the dest parameters
together). Made the src color const here, too.
* app/core/gimpdrawable-bucket-fill.c
* app/core/gimpdrawable.c
* app/core/gimpimage-contiguous-region.c
* app/core/gimpimage-projection.c
* app/core/gimpimagemap.c
* app/core/gimplayer.c
* app/core/gimppalette-import.c
* app/paint/gimpclone.c
* app/paint/gimppaintcore.c: changed accordingly.
* app/core/gimpedit.c (gimp_edit_cut,copy): simplified by
moving the "cropped" variable to a local scope.
* app/core/gimpimage-mask.c: calling gimp_image_update() followed
by gimp_viewable_imvalidate_preview(drawable) is equal to calling
gimp_drawable_update() directly.
* app/paint-funcs/paint-funcs.c (initial_sub_region): Fixed
another bug in initialising the compositing context for the
special case of dissolve mode. A further attempt to fix bug
#121438.
* app/composite/gimp-composite-generic.c
(gimp_composite_dissolve_any_any_any_generic): Fixed bug in
calculating whether the destination has an alpha channel (or
not).
* app/composite/gimp-composite.c (gimp_composite_init): Turn on
SSE, SSE2, and 3dnow instruction sets.
* app/paint-funcs/paint-funcs.c (initial_sub_region): Fixed
uninitialised data in the special case for dissolve.
This is the cause of Bug #121213.
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c: Dereference all pointers
from *outside* of asm() construct.
* app/paint-funcs/paint-funcs.c: Fixed bug where dissolve opacity
was incorrectly set, and dissolve mask was garbage. This should
fix Bug #121213
2003-08-24 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs-generic.h (blend_pixels): removed
some debugging output that I accidentally committed a while ago.
Fixes bug #120576 (slowness of smudge on alpha layers).
* composite/ modularisation of the automatic compositing function
"wiring" to construct the table of compositing functions at
run-time instead of compile time.
The environment variable GIMP_COMPOSITE is a hexadecimal number
representing a bit-field used to set/reset options in the
gimp-composite code.
* gimp-composite-altivec.[ch]: added
* gimp-composite-altivec-installer.[ch]: added
* gimp-composite-vis.[ch]: added
* gimp-composite-vis-installer.[ch]: added
* gimp-composite-mmx-installer.[ch]: added
* gimp-composite-sse-installer.[ch]: added
* gimp-composite-altivec-test.[ch]: added
* gimp-composite-vis-test.[ch]: added
* gimp-composite-mmx-test.[ch]: added
* gimp-composite-sse-test.[ch]: added
* make-installer.py: Added meta programme for generating code to
1) construct a table of compositing functions indexed by
operation, and the pixel formats of the sources and destination,
and 2) generating code for regression testing of these compositing
functions against the same functions in gimp-composite-generic.c
* gimp-composite-mmx.c (xxxgimp_composite_overlay_rgba8_rgba8_rgba8_mmx):
removing from the current set of optimisations because it appears
to be broken.
* Makefile.am: modified regression testing targets to now build
gimp-composite-*-test where * is any of generic, mmx, sse,
altivec, and vis.
* gimp-composite.c: moved in initialisation code
gimp_composite_init() from gimp-composite-dispatch.c
* gimp-composite.c: removed gimp_composite_unsupported().
* gimp-composite.c: use cpu_accel() to determine at run-time which
set of optimisations are to be used.
* gimp-composite.c: conditionally compile code for ARCH_X86.
* make-gimp-composite-dispatch.c: retired. See make-installer.py
* gimp-composite-mmx.c (op_overlay): namespace cleanup, op_overlay()
and all of the constant values are now static
* gimp-composite-mmx.c, gimp-composite-sse.c: fixed bug with the
alpha mask being the address of the alpha mask, not the mask
itself.
* app/paint-funcs/paint-funcs.c: Check gimp_composite_options.use
to see if we should use the new code or the old code.
2003-07-26 Hans Breuer <hans@breuer.org>
* libgimp/gimpcompat.h : renamed GimpOrientationType
with Compat postfix to avoid name clashing when using
this header together with libgimp/gimpenums.h
* app/composite/makefile.msc : (new file)
**/makefile.msc : updated
* libgimp/gimp.c : use static defined _tile<widht|height>
in this file instead of function call
* libgimp/gimp.def libgimp/libgimpui.def : moved from former
to latter : gimp_<brush|font|gradient|pattern>_select_<new|destroy>
added to former gimp_<brushes|gradients|patterns>_popup
* app/paint/gimppaintcore.h : removed double semicolon
which gave msvc error C2059: syntax error : ';'
* libgimpbase/gimpwin32-io.h : (new file) compatibilty defines
which were spread over multiple files to make up mostly for
missing unistd.h
* app/base/tile-swap.c app/core/gimpimagefile.c
libgimpbase/gimpdatafiles.c
plug-ins/FractalExplorer/FractalExplorer.c : use new header
* plug-ins/gflare/gflare.c
plug-ins/flame/flame.c
plug-ins/FractalExplorer/Dialogs.c :
removed #ifdef G_OS_WIN32 special casing, not needed anymore
due to g_file_test() usage
* app/text/*.* : changes required for build with PangoWin32,
but not commited ...
2003-07-21 Sven Neumann <sven@gimp.org>
* autogen.sh: fix for Solaris /bin/sh (bug #118002).
* app/paint-funcs/paint-funcs-generic.h
* app/paint-funcs/paint-funcs.[ch]: the Forte compiler doesn't
like the use of global variables in inline functions. Applied a
patch from Damien Carbery that fixes this (bug #118002).
2003-07-18 Michael Natterer <mitch@gimp.org>
* app/composite/make-gimp-composite-dispatch.py: made generated
output compile again and cleaned it up a bit.
* app/composite/gimp-composite-dispatch.c: regenerated.
* app/paint-funcs/paint-funcs.c (combine_sub_region): don't use
tabs please.
* app/composite/gimp-composite.[ch],
* app/composite/make-gimp-composite-dispatch.py
stubbed out the 32bit-per-channel pixel formats.
* app/composite/gimp-composite-sse.[ch],
* app/composite/Makefile.am
Broke-out and added the SSE versions of the MMX code.
* app/composite/gimp-composite.[ch],
* app/paint-funcs/paint-funcs.c,
* app/composite/make-gimp-composite-dispatch.py
Use of the new gimp_composite code is now turned on via the
environment variable GIMP_COMPOSITE with a non-zero value. For
example:
% GIMP_COMPOSITE=1 gimp-1.3
2003-07-14 Sven Neumann <sven@gimp.org>
* configure.in: use AM_PROG_AS instead of defining CCAS and
CCASFLAGS manually. Changed the assembler checks to use inline
assembly as we do in app/composite/gimp-composite-mmx.c.
* app/composite/Makefile.am: build the MMX code again; we need it
to be tested. If you have any problems, please report them. You can
quick-fix your build using the --disable-mmx configure option.
* app/paint-funcs/Makefile.am: reverted Helvetix' change ...
* app/paint-funcs/paint-funcs.c: ... and include
"composite/gimp-composite.h" instead of "gimp-composite.h".
2003-07-14 Sven Neumann <sven@gimp.org>
* app/base/base.c (base_init): include composite/gimp-composite.h.
* app/paint-funcs/paint-funcs.c: enforce GIMP coding style on the
code that Helvetix added.
app/paint-funcs/paint-funcs.c stubbed out code for using
gimp_composite. To enable the use of gimp_composite, set the
value of gimp_composite_use_old to 0 (zero).
app/base/base.c calls gimp_composite_init() hook to initialse
all the gimp_composite "stuff."
app/composite/make-gimp-composite-dispatch.py now generates
gimp-composite-dispatch.h
app/composite/gimp-composite-dispatch.[ch] are in CVS although
they are generated files. This is preparation for building the
table at run-time, instead of compile time.
app/composite/gimp-composite.c doesn't #include the main
dispatch table. This is preparation for building the table at
run-time, instead of compile time.
app/composite/Makefile.am doesn't compile gimp-composite-mmx.c
(until the various remaining gcc problems and configuration issues
are worked out).
2003-07-04 Sven Neumann <sven@gimp.org>
* configure.in: redone target platform detection and MMX assembly
checks. Basically copied from DirectFB.
* app/Makefile.am
* app/arch/i386/mmx/detect_mmx.S
* app/arch/i386/mmx/paint_funcs_mmx.S
* app/paint-funcs/Makefile.am
* app/paint-funcs/paint-funcs-mmx.h
* app/paint-funcs/paint-funcs-simd.S: removed the old MMX routines.
New ones will come instead.
* app/base/Makefile.am
* app/base/detect-mmx.[Sh]: removed these two files...
* app/base/cpu-accel.[ch]: ... and added new ones that do more
fine-grained cpu acceleration detection. Again taken from DirectFB
but the code is originally from mpeg2dec.
* app/base/base.c: print results from cpu feature tests.
2003-06-13 Sven Neumann <sven@gimp.org>
Attempt to finally fix Smudge tool problems (bug #115057):
* app/paint-funcs/paint-funcs-generic.h (blend_pixels): added an
implementation for the non-alpha case.
* app/paint/gimpsmudge.c (gimp_smudge_start): added back code that
used to prefill the buffer if the inital area was clipped.
2003-06-09 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs-generic.h (blend_pixels): weight
pixels by their alpha value. Fixes the smudge tool (bug #72879).
2003-06-02 Michael Natterer <mitch@gimp.org>
Implemented DISSOLVE_MODE the way it should have always been.
Fixes bug #107402.
* app/paint-funcs-generic.h (struct apply_layer_mode_struct): added
"guchar *mask" so it can be used by the layer mode.
(dissolve_pixels): take an additional "mask" parameter and
dissolve the pixels according to the *combined* opacity of the
pixel's alpha, the opacity and the mask. Removed a wrong comment
about why we call g_rand_int() x times before we start to use its
values.
(layer_dissolve_mode): pass the mask to dissolve_pixels(). No need
to call add_alpha_pixels() since we overwrite the dest buffer
entirely in disolve_pixels().
* app/paint-funcs.c (initial_sub_region, combine_sub_region):
allocate the buffer large enough for DISSOLVE (which always needs
an alpha channel). Pass the mask to the layer mode functions.
Discard opacity and mask after applying DISSOLVE since it
"consumes" all transparency.