Commit Graph

1315 Commits

Author SHA1 Message Date
Michael Natterer b9a63e1b49 app/display/gimpdisplayshell-dnd.c app/widgets/gimpdnd-xds.c use
2007-11-15  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimpselectiondata.c: use GIMP_LOG(DND) here too.


svn path=/trunk/; revision=24164
2007-11-15 13:54:15 +00:00
Michael Natterer 3229e67f64 app/Makefile.am new files implementing a log facility which can be enabled
2007-11-15  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimp-log.[ch]: new files implementing a log facility which
	can be enabled using the GIMP_LOG environment variable.

	* app/main.c: initialize it.

	* app/display/gimpdisplayshell-callbacks.c: use it instead of
	private debugging macros that need to be enabled at compile time.


svn path=/trunk/; revision=24160
2007-11-15 10:57:53 +00:00
Michael Natterer 10ccddfb93 app/display/gimpcanvas.c free the cached PangoLayouts in
2007-11-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.c
	* app/widgets/gimpcurveview.c: free the cached PangoLayouts in
	GtkWidget::style_set().

	* app/widgets/gimppaletteview.c: draw the focus rectangle in
	hardcoded black/white since we also hardcode the grid color to
	black.

	* app/display/gimpstatusbar.c
	* app/widgets/gimpdockable.c: small cleanups while reviewing
	layout code.


svn path=/trunk/; revision=24156
2007-11-14 14:42:05 +00:00
Michael Natterer 2500162d0f don't let GimpImageMapTools move sample points. They fail badly and leave
2007-11-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_ruler_button_press): don't let
	GimpImageMapTools move sample points. They fail badly and leave
	the display in a paused state.


svn path=/trunk/; revision=24133
2007-11-12 14:10:24 +00:00
Michael Natterer 53b92957f6 don't crash if gimp_display_shell_filter_new() returns NULL. Fixes bug
2007-11-12  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): don't
	crash if gimp_display_shell_filter_new() returns NULL.
	Fixes bug #495863.


svn path=/trunk/; revision=24128
2007-11-12 09:36:45 +00:00
Sven Neumann e985096088 also cut the message at a '\r' character. Fixes the remaining aspect of
2007-11-08  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.c (gimp_statusbar_vprintf): also cut
	the message at a '\r' character. Fixes the remaining aspect of
	bug #492718.


svn path=/trunk/; revision=24091
2007-11-08 18:20:30 +00:00
Sven Neumann 3d0b3e0759 don't directly pass a message to gimp_statusbar_push(), it expects a
2007-11-08  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c 
(gimp_display_shell_show_tooltip):
	don't directly pass a message to gimp_statusbar_push(), it 
expects
	a format string and printf-like varargs. Fixes the crash 
reported
	in bug #492718.


svn path=/trunk/; revision=24088
2007-11-08 17:36:37 +00:00
Sven Neumann 13104834a5 use g_timeout_source_new_seconds().
2007-10-31  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-close.c
	(gimp_display_shell_close_dialog): use g_timeout_source_new_seconds().

svn path=/trunk/; revision=24016
2007-10-31 12:26:06 +00:00
Sven Neumann c1ec276567 shift only by 4 bits instead of 8. Should still keep us from overflowing
2007-10-30  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c (box_filter): shift only
	by 4 bits instead of 8. Should still keep us from overflowing 32
	bit integers but reduces the rounding error and seems to really
	fix bug #491503.


svn path=/trunk/; revision=23996
2007-10-30 22:03:32 +00:00
Sven Neumann c7b4263a85 reverted change that was made for bug #490785.
2007-10-30  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-handlers.c: reverted change that
	was made for bug #490785.

svn path=/trunk/; revision=23989
2007-10-30 12:02:19 +00:00
Sven Neumann c6e030dca2 reduce rounding errors. Fixed bug #491503.
2007-10-30  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c (box_filter): reduce
	rounding errors. Fixed bug #491503.

	* app/base/tile-pyramid.c (tile_pyramid_write_quarter): reduce
	rounding errors.


svn path=/trunk/; revision=23986
2007-10-30 08:39:51 +00:00
Sven Neumann cca6a3f1bd removed code that syncs the padding color with the default values set in
2007-10-27  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-handlers.c: removed code that 
syncs
	the padding color with the default values set in the 
preferences.
	Fixes bug #490785.


svn path=/trunk/; revision=23974
2007-10-27 19:01:21 +00:00
Sven Neumann dd292049e0 use INVERT instead of XOR if the xor-color is configured as white.
2007-10-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): use INVERT
	instead of XOR if the xor-color is configured as white.


