Commit graph

7412 commits

Author SHA1 Message Date
Sven Neumann
d32a009ba6 set the label style italic. Moved separator code into utility functions.
2005-09-12  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptoolbox.c: set the label style italic. Moved
	separator code into utility functions.
2005-09-11 22:47:42 +00:00
Michael Natterer
99d9597ffe if there is no dockbook added, expand the separator and add a label
2005-09-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimptoolbox.c (gimp_toolbox_book_added)
	(gimp_toolbox_book_removed): if there is no dockbook added, expand
	the separator and add a label telling the user that she can drop
	dockables there. Fixes bug #150593.
2005-09-11 21:08:27 +00:00
Michael Natterer
889fbad0fa replaced lots of bogus strings by properly translatable ones. Many of them
2005-09-11  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.h (enum GimpUndoType): replaced lots of
	bogus strings by properly translatable ones. Many of them are
	fallbacks anyway, but they should be presentable to the user.
	Fixes bug #315964.
2005-09-11 19:26:59 +00:00
Michael Natterer
c440ddaf32 don't include "core/gimpmarshal.h", replaced '_' by '-' in property name.
2005-09-11  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpstatusbar.c: don't include "core/gimpmarshal.h",
	replaced '_' by '-' in property name.
2005-09-11 12:21:45 +00:00
Michael Natterer
1db678df12 take the container's border_width into account.
2005-09-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerbox.c
	(gimp_container_box_set_size_request): take the container's
	border_width into account.

	* app/widgets/gimpcontainergridview.c
	(gimp_container_grid_view_init): make sure GTK_SHADOW_IN is set on
	the scrolled window, not on the viewport, so we get the same
	results for list and grid views when using
	gimp_container_box_set_size_request().

	* app/widgets/gimpcontainerpopup.[ch]: added setters and getters
	for view_type and preview_size, don't allow the preview to grow
	larger than the popup.

	* app/widgets/gimpviewablebutton.[ch]: added "popup-view-type" and
	"popup-preview-size" properties and setters/getters.
2005-09-10 22:50:57 +00:00
Michael Natterer
33f16adfe6 factored out common code in preparation of fixing bug #315443.
2005-09-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpviewablebox.c: factored out common code in
	preparation of fixing bug #315443.

	* app/widgets/gimpviewablebutton.h (struct GimpViewableButton):
	"popup_preview_size" is a gint, not a GimpViewType.
2005-09-10 20:35:13 +00:00
Michael Natterer
2cddc49325 use gimp_draw_tool_on_handle() to figure if we need to close the path.
2005-09-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpiscissorstool.c	(gimp_iscissors_tool_button_release):
	use gimp_draw_tool_on_handle() to figure if we need to close the
	path. Makes sure that the anchor's sensitive area matches its size
	on screen. Fixes bug #134250.
2005-09-10 19:27:54 +00:00
Michael Natterer
ec49e30396 GimpUnitVTable -> GimpUnitVtable
2005-09-10  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbase-private.h: GimpUnitVTable -> GimpUnitVtable

	* libgimpbase/gimpbase-private.c
	* libgimp/gimp.c (gimp_main)
	* app/units.c (units_init): changed accordingly.
2005-09-10 12:21:37 +00:00
Michael Natterer
e688223473 moved the "Sample merged" toggle below the "Image source" radio button.
2005-09-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpclonetool.c (gimp_clone_options_gui): moved the
	"Sample merged" toggle below the "Image source" radio button.
	Also fixed capitalization of "Sample merged".
2005-09-10 12:11:24 +00:00
Michael Natterer
389c145724 moved the "Sample Merged" toggle below the "Image Source" radio button.
2005-09-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpclonetool.c (gimp_clone_options_gui): moved the
	"Sample Merged" toggle below the "Image Source" radio button.
