2000-06-07 Sven Neumann <sven@gimp.org>
* app/pixel_region.c: applied patch provided by Daniel Egger:
store the result of tile_bpp() into a variable and use it
instead of calling it over and over again in the inner loop.
* app/pixel_region.h
* app/pixel_regionP.h:
Did some additional indentation and code cleanup.
* app/apptypes.h: added InterpolationType enum.
* app/gimprc.[ch], app/preferences_dialog.c: replaced
cubic_interpolation flag with interpolation_type variable.
* app/pixel_region.[ch]: added pixel_region_has_alpha function.
* app/paint_funcs.c: rewrote scale_region. It now behaves
correctly on images with alpha, no longer leaves an artifact on the
right edge of images when scailing up, and runs signifigantly
faster.
* app/Makefile.am: build color_cmds, lut_funcs, and pixel_processor
* app/app_procs.c: feedback in the splash screen when loading
parasites.
* app/boundary.c: Optimized find_empty_segs.
* app/brightness_contrast.[ch]
* app/levels.[ch]
* app/posterize.[ch]:
moved pdb and lut calculation code. These files now contain only
GUI functions.
* app/channel.c: Optimized channel_bounds (fewer compares, better
use of registers). Use color_region instead of channel_*_segment
in channel_combine_rect. Optimized channel_combine_ellipse by
skipping pixels inside of the ellipse. Use
pixel_region_process_parallel in channel_combine_mask. Use a
GimpLut in channel_invert, and channel_sharpen.
* app/invert.c
* app/equalize.c: moved the lut functions to lut_funcs.c
* app/gimpdrawable.c, app/gimpdrawableP.h
* app/gimpimage.c, app/gimpimageP.h: removed unused gimpmatrix
variables/includes.
* app/gimplut.[ch]: added new function gimp_lut_process_inline
that operates on a single PixelRegion.
* app/gimpparasite.[ch]: new functions to save/load parasiterc
* app/parasitelist.[ch]: new functions to save/load ParasiteLists
in/from files.
* libgimp/parasite.[ch]: new functions to load/save parasites.
* app/internal_procs.c: get some procs from new location in
color_cmds.h.
* app/pixel_region.[ch]: moved pixel_regions_process_parallel
related functions to a new file.
* app/color_cmds.[ch]: new files for PDB
definitions/implementations of color correction functions.
* app/lut_funcs.[ch]: new files to hold lut creation functions.
* app/pixel_processor.[ch]: new files that contain the
pixel_regions_process_parallel routines. Added some new
capabilities that are currently unused.
bookkeeping without being used). Made copy_region more intelligent on
when to use tile sharing; some changes made to pixel_regions to
facilitate this. Fixed a refcount problem with xcf load and probably
a few other bugs that I've forgotten about. Added a sanity check in
set_undo_tiles to help with a problem larry is reporting with airbrush
and xinput. --sg
Sun Jul 12 19:00:15 EDT 1998 Michael K. Johnson <johnsonm@redhat.com>
* app/tile_swap.c
* app/tile_swap.h
* app/tile_manager.c
* app/tile_manager.h
* app/pixel_region.c
* app/pixel_region.h: asynchronous swapin on systems with pthreads.
This version is not at all tuned, and the only interface which makes use
of it now is pixel_region_{g,s}et_{row,col}. Other functions which know
ahead of time the area that they will be needing can request that it be
asynchronously swapped in via the pixel_region_get_async() function.
Compiles and survives basic testing.