svn path=/trunk/; revision=23941
2007-10-25 07:22:49 +00:00
Simon Budig bc2848806e change the PROJ_ROUND macro to do proper rounding. Seems to work well.
2007-10-24  Simon Budig  <simon@gimp.org>

        * app/display/gimpdisplayshell.h: change the PROJ_ROUND macro
	to do proper rounding. Seems to work well.


svn path=/trunk/; revision=23936
2007-10-23 23:55:53 +00:00
Sven Neumann 4ba204a2a8 tiny cosmetic cleanups.
2007-10-19  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c: tiny cosmetic cleanups.


svn path=/trunk/; revision=23886
2007-10-19 07:03:33 +00:00
Sven Neumann 4bfde23c61 fixed calculation of the alpha value.
2007-10-18  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c (box_filter): fixed
	calculation of the alpha value.


svn path=/trunk/; revision=23864
2007-10-18 08:07:26 +00:00
Sven Neumann 9f2174fcdf sprinkled some const qualifiers.
2007-10-17  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c (box_filter): sprinkled
	some const qualifiers.


svn path=/trunk/; revision=23862
2007-10-17 19:25:01 +00:00
Michael Natterer 45ca11b324 if we need to delete/create tools on button press because the active tool
2007-10-11  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): if we need to
	delete/create tools on button press because the active tool
	doesn't support changing drawables, make sure the newly created
	tool gets its focus_display and modifier states set correctly.
	Fixes bug #485119. Improved disabled debug output.

	* app/tools/gimptool.c: stylistic cleanup in debug output.


svn path=/trunk/; revision=23803
2007-10-11 15:25:28 +00:00
Sven Neumann 38f72c00ac removed level from GimpDisplayShell struct.
2007-10-08  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.[ch]: removed level from
	GimpDisplayShell struct.

	* app/display/gimpdisplayshell-render.c: fixed rendering of the 
mask.
	Closes bug #448417 again.


svn path=/trunk/; revision=23767
2007-10-08 19:53:43 +00:00
Sven Neumann 95c6df090f app/config/gimpdisplayconfig.[ch] app/config/gimprc-blurbs.h
2007-10-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpdisplayconfig.[ch]
	* app/config/gimprc-blurbs.h
	* app/display/display-enums.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-render.c: allow to configure the
	display zoom quality.

	* app/display/gimpdisplayshell-transform.c: formatting. 

svn path=/trunk/; revision=23760
2007-10-08 13:30:49 +00:00
Simon Budig 682695a80d app/display/gimpdisplayshell.[ch] 64bittified the code so that the new
2007-09-30  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-render.c: 64bittified the code so
	  that the new renderer also works for big images. Slightly
	  reorganized.

	* app/display/gimpdisplayshell-transform.c: Another go at
	  bug #474509. This even might be fixed now...


svn path=/trunk/; revision=23698
2007-09-30 17:24:47 +00:00
Simon Budig 2f4e32a7d5 fix the numerical overflow for the new box-filtering stuff.
2007-09-26  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell-render.c: fix the numerical overflow
	for the new box-filtering stuff.

	Fixes bug #479807.


