Commit Graph

621 Commits

Author SHA1 Message Date
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