2005-09-10 12:05:04 +00:00
Michael Natterer
b10adabb5e Added parent window API to the GimpProgress interface and to the libgimp
2005-09-09  Michael Natterer  <mitch@gimp.org>

	Added parent window API to the GimpProgress interface and to
	the libgimp progress stuff. Might look strange, but does
	the right thing in almost all cases (image window, file dialog,
	script-fu dialog etc). Fixes bug #62988.

	* app/core/gimpprogress.[ch]: added GimpProgress::get_window()
	which should return a toplevel window ID if the progress is in a
	window that wants to be the transient parent of plug-in dialogs.

	* app/widgets/gimpwidgets-utils.[ch] (gimp_window_get_native): new
	function which returns the window handle of a GtkWindow's GdkWindow.

	* app/widgets/gimpfiledialog.c: implement ::get_window().

	* app/display/gimpdisplay.[ch]: ditto. Removed window handle API.

	* app/gui/gui-vtable.c: changed accordingly.

	* libgimpbase/gimpbaseenums.[ch] (enum GimpProgressCommand):
	added GIMP_PROGRESS_COMMAND_GET_WINDOW.

	* app/plug-in/plug-in-progress.[ch] (plug_in_progress_get_window):
	new function. Also renamed some functions to match the
	GimpProgress interface, and not the legacy PDB procedure names.

	* tools/pdbgen/pdb/progress.pdb
	* app/core/gimppdbprogress.c: implement get_window() on both
	sides of the wire, keeping backward compatibility (hopefully).

	* libgimp/gimpprogress.[ch]: deprecated gimp_progress_install()
	and added gimp_progress_install_vtable() which takes a vtable with
	padding to be extensible. Added get_window() vtable entry and
	dispatch it accordingly. Also added pulse() which was implemented
	in a hackish way before. Everything is of course backward
	compatible.

	* libgimp/gimpprogressbar.c: inmplement the get_window() stuff
	so a plug-in dialog containing a progress can be the transient
	parent of another dialog in another plug-in.

	* libgimp/gimpui.[ch] (gimp_ui_get_progress_window): new function
	which returns a foreign GdkWindow of this plug-ins progress
	window.

	Renamed gimp_window_set_transient_for_default_display() to
	gimp_window_set_transient() and make it use the progress' window
	handle instead of the display's (which is the right thing to do in
	almost all cases).

	* libgimp/gimp.def
	* libgimp/gimpui.def: add the new functions.

	* tools/pdbgen/enums.pl
	* app/pdb/internal_procs.c
	* app/pdb/progress_cmds.c
	* libgimp/gimpprogress_pdb.[ch]: regenerated.

	* libgimp/gimpexport.c
	* plug-ins/*/*.c: follow API change.
2005-09-09 18:07:31 +00:00
Michael Natterer
805602b657 if the floating selection has no alpha, manually create BoundSegs of its
2005-09-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer-floating-sel.c (floating_sel_boundary): if
	the floating selection has no alpha, manually create BoundSegs of
	its outline instead of calling boundary_find() (which creates a
	boundary of the last channel). Fixes bug #145373.

	* app/widgets/gimplayertreeview.c
	(gimp_layer_tree_view_floating_selection_changed): update all
	layer names' text attributes, not only for layers with alpha.
	Fixes layer name display when making a new layer out of a floating
	selection without alpha.
2005-09-08 19:38:58 +00:00
Michael Natterer
7e34681f86 app/widgets/gimpcontainergridview.c allow to popup the context menu from
2005-09-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c: allow to popup the context
	menu from the views' empty area. Fixes bug #314719.
2005-09-08 18:23:14 +00:00
Michael Natterer
7eb96e17da use gimp_rectangle_intersect() instead of just looking at the passed in
2005-09-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel-combine.c (gimp_channel_combine_ellipse):
	use gimp_rectangle_intersect() instead of just looking at the
	passed in w,h to figure whether nothing needs to be done. While
	the algorithm does nicely with an entirely out-of-image ellipse,
	the channel's bounds were set to a rectangle of zero width or
	height, which caused subsequent calls to gimp_channel_bounds() to
	return broken bounds. Fixes bug #315417.

	(gimp_channel_combine_rect)
	(gimp_channel_combine_mask): use gimp_rectangle_intersect() here
	too instead of the usual unclear CLAMPing on x1,y1,x2,y2.
2005-09-07 10:08:02 +00:00
Sven Neumann
f142aa4e9a don't set a window icon, the dialog should be transient anyway.
2005-09-07  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimperrordialog.[ch]: don't set a window icon, the
	dialog should be transient anyway.

	* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-09-07 00:28:31 +00:00
William Skaggs
f06d1a66e4 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/paint-funcs/paint-funcs-generic.h (blend_pixels): change
	variables from unsigned to signed -- fixes problem described
	in comment 17 of bug #163721.
2005-09-06 17:58:55 +00:00
Sven Neumann
042017e84c use gtk_object_sink() to destroy a floating widget.
2005-09-06  Sven Neumann  <sven@gimp.org>

	* app/dialogs/stroke-dialog.c (stroke_dialog_new): use
	gtk_object_sink() to destroy a floating widget.
2005-09-06 16:00:36 +00:00
Sven Neumann
ec56ef9d01 Address bug #307971:
2005-09-05  Sven Neumann  <sven@gimp.org>

	Address bug #307971:

	* app/core/gimp-gui.[ch]
	* app/display/gimpdisplay.[ch]
	* app/gui/gui-vtable.c
	* tools/pdbgen/pdb/display.pdb: added PDB function to obtain a
	window handle on an image display.

	* app/pdb/display_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpdisplay_pdb.[ch]: regenerated.

	* libgimp/gimpui.[ch]: added functions to set a GtkWindow transient
	to an image display.

	* plug-ins/common/gauss.c: use the new function exemplarily.

	* libgimp/gimp.def
	* libgimp/gimpui.def: updated.
2005-09-05 20:47:12 +00:00
Sven Neumann
19152b85bb app/actions/edit-actions.c app/menus/menus.c app/widgets/gimpundoeditor.c
2005-09-05  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-actions.c
	* app/menus/menus.c
	* app/widgets/gimpundoeditor.c
	* menus/Makefile.am
	* menus/undo-editor-menu.xml: added menu for undo editor.
2005-09-05 19:31:28 +00:00
Michael Natterer
dc65f10137 applied patch from David Gowers which adds "gimp-edit-named-delete".
2005-09-05  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/edit.pdb: applied patch from David Gowers which
	adds "gimp-edit-named-delete". Addresses bug #315130. Added
	"gimp-edit-named-rename" additionally.

	* libgimp/gimp.def: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpedit_pdb.[ch]: regenerated.
2005-09-05 18:59:19 +00:00
Michael Natterer
dd1d749870 don't let named cut/copy affect the global buffer. Fixes bug #315225. Also
2005-09-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.c: don't let named cut/copy affect the global
	buffer. Fixes bug #315225. Also make "Global Buffer" translatable.
2005-09-05 18:21:51 +00:00
Sven Neumann
4f8e69cf5d app/core/gimp.[ch] removed the confusing and redundant feature of having
2005-09-05  Sven Neumann  <sven@gimp.org>

        * app/core/gimp.[ch]
        * app/core/gimpimage-new.c: removed the confusing and redundant
        feature of having the New Image dialog default to the size of the
        global buffer. Please use Paste as New instead. Fixes bug #315106.
2005-09-05 10:52:48 +00:00
Sven Neumann
92f5a8b428 terminate variable argument list. Fixes bug #315255.
2005-09-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: terminate variable argument list.
	Fixes bug #315255.
2005-09-05 10:11:19 +00:00
Michael Natterer
a56d72c17e app/actions/edit-actions.c app/actions/edit-commands.[ch] applied modified
2005-09-05  Michael Natterer  <mitch@gimp.org>

	* app/actions/edit-actions.c
	* app/actions/edit-commands.[ch]
	* menus/image-menu.xml.in: applied modified patch from David
	Gowers which adds an "edit-named-copy-visible" actions and its
	menu item. Addresses bug #315130.
2005-09-05 00:37:25 +00:00
Karine Delvare
2ae7b62d70 evil => GIMP_MAX_IMAGE_SIZE.
2005-09-04  Karine Delvare  <kdelvare@nerim.net>

  * app/tools/gimprectangleoptions.c: evil => GIMP_MAX_IMAGE_SIZE.
2005-09-04 21:00:17 +00:00
Karine Delvare
0cd174e13b stay within image boundaries.
2005-09-04  Karine Delvare  <kdelvare@nerim.net>

  * app/tools/gimprectangletool.c: stay within image boundaries.
2005-09-04 14:52:40 +00:00
Michael Natterer
37354a9248 Cleaned up and fixed the order in which default tool options and user
2005-09-04  Michael Natterer  <mitch@gimp.org>

	Cleaned up and fixed the order in which default tool options and
	user context values are initialized, and added loading / saving of
	the global user context.  Fixes bug #165078.

	* app/core/Makefile.am
	* app/core/gimp-contexts.[ch]: new files which manage the global
	contexts. Contains gimp_contexts_init/exit/load/save/clear().

	* app/core/gimp.c: use the new init/exit functions instead of
	implementing the stuff here.

	* app/tools/gimp-tools.c: load/save/clear the user context from
	here so it follows the same logic as the tool options. Reset all
	tool options before loading the user context and copy the user
	context's property to all tool options before loading tool
	options.

	* app/core/gimptoolinfo.c (gimp_tool_info_new): don't initialize
	the tool options with the users context's properties. It's way too
	early here and they will be overwritten later.

	* app/widgets/gimpdevices.c (gimp_devices_restore): initialize all
	device contexts with the user context's properties before loading
	the devices and copying the active one back to the user context.
2005-09-04 10:44:04 +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
8dcebeaa7a replaced manual calculation of the offset of a pixel in a tile (marked as
2005-09-03  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintcore.c (gimp_paint_core_get_orig_image)
	(gimp_paint_core_get_orig_proj): replaced manual calculation of
	the offset of a pixel in a tile (marked as /* dubious... */ for a
	reason) by simply using the offset parameters of tile_data_pointer().