svn path=/trunk/; revision=23659
2007-09-26 14:49:21 +00:00
Sven Neumann 816889b544 removed const qualifiers to fix compilation on Solaris 8 (bug #479817).
2007-09-24  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c: removed const qualifiers
	to fix compilation on Solaris 8 (bug #479817).

svn path=/trunk/; revision=23642
2007-09-24 15:43:01 +00:00
Simon Budig 2e1402c01b Accomodate for spill that happens by the box filtering.
2007-09-23  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplay.c: Accomodate for spill that
	happens by the box filtering.

	Fixes bug #474509. Again. Hopefully.


svn path=/trunk/; revision=23630
2007-09-23 18:21:08 +00:00
Simon Budig a26c1d7df9 oops - managed to miss the mask rendering.
2007-09-23  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell-render.c: oops - managed to miss the
	mask rendering.


svn path=/trunk/; revision=23619
2007-09-23 00:57:15 +00:00
Simon Budig 7d0a4ce1ec use Bresenham stepping for the y-direction as well.
2007-09-23  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell-render.c: use Bresenham stepping
	for the y-direction as well.

	Fixes bug #474509.

	Retired old and unused functions.


svn path=/trunk/; revision=23618
2007-09-23 00:36:17 +00:00
Simon Budig 40f66e9c13 implement bresenham-like stepping for interpolating the view in
2007-09-23  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell-render.c: implement
	bresenham-like stepping for interpolating the view in
	x-direction. Since I now know how it is supposed to work
	the y direction will follow shortly.

	Adresses bug #474509.


svn path=/trunk/; revision=23617
2007-09-22 22:28:51 +00:00
Simon Budig 98222b0359 avoid rendering issues by adding xdelta/2 to xstart.
2007-09-17  Simon Budig  <simon@gimp.org>

	* app/display/gimpdisplayshell-render.c: avoid rendering
	issues by adding xdelta/2 to xstart.

	Probably fixes bug #474509.


svn path=/trunk/; revision=23569
2007-09-16 23:38:37 +00:00
Sven Neumann ff80ac1701 formatting.
2007-09-14  Sven Neumann  <sven@gimp.org>

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

	* app/display/gimpdisplayshell-render.c: removed unused include.

svn path=/trunk/; revision=23545
2007-09-14 13:44:32 +00:00
Øyvind Kolås eb8924c0cb clone the middle row/column when walking off the source drawable during
* app/display/gimpdisplayshell-render.c: (render_image_tile_fault),
(render_image_tile_fault_one_row): clone the middle row/column when
walking off the source drawable during downscaling. Probably fixes bug
#469567.

svn path=/trunk/; revision=23521
2007-09-12 20:26:58 +00:00
Sven Neumann 1954ee81fe use the offsets module TILE_WIDTH and TILE_HEIGHT instead of doing the
2007-09-12  Sven Neumann  <sven@gimp.org>

	* app/base/tile.c (tile_data_pointer): use the offsets module
	TILE_WIDTH and TILE_HEIGHT instead of doing the module operation
	in each and every caller.

	* app/base/boundary.c
	* app/base/pixel-region.c
	* app/base/tile-manager.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimplayer.c
	* app/display/gimpdisplayshell-render.c
	* app/paint-funcs/paint-funcs.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpiscissorstool.c: changed accordingly.


svn path=/trunk/; revision=23515
2007-09-12 18:29:11 +00:00
Michael Natterer c3f89cc7f0 Bring back our menus when building on OS X but not against the quartz GDK
2007-09-12  Michael Natterer  <mitch@gimp.org>

	Bring back our menus when building on OS X but not against the
	quartz GDK backend:

	* configure.in: added conditional HAVE_GDK_QUARTZ.

	* menus/Makefile.am: use it when moving the help menu around.

	* app/dialogs/preferences-dialog.c
	* app/display/gimpdisplayshell.c
	* app/gui/gtk-macmenu.c
	* app/gui/gui.c
	* app/widgets/gimptoolbox.c: use #ifdef GDK_WINDOWING_QUARTZ
	instead of #ifdef HAVE_CARBON when enabling the global menubar.


svn path=/trunk/; revision=23512
2007-09-12 16:26:04 +00:00
Sven Neumann 4ec78466fd formatting.
2007-09-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c: formatting.

svn path=/trunk/; revision=23502
2007-09-11 14:45:06 +00:00
Martin Nordholts 1ff1f238a8 Remove the STRESS_TEST stuff, gimp_image_invalidate_without_render does
2007-09-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-draw.c
	(gimp_display_shell_draw_area): Remove the STRESS_TEST stuff,
	gimp_image_invalidate_without_render does not exist anymore
	anyway.

svn path=/trunk/; revision=23441
2007-09-02 06:12:55 +00:00
Øyvind Kolås aec18403a9 use nearest neighbour resampling when rendering for a 1byte per pixel
* app/display/gimpdisplayshell-render.c: (render_image_tile_fault):
use nearest neighbour resampling when rendering for a 1byte per pixel
drawable (ony happens when interacting with the SIOX tool, and then
the buffer is a indexed; not a greyscale buffer), fixes bug #472027.

svn path=/trunk/; revision=23424
2007-08-31 10:04:37 +00:00
Raphael Quinet b520112784 do not use anti-aliasing when the zoom is exactly 200%. Fixes bug #472150.
2007-08-31  Raphael Quinet  <raphael@gimp.org>

	* app/display/gimpdisplayshell-render.c (render_image_tile_fault):
	do not use anti-aliasing when the zoom is exactly 200%.  Fixes bug
	#472150.  Also miscellaneous cosmetic changes.

svn path=/trunk/; revision=23423
2007-08-31 09:36:16 +00:00
Michael Natterer 3736ea8284 First version of global menubar support for OSX. Work in progress.
2007-08-30  Michael Natterer  <mitch@gimp.org>

	First version of global menubar support for OSX. Work in progress.

	* app/gui/Makefile.am
	* app/gui/sync-menu.[ch]: new files containing code that takes
	a GtkMenuShell and proxies it in the OSX global menubar. Taken
	from http://developer.imendio.com/projects/gtk-macosx/menubar

	* app/gui/gui.c: put the global image popup menu to the menubar.

	* app/dialogs/preferences-dialog.c
	* app/display/gimpdisplayshell.c
	* app/widgets/gimptoolbox.c: #ifdef out all menubars in windows.

	* app/Makefile.am (AM_LDFLAGS): add $(CARBON_LDFLAGS)


svn path=/trunk/; revision=23408
2007-08-30 11:19:00 +00:00
Michael Natterer c3d79369e2 don't use SCALEX()/SCALEY() on x/y *and* width/height of the highlight
2007-08-24  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-draw.c
	(gimp_display_shell_draw_area): don't use SCALEX()/SCALEY() on x/y
	*and* width/height of the highlight rectangle because that adds up
	the error introduced by the ceil() contained in these macros.
	Instead, scale manually and use ceil() on x/y and floor() on
	width/height. Fixes off-by-one rendering artifacts (bug #467972).


svn path=/trunk/; revision=23367
2007-08-24 16:56:13 +00:00
Michael Natterer b0cd81cde7 don't use g_slice_dup(), that's in GLib 2.14 only.
2007-08-24  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c: don't use g_slice_dup(), that's
	in GLib 2.14 only.


svn path=/trunk/; revision=23366
2007-08-24 16:46:34 +00:00
Øyvind Kolås 8f8c98d1cc s/compute_sample/box_filter/.
* app/display/gimpdisplayshell-render.c: s/compute_sample/box_filter/.

svn path=/trunk/; revision=23365
2007-08-24 16:13:27 +00:00
Michael Natterer 29759cd892 allocate shell->highlight with GSlice.
2007-08-24  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c: allocate shell->highlight with
	GSlice.


svn path=/trunk/; revision=23364
2007-08-24 16:07:44 +00:00
Øyvind Kolås 8f5819a5f6 swapped center and middle terms around (now center means horizontal
* app/display/gimpdisplayshell-render.c: swapped center and middle
terms around (now center means horizontal (betwen left and right )and
middle means vertical (between top and bottom)).

svn path=/trunk/; revision=23363
2007-08-24 16:00:48 +00:00
Øyvind Kolås a3a6253291 removed a temporary variable, simplified logic slightly.
* app/display/gimpdisplayshell-render.c: (compute_sample): removed
a temporary variable, simplified logic slightly.
(render_image_tile_fault, render_image_tile_fault_one_row): moved
sum computation out of loop.

svn path=/trunk/; revision=23362
2007-08-24 15:58:49 +00:00
Øyvind Kolås d51e3c42f7 Replaced signed integres with unsigned ones for weights etc to gain some
* app/display/gimpdisplayshell-render.c: Replaced signed integres with
unsigned ones for weights etc to gain some additional bits of
precision. Enabled anti-aliasing for zoomlevels between 100% and 200%
to improve the smoothness of the display at the levels where the size
differences between pixels yields the most distracting artifacts.

svn path=/trunk/; revision=23361
2007-08-24 15:39:23 +00:00
Øyvind Kolås 42433749d6 Reshuffled shifting code in fixed point code of display to improve
quality.
* app/display/gimpdisplayshell-render.c:
(compute_sample): reshuffle a bit of the fixed point induced
shifting to allow higher precision.
(render_image_tile_fault): remove need to disable box-filter
for some non square zoom ratios that was needed before
compute_sample cleanup.
, (render_image_tile_fault_one_row): fetch source sample #1
from the correct tile.

svn path=/trunk/; revision=23360
2007-08-24 14:33:44 +00:00
Øyvind Kolås 306e21b354 fixed a division by zero issue.
* app/display/gimpdisplayshell-render.c: (compute_sample)
fixed a division by zero issue.

svn path=/trunk/; revision=23357
2007-08-24 02:34:06 +00:00
Øyvind Kolås 94f2404a43 added a static global variable with configuration. (compute_sample): moved
* app/display/gimpdisplayshell-render.c: added a static global
variable with configuration.
(compute_sample): moved common computation of alpha*weight factors 
for channel out of loop.

svn path=/trunk/; revision=23355
2007-08-23 20:12:49 +00:00
Øyvind Kolås 408f51ca59 refactored to use arrays of tiles/source pixels instead of individual
* app/display/gimpdisplayshell-render.c: (compute_sample),
(render_image_tile_fault), (render_image_tile_fault_one_row):
refactored to use arrays of tiles/source pixels instead of individual
variables, also modified the order of the 0..8 numbers to sorted
in increasing row-major order.

svn path=/trunk/; revision=23354
2007-08-23 13:37:13 +00:00
Øyvind Kolås 6a0935d235 refactored to use arrays of tiles/source pixels instead of individual
* app/display/gimpdisplayshell-render.c: (compute_sample),
(render_image_tile_fault), (render_image_tile_fault_one_row):
refactored to use arrays of tiles/source pixels instead of individual
variables, also modified the order of the 0..8 numbers to sorted
in increasing row-major order.

svn path=/trunk/; revision=23353
2007-08-23 13:25:30 +00:00
Øyvind Kolås 17ac225558 modified some constants and shifts to avoid checkerboard artifacts
svn path=/trunk/; revision=23350
2007-08-22 15:25:16 +00:00