Commit Graph

769 Commits

Author SHA1 Message Date
Sven Neumann 49bb407674 app/paint-funcs/Makefile.am
2007-08-08  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/Makefile.am

	* app/paint-funcs/sample-funcs.[ch]: renamed to 
	* app/paint-funcs/subsample-region.[ch]

	* app/paint-funcs/scale-funcs.[ch]: renamed to 
	* app/paint-funcs/scale-region.[ch]

	* app/paint-funcs/reduce-region.[ch]: new files based on a patch
	from Geert Jordaens (bug #464466).

	* app/base/tile-manager-preview.c
	* app/core/gimp-transform-region.c
	* app/core/gimpbrush-scale.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable.c: changed accordingly.

svn path=/trunk/; revision=23144
2007-08-08 08:35:45 +00:00
Hans Breuer 024ef60a49 updated msvc build
2007-08-05  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated msvc build


svn path=/trunk/; revision=23118
2007-08-05 15:16:02 +00:00
Sven Neumann 4ed227cf0e app/paint-funcs/Makefile.am app/paint-funcs/scale-funcs.[ch] moved
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/Makefile.am
	* app/paint-funcs/scale-funcs.[ch]
	* app/paint-funcs/sample-funcs.[ch]: moved subsample_region() to
	new file and also moved subsample_indexed_region() there.

	* app/base/tile-manager-preview.c
	* app/core/gimpdrawable-preview.c: changed accordingly.


svn path=/trunk/; revision=22953
2007-07-18 12:47:00 +00:00
Sven Neumann 58ee85dfa6 added tile_manager_get_sub_preview().
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager-preview.[ch]: added
	tile_manager_get_sub_preview().

	* app/core/gimpdrawable-preview.c: use the new function except 
for
	indexed drawables.


svn path=/trunk/; revision=22950
2007-07-17 20:33:10 +00:00
Sven Neumann b47a3e52e5 app/base/Makefile.am added new file that holds code to create a preview
2007-07-17  Sven Neumann  <sven@gimp.org>

	* app/base/Makefile.am
	* app/base/tile-manager-preview.[ch]: added new file that holds 
code
	to create a preview from a tile manager.

	* app/core/gimpbuffer.c
	* app/core/gimpimage-preview.c: use the new function instead of
	duplicating this code.


svn path=/trunk/; revision=22948
2007-07-17 19:38:10 +00:00
Sven Neumann 09578ea070 removed extra check for gthread and fold it into the GLIB and GTK checks.
2007-06-25  Sven Neumann  <sven@gimp.org>

	* configure.in: removed extra check for gthread and fold it into
	the GLIB and GTK checks.

	* */Makefile.am: changed accordingly.

	* app/main.c (main): always call g_thread_init().

svn path=/trunk/; revision=22832
2007-06-25 12:41:59 +00:00
Sven Neumann 610feafb3e app/base/base-types.h app/base/tile-manager.[ch] removed accessors for
2007-06-21  Sven Neumann  <sven@gimp.org>

	* app/base/base-types.h
	* app/base/tile-manager.[ch]
	* app/base/tile-manager-private.h: removed accessors for user_data.
	Instead pass the user_data when setting the validation proc.

	* app/base/tile-pyramid.c
	* app/core/gimpchannel.c
	* app/core/gimpprojection.c
	* app/core/gimpselection.c
	* app/tools/gimpiscissorstool.c: changed accordingly.

svn path=/trunk/; revision=22820
2007-06-21 14:36:58 +00:00
Sven Neumann f2e9d552b2 app/base/tile-manager.[ch] removed "level_below" from the TileManager
2007-06-21  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.[ch]
	* app/base/tile-manager-private.h: removed "level_below" from the
	TileManager struct.
	
	* app/base/tile-pyramid.c: use the TileManager's user_data to
	store a pointer to the lower level.

svn path=/trunk/; revision=22819
2007-06-21 14:13:01 +00:00
Sven Neumann 173c9d40aa use gboolean for boolean parameters.
2007-06-21  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.[ch]: use gboolean for boolean parameters.

	* app/base/tile-pyramid.c (tile_pyramid_get_memsize): pass TRUE
	for sparse to tile_manager_get_memsize().

	* app/base/tile.c
	* app/base/tile-swap.c: minor cleanups.

	* app/core/gimpprojection.c (gimp_projection_get_tiles_at_level):
	inline the creation of the TilePyramid.

svn path=/trunk/; revision=22818
2007-06-21 14:02:14 +00:00
Sven Neumann 4738f65724 documentation.
2007-06-20  Sven Neumann  <sven@gimp.org>

	* app/base/tile-pyramid.[ch]: documentation.


svn path=/trunk/; revision=22812
2007-06-21 07:03:23 +00:00
Sven Neumann 3f747cf0e3 added missing implementations for 1 and 3 bytes per pixel.
2007-06-20  Sven Neumann  <sven@gimp.org>

	* app/base/tile-pyramid.c (tile_pyramid_write_quarter): added missing
	implementations for 1 and 3 bytes per pixel.

svn path=/trunk/; revision=22808
2007-06-20 16:25:53 +00:00
Sven Neumann 3038dc0e80 app/base/Makefile.am app/base/base-types.h image pyramid code split out of
2007-06-20  Sven Neumann  <sven@gimp.org>

	* app/base/Makefile.am
	* app/base/base-types.h
	* app/base/tile-pyramid.[ch]: image pyramid code split out of
	GimpProjection.

	* app/core/gimpprojection.[ch]: use the new TilePyramid.

svn path=/trunk/; revision=22807
2007-06-20 16:15:16 +00:00
Sven Neumann 923b06bd0e removed unused function tile_mark_valid().
2007-06-20  Sven Neumann  <sven@gimp.org>

	* app/base/tile.[ch]: removed unused function tile_mark_valid().

	* app/base/tile-manager.[ch]: removed unused public API and cleaned
	up internals used for invalidating tiles.

svn path=/trunk/; revision=22806
2007-06-20 14:25:07 +00:00
Sven Neumann 9c8b7e133e removed unused field swap_num.
2007-06-20  Sven Neumann  <sven@gimp.org>

	* app/base/tile-private.h (struct _Tile): removed unused field
	swap_num.

	* app/base/tile.c (tile_new): initialise most of the Tile struct
	in the allocator.

svn path=/trunk/; revision=22805
2007-06-20 11:59:50 +00:00
Sven Neumann c5a48bbea0 call tile_cache_exit() before tile_swap_exit(). tile_cache_exit() may use
2007-06-13  Sven Neumann  <sven@gimp.org>

	* app/base/base.c (base_exit): call tile_cache_exit() before
	tile_swap_exit(). tile_cache_exit() may use the tile swap in
	pathological cases.

	* app/base/tile-cache.c (tile_cache_exit): warn if the tile cache
	is not empty.

svn path=/trunk/; revision=22772
2007-06-13 13:36:00 +00:00
Sven Neumann 39fb488662 minor cleanup.
2007-06-13  Sven Neumann  <sven@gimp.org>

	* app/base/tile-cache.c: minor cleanup.

svn path=/trunk/; revision=22771
2007-06-13 13:16:05 +00:00
Sven Neumann 345f007049 eliminate calls to sqrt().
2007-06-12  Sven Neumann  <sven@gimp.org>

	* app/base/boundary.c (simplify_subdivide): eliminate calls to sqrt().

svn path=/trunk/; revision=22764
2007-06-12 10:20:36 +00:00
Sven Neumann 5d14b8d2a4 Applied patch from Zbigniew Chyla that further improves the
2007-06-11  Sven Neumann  <sven@gimp.org>

        Applied patch from Zbigniew Chyla that further improves the
        boundary_sort() performance (bug #388538):

        * base/boundary.c (cmp_xy): use "y" coordinate as more 
significant
        one, i.e. compare (ay, ax) to (by, bx), not (ax, ay) to (bx, 
by).

        * configure.in: bumped version to 2.3.19.


svn path=/trunk/; revision=22762
2007-06-11 21:29:59 +00:00
Sven Neumann 04a509b0fe cosmetics
svn path=/trunk/; revision=22751
2007-06-11 07:12:19 +00:00
Sven Neumann 2cb54ef2a4 Applied the second patch from Zbigniew Chyla. Improves boundary_sort()
2007-06-11  Sven Neumann  <sven@gimp.org>

	Applied the second patch from Zbigniew Chyla. Improves
	boundary_sort() performance by reducing its time complexity from
	O(n*n) to ~O(n*log n) (bug #388538).

	* app/base/boundary.c (boundary_sort): prepare two arrays of
	pointers to segments, each sorted by different pair of
	coordinates ((x1,y1) and (x2,y2)); use new find_segment(),
	passing both arrays to it.
	(find_segment): new implementation that employs binary search to
	find matching segment, using sorted arrays prepared by
	boundary_sort().


svn path=/trunk/; revision=22750
2007-06-11 07:04:20 +00:00
Sven Neumann 345855a711 formatting.
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.c: formatting.


svn path=/trunk/; revision=22742
2007-06-07 21:55:46 +00:00
Sven Neumann f322854007 app/text/Makefile.am app/core/Makefile.am app/tools/Makefile.am
2007-06-07  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/core/Makefile.am
	* app/tools/Makefile.am
	* app/display/Makefile.am
	* app/widgets/Makefile.am
	* app/base/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* libgimp/Makefile.am
	* libgimpthumb/Makefile.am
	* tools/pdbgen/Makefile.am
	* libgimpwidgets/Makefile.am: applied the remaining parts of the
	patch from Daniel Richard G. to fix out-of-source-tree builds
	(bug #444960).

svn path=/trunk/; revision=22735
2007-06-07 13:19:44 +00:00
Martin Nordholts 7917611e53 Implemented an image pyramid for the GimpProjection. An image pyramid
2007-06-06  Martin Nordholts  <martinn@svn.gnome.org>

	Implemented an image pyramid for the GimpProjection. An image pyramid
	caches a projection at several sizes, causing the rendering code not to
	have to swap in all tiles of a (potentially) large image; it can use
	small versions of the projection if the user is zoomed out.

	The image pyramid also imroves visual quality, especially at zoom levels
	where there is a pyramid level that matches perfectly (i.e. at e.g. 50%,
	25%, and 12.5% zoom). A step on the right track for bug #76096.

	* app/core/gimpprojection.[ch]: Adjusted to make use of an image
	pyramid. GimpProjection now keeps an array of TileManager:s, one per
	pyramid level. Renamed _alloc_tiles to _alloc_levels.

	* app/display/gimpdisplayshell-draw.c: (gimp_display_shell_draw_area):
	Use the right GimpProjection level when drawing

	* app/display/gimpdisplayshell-render.c: (render_image_init_info_full):
	Setup RenderInfo with level in mind

	* app/base/tile-manager.[ch]: Extended API a bit, nothing complicated.

	* app/base/tile-manager-private.h (struct _TileManager): Keep a pointer
	to the level below for use in an image pyramid.


svn path=/trunk/; revision=22727
2007-06-06 13:45:44 +00:00
Sven Neumann 2581c9437e removed unused typedef.
2007-05-29  Sven Neumann  <sven@gimp.org>

	* app/base/base-types.h: removed unused typedef.

svn path=/trunk/; revision=22654
2007-05-29 09:57:40 +00:00
Sven Neumann 3081e02db0 renamed tile_sanitize_rowhints() to tile_allocate_rowhints().
2007-05-29  Sven Neumann  <sven@gimp.org>

	* app/base/tile.[ch]: renamed tile_sanitize_rowhints() to
	tile_allocate_rowhints().
	
	* app/base/tile-manager.c
	* app/paint-funcs/paint-funcs.c: changed accordingly.

svn path=/trunk/; revision=22648
2007-05-29 09:06:15 +00:00
Michael Natterer 91ca374788 allocate tile->rowhint using tile_sanitize_rowhints() (which uses GSlice)
2007-05-28  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-manager.c (tile_manager_get): allocate
	tile->rowhint using tile_sanitize_rowhints() (which uses GSlice)
	instead of g_memdup(). Fixes bug #441878.


svn path=/trunk/; revision=22643
2007-05-28 21:27:15 +00:00
Sven Neumann dc94d7b2f6 cleaning up after my last commit...
svn path=/trunk/; revision=22586
2007-05-22 21:40:24 +00:00
Sven Neumann 9ebc6ae270 allocate structs using GSlice.
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: allocate structs using GSlice.

	* app/base/tile-swap.[ch]
	* app/xcf/xcf-load.c: removed dead code that used to deal with
	swapping from XCF files. Simplified swap file code quite a bit.


svn path=/trunk/; revision=22585
2007-05-22 21:32:09 +00:00
Sven Neumann 1a3abcff9b app/base/tile-manager.[ch] removed unused code.
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.[ch]
	* app/base/tile-manager-private.h: removed unused code.

	* app/base/pixel-surround.c
	* app/base/pixel-region.c: allocate structs using GSlice.

	* app/base/tile.c: allocate TileLink and TileRowHint using 
GSlice.


svn path=/trunk/; revision=22583
2007-05-22 18:29:33 +00:00
Michael Natterer 7654733de9 changed tile_init() to tile_new() and return a GSlice-allocated Tile
2007-05-22  Michael Natterer  <mitch@gimp.org>

	* app/base/tile.[ch]: changed tile_init() to tile_new() and return
	a GSlice-allocated Tile structure.

	(tile_destroy): free it using GSLice.

	* app/base/tile-manager.c: use tile_new() instead of g_new plus
	tile_init(). Also allocate TileManager itself using GSlice.

	* app/xcf/xcf-load.c (xcf_load_parasite): allocate parasites using
	gimp_parasite_new().


svn path=/trunk/; revision=22571
2007-05-22 15:12:30 +00:00
Sven Neumann 6c9cb2ec8b formatting.
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager-private.h: formatting.

svn path=/trunk/; revision=22559
2007-05-22 10:51:02 +00:00
Michael Natterer ada79e533a app/actions/data-commands.c app/base/boundary.c app/base/gimphistogram.c
2007-05-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/base/boundary.c
	* app/base/gimphistogram.c
	* app/base/gimplut.c
	* app/base/temp-buf.c
	* app/core/gimpcontainer.c
	* app/core/gimpgradient.c
	* app/core/gimpparamspecs.c
	* app/core/gimpundo.c
	* app/plug-in/gimpplugin-cleanup.c
	* app/plug-in/gimppluginmanager-data.c
	* app/plug-in/gimppluginmanager-help-domain.c
	* app/plug-in/gimppluginmanager-locale-domain.c
	* app/plug-in/gimppluginmanager-menu-branch.c
	* app/plug-in/gimppluginprocframe.c
	* app/vectors/gimpanchor.c
	* app/widgets/gimpsessioninfo.c: use GSlice instead of g_new/g_free
	for structs of fixed size.


svn path=/trunk/; revision=22558
2007-05-22 10:43:48 +00:00
Sven Neumann ab30daf8b9 if the invalided tile is the cached tile, release the cached tile. Fixes
2007-05-16  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.c (tile_invalidate): if the invalided tile
	is the cached tile, release the cached tile. Fixes bug #438802.


svn path=/trunk/; revision=22507
2007-05-16 12:05:15 +00:00
Sven Neumann 0fef82fb16 app/base/gimplut.[ch] app/tools/gimpcurvestool.c reverted the changes done
2007-05-05  Sven Neumann  <sven@gimp.org>

	* app/base/gimplut.[ch]
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c: reverted the changes done for bug
	#331782. See the bug report for an explanation.


svn path=/trunk/; revision=22421
2007-05-05 14:29:37 +00:00
Mukund Sivaraman a89d0a1cc8 app/base/gimplut.c app/base/gimplut.h app/tools/gimpcurvestool.c Fixed the
2007-05-05  Mukund Sivaraman  <muks@mukund.org>

        * app/base/gimplut.c
        * app/base/gimplut.h
        * app/tools/gimpcurvestool.c
        * app/tools/gimplevelstool.c: Fixed the value channel color
        correction in the curves and levels tools to only modify the
        value channel and not the hues. Fixes bug #331782.


svn path=/trunk/; revision=22418
2007-05-05 11:51:03 +00:00
Sven Neumann 8f7491f2eb cosmetics.
2007-05-02  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.c: cosmetics.

svn path=/trunk/; revision=22373
2007-05-02 09:00:46 +00:00
Sven Neumann 4ea83b2c60 documentation fix.
2007-04-16  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c: documentation fix.


svn path=/trunk/; revision=22258
2007-04-16 15:02:51 +00:00
Michael Natterer f2acde4c60 app/base/base-types.h remove redundant and inconsistently used MaskBuf
2007-04-13  Michael Natterer  <mitch@gimp.org>

	* app/base/base-types.h
	* app/base/temp-buf.[ch]: remove redundant and inconsistently used
	MaskBuf type and API.

	* app/core/gimpbrush-scale.c
	* app/paint/gimpbrushcore.[ch]: use TempBuf and its API instead.
	This also optimizes away a useless memset() on brush scaling,
	we completely fill each of the created buffers anyway.


svn path=/trunk/; revision=22249
2007-04-13 14:04:37 +00:00
Michael Natterer c6733ac891 app/base/Makefile.am removed these files.
2007-04-01  Michael Natterer  <mitch@gimp.org>

	* app/base/Makefile.am
	* app/base/brush-scale.[ch]: removed these files.

	* app/core/Makefile.am
	* app/core/gimpbrush-scale.[ch]: added the functions here as
	static utility functions. Also move the default implementations of
	GimpBrush::scale_size(), ::scale_mask() and ::scale_pixmap() here,
	including their utility functions.

	* app/core/gimpbrush.c: remove all scale stuff and
	include "gimpbrush-scale.h" instead.

	(gimp_brush_get_new_preview): use GimpBrush's scale functions
	instead of the now private ones. Cleanup.

	(gimp_brush_scale_mask)
	(gimp_brush_scale_pixmap): return a copy of the buf for
	scale == 1.0.


svn path=/trunk/; revision=22213
2007-04-01 13:38:22 +00:00
Sven Neumann 7688860072 documentation.
2007-03-14  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c (struct _PixelSurround): documentation.


svn path=/trunk/; revision=22117
2007-03-14 09:13:12 +00:00
Sven Neumann 8d53504d82 moved calculations out of MIN() macro.
2007-03-14  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_drb): moved calculations out of MIN() macro.

svn path=/trunk/; revision=22116
2007-03-14 08:52:00 +00:00
Sven Neumann 21a0bf9f7b minor cleanups, moved calculations out of the MIN() macro, avoid unneeded
2007-03-14  Sven Neumann  <sven@gimp.org>

	* app/base/brush-scale.c: minor cleanups, moved calculations out
	of the MIN() macro, avoid unneeded floating-point calculations.


svn path=/trunk/; revision=22114
2007-03-14 07:29:43 +00:00
Michael Natterer 4648f542cf app/core/gimpbrush.[ch] app/core/gimpbrushgenerated.c
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
2007-03-12 09:33:57 +00:00
Michael Schumacher a4e81c3a6c Made brushes scalable (both up and down) by using existing scaling
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
2007-03-11 16:28:08 +00:00
Michael Natterer 4ddfeb7ddc don't include libgimpmath/gimpmathtypes.h
2007-03-10  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: don't include libgimpmath/gimpmathtypes.h

	* app/base/base-types.h: include it here. Also include
	libgimpcolor/gimpcolortypes.h


svn path=/trunk/; revision=22094
2007-03-10 19:31:07 +00:00
Sven Neumann 101d1b6512 replaced inner loop by a call to memcpy.
2007-03-09  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c: replaced inner loop by a call to memcpy.


svn path=/trunk/; revision=22082
2007-03-09 10:18:25 +00:00
Sven Neumann 7758757d89 Much better fix which doesn't slow down handling of out-of-bounds requests
and also covers a corner case that the previous fix didn't handle. 

svn path=/trunk/; revision=22081
2007-03-09 09:53:21 +00:00
Sven Neumann 3760f9ec49 fixed handling of uncovered regions.
2007-03-09  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c: fixed handling of uncovered 
regions.


svn path=/trunk/; revision=22080
2007-03-09 09:19:57 +00:00
Sven Neumann 012ecd81f5 do one less call to tile_manager_get_tile().
2007-03-08  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c (pixel_surround_get_data): do one less
	call to tile_manager_get_tile().


svn path=/trunk/; revision=22076
2007-03-08 16:38:53 +00:00
Sven Neumann a092677a4d fixed boundary case.
2007-03-08  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c: fixed boundary case.

svn path=/trunk/; revision=22073
2007-03-08 14:50:19 +00:00
Sven Neumann c9073a2449 reduced number of calls to tile_manager_get_tile().
2007-03-07  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c (pixel_surround_lock): reduced number
	of calls to tile_manager_get_tile().


svn path=/trunk/; revision=22064
2007-03-07 17:57:10 +00:00
Sven Neumann 4d76165127 keep an internal buffer filled with the background color and use it for
2007-03-07  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c: keep an internal buffer filled with
	the background color and use it for out of bounds requests. 
Speed
	up filling the internal buffer by copying data row-by-row.


svn path=/trunk/; revision=22062
2007-03-06 23:32:25 +00:00
Sven Neumann bcbca9b612 documentation.
2007-02-27  Sven Neumann  <sven@gimp.org>

        * app/base/pixel-surround.c: documentation.


svn path=/trunk/; revision=22020
2007-02-27 21:55:52 +00:00
Sven Neumann 6788bffb5c do less tile lock and release operations by reusing the last locked tile
2007-02-23  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.[ch]: do less tile lock and release
	operations by reusing the last locked tile if possible. Allow to
	call pixel_surround_lock() several times without unlocking.

	* app/core/gimp-transform-region.c: don't unlock the PixelSurround
	so that the locked tile can be reused. Yields about 30% speedup
	for transformations.


svn path=/trunk/; revision=21984
2007-02-23 16:19:42 +00:00
Sven Neumann 9a30c767a2 code cleanup.
2007-02-23  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c (pixel_surround_lock): code cleanup.


svn path=/trunk/; revision=21981
2007-02-23 10:59:02 +00:00
Sven Neumann c0c273f9ce allocate the PixelSurround struct and its buffer in one chunk.
2007-02-22  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-surround.c: allocate the PixelSurround struct and
	its buffer in one chunk.


svn path=/trunk/; revision=21980
2007-02-23 10:10:44 +00:00
Sven Neumann 9d32b72c6f app/base/base-types.h hide PixelSurround struct and cleaned up the
2007-02-22  Sven Neumann  <sven@gimp.org>

	* app/base/base-types.h
	* app/base/pixel-surround.[ch]: hide PixelSurround struct and
	cleaned up the PixelSurround API.

	* app/core/gimp-transform-region.c: changed accordingly. Also
	sprinkled some const qualifiers.

svn path=/trunk/; revision=21978
2007-02-23 09:50:42 +00:00
Sven Neumann 3f7c188f59 made tile_ref_count a static variable and added a function to access it.
2007-02-22  Sven Neumann  <sven@gimp.org>

	* app/base/tile.[ch]: made tile_ref_count a static variable and
	added a function to access it.  Declared other (unused) global
	counters as static variables and moved them into #ifdefs.

	* app/base/tile-swap.c: use the function instead of declaring
	tile_ref_count as extern.

	* app/base/tile-manager.c
	* app/base/pixel-surround.c: cosmetics.


svn path=/trunk/; revision=21975
2007-02-22 22:28:24 +00:00
Tor Lillqvist 32d58bf209 Fix #398311 in GIMP until corresponding abstraction has been added to
2007-01-26  Tor Lillqvist  <tml@novell.com>

	Fix #398311 in GIMP until corresponding abstraction has been added
	to GLib:

	* app/base/tile-private.h: Use gint64 instead of off_t. (I assume
	the configury makes sure GIMP is always compiled as
	large-file-aware on Unix with an off_t of at least 64 bits?)

	Introduce wrapper macros LARGE_SEEK() and LARGE_TRUNCATE(). On
	Win32 LARGE_SEEK() calls _lseeki64() in the Microsoft C library,
	and LARGE_TRUNCATE calls a new internal function
	gimp_win32_large_truncate(). On Unix they call lseek() and
	ftruncate().

	* app/base/tile-swap.c: Use gint64 instead of off_t. Use
	LARGE_SEEK() and LARGE_TRUNCATE() instead of lseek() and
	ftruncate().
	(gimp_win32_large_truncate): New function. Calls LARGE_SEEK() and
	SetEndOfFile().

	* app/xcf/xcf-load.c (xcf_swap_func): Use LARGE_SEEK() instead of
	lseek().


svn path=/trunk/; revision=21785
2007-01-27 01:49:01 +00:00
Michael Natterer 3fb0096e62 add support for non-tiled regions.
2007-01-15  Michael Natterer  <mitch@gimp.org>

	* app/base/pixel-region.c (pixel_region_set,get_row): add support
	for non-tiled regions.

	* app/paint/gimpperspectiveclone.[ch]: replace handmade
	transformation code by a call to gimp_transform_region(). Fix
	getting the original pixels for src_pickable != dest_drawable
	(bug #394610). Various small fixes and cleanups.


svn path=/trunk/; revision=21720
2007-01-15 21:54:51 +00:00
Sven Neumann 930d6149da removed all .cvsignore files from SVN
svn path=/trunk/; revision=21612
2006-12-30 14:31:03 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Sven Neumann 5e43848a7c applied patch from Saul Goode (bug #379611), then cleaned up further.
2006-11-27  Sven Neumann  <sven@gimp.org>

	* app/base/color-balance.c (color_balance_transfer_init): applied
	patch from Saul Goode (bug #379611), then cleaned up further.
2006-11-27 10:07:50 +00:00
Michael Natterer 85cecec576 app/base/base.c app/core/gimp-user-install.c
2006-11-12  Michael Natterer  <mitch@gimp.org>

	* app/base/base.c
	* app/core/gimp-user-install.c
	* app/core/gimpbrushgenerated-load.c
	* app/core/gimpcontainer.c
	* app/core/gimpgradient-load.c
	* app/core/gimppalette-load.c
	* app/core/gimpparamspecs-desc.c
	* app/dialogs/tips-parser.c
	* app/menus/plug-in-menus.c
	* app/plug-in/gimppluginmanager.c
	* app/plug-in/gimppluginprocedure.c
	* app/text/gimptext-parasite.c
	* app/tools/gimpforegroundselecttool.c
	* app/widgets/gimpselectiondata.c
	* app/xcf/xcf.c: use g_str_has_prefix() instead of strncmp().
2006-11-12 20:30:50 +00:00
Sven Neumann e98c83a523 moved call to gimp_item_get_image() out of the loop.
2006-11-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_do): moved call to
	gimp_item_get_image() out of the loop.

	* app/base/pixel-region.c
	* app/core/gimpitem.c: formatting.
2006-11-04 18:18:32 +00:00
Michael Natterer c18faa20fe app/actions/brush-editor-actions.c app/base/tile-manager-crop.c
2006-10-30  Michael Natterer  <mitch@gimp.org>

	* app/actions/brush-editor-actions.c
	* app/base/tile-manager-crop.c
	* app/config/gimpconfig-file.c
	* app/core/gimp-gradients.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpimage-colorhash.c
	* app/core/gimpimage-undo-push.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/gui-vtable.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintcore-undo.c
	* app/plug-in/plug-in-enums.h
	* app/vectors/gimpstroke-new.c
	* app/vectors/gimpvectors-warp.c
	* app/widgets/gimpviewablebox.c
	* app/widgets/gimpviewrenderer-frame.c
	* app/widgets/gimpviewrenderer-utils.c
	* app/xcf/xcf-save.c
	* libgimpwidgets/gimpcontroller.c: all .c files should include
	their headers and all private functions should be static.
	(-Wmissing-declarations -Wmissing-prototypes rocks!)
2006-10-30 10:13:06 +00:00
Michael Natterer 78c67eef88 forgot to commit the latest version of this file (only a typo fix).
2006-10-23  Michael Natterer  <mitch@gimp.org>

	* app/base/base-enums.c: forgot to commit the latest version of
	this file (only a typo fix).
2006-10-23 12:09:22 +00:00
Michael Natterer e634d4d718 Added "Edit -> Fade" which allows to modify the paint mode and opacity of
2006-10-21  Michael Natterer  <mitch@gimp.org>

	Added "Edit -> Fade" which allows to modify the paint mode and
	opacity of the last drawable operation (fill, plugins etc.).
	Started from a patch by Bill Skaggs. Fixes bug #170707.

	* app/base/base-enums.[ch] (enum GimpLayerModeEffects): register
	the values REPLACE_MODE, ERASE_MODE and ANTI_ERASE_MODE with
	the type system.

	* app/widgets/gimppropwidgets.[ch]
	* app/widgets/gimpwidgets-constructors.[ch]: added "gboolean
	with_replace_modes" to the paint mode menu constructors.

	* app/tools/gimppaintoptions-gui.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimplayertreeview.c: pass with_replace_modes = FALSE.

	* app/core/gimpdrawableundo.[ch]: added members which keep tiles,
	paint mode and opacity of the pasted pixels.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_get_fadeable):
	returns a GimpUndo suitable for a fade operation, or NULL.

	* app/core/gimp-edit.[ch] (gimp_edit_fade): implements the actual
	fade by undoing the last operation and then re-applying the pixels
	with different paint mode and opacity.

	* app/core/gimpdrawable-combine.c: store the pasted pixels in
	the GimpDrawableUndo.

	* app/actions/edit-actions.c
	* app/actions/edit-commands.[ch]: action and callback for fade.

	* app/dialogs/Makefile.am
	* app/dialogs/fade-dialog.[ch]: the fade dialog.

	* app/widgets/gimphelp-ids.h: the fade help ID.

	* menus/image-menu.xml.in: added a menu entry in "Edit".
2006-10-21 18:46:49 +00:00
Sven Neumann 53ececa514 app/composite/gimp-composite.h app/composite/gimp-composite-generic.c
2006-09-28  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite.h
	* app/composite/gimp-composite-generic.c
	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c: added lots of const qualifiers,
	moved variables to local scopes.

	* app/base/pixel-processor.c: formatting.
2006-09-27 23:29:05 +00:00
Sven Neumann 26ecfe60b7 use the same code on all platforms. The optimization for bytes == 4 was
2006-09-21  Sven Neumann  <neumann@jpk.com>

	* app/base/tile-manager.c (read_pixel_data_1) (write_pixel_data_1):
	use the same code on all platforms. The optimization for bytes == 4
	was pointless anyway.
2006-09-21 09:45:07 +00:00
Michael Natterer a9c03ad6b6 fix build on big endian.
2006-09-21  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-manager.c (read_pixel_data_1): fix build on
	big endian.
2006-09-21 01:16:09 +00:00
Sven Neumann d3904c6d85 fixed endian issues (bug #340965).
2006-09-20  Sven Neumann  <sven@gimp.org>

	* app/base/tile-manager.c (read_pixel_data_1) (write_pixel_data_1):
	fixed endian issues (bug #340965).
2006-09-20 10:38:42 +00:00
Sven Neumann 6d0e04ae6e app/base/pixel-region.[ch] app/base/tile-manager.[ch] removed code that
2006-09-07  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-region.[ch]
	* app/base/tile-manager.[ch]
	* app/base/tile-swap.[ch]: removed code that tried to swap in
	tiles asynchronously (but ended up calling up nothing).
2006-09-07 09:58:17 +00:00
Sven Neumann 79931072c8 app/base/tile-cache.c app/base/tile-manager.c app/base/tile-private.h
2006-09-07  Sven Neumann  <sven@gimp.org>

	* app/base/tile-cache.c
	* app/base/tile-manager.c
	* app/base/tile-private.h
	* app/base/tile.c: removed tile locking macros that were only used
	for the threaded tile swapper.
2006-09-07 09:41:23 +00:00
Sven Neumann c8fb26ee96 removed --enable_threaded_tile_swapper option.
2006-09-07  Sven Neumann  <sven@gimp.org>

	* configure.in: removed --enable_threaded_tile_swapper option.

	* app/base/tile-cache.c
	* app/base/tile-private.h
	* app/base/tile-swap.c
	* app/base/tile.c: removed threaded tile swapper code which has
	been sitting here unused for too long.
2006-09-07 09:31:27 +00:00
Sven Neumann 9a75754282 fixed logic for starting the idle swapper 2006-09-04 08:16:33 +00:00
Sven Neumann d1cc52ecbf only run the idle swapper if needed and use a lower priority for the
2006-09-04  Sven Neumann  <sven@gimp.org>

        * app/base/tile-cache.c: only run the idle swapper if needed and
        use a lower priority for the timeout.
2006-09-04 07:22:10 +00:00
Sven Neumann d34ff5537d libgimpbase/Makefile.am libgimpbase/gimpbase.h added new files that hold
2006-08-29  Sven Neumann  <sven@gimp.org>

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimprectangle.[ch]: added new files that hold
	gimp_rectangle_intersect(), factored out of the core.

	* libgimpbase/gimpbase.def: updated.

	* app/core/gimp-edit.c
	* app/core/gimp-utils.c
	* app/core/gimp-utils.h
	* app/core/gimpchannel-combine.c
	* app/core/gimpdrawable-foreground-extract.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-preview.c
	* app/core/gimplayer.c
	* app/core/gimpscanconvert.c
	* app/display/gimpdisplayshell-draw.c: changed includes accordingly.

	* libgimp/gimpdrawablepreview.c: don't duplicate
	gimp_rectangle_intersect() here, use the function in libgimpbase.

	* app/base/siox.c: use gimp_rectangle_intersect() to reduce the
	working area to the region of interest. Fixes bug #340422.
2006-08-29 14:46:32 +00:00
Sven Neumann 232b11c188 print the value of $datarootdir in the summary.
2006-08-25  Sven Neumann  <sven@gimp.org>

	* configure.in: print the value of $datarootdir in the summary.

	* app/base/tile-swap.c (tile_swap_in_attempt): fixed error
	handling in this unused function.
2006-08-25 16:48:09 +00:00
Sven Neumann ea44e43f07 mention that multi-processor support is on by default.
2006-08-24  Sven Neumann  <sven@gimp.org>

	* INSTALL: mention that multi-processor support is on by
default.

	* app/base/tile-cache.c: fixed compilation if multi-processor
	support is disabled (bug #352609).
2006-08-24 06:31:11 +00:00
Sven Neumann 05b8556488 actually enable tile cache locking and added a missing lock in
2006-08-16  Sven Neumann  <sven@gimp.org>

	* app/base/tile-cache.c: actually enable tile cache locking and
	added a missing lock in tile_idle_preswap(). Should fix bug
#346923.
2006-08-16 06:06:13 +00:00
Sven Neumann dbeb1bcbae more code cleanup 2006-07-06 12:27:32 +00:00
Sven Neumann ff6c5bbd9b code cleanup
2006-07-06  Sven Neumann  <sven@gimp.org>

	* app/base/boundary.[ch]: code cleanup
2006-07-06 11:13:26 +00:00
Sven Neumann edcd73e9f0 app/base/pixel-region.[ch] code cleanup.
2006-07-06  Sven Neumann  <sven@gimp.org>

	* app/base/pixel-region.[ch]
	* app/base/tile-manager.h: code cleanup.
2006-07-06 10:58:44 +00:00
Sven Neumann dc4517cd78 code cleanup.
2006-07-06  Sven Neumann  <sven@gimp.org>

	* app/base/temp-buf.[ch]: code cleanup.
2006-07-06 10:50:39 +00:00
Sven Neumann db75625d27 Moved the CPU detection code to libgimpbase (see bug #342860):
2006-06-02  Sven Neumann  <sven@gimp.org>

	Moved the CPU detection code to libgimpbase (see bug #342860):

	* app/base/Makefile.am
	* app/base/cpu-accel.[ch]
	* app/base/test-cpu-accel.c: removed here...

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpcpuaccel.[ch]

	* libgimpbase/test-cpu-accel.c: ... and added here again with
	some API changes.

	* app/composite/Makefile.am
	* app/composite/make-installer.py: changed accordingly.

	* app/composite/gimp-composite-*-installer.c: regenerated.

	* libgimp/gimp.c (gimp_main): call gimp_set_use_cpu_accel().
2006-06-02 09:58:03 +00:00
Manish Singh b9416956f8 Fixes to address -ansi -pedantic compilation (bug #342390). Thanks goes to
2006-05-20  Manish Singh  <yosh@gimp.org>

        Fixes to address -ansi -pedantic compilation (bug #342390).
        Thanks goes to Daniel Richard G. for noticing and suggesting
        fixes.

        * libgimpbase/gimpsignal.c: #include "config.h" and define
        __POSIX_SOURCE for sigaction stuff.

        * app/base/tile-swap.c (tile_swap_test): use more portable
        S_IRUSR and S_IWUSR, instead of S_IREAD and S_IWRITE.

        * plug-ins/common/ripple.c
        * plug-ins/imagemap/imap_main.c: use C89 comments.

        * plug-ins/Lighting/lighting_preview.h: don't define spin widget
        variables here...

        * plug-ins/Lighting/lighting_ui.[ch]: ... and instead take care
        of them here.
2006-05-20 07:18:25 +00:00
Sven Neumann 27161194aa cosmetics (should have gone into the last commit) 2006-04-26 14:19:08 +00:00
Sven Neumann a779b9b302 added newlines.
2006-04-26  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (depth_first_search): added newlines.

	* app/core/gimpimage-contiguous-region.c: added const qualifiers.
2006-04-26 14:18:10 +00:00
Sven Neumann 6a4981c82a Applied a slightly modified version of a patch from Lode Leroy (bug
2006-04-21  Sven Neumann  <sven@gimp.org>

	Applied a slightly modified version of a patch from Lode Leroy
	(bug #336183):

	* app/base/gimphistogram.[ch]: added new function
	gimp_histogram_get_threshold() that returns an optimal
	binarization threshold.

	* app/tools/gimpthresholdtool.c: use the new function to
	initialize the Threshold tool.
2006-04-21 09:40:27 +00:00
Sven Neumann 48fda15424 changed if/else construct to have a final else statement so that the
compiler won't complain about possible uninitialized variables
2006-04-21 07:22:23 +00:00
Sven Neumann 090974f235 app/base/curves.c minor code cleanup, removed trailing whitespace.
2006-04-21  Sven Neumann  <sven@gimp.org>

	* app/base/curves.c
	* app/widgets/gimpsessioninfo.c: minor code cleanup, removed
	trailing whitespace.
2006-04-21 07:02:42 +00:00
Simon Budig 94431b4087 implemented a new interpolation for the "smooth" curve type. This fixes
2006-04-20  Simon Budig  <simon@gimp.org>

	* app/base/curves.c: implemented a new interpolation for the
	"smooth" curve type. This fixes the artefacts as described in
	bug #169078 although there definitely is room for improvement.

	This has an impact on the API as now the curves used by the
	gimp-curves-spline PDB call change. I do however believe, that
	the change is for good and the old behaviour was simply buggy.
2006-04-20 21:47:16 +00:00
Sven Neumann 6879c368ad sync parameter names with the declaration in the header file.
2006-04-18  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_drb): sync parameter names with the
	declaration in the header file.
2006-04-18 08:43:36 +00:00
Sven Neumann 049872b361 app/*.[ch] converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* app/*.[ch]
	* app/*/*.[ch]: converted tabs to spaces.
2006-04-12 12:49:29 +00:00
Sven Neumann ace029c120 removed forgotten debug output 2006-04-05 21:04:34 +00:00
Sven Neumann 7679f4adba minor code cleanup, renamed a function, declared some functions as static.
2006-04-05  Sven Neumann  <sven@gimp.org>

	* app/base/lut-funcs.[ch]: minor code cleanup, renamed a function,
	declared some functions as static.

	* app/core/gimpdrawable-equalize.c: changed accordingly.
2006-04-05 21:03:39 +00:00
Sven Neumann 0768628ac9 actually increment the tile counter used to limit the number of progress
2006-03-30  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_foreground_extract): actually increment
	the tile counter used to limit the number of progress updates.
2006-03-30 09:59:27 +00:00
Michael Natterer 2a227a1aee app/base/base-enums.h app/core/core-enums.h register some more enums.
2006-03-27  Michael Natterer  <mitch@gimp.org>

	* app/base/base-enums.h
	* app/core/core-enums.h
	* app/plug-in/plug-in-enums.h: register some more enums.

	* app/plug-in/Makefile.am: added rules to generate plug-in-enums.c

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/plug-in/plug-in-enums.c: (re)generated.
2006-03-27 13:49:19 +00:00
Sven Neumann 8ea4417192 applied changes from Kristian Jantz that improve the progress update from
2006-03-27  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: applied changes from Kristian Jantz that
	improve the progress update from the SIOX routine.
2006-03-27 06:40:14 +00:00
Sven Neumann c4772aebd1 fixed the potential problem that the cache wouldn't have been cleared
2006-03-23  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_foreground_extract): fixed the potential
	problem that the cache wouldn't have been cleared correctly if
	both background and foreground areas are added at the same time.
2006-03-23 10:58:56 +00:00
Sven Neumann f5ba454874 fixed assertions and progress calculation.
2006-03-22  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_foreground_extract): fixed assertions and
	progress calculation.
2006-03-22 14:38:11 +00:00
Sven Neumann aab10d11d2 let the caller specify a region of interest. Call the progress function
2006-03-22  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch] (siox_foreground_extract): let the caller
	specify a region of interest. Call the progress function more often.

	* app/core/gimpdrawable-foreground-extract.c
	(gimp_drawable_foreground_extract_siox): pass a region of interest
	to siox_foreground_extract() to speed up the SIOX tool.
2006-03-22 13:18:22 +00:00
Sven Neumann 212d9c7152 free the whole list instead of deleting it one element at a time.
2006-03-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): free the whole list instead of
	deleting it one element at a time.
2006-03-08 11:02:18 +00:00
Manish Singh 85b38140d9 app/base/cpu-accel.c app/composite/gimp-composite-3dnow.h
2006-02-27  Manish Singh  <yosh@gimp.org>

        * app/base/cpu-accel.c
        * app/composite/gimp-composite-3dnow.h
        * app/composite/gimp-composite-mmx.h
        * app/composite/gimp-composite-sse.h
        * app/composite/gimp-composite-sse2.h: check for __PIC__ in addition
        to PIC.
2006-02-28 06:34:16 +00:00
Simon Budig 78c41aa68f change the LUT function for the contrast. Fixes the buggy behaviour as
2006-02-24  Simon Budig  <simon@gimp.org>

	* app/base/lut-funcs.c: change the LUT function for the contrast.
	Fixes the buggy behaviour as described in bug #319872 and
	bug #332068 and makes the behaviour consistent with the standard
	contrast formula. However, I am leaving the bug open to discuss
	further improvements.

	Untabbified.
2006-02-24 01:04:48 +00:00
Raphael Quinet 7d8998a99c automatically removed trailing whitespace from 3460 lines.
2006-01-17  Raphael Quinet  <raphael@gimp.org>

	* (about 130 *.[ch] files): automatically removed trailing
	whitespace from 3460 lines.
2006-01-17 12:43:50 +00:00
jaycox b8752cd251 Fixed my email address in a dozen or so source files:
Fixed my email address in a dozen or so source files:
  modules/cdisplay_highcontrast.c
  libgimpbase/gimpparasite.c
  libgimpbase/gimpparasite.h
  libgimpmath/gimpmatrix.h
  libgimpmath/gimpmatrix.c
  app/core/gimpparasitelist.h
  app/core/gimpparasitelist.c
  app/base/gimphistogram.c
  app/base/gimphistogram.h
  app/base/gimplut.c
  app/base/gimplut.h
  app/base/pixel-processor.c
  app/base/pixel-processor.h
  app/core/gimp-parasites.c
  app/core/gimp-parasites.h
  app/core/gimpdrawable-histogram.c
  app/core/gimpdrawable-histogram.h
  app/core/gimpparasitelist.c
  app/core/gimpparasitelist.h
2006-01-12 00:50:44 +00:00
Sven Neumann c2b2573550 applied patch from Tobias Lenz that plugs a memleak and yields another
2006-01-07  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: applied patch from Tobias Lenz that plugs a
	memleak and yields another small speedup.
2006-01-07 17:06:05 +00:00
Sven Neumann fa649f749c fixed compilation of experimental threaded tile-swapper. Fixes bug
2005-11-11  Sven Neumann  <sven@gimp.org>

	* app/base/tile-swap.c (tile_swap_default_in): fixed compilation
	of experimental threaded tile-swapper. Fixes bug #320977.
2005-11-11 14:28:30 +00:00
Sven Neumann 79ac6c0279 fixed buglet in siox code and renamed functions
* it.po: corrected translation that broke the gimp.desktop file.
2005-11-04 20:38:35 +00:00
Sven Neumann 2fb4908c40 applied a patch by Gerald Friedland that changes the code to clear the
2005-11-04  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: applied a patch by Gerald Friedland that
	changes the code to clear the cache selectively instead of dumping
	it completely if the foreground or background area is changed.
2005-11-04 20:00:38 +00:00
Sven Neumann d5d9640f23 applied a patch by Tobias Lenz that makes use of the state that was added
2005-10-28  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: applied a patch by Tobias Lenz that makes use
	of the state that was added to SIOX in order to speed up the tool.
2005-10-28 16:11:40 +00:00
Manish Singh b055ca66b5 declare mindistbg, mindistfg, and alpha float variables at the start of
2005-10-17  Manish Singh  <yosh@gimp.org>

        * app/base/siox.c (siox_drb): declare mindistbg, mindistfg, and alpha
        float variables at the start of the block.
2005-10-17 23:27:11 +00:00
Sven Neumann 40dbda9e9c app/base/base-enums.h app/base/siox.[ch]
2005-10-17  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.h
	* app/base/siox.[ch]
	* app/core/gimpdrawable-foreground-extract.[ch]
	* app/tools/gimpforegroundselecttool.[ch]: export stateful SIOX to
	the core API and use it from the foreground selection tool.
2005-10-17 18:23:31 +00:00
Sven Neumann 5a6bd93e5a app/base/base.c (base_init) create temp and swap directories using
2005-10-17  Sven Neumann  <sven@gimp.org>

	* app/base/base.c (base_init)
	* app/base/tile-swap.c (tile_swap_init): create temp and swap
	directories using g_mkdir_with_parents() (bug #308658).
2005-10-17 17:27:48 +00:00
Sven Neumann e98cd43eab app/base/base-types.h applied patch from Gerald Friedland that introduces
2005-10-12  Sven Neumann  <sven@gimp.org>

	* app/base/base-types.h
	* app/base/siox.[ch]: applied patch from Gerald Friedland that
	introduces a state to the SIOX operation.

	* app/core/gimpdrawable-foreground-extract.c: adapted to the new API.
2005-10-12 00:24:26 +00:00
Sven Neumann 4f873415da another optimization by Tobias Lenz.
2005-10-04  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: another optimization by Tobias Lenz.
2005-10-04 17:54:13 +00:00
Sven Neumann ebe1c9f0f3 small optimization by Tobias Lenz.
2005-10-04  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: small optimization by Tobias Lenz.
2005-10-04 11:08:28 +00:00
Sven Neumann c995db3ce0 app/base/tile-cache.c app/base/tile-manager.c app/base/tile-private.h
2005-09-29  Sven Neumann  <sven@gimp.org>

	* app/base/tile-cache.c
	* app/base/tile-manager.c
	* app/base/tile-private.h
	* app/base/tile-swap.c
	* app/base/tile.c: keep the data size of a tile in the Tile struct
	instead of recalculating it over and over again. Adds an overhead
	of 4 bytes per tile but speeds up the tile cache significantly.
2005-09-29 22:24:57 +00:00
Sven Neumann b3a7108d07 optimizations by Tobias Lenz.
2005-09-29  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: optimizations by Tobias Lenz.
2005-09-29 19:29:44 +00:00
Sven Neumann 4664409370 minor code cleanups by Tobias Lenz.
2005-09-27  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: minor code cleanups by Tobias Lenz.
2005-09-27 21:30:42 +00:00
Sven Neumann d43c5c0774 applied patch from Gerald Friedland and Tobias Lenz. Introduces a hash
2005-09-25  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]: applied patch from Gerald Friedland and
	Tobias Lenz. Introduces a hash table to speed up the algorithm
	and changes the post-processing so that multiple disjunct objects
	can be selected.

	* app/tools/gimpforegroundselecttool.c: changed tooltip, the tool
	doesn't any longer extract single objects only.
2005-09-25 21:29:17 +00:00
Hans Breuer 0b515bec9b updated
2005-09-24  Hans Breuer  <hans@breuer.org>

	* **makefile.msc : updated

	* app/dialogs/user-install-dialog.c : only add the migrate page if
	there is something to migrate from. Avoids on version being NULL.

	* app/dialogs/file-save-dialog.c : the g_print() output was crashing
	on the assumption that ->menu_label != NULL. It is for colorhtml.py.

	* app/widgets/gimpselectiondata.c : use HAVE_UNISTD_H and move
	* process.h definition by G_OS_WIN32 below it being defined
	* app/widgets/gimpwidgets-utils.c(gimp_window_get_native) : cast
	return value to (GdkNativeWindow) it is not necessary an int.

	* libgimpwidgets/gimpwidgets.def : added gimp_zoom_type_get_type

	* plug-ins/help/gimp-help-lookup.c : dynamic lookup of help_root
	instead of hard-coding DATADIR/GIMP_HELP_PREFIX

	* plug-ins/xjt/xjt.c : there is no pid_t with msvc, typedef one.
2005-09-25 19:30:55 +00:00
Michael Natterer 874c832a8c do new_size calculation only when needed.
2005-09-03  Michael Natterer  <mitch@gimp.org>

	* app/base/temp-buf.c (temp_buf_resize): do new_size calculation
	only when needed.
2005-09-03 21:56:07 +00:00
Michael Natterer 34975e19b2 s/row_stride/rowstride/g.
2005-09-03  Michael Natterer  <mitch@gimp.org>

	* app/base/pixel-surround.c: s/row_stride/rowstride/g.
2005-09-03 19:03:53 +00:00
Michael Natterer 09454fb2a4 some general cleanup.
2005-09-03  Michael Natterer  <mitch@gimp.org>

	* app/base/pixel-region.[ch]: some general cleanup.

	(pixel_region_init_temp_buf)
	(pixel_region_init_data): new functions which initialize pixel
	regions on TempBufs and on raw contiguous arrays of pixel data.

	(pixel_region_configure): fixed a bug that has probably been there
	forever: when processing contiguous (non-tiled) data, interpret
	the original x and y coordinates of the region as offsets into
	the data. Before this fix, the initial x and y were simply ignored
	(by using them in a broken way), thus always forcing the upper
	left corner of the region being the beginning of the passed data.

	Lots of code was working around this problem by setting the
	pixel_region's data pointer to the proper starting pixel of the
	region in the middle the buffer.

	* libgimp/gimppixelrgn.c: some general cleanup.

	(gimp_pixel_rgn_configure): same fix as above. Fortunately, nobody
	seems to know that libgimp pixel regions can be used on arrays of
	data, just as core ones. Only two plug-ins were using this
	feature, and they are antique and written by spencer and federico,
	respectively. They both don't use offsets into the buffers and are
	not affected by this change. It's highly unlikely that anybody out
	there knows/uses this feature, so it can IMHO be safely changed.

	* app/base/temp-buf.c
	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-combine.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpimage-preview.c
	* app/core/gimplayer.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsmudge.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppainttool.c: use the pixel_region_init_foo()
	functions instead of initializing regions of TempBufs and raw data
	manually. Removed lots of workarounds for the broken offset
	handling. The changed places of code are much more readable now.
2005-09-03 17:16:58 +00:00
Sven Neumann dc8bdb4fa1 app/base/siox.[ch] fixed API docs.
2005-08-25  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]
	* app/core/gimpscanconvert.c: fixed API docs.

2005-08-25  Sven Neumann  <sven@gimp.org>

	* app/app-sections.txt
	* app/app.types: minor updates.

	* libgimpbase/tmpl/gimputils.sgml: regenerated.
2005-08-25 16:52:46 +00:00
Sven Neumann 5ea47e3126 minor optimizations.
2005-08-23  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: minor optimizations.

	* app/actions/gradients-actions.c
	* app/actions/patterns-actions.c
	* plug-ins/metadata/interface.c: applied patch from Stephan Binner
	that fixes wrong use of ellipsis (bug #309657).
2005-08-22 23:30:23 +00:00
Michael Natterer eb69eb49dc even more cleanup, replaced informal comments by API docs.
2005-08-20  Michael Natterer  <mitch@gimp.org>

	* app/base/boundary.[ch]: even more cleanup, replaced informal
	comments by API docs.
2005-08-20 17:25:19 +00:00
Michael Natterer 4fb1743f55 renamed puclic functions, defines and enums to live in a proper "boundary"
2005-08-20  Michael Natterer  <mitch@gimp.org>

	* app/base/boundary.[ch]: renamed puclic functions, defines and
	enums to live in a proper "boundary" namespace. Cleaned up and
	simplified internal code even more.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimplayer-floating-sel.c
	* app/paint/gimppaintcore-stroke.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimppainttool.c: changed accordingly.
2005-08-20 15:46:37 +00:00
Michael Natterer e923e0a595 rename local "ns" variables to "num_segs" now that the global "num_segs"
2005-08-20  Michael Natterer  <mitch@gimp.org>

	* app/base/boundary.c: rename local "ns" variables to "num_segs"
	now that the global "num_segs" is gone.
2005-08-20 12:44:01 +00:00
Michael Natterer d78fa5482d moved the entire internal state of boundary creation and simplification
2005-08-20  Michael Natterer  <mitch@gimp.org>

	* app/base/boundary.c: moved the entire internal state of boundary
	creation and simplification from <eek>global variables</eek> to a
	new "Boundary" struct that needs to be newly allocated for each
	boundary. Yes this allocates and frees memory more often than
	before but the old code was simply one big eek.
2005-08-20 12:35:54 +00:00
Michael Natterer d0309947f8 look at the passed "ns" variable instead of at the global "num_segs" one
2005-08-20  Michael Natterer  <mitch@gimp.org>

	* app/base/boundary.c (sort_boundary): look at the passed "ns"
	variable instead of at the global "num_segs" one to figure if the
	passed array of BoundSegs is empty. Fixes bug #313922 at its root.
2005-08-20 12:22:31 +00:00
Sven Neumann 465aa7a7c5 fixed initialization of row array.
2005-08-17  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs.c (smooth_region): fixed
	initialization of row array.

	* app/base/siox.c: minor cleanups.
2005-08-17 15:38:43 +00:00
Sven Neumann e91e1ad5d8 applied patch by Kristian Jantz. Reimplements find_max_blob() so that it
2005-08-17  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: applied patch by Kristian Jantz. Reimplements
	find_max_blob() so that it needs less memory. Slows things down a
	bit, but that can be improved later.
2005-08-17 11:05:34 +00:00
Sven Neumann ce8dcfb497 app/base/siox.[ch] app/core/gimpdrawable-foreground-extract.[ch]
2005-08-09  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]
	* app/core/gimpdrawable-foreground-extract.[ch]
	* app/tools/gimpforegroundselectoptions.[ch]
	* app/tools/gimpforegroundselecttool.c: renamed Granularity to
	Color Sensitivity, both in the GUI and in the APIs.
2005-08-09 20:43:44 +00:00
Sven Neumann 6f386794b7 optimized further.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): optimized further.
2005-08-08 18:31:28 +00:00
Sven Neumann 651aca218a added another call to gimp_progress_update().
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: added another call to gimp_progress_update().

	* app/core/gimp.c (gimp_init): fixed harmless cut-n-paste error.
2005-08-08 17:38:25 +00:00
Sven Neumann 5c6b8e9f79 added the possibility to specify a clip rectangle.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/core/gimpscanconvert.[ch]: added the possibility to specify
	a clip rectangle.

	* app/base/siox.c (find_max_blob): use g_try_malloc().
2005-08-08 12:05:54 +00:00
Sven Neumann 64614aa4fd optimizations.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): optimizations.
2005-08-08 04:49:44 +00:00
Sven Neumann 3f9144e534 fixed for offsetted regions. Do thresholding as part of find_max_blob().
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): fixed for offsetted regions.
	Do thresholding as part of find_max_blob().
2005-08-08 04:17:41 +00:00
Sven Neumann eb6268e53b fixed for offsetted regions.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): fixed for offsetted regions.
2005-08-08 03:41:02 +00:00
Sven Neumann a72b704ebf check boundary conditions before pushing a pixel to the queue.
2005-08-08  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (find_max_blob): check boundary conditions
	before pushing a pixel to the queue.
2005-08-08 01:27:11 +00:00
Sven Neumann 822a8a1f14 cosmetics 2005-08-08 00:31:55 +00:00
Sven Neumann e17b69fe43 made variables more local to make the code easier to read and to optimize.
2005-08-07  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c: made variables more local to make the code
	easier to read and to optimize.
2005-08-07 20:20:53 +00:00
Sven Neumann 37307dcb15 more micro optimizations 2005-08-07 16:32:32 +00:00
Sven Neumann f4893406ef micro optimizations.
2005-08-07  Sven Neumann  <sven@gimp.org>

	* app/base/siox.c (siox_foreground_extract): micro optimizations.
2005-08-07 16:07:32 +00:00
Sven Neumann 46bc22c7ff reordered parameters to match the order of parameters in
2005-08-06  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]: reordered parameters to match the order of
	parameters in gimp_drawable_foreground_extract_siox().

	* app/core/gimpdrawable-foreground-extract.c: changed accordingly.

	* app/tools/gimpforegroundselectoptions.[ch]: draw slider value to
	the right.

	* app/tools/gimpfreeselecttool.[ch]: added
	gimp_free_select_tool_select() to calls the virtual select() method.

	* app/tools/gimpforegroundselecttool.[ch]: queue an idle select if
	the smoothness or granularity values change in the tool options.
2005-08-06 20:01:22 +00:00
Sven Neumann d670b0e11e app/base/siox.[ch] expose all parameters of the SIOX algorithm. Provide
2005-08-06  Sven Neumann  <sven@gimp.org>

	* app/base/siox.[ch]
	* app/core/gimpdrawable-foreground-extract.[ch]: expose all
	parameters of the SIOX algorithm. Provide default values.

	* app/tools/gimpforegroundselectoptions.[ch]: added properties and
	user interface for all SIOX parameters.

	* app/tools/gimpforegroundselecttool.c: changed accordingly.

2005-08-06  Sven Neumann  <sven@gimp.org>

	* plug-ins/benchmark-foreground-extract.py: pass run-mode to PDB
	calls.
2005-08-06 19:08:43 +00:00