2005-09-03 20:39:17 +00:00
Karine Delvare
b94ecff556 app/tools/gimprectangletool.[ch] code cleanup, replace virtualization
2005-09-03  Karine Delvare  <kdelvare@nerim.net>

  * app/tools/gimprectangletool.[ch]
  * app/tools/gimprectangleoptions.[ch]: code cleanup, replace
  virtualization functions with interface properties.

  * app/tools/gimpcroptool.[ch]
  * app/tools/gimpnewrectselecttool.[ch]
  * app/tools/gimpcropoptions.[ch]
  * app/tools/gimpnewrectselectoptions.[ch]: code cleanup, use said
  interface properties.
2005-09-03 19:48:22 +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
760a2eca2d app/tools/gimpcolorbalancetool.c app/tools/gimphuesaturationtool.c minor
2005-09-03  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimptextoptions.c: minor strings changes.
2005-09-03 16:01:15 +00:00
Seth Burgess
c8c6145509 Make color correction tools more responsive. 2005-09-03 15:45:04 +00:00
Michael Natterer
89bb3fffa1 don't create a display here.
2005-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-edit.[ch] (gimp_edit_paste_as_new): don't create a
	display here.

	(gimp_edit_named_cut)
	(gimp_edit_named_copy)
	(gimp_edit_named_copy_visible): new functions containing named
	buffer wrappers around the functions affecting the global buffer
	only.

	* app/actions/edit-commands.c: use the new functions instead of
	implementing them here, create a display for the image returned
	by paste as new.

	* app/actions/buffers-commands.c
	* app/widgets/gimptoolbox-dnd.c: create displays here too.

	* tools/pdbgen/pdb/edit.pdb: added wrappers for paste as new and
	wrappers for all the cut/copy/paste named stuff.
	Fixes bug #315130. Cleaned up and de-obfuscated.

	* libgimp/gimp.def: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpedit_pdb.[ch]: regenerated.
