Commit Graph

782 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
930d6149da removed all .cvsignore files from SVN
svn path=/trunk/; revision=21612
2006-12-30 14:31:03 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
9a75754282 fixed logic for starting the idle swapper 2006-09-04 08:16:33 +00:00
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
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
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
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
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
dbeb1bcbae more code cleanup 2006-07-06 12:27:32 +00:00
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
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
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
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
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