2005-09-02 22:50:06 +00:00
Sven Neumann
5f2904f9c5 app/widgets/gimpcontainergridview.c allow to popup menus on empty
2005-09-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c: allow to popup menus on
	empty container views using the standard Shift-F10 keybinding.
2005-09-02 21:56:20 +00:00
Sven Neumann
32d5c88977 app/tools/gimptextoptions.c dropped the labels from text tool options that
2005-09-02  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptextoptions.c
	* app/widgets/gimpwidgets-utils.[ch]: dropped the labels from text
	tool options that have icons. Reduces visual clutter.
2005-09-02 17:22:29 +00:00
Sven Neumann
c482da6774 draw guides over the grid.
2005-09-02  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_expose): draw guides over the grid.
2005-09-02 16:26:56 +00:00
Sven Neumann
b98c560f7a app/dialogs/convert-dialog.c app/dialogs/image-merge-layers-dialog.c
2005-09-02  Sven Neumann  <sven@gimp.org>

	* app/dialogs/convert-dialog.c
	* app/dialogs/image-merge-layers-dialog.c
	* app/dialogs/layer-add-mask-dialog.c
	* app/dialogs/offset-dialog.c: use verbs instead of "OK" in the
	confirmative dialog button.
2005-09-02 12:09:32 +00:00
Sven Neumann
2fb4aa2603 AUTHORS regenerated.
2005-09-02  Sven Neumann  <sven@gimp.org>

	* AUTHORS
	* app/dialogs/authors.h: regenerated.
2005-09-02 11:14:40 +00:00
Sven Neumann
f4e2ea30d8 reverted, it duplicates existing functionality.
2005-09-01  Sven Neumann  <neumann@jpk.com>

	* app/core/gimppalette.[ch]: reverted, it duplicates existing
	functionality.

	* app/core/gimppalette-import.c
	(gimp_palette_import_from_indexed_image): name the colors using
	their index in the colormap.
2005-09-01 18:06:21 +00:00
Sven Neumann
cf538a33c2 added gimp_palette_new_from_colormap().
2005-09-01  Sven Neumann  <sven@gimp.org>

	* app/core/gimppalette.[ch]: added gimp_palette_new_from_colormap().
2005-09-01 17:18:26 +00:00
Sven Neumann
0b1a148b9c app/dialogs/quit-dialog.c use ngettext() for plural forms (bug #314764).
2005-09-01  Sven Neumann  <sven@gimp.org>

	* app/dialogs/quit-dialog.c
	* libgimp/gimpprocbrowserdialog.c: use ngettext() for plural forms
	(bug #314764).
2005-09-01 16:35:49 +00:00
Michael Natterer
6ff738eccf added optional size group parameter and add the icon to the group.
2005-08-31  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/preferences-dialog.c
	(prefs_check_button_add_with_icon): added optional size group
	parameter and add the icon to the group.

	(prefs_dialog_new): align the icons on the tool options and
	toolbox pages.
2005-08-30 23:54:17 +00:00
Michael Natterer
c32827a786 The previous commit added tons of code just to completely break clone
2005-08-29  Michael Natterer  <mitch@gimp.org>

	The previous commit added tons of code just to completely break
	clone align behavior. Reverted lots of the changes and do the
	sample-merged stuff at the innermost place (gimp_clone_motion).
	This change also enables changing sample-merged between paint
	strokes.

	* app/paint/gimpclone.[ch] (struct GimpClone): changed member
	"src_pickable" back to "src_drawable".

	(gimp_clone_paint): completely reverted.

	(gimp_clone_motion): do the drawable/projection -> pickable
	stuff and drawable offset handling here.

	Fixed signal handling to connect to the drawable's "removed"
	signal (not "disconnect", eek). Disconnect from the signal once
	the drawable has been removed.

	* app/tools/gimpclonetool.c: changed accordingly.
2005-08-29 20:48:26 +00:00
Karine Delvare
0df9d1cdd1 fix canceling the tool.
2005-08-29  Karine Delvare  <kdelvare@nerim.net>

  * app/tools/gimprectangletool.c: fix canceling the tool.
2005-08-29 17:49:16 +00:00
Michael Natterer
26374e814e Immplement "Sample Merged" for the clone tool. Fixes bug #123627.
2005-08-28  Michael Natterer  <mitch@gimp.org>

	Immplement "Sample Merged" for the clone tool. Fixes bug #123627.

	* app/paint/gimppaintcore.[ch] (struct GimpPaintCore): added
	members "saved_proj_tiles" which stores the unmodified projection,
	"orig_proj_buf" which stores the unmodified temp paint application
	buf and "use_saved_proj" which controls if all the additional
	stuff should be allocated and managed.

	(gimp_paint_core_start): allocate the saved_proj_tiles if needed.

	(gimp_paint_core_get_orig_proj): new function like
	gimp_paint_core_get_orig_image() which returns unmodified
	projection pixels for paint application.

	(gimp_paint_core_validate_saved_proj_tiles): new function like
	gimp_paint_core_validate_undo_tiles() which copies the tiles that
	will be dirtied to saved_proj_tiles.

	(gimp_paint_core_paste): call above save_proj_tiles() so
	projection tiles are saved before dirtying them.

	* app/paint/gimpclone.[ch]: replaced member src_drawable by
	src_pickable and use the image's projection if sample_merged it
	TRUE. Adjust src offsets accordingly and use GimpPaintCore's new
	get_orig_proj() API to get the src pixels.

	* app/paint/gimpcloneoptions.[ch]: added boolean "sample_merged"
	property.

	* app/tools/gimpclonetool.c: follow GimpClone's src_drawable ->
	src_pickable change.

	(gimp_clone_tool_button_press): set the paint_core's
	"use_saved_proj" boolean before chaining up.

	(gimp_clone_options_gui): add a "Sample Merged" toggle button.
2005-08-28 19:17:44 +00:00
Michael Natterer
7cc7bf4c05 initialize renderer->columns to != 0 to avoid floating point exceptions on
2005-08-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpviewrendererpalette.c
	(gimp_view_renderer_palette_init): initialize renderer->columns
	to != 0 to avoid floating point exceptions on initial layout
	calculation. Fixes bug #314663.
2005-08-27 18:13:06 +00:00
Michael Natterer
cd160b3d66 move the logo to the top of the dialog.
2005-08-26  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/about-dialog.c (about_dialog_add_logo): move the
	logo to the top of the dialog.
2005-08-26 14:39:28 +00:00
Tor Lillqvist
b19dc9af8b Instead of passing a child_setup function whose body is ifdeffed out on
2005-08-26  Tor Lillqvist  <tml@novell.com>

	* app/plug-in/plug-in.c (plug_in_prep_for_exec, plug_in_open):
	Instead of passing a child_setup function whose body is ifdeffed
	out on Win32 to g_spawn_async(), pass NULL for child_setup on
	Win32. Newer g_spawn_async() implementations on Win32 warn if
	child_setup functions are attempted to be used, as they don't make
	sense because without any fork(), they are called in the parent
	process.
2005-08-26 12:03:24 +00:00