Commit graph

3949 commits

Author SHA1 Message Date
Michael Natterer 0c6d379081 added some more g_return_if_fail() to avoid NULL pointer dereferencing.
2003-06-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_mask_bounds): added some
	more g_return_if_fail() to avoid NULL pointer dereferencing.
2003-06-11 13:50:04 +00:00
Sven Neumann 610e2a639e added a container that keeps references to the buttons which are not added
2003-06-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimptoolbox.[ch]: added a container that keeps
	references to the buttons which are not added to the wrap box.
	Just to make sure they are destroyed on exit.
2003-06-11 12:05:00 +00:00
Sven Neumann 9b20083ee9 etc/Makefile.am added a sample sessiorc which will be used after user
2003-06-11  Sven Neumann  <sven@gimp.org>

	* etc/Makefile.am
	* etc/sessionrc: added a sample sessiorc which will be used after
	user installation.

	* app/gui/user-install-dialog.c (tree_items): install the sample
	sessionrc.
2003-06-11 10:58:57 +00:00
Sven Neumann f9fec0cda7 fixed my latest fix. Fixes bug #114882.
2003-06-11  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs-generic.h (blend_pixels): fixed my
	latest fix. Fixes bug #114882.
2003-06-11 00:46:59 +00:00
Sven Neumann addba61b08 added utility function gimp_rgb_get_gdk_color(), documented
2003-06-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added utility function
	gimp_rgb_get_gdk_color(), documented gimp_get_screen_resolution().

	* app/widgets/gimppreviewrenderer.c
	(gimp_preview_renderer_set_border_color)
	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_padding): use the new function.
2003-06-10 16:44:44 +00:00
Sven Neumann b39f8fb809 expects the tool identifier as a GQuark now.
2003-06-10  Sven Neumann  <sven@gimp.org>

	* app/gui/tools-commands.c (tools_select_cmd_callback): expects
	the tool identifier as a GQuark now.

	* app/gui/image-menu.c: changed accordingly. Removed code that
	used to move the menu entries for the color correction tools to
	the Layers menu. Added the respective menu entries by hand. Added
	a menu entry for arbitrary rotations and one for Select by Color.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: register the color correction
	tools in the Tools menu.

	* app/tools/gimptransformtool.c: added an initialize method and
	moved most initalization code from button_press to this place.
2003-06-10 14:31:53 +00:00
Sven Neumann 58b975a4f2 now that blend_pixels() behaves correctly, we can simply initialize the
2003-06-09  Sven Neumann  <sven@gimp.org>

	* app/paint/gimpsmudge.c (gimp_smudge_start): now that
	blend_pixels() behaves correctly, we can simply initialize the
	smudge buffer with transparent pixels.
2003-06-09 15:24:30 +00:00
Sven Neumann 32bab29f18 weight pixels by their alpha value. Fixes the smudge tool (bug #72879).
2003-06-09  Sven Neumann  <sven@gimp.org>

	* app/paint-funcs/paint-funcs-generic.h (blend_pixels): weight
	pixels by their alpha value. Fixes the smudge tool (bug #72879).
2003-06-09 15:05:57 +00:00
Michael Natterer 5c5ff60858 pack the main table expanding, not shrinking. Fixes bug #114656.
2003-06-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpfontselection-dialog.c
	(gimp_font_selection_dialog_new): pack the main table expanding,
	not shrinking. Fixes bug #114656.
2003-06-08 00:51:09 +00:00
Michael Natterer 98bdd5c0f3 app/widgets/Makefile.am new files containing the toolbox' drop callbacks.
2003-06-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/gimptoolbox-dnd.[ch]: new files containing the
	toolbox' drop callbacks. Exports gimp_toolbox_dnd_init().

	* app/widgets/gimptoolbox.c: removed the callbacks and all the
	"core/" includes they needed and call gimp_toolbox_dnd_init().
2003-06-06 15:14:47 +00:00
Sven Neumann bc93e4a041 added "in_toolbox"; defaults to TRUE.
2003-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimptoolinfo.[ch]: added "in_toolbox"; defaults to TRUE.

	* app/tools/tool_manager.c: set "in_toolbox" to FALSE for tools
	derived from GimpImageTool.

	* app/widgets/gimptoolbox.c: respect the new flag when constructing
	the toolbox.
2003-06-06 14:58:20 +00:00
Sven Neumann aca442cf8a UTF-8 validate messages before passing them to g_message().
2003-06-06  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/message.pdb: UTF-8 validate messages before
	passing them to g_message().

	* app/pdb/message_cmds.c
	* libgimp/gimpmessage_pdb.c: regenerated.
2003-06-06 13:12:44 +00:00
Michael Natterer ef30cf315d app/gui/image-menu.c moved the convenience items which create new docks
2003-06-06  Michael Natterer  <mitch@gimp.org>

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: moved the convenience items which
	create new docks from the "Dialogs/" level to a new
	"Dialogs/Create New Dock/" sub-menu.  Fixes bug #111278.

	* app/gui/dialogs-commands.[ch] (dialogs_create_data_cmd_callback):
	new convenience constructor callback. Factored out duplicated
	code to the new dialogs_create_dock() utility function.
2003-06-06 12:16:13 +00:00
Michael Natterer 4f33a4788f added CW/CCW to the "Rotate" menu entries as suggested in bug #57797.
2003-06-06  Michael Natterer  <mitch@gimp.org>

	* app/gui/image-menu.c: added CW/CCW to the "Rotate" menu entries
	as suggested in bug #57797. Cleaned up image_menu_update().
2003-06-06 11:17:09 +00:00
Michael Natterer 2c95877093 use gtk_label_set_text_with_mnemonic() instead of just
2003-06-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemfactory.c (gimp_item_factory_set_label):
	use gtk_label_set_text_with_mnemonic() instead of just
	gtk_label_set_text().

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: added mnemonics for all sub-menus.
	Fixes bug #106991.

	* app/gui/image-menu.c: cleaned up the "Layers" menu: moved
	sub-menus together. Changed the "Stack" menu's labels and
	accelerators and added "Select Top/Bottom Layer" for consistency
	(bound to Home/End).

	* app/gui/layers-commands.[ch]: changed accordingly. Added the
	new select top/bottom callbacks.
2003-06-06 10:30:14 +00:00
Sven Neumann e23a566f52 removed unneeded includes.
2003-06-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcolortool.c: removed unneeded includes.

2003-06-05  Sven Neumann  <sven@gimp.org>

	* POTFILES.in: added app/tools/gimpcoloroptions.c
2003-06-05 20:42:38 +00:00
Sven Neumann a6988b2746 simplified by using the functions inherited from GimpColorTool.
2003-06-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcurvestool.c: simplified by using the functions
	inherited from GimpColorTool.
2003-06-05 20:29:03 +00:00
Sven Neumann b1c437b4f8 use OPAQUE_OPACITY instead of 255.
2003-06-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_get_color_at):
	* app/core/gimpimage-projection.c (gimp_image_projection_get_color_at):
	use OPAQUE_OPACITY instead of 255.

	* app/core/gimpimage-pick-color.[ch]: factored out code that
	averages over colors so it can be used from GimpImageTool.

	* app/tools/gimpimagemaptool.[ch]: derived from GimpColorTool and
	added a GimpColorTool::pick implementation.

	* app/tools/gimpcoloroptions.c
	* app/tools/gimpcolorpickeroptions.c: add the toggle for
	"sample_merged" in gimp_color_picker_options_gui().

	* app/tools/gimpcolortool.c (gimp_color_tool_cursor_update): check
	if the cursor is over the active drawable or if "sample_merged" is
	active.

	* app/tools/gimplevelstool.c: simplified since all color-picking is
	now handled by the parent classes. Fixes bug #112668.
2003-06-05 18:47:23 +00:00
Sven Neumann 21b4aba939 changed the default radius.
2003-06-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcoloroptions.c: changed the default radius.

	* app/tools/gimpcolortool.[ch]: pass GimpColorOptions to
	gimp_color_tool_enable(). Added gimp_color_tool_disable() and
	gimp_color_tool_is_enabled().

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

	* app/tools/gimppainttool.[ch]: derived GimpPaintTool from
	GimpColorTool and removed most color picking code.

	* app/tools/gimpdodgeburntool.c (gimp_dodgeburn_tool_modifier_key)
	* app/tools/gimperasertool.c (gimp_eraser_tool_modifier_key):
	chain up to the parent class.

	* app/tools/gimppaintbrushtool.c: purely cosmetic change.
2003-06-05 15:43:49 +00:00
Michael Natterer f8081a8629 always return channel->x1,y1,x2,y2, *not* tx1,ty1,tx2,ty2 since the latter
2003-06-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_bounds): always return
	channel->x1,y1,x2,y2, *not* tx1,ty1,tx2,ty2 since the latter
	contain bogus values if the mask is empty. Fixes bug #114419.

	* plug-ins/script-fu/scripts/unsharp-mask.scm: cleaned up
	while searching the bug.
2003-06-05 13:27:27 +00:00
Sven Neumann b108d7028b added VOID: ENUM, BOXED, INT.
2003-06-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpmarshal.list: added VOID: ENUM, BOXED, INT.

	* app/tools/gimpcolortool.[ch]: added a default implementation for
	GimpColorTool::pick. Emit a "picked" signal when a color was
	successfully picked.

	* app/tools/gimpcolorpickertool.c: simplified a lot since
	GimpColorTool does most of the work for us now.
2003-06-04 20:23:36 +00:00
Michael Natterer a014c9d0d3 undraw the cursor on GDK_PROXIMITY_OUT. Always set shell->proximity to
2003-06-04  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): undraw the cursor on
	GDK_PROXIMITY_OUT. Always set shell->proximity to FALSE *before*
	calling gimp_display_shell_update_cursor().
2003-06-04 19:51:22 +00:00
Sven Neumann 9d2cc5f82a reordered arguments.
2003-06-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-pick-color.[ch]: reordered arguments.

	* app/tools/gimpcolorpickertool.c
	* app/tools/gimppainttool.c: changed accordingly.
2003-06-04 16:42:46 +00:00
Sven Neumann 737bf44e28 app/tools/Makefile.am app/tools/gimpcoloroptions.[ch] new files that
2003-06-04  Sven Neumann  <sven@gimp.org>

        * app/tools/Makefile.am
        * app/tools/gimpcoloroptions.[ch]
        * app/tools/gimpcolortool.[ch]: new files that implement base
        classes moved out of GimpColorPickerOptions and GimpColorPickerTool.

        * app/tools/gimpcolorpickeroptions.[ch]
        * app/tools/gimpcolorpickertool.[ch]: derive from the new obejcts.

        * app/tools/gimpimagemaptool.h
        * app/tools/gimppainttool.c
        * app/tools/tools-types.h: moved typedefs into the types file.
2003-06-04 15:48:17 +00:00
Michael Natterer 909325ee67 call gimp_display_shell_scale_setup() instead of
2003-06-04  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
	call gimp_display_shell_scale_setup() instead of
	gimp_display_shell_shrink_wrap() so window size, zoom factor and
	scroll offsets are preserved across File->Revert if possible.
	Fixes bug #114383.
2003-06-04 13:06:59 +00:00
Sven Neumann 7d96902193 need to get ascent and descent from a PangoLayoutLine. Report negative
2003-06-03  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext-compat.c (text_get_extents): need to get
	ascent and descent from a PangoLayoutLine. Report negative descent
	so the function behaves like it used to in 1.2.
2003-06-03 17:40:01 +00:00
Michael Natterer 0c3ff3b086 fixed offset calculation for 90 and 270 degree rotations.
2003-06-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-rotate.c (gimp_image_rotate_item_offset):
	fixed offset calculation for 90 and 270 degree rotations.

	* app/core/gimpimage-flip.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c: increase the progress also when
	transforming the selection. Makes the progress appear more
	continuous. Also clened up and simplified the progress code
	in all files.

	* app/core/gimpimage-resize.[ch]: added a progress like in the
	files above.

	* app/gui/image-commands.c (image_resize_callback): changed
	accordingly.

	(image_scale_implement): clened up and simplified a lot.

	* tools/pdbgen/pdb/image.pdb: changed accordingly.

	* app/pdb/image_cmds.c: regenerated.
2003-06-03 16:42:46 +00:00
Sven Neumann 46d726d098 app/widgets/gimpvectorstreeview.h moved function definitions to the
2003-06-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpvectorstreeview.h
	* app/widgets/widgets-types.h: moved function definitions to the
	widgets-types header file.

	* app/gui/dialogs-constructors.c
	* app/widgets/gimpselectioneditor.[ch]: added a "Selection to
	Path" button as suggested in bug #112448.
2003-06-02 17:57:11 +00:00
Michael Natterer 2d90edbcf6 make sure channels end up at (0, 0) after scaling and resizing. Fixes bug
2003-06-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_scale, resize): make sure
	channels end up at (0, 0) after scaling and resizing.
	Fixes bug #114213.
2003-06-02 15:19:03 +00:00
Michael Natterer 1871d9ccef Implemented DISSOLVE_MODE the way it should have always been. Fixes bug
2003-06-02  Michael Natterer  <mitch@gimp.org>

	Implemented DISSOLVE_MODE the way it should have always been.
	Fixes bug #107402.

	* app/paint-funcs-generic.h (struct apply_layer_mode_struct): added
	"guchar *mask" so it can be used by the layer mode.

	(dissolve_pixels): take an additional "mask" parameter and
	dissolve the pixels according to the *combined* opacity of the
	pixel's alpha, the opacity and the mask. Removed a wrong comment
	about why we call g_rand_int() x times before we start to use its
	values.

	(layer_dissolve_mode): pass the mask to dissolve_pixels(). No need
	to call add_alpha_pixels() since we overwrite the dest buffer
	entirely in disolve_pixels().

	* app/paint-funcs.c (initial_sub_region, combine_sub_region):
	allocate the buffer large enough for DISSOLVE (which always needs
	an alpha channel). Pass the mask to the layer mode functions.
	Discard opacity and mask after applying DISSOLVE since it
	"consumes" all transparency.
2003-06-02 14:21:01 +00:00
Tor Lillqvist 35c781c3ea Remove. No gimp library uses symbols from the gimp executable any longer,
2003-05-31  Tor Lillqvist  <tml@iki.fi>

	* app/gimp.sym: Remove. No gimp library uses symbols from the
	gimp executable any longer, says Mitch.

	* app/Makefile.am: Remove related stuff from here, too.
2003-05-31 21:24:56 +00:00
Michael Natterer 15b9be6a2c added enum GimpTransformType which can be one of { LAYER, SELECTION, PATH
2003-05-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/tools-enums.[ch]: added enum GimpTransformType which
	can be one of { LAYER, SELECTION, PATH }

	* app/tools/gimptransformoptions.[ch]: added a GimpTransformType
	property to GimpTransformOptions. Added a GUI for the new
	option.

	* app/tools/gimpflipoptions.[ch]: derive it from
	GimpTransformOptions and add the GUI here, too.

	* app/tools/gimpfliptool.c
	* app/tools/gimptransformtool.[ch]: added support for transforming
	the selection. Added framework for transforming paths (still
	unimplemented).

	* app/tools/gimpselectionoptions.c: small cleanup.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-path-16.png
	* themes/Default/images/stock-path-22.png
	* themes/Default/images/stock-selection-16.png: new icons for the
	new transform options buttons. Simply copied existing ones...
2003-05-30 23:52:24 +00:00
Tor Lillqvist 31e12a213b As gimp uses fontconfig directly, check for it.
2003-05-30  Tor Lillqvist  <tml@iki.fi>

	* configure.in: As gimp uses fontconfig directly, check for it.

	* app/Makefile.am: And link with it.

	* app/gimp.sym: Remove dead symbols.

	* libgimp/gimp.def
	* libgimpwidgets/gimpwidgets.def: Move gimp_standard_help_func.

	* plug-ins/xjt/xjt.c: Use _mkdir() on Win32.
2003-05-30 22:59:29 +00:00
Sven Neumann f7f09188f2 don't stop the active tool, the tool manager did this already when the
2003-05-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpeditselectiontool.c
	(gimp_edit_selection_tool_button_release): don't stop the active
	tool, the tool manager did this already when the edit-selection
	tool was pushed.
2003-05-30 15:50:46 +00:00
Michael Natterer 30ea5171aa removed the calls to g_log_set_handler().
2003-05-29  Michael Natterer  <mitch@gimp.org>

	* app/main.c (main): removed the calls to g_log_set_handler().

	* app/app_procs.[ch] (app_init): added the g_log_set_handler()
	calls and pass them the global Gimp instance as user_data.
	Renamed app_gui_init() to app_gui_libs_init().

	* app/errors.c: use the passed Gimp pointer instead of using
	"the_gimp". Don't #include "app_procs.h".

	* app/gui/gui.[ch]: removed gui_get_screen_resolution().

	* app/widgets/gimpwidgets-utils.[ch]: added
	gimp_get_screen_resolution().

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.c
	* app/gui/preferences-dialog.c
	* app/gui/user-install-dialog.c: changed accordingly.

	* app/display/gimpdisplayshell.c: don't #include "gui/gui.h".
2003-05-29 11:34:30 +00:00
Michael Natterer 737d54fa2f remove main_column->editable_widget on each button_press_event. Should fix
2003-05-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview.c
	(gimp_container_tree_view_button_press): remove
	main_column->editable_widget on each button_press_event. Should
	fix more (if not all) stale editing widgets.
2003-05-28 23:17:06 +00:00
Michael Natterer bbc102f9cf app/display/gimpdisplayshell-callbacks.c app/tools/gimpcolorpickertool.c
2003-05-28  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptextoptions.c
	* app/tools/gimptransformtool.c
	* app/tools/paint_options.c
	* app/tools/tool_manager.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox-color-area.c:
	don't #include "gui/dialogs.h" to get the global factories but use
	gimp_dialog_factory_from_name() instead.
2003-05-28 17:23:54 +00:00
Sven Neumann 698a4ad07e wrap gui_libs_init() so we don't need to include gui.h from main.c
2003-05-28  Sven Neumann  <sven@gimp.org>

	* app/app_procs.[ch]: wrap gui_libs_init() so we don't need to
	include gui.h from main.c

	* app/main.c: changed accordingly.

	* app/gui/gui.[ch]: added a GdkScreen parameter to
	gui_get_screen_resolution(). Use NULL if you want the default
	screen.

	* app/gui/preferences-dialog.c
	* app/gui/user-install-dialog.c: changed accordingly.

	* app/display/gimpdisplayshell-scale.c: use the monitor resolution
	stored in the GimpDisplayShell object.

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.c: get the monitor resolution for
	the widget's GdkScreen. Set it in the realize method so it gets
	changed when the image window is migrated to another screen.
2003-05-28 16:11:29 +00:00
Michael Natterer ad3efec7d2 app/gui/image-menu.c app/gui/palette-editor-menu.c
2003-05-28  Michael Natterer  <mitch@gimp.org>

	* app/gui/image-menu.c
	* app/gui/palette-editor-menu.c
	* app/gui/view-commands.[ch]
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppaletteeditor.[ch]: changed all places to show
	zoom menu items and icons in ZOOM_OUT, ZOOM_IN order. In an attack
	of consistency, also reordered all callbacks accordingly.
2003-05-28 16:07:53 +00:00
Michael Natterer 6cee716ddd don't let the navigation _popup_ auto-resize itself and don't allocate a
2003-05-28  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpnavigationview.c: don't let the navigation
	_popup_ auto-resize itself and don't allocate a minimum size
	bacause that makes sense for the navigation _tab_ only. Fixes
	popup size and positioning.
2003-05-28 15:20:58 +00:00
Sven Neumann c229fda7b5 don't mark a string for translation which should never be used.
2003-05-27  Sven Neumann  <sven@gimp.org>

	* app/gui/vectors-commands.c (vectors_selection_to_vectors): don't
	mark a string for translation which should never be used.
2003-05-27 12:02:34 +00:00
Michael Natterer 8addf4daa6 app/tools/gimpfreeselecttool.[ch] added the possibility to <alt>+drag the
2003-05-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpfreeselecttool.[ch]
	* app/tools/gimprectselecttool.[ch]: added the possibility to
	<alt>+drag the whole selection preview line *while* creating the
	selection. Used a modified version of
	http://aeropc5.hut.fi/~mjkorhon/gimp-move-selection.patch (found
	in the mailing list archives). Fixes bug #87688.
2003-05-27 11:52:03 +00:00
Michael Natterer 5c04f27cd5 switch to the "Channels" tab after adding the new channel. Fixes bug
2003-05-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/select-commands.c (select_save_cmd_callback): switch
	to the "Channels" tab after adding the new channel.
	Fixes bug #101970.
2003-05-27 11:28:10 +00:00
Michael Natterer 707e597665 added "gint ref_count" to the TileManager struct.
2003-05-26  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-manager-private.h: added "gint ref_count" to the
	TileManager struct.

	* app/base/tile-manager.[ch]: replaced tile_manager_destroy()
	by tile_manager_ref() and tile_manager_unref().

	* app/core/gimpimage-undo-push.c: ref the tile managers stored in
	the undo system and DON'T destroy them if no undo could be pushed.
	Should fix the remaining crashes with undo disabled like in
	bug #9350.

	(!!!) Note that the tiles passed to gimp_image_undo_push_image()
	and gimp_drawable_push_undo() as well as the tile managers of
	drawables passed to gimp_image_undo_push_[layer|channel]_mod()
	must be unref'ed by the caller now.

	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
	don't take ownership of the passed tiles but ref them if needed.

	(!!!) Callers must unref the passed tiles themselves now.

	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/paint/gimppaintcore.c
	* app/text/gimptextlayer.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimptransformtool-undo.c
	* app/tools/gimptransformtool.c: changed accordingly.
2003-05-26 17:02:06 +00:00
Michael Natterer 4c070aff16 app/widgets/gimppaletteeditor.[ch] app/gui/palette-editor-commands.[ch]
2003-05-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppaletteeditor.[ch]
	* app/gui/palette-editor-commands.[ch]
	* app/gui/palette-editor-menu.c: started to clean up the palette
	editor: added buttons for all menu items and menu items for all
	buttons. Improved selected palette entry handling. Moved all code
	to gimppaletteeditor.c and call it from the menu callbacks.  Lots
	of cleanup (unfinished).
2003-05-26 14:56:57 +00:00
Pedro Gimeno 2f31d12f86 Fix off-by-one when dragging the selection. Fixes the last pending issue
2003-05-26  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/tools/gimpeditselectiontool.c (selection_transform_segs):
	Fix off-by-one when dragging the selection. Fixes the last pending
	issue of bug #17904. Use temporary variables for clamp values.

	* app/display/gimpdisplayshell-selection.c
	(selection_transform_segs): Perform the clamping that fixes
	bug #110014 here instead of in the callers. Solves a rare case
	that was not properly handled before.
	(selection_render_points, selection_generate_segs): Remove the
	clamping code from here.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_rectangle): More
	clampings to avoid overflow of 16-bit coordinates.
2003-05-25 23:23:34 +00:00
Michael Natterer dd9a0a4a63 Use g_object_[set|get]_qdata(), not just _data() to speed up tool manager
2003-05-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_manager.[ch] (tool_manager_set,get): Use
	g_object_[set|get]_qdata(), not just _data() to speed up tool
	manager access.

	Removed tool_manager_active_get_help_data() and
	tool_manager_help_func().

	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c: use gimp_standard_help_func and
	tool->tool_info->help_data instead. Don't #include "tool_manager.h".
2003-05-25 17:16:59 +00:00
Michael Natterer ac2b6c8702 changed again to take no paramaters and use _gimp_standard_help_func from
2003-05-25  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch] (_gimp_help_init): changed again
	to take no paramaters and use _gimp_standard_help_func from
	gimpwidgets-private.

	* libgimpwidgets/gimpwidgets-private.[ch]: removed the palette
	functions from GimpWidgetVTable. Instead, pass them as
	GimpGetColorFunc to gimp_widgets_init() and make them available as
	_gimp_get_foreground_func and _gimp_get_background_func.

	* libgimpwidgets/gimpcolorbutton.c
	* libgimp/gimpui.c: changed accordingly.

	* app/libgimp_glue.[ch]: removed the palette functions.

	* app/gui/gui.c: added gui_get_foreground_func() and
	gui_get_background_func() and pass them to gimp_widgets_init().
2003-05-25 14:23:43 +00:00
Michael Natterer 253ed7092b added a GimpHelpFunc parameter to _gimp_help_init(). Implement
2003-05-25  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: added a GimpHelpFunc parameter to
	_gimp_help_init(). Implement gimp_standard_help_func() here and
	use the function pointer passed to _gimp_help_init().

	* libgimpwidgets/gimpwidgets-private.[ch]: removed
	standard_help_func from GimpWidgetsVTable. Require it as paramater
	to gimp_widgets_init() and pass it to _gimp_help_init().

	* libgimpwidgets/gimpunitmenu.c: use gimp_standard_help_func
	directly again.

	* app/libgimp_glue.[ch]: removed gimp_standard_help_func().

	* libgimp/Makefile.am
	* libgimp/gimphelp.c: removed this file (containing
	gimp_standard_help_func()).

	* app/gui/gui.c: added private gimp_help_func() and pass it to
	gimp_widgets_init().

	* libgimp/gimpui.c: added private gimp_ui_help_func() and pass it
	to gimp_widgets_init().
2003-05-25 12:13:57 +00:00
Hans Breuer 89bfbdf66d updated win32 (msvc) build
2003-05-24  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc **/*.def : updated win32 (msvc) build

	* plug-ins/twain/twain.c plug-ins/winsnap/winsnap.c :
	add the extra parameter to gimp_main() calls
2003-05-24 17:00:03 +00:00
Sven Neumann 7ade1c7251 fixed offset of layers and vectors after rotation (bug #113611).
2003-05-24  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-rotate.c (gimp_image_rotate): fixed offset of
	layers and vectors after rotation (bug #113611).
2003-05-23 22:50:03 +00:00
Sven Neumann 62dffea661 libgimpwidgets/Makefile.am new files. Moved gimp_widgets_init() here and
2003-05-23  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets-private.[ch]: new files. Moved
	gimp_widgets_init() here and added a vtable parameter. The vtable
	has entries for all the symbols that are either provided by libgimp
	or gimp itself depending on who is using the library.

	* libgimpwidgets/libgimp-glue.c: removed this file that uses to
	provide a Win32 only hack that is now not needed any longer.

	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpsizeentry.c
	* libgimpwidgets/gimpunitmenu.c
	* libgimpwidgets/gimpwidgets.[ch]: don't call the offending
	functions directly, but use the vtable entries. This is ugly but
	the ugliness is restricted to our code. There are plans to clean
	this up further... (Fixes #113410 once more.)

	* app/gui/gui.c (gui_libs_init)
	* libgimp/gimpui.c (gimp_ui_init): initialize libgimpwidgets with
	the proper vtable.
2003-05-23 18:27:05 +00:00
Michael Natterer a2f7750d85 Always provide interlibrary dependencies, not just on Win32.
2003-05-23  Michael Natterer  <mitch@gimp.org>

	* modules/Makefile.am: Always provide interlibrary
	dependencies, not just on Win32.

	* Makefile.am
	* app/Makefile.am
	* app/config/Makefile.am
	* data/misc/Makefile.am
	* docs/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am
	* libgimpcolor/Makefile.am
	* libgimpmath/Makefile.am
	* libgimpmodule/Makefile.am
	* libgimpwidgets/Makefile.am
	* tools/Makefile.am: replaced many hardcoded "1.3" strings by
	$(LT_RELEASE). Hopefully didn't break the Win32 build...
2003-05-23 17:28:07 +00:00
Sven Neumann 83a2f4983e app/paint/gimppaintcore.c applied a patch from Henning Makholm
2003-05-23  Sven Neumann  <sven@gimp.org>

	* app/paint/gimppaintcore.c
	* app/tools/gimppainttool.c: applied a patch from Henning Makholm
	<henning@makholm.net> that improves drawing of narrow straight lines
	by moving the endpoints to pixel centers. Fixes bug #84145.
2003-05-23 13:22:38 +00:00
Michael Natterer 0fc53e0f54 don't call gimp_dialog_factory_add_foreign() with a NULL dialog_factory.
2003-05-23  Michael Natterer  <mitch@gimp.org>

	* app/gui/color-notebook.c (color_notebook_new_internal): don't
	call gimp_dialog_factory_add_foreign() with a NULL dialog_factory.

	* app/widgets/gimpcolorpanel.c: removed the color_notebook_active
	boolean state and *always* call color_notebook_show() when the
	user clicks the button. This way the notebook is automatically
	deiconified or risen.
2003-05-23 12:00:49 +00:00
Sven Neumann 3dffa4fbd3 docs/keybindings.txt changed the default shortcut for "Zoom In" to '+'.
2003-05-23  Sven Neumann  <sven@gimp.org>

	* docs/keybindings.txt
	* app/gui/image-menu.c (image_menu_entries): changed the default
	shortcut for "Zoom In" to '+'. Fixes bug #56108.
2003-05-23 11:27:28 +00:00
Michael Natterer 80db2fb4d1 implement <shift>+click on the eye icon the same way it was in 1.2 (hide
2003-05-23  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdrawabletreeview.c
	(gimp_drawable_tree_view_eye_clicked): implement <shift>+click on
	the eye icon the same way it was in 1.2 (hide all other drawables
	if any is visible, show them all otherwise). Fixes bug #113479.
2003-05-23 11:03:13 +00:00
Michael Natterer f7351b0bbb app/vectors/Makefile.am new files implementing a compatibility API for
2003-05-22  Michael Natterer  <mitch@gimp.org>

	* app/vectors/Makefile.am
	* app/vectors/gimpvectors-compat.[ch]: new files implementing a
	compatibility API for converting old XCF and PDB point arrays
	to GimpVectors and vice versa.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/paths.pdb: use the new functions instead of
	having slightly different, but equally ugly code twice.

	* app/xcf/xcf-load.c: cleaned up path loading a lot. Removed the
	path_point loading utility functions.

	* app/pdb/paths_cmds.c: regenerated.

	* app/Makefile.am: link vectors/libappvectors.a after
	xcf/libappxcf.a so the compat functions (which are not needed in
	vectors/) are found.  Also reverted an accidentially checked in
	change to the libgimpwidgets link order.
2003-05-22 19:02:38 +00:00
Manish Singh 99b371fca9 convert filename to a uri for find_utils_find_proc.
2003-05-22  Manish Singh  <yosh@gimp.org>

        * tools/pdbgen/pdb/fileops.pdb: convert filename to a uri for
        find_utils_find_proc.

        * app/pdb/fileops_cmds.c: regenerated
2003-05-22 16:58:57 +00:00
Michael Natterer 487f71ba05 Removed the old paths and the remaining legacy stuff it needed. Fixes bug
2003-05-21  Michael Natterer  <mitch@gimp.org>

	Removed the old paths and the remaining legacy stuff it needed.
	Fixes bug #104471.

	* Makefile.am
	* configure.in
	* pixmaps/*: removed the pixmaps/ directory.

	* app/ops_buttons.[ch]
	* app/path.[ch]
	* app/pathP.h
	* app/path_transform.h
	* app/gui/paths-dialog.[ch]
	* app/tools/gimpbezierselecttool.[ch]: removed these files.

	* app/Makefile.am
	* app/gui/Makefile.am
	* app/tools/Makefile.am: changed accordingly.

	* app/core/core-types.h: removed the Path* types.

	* app/core/gimpimage.[ch]
	* app/core/gimpimage-duplicate.c: removed gimage->paths.

	* app/gui/about-dialog.c: inline wilber2_xpm for now.

	* app/gui/dialogs-constructors.c
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c
	* app/gui/menus.c: removed the old paths dialog.

	* app/gui/gui.c: removed gui_rotate_the_shield_harmonics() hack
	which was broken anyway.

	* app/tools/gimptransformtool.c: #if 0 path_transform preview stuff.

	* app/tools/gimpiscissorstool.c: removed useless include.

	* app/tools/tools.c: removed the bezier select tool.

	* app/vectors/gimpvectors.c (gimp_vectors_real_stroke_add): use
	g_list_append(), not g_list_prepend() so some ugly side conditions
	of legacy path loading are honored.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: load and save only GimpVectors.
2003-05-21 17:38:14 +00:00
Michael Natterer 31bf3c9052 added GimpDrawable::alpha_changed() signal.
2003-05-21  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: added GimpDrawable::alpha_changed()
	signal.

	* app/core/gimpimage-undo-push.c
	* app/core/gimplayer.c: emit it when alpha is removed from or
	added to a layer.

	* app/widgets/gimpcontainertreeview.[ch]: added a
	"name_attributes" column to the list store which provides a
	PangoAttrList for the name column.

	* app/widgets/gimplayertreeview.[ch]: connect to all layers'
	"alpha_changed" and set the BG layer's name to bold.

	* app/widgets/gimpdrawabletreeview.c: removed redundant assertions.
2003-05-21 11:34:00 +00:00
Simon Budig 9c811f25d0 Extended to be able to handle multiple polygons in a sane way.
2003-05-21  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.[ch]: Extended to be able to handle
	multiple polygons in a sane way.

	* app/core/gimpimage-mask-select.c: Use this to convert
	multiple-stroke vectors objects to selections. Libart rocks!

	* app/tools/gimpiscissorstool.c: Changed accordingly.

	(The previous commit did not run cleanly)
2003-05-21 01:02:37 +00:00
Simon Budig c6aa6a9efa Extended to be able to handle multiple polygons in a sane way.
2003-05-21  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.[ch]: Extended to be able to handle
	multiple polygons in a sane way.

	* app/core/gimpimage-mask-select.c: Use this to convert
	multiple-stroke vectors objects to selections. Libart rocks!

	* app/tools/gimpiscissorstool.c: Changed accordingly.
2003-05-21 01:01:09 +00:00
Michael Natterer fc6ddb0540 removed redundant functions gimp_rgb_to_hsv_double() and
2003-05-20  Michael Natterer  <mitch@gimp.org>

	* libgimpcolor/gimpcolorspace.[ch]: removed redundant functions
	gimp_rgb_to_hsv_double() and gimp_hsv_to_rgb_double().

	* app/core/gimpdrawable-blend.c: use gimp_rgb_to_hsv() and
	gimp_hsv_to_rgb() instead.

	* plug-ins/fp/fp.[ch]
	* plug-ins/fp/fp_misc.c: ditto. Deuglyfied the changed functions'
	coding style a lot.
2003-05-20 18:29:13 +00:00
Michael Natterer a1abf2c55c call gimp_layer_invalidate_boundary() because the layer extents may
2003-05-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_layer_mod): call
	gimp_layer_invalidate_boundary() because the layer extents may
	change.

	* app/core/gimpitem-linked.c: pass clip_result == TRUE when
	rotating linked channels.

	* app/core/gimpdrawable-transform.c: implement clip_result so
	linked channels can be rotated without leaving the image in an
	inconsistent state. Added utility function
	gimp_drawable_transform_rotate_point().
2003-05-20 18:13:07 +00:00
Sven Neumann dc0aff0c0e app/display/gimpdisplayshell.[ch] removed padding_gc from the
2003-05-20  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.[ch]
	* app/display/gimpdisplayshell-callbacks.c: removed padding_gc from
	the GimpDisplayShell struct. Don't draw the padding color manually.

	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_padding): set the canvas background color
	using gdk_window_set_background().
2003-05-20 17:52:48 +00:00
Sven Neumann c90a88fd9d fixed a harmless compiler warning.
2003-05-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-rotate.c (gimp_image_rotate): fixed a harmless
	compiler warning.
2003-05-20 15:41:39 +00:00
Michael Natterer 966fb5595f don't default to clip_result == TRUE (unlike the other transform
2003-05-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_rotate): don't default to
	clip_result == TRUE (unlike the other transform functions).

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_rotate): fixed offset calculation.

	* app/core/gimpimage-rotate.c: change the image size *after* all items
	are rotated. Adjust all items' offsets after rotation. Rotate the
	resolutions too. Seems to work now and fixes bug #6101.

	* app/core/gimpimage.c (gimp_image_size_changed): emit
	"size_changed" on all vectors.

	* app/core/gimpitem-linked.[ch]: added gimp_item_linked_rotate().

	* app/gui/drawable-commands.c: flip and rotate linked items too.

	* app/vectors/gimpvectors.c (gimp_vectors_rotate): fixed rotation
	angles.

	Unrelated:

	* app/core/gimpimage-merge.c: don't #include "path.h".
2003-05-20 15:26:38 +00:00
Sven Neumann a996ba3956 fixed algorithm for GIMP_ROTATE_180.
2003-05-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_rotate): fixed algorithm for
	GIMP_ROTATE_180.
2003-05-20 13:40:33 +00:00
Sven Neumann 4e335f7fc2 no need to include gimp-intl.h.
2003-05-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-flip.c: no need to include gimp-intl.h.

	* app/core/gimpimage-rotate.c: change the image size if needed;
	implemented rotation of guides.

	* app/vectors/gimpvectors.c: implemented rotation of vectors.
2003-05-20 11:55:12 +00:00
Michael Natterer f46c16c8ea remember the guide's orientation in the guide undo. Needed for
2003-05-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c: remember the guide's orientation
	in the guide undo. Needed for gimp_image_rotate().
2003-05-20 11:24:54 +00:00
Sven Neumann 1de667f0b6 added new enum GimpRotationType.
2003-05-20  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: added new enum GimpRotationType.

	* app/core/Makefile.am
	* app/core/gimpimage-rotate.[ch]: new files.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpitem.[ch]
	* app/core/gimplayer.c
	* app/vectors/gimpvectors.c: added GimpItem::rotate. Still work in
	progress.

	* plug-ins/common/rotate.c: don't install any menu entries. The
	plug-in is only kept around to provide plug_in_rotate for backward
	compatibility.

	* app/gui/drawable-commands.[ch]
	* app/gui/image-commands.[ch]
	* app/gui/image-menu.c: use the new rotate implementation and use
	stock icons for the menu entries. Fixes bug #57797.
2003-05-20 10:36:29 +00:00
Michael Natterer 470947f911 Some color API cleanup:
2003-05-20  Michael Natterer  <mitch@gimp.org>

	Some color API cleanup:

	* libgimpcolor/gimpcolortypes.h: added struct GimpHSL. All values
	are doubles in a [0.0..1.0] range.

	* libgimpcolor/gimpcolorspace.[ch]: changed the GimpRGB <-> HSL
	functions to use the new struct instead of separate hue, saturation
	and lightness doubles. Note that the hue range has changed from
	[0.0..360.0] to [0.0..1.0].

	* app/base/colorize.c (colorize_calculate)
	* plug-ins/common/AlienMap2.c (transform): changed accordingly.
2003-05-20 10:20:34 +00:00
Michael Natterer 1b107d83d6 eek, forgot to commit this file.
2003-05-19  Michael Natterer  <mitch@gimp.org>

	* app/gui/drawable-commands.h: eek, forgot to commit this file.
2003-05-19 17:17:10 +00:00
Michael Natterer 67b00677c7 moved the image flip entries to the Image->Transform submenu and added
2003-05-19  Michael Natterer  <mitch@gimp.org>

	* app/gui/image-menu.c: moved the image flip entries to the
	Image->Transform submenu and added flip entries to
	Layer->Transform. Cleaned up the transform submenus.

	* app/gui/drawable-commands.[ch]: added
	drawable_flip_cmd_callback().

	* tools/pdbgen/pdb/image.pdb: added a PDB wrapper for
	gimp_image_flip().

	* libgimp/gimpimage_pdb.[ch]
	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c: regenerated.
2003-05-19 16:28:35 +00:00
Sven Neumann 48b3b263fe fixed sense of assertions; argh.
2003-05-19  Sven Neumann  <sven@gimp.org>

	* app/base/temp-buf.c (temp_buf_to_color) (temp_buf_to_gray):
	fixed sense of assertions; argh.
2003-05-19 15:54:52 +00:00
Michael Natterer 49b851780e fixed to work like gimp_hls_to_rgb_int() (does the right thing now for the
2003-05-19  Michael Natterer  <mitch@gimp.org>

	* libgimpcolor/gimpcolorspace.c (gimp_hsl_to_rgb): fixed to work
	like gimp_hls_to_rgb_int() (does the right thing now for the
	saturation == 0 case). Some minor cleanups.

	Implemented "Colorize" as suggested in bug #20509. It's not a
	toggle in the "Hue/Saturation" tool dialog (which would be a gross
	hack IMHO) but a separate tool. Fixes bug #20509.

	* app/base/Makefile.am
	* app/base/base-types.h
	* app/base/colorize.[ch]: the actual mapping function lives
	here. Its algorithm was taken from the "colorify" plug-in.

	* app/tools/Makefile.am
	* app/tools/gimpcolorizetool.[ch]: the tool.

	* app/tools/tools.c: register it.

	* app/gui/dialogs.c: session-manage its dialog.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/tools/stock-tool-colorize-16.png
	* themes/Default/images/tools/stock-tool-colorize-22.png: new
	icons from Jimmac.

	Unrelated:

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: don't #include "tool_manager.h"
2003-05-19 14:21:03 +00:00
Manish Singh 5e88b31d58 remove glibconfig.h inline check, it hasn't worked for a long time.
2003-05-19  Manish Singh  <yosh@gimp.org>

        * configure.in: remove glibconfig.h inline check, it hasn't worked
        for a long time.

        * tools/authorsgen/contributors: added George J. Carrette, author of
        SIOD.
2003-05-19 07:04:46 +00:00
Simon Budig 0174bb6d6a Implemented closed paths. Not yet available in a sane manner via the UI.
2003-05-19  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpbezierstroke.[ch]: Implemented closed paths. Not
	yet available in a sane manner via the UI. Added the last missing
	line from gimp_bezier_stroke_interpolate ().

	* app/tools/gimpvectortool.c: Changed accordingly

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.[ch]: removed Tabs.
2003-05-18 23:08:01 +00:00
Michael Natterer a354e7f45e set gimage->qmask_state to TRUE if a channel's name is "Qmask". Fixes bug
2003-05-19  Michael Natterer  <mitch@gimp.org>

	* app/xcf/xcf-load.c (xcf_load_channel): set gimage->qmask_state
	to TRUE if a channel's name is "Qmask". Fixes bug #113240.
2003-05-18 22:07:36 +00:00
Michael Natterer 272ee133ed snap correctly to the bottom and right sides of the rectangle. Also snap
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-guides.c (gimp_image_snap_rectangle): snap
	correctly to the bottom and right sides of the rectangle. Also
	snap to the closer guide if we snap twice on one axis.
	Fixes bug #113233.

	All snapping functions: use ROUND() instead of truncating the
	double coords.
2003-05-18 21:41:53 +00:00
Michael Natterer c12bec704c update the cursor on GDK_ENTER_NOTIFY.
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): update the cursor on
	GDK_ENTER_NOTIFY.

	* app/display/gimpdisplayshell-cursor.c
	(gimp_display_shell_update_cursor): argh, "0" coordinates are
	*inside* the canvas.

	Together fixes bug #113239.
2003-05-18 20:20:57 +00:00
Michael Natterer 73e5a890bf removed GIMP_TARGET_PALETTE. Fixes bug #113237.
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppaletteeditor.c (color_palette_target_table):
	removed GIMP_TARGET_PALETTE. Fixes bug #113237.
2003-05-18 19:32:46 +00:00
Michael Natterer a27b88502f push a colormap undo if the image was INDEXED. Fixes bug #113236. Minor
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-convert.c (gimp_image_convert): push a
	colormap undo if the image was INDEXED. Fixes bug #113236.
	Minor Cleanups.
2003-05-18 19:21:53 +00:00
Michael Natterer 1358fafb0e Implemented "Flip Image". Fixes bug #23179:
2003-05-18  Michael Natterer  <mitch@gimp.org>

	Implemented "Flip Image". Fixes bug #23179:

	* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_IMAGE_FLIP.

	* app/core/Makefile.am
	* app/core/gimpimage-flip.[ch]: new files implementing
	gimp_image_flip().

	* app/gui/image-menu.c
	* app/gui/image-commands.[ch]: added it to the "Image" menu.

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-flip-horizontal-16.png
	* themes/Default/images/stock-flip-vertical-16.png
	* libgimpwidgets/gimpstock.[ch]: added icons for the new
	menu items.

	Bugs found while hacking the stuff above:

	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
	only call gimp_layer_add_alpha() if the pasted tiles have alpha.

	* app/core/gimpimage-undo-push.c (undo_pop_channel_mod): fixed to
	do the right thing if the channel is the selection mask.
2003-05-18 18:48:36 +00:00
Michael Natterer 146a51c55f changed to expect all points (also the first one) in "H, A, H" order.
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/vectors/gimpbezierstroke.[ch]
	(gimp_bezier_stroke_new_from_coords): changed to expect all points
	(also the first one) in "H, A, H" order.  Ignore the first coord
	in the array for now. Added "gboolean closed" parameter.

	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/paths.pdb: shuffle the legacy path point arrays
	around before creating strokes so they match the new order.

	* app/pdb/paths_cmds.c: regenerated.
2003-05-18 16:36:10 +00:00
Michael Natterer 45973682e4 app/display/gimpdisplayshell-dnd.[ch] enabled dropping of vectors to the
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-dnd.[ch]
	* app/display/gimpdisplayshell.c: enabled dropping of vectors to
	the display to copy them between images.
2003-05-18 14:47:07 +00:00
Michael Natterer 256701f68d added BOOLEAN: OBJECT, POINTER.
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: added BOOLEAN: OBJECT, POINTER.

	* app/widgets/gimpcontainerview.[ch]: added a boolean return
	value to GimpContainerView::select_item() which indicates if
	the select operation was successful.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c: changed accordingly.

	* app/widgets/gimpdrawabletreeview.c: ditto. Removed the
	tree_view's select_function because it was only constraining the
	widget, not the underlying select operation. Instead, implement
	GimpContainerView::select_item() and disallow anything but the
	floating selection to be selected. Also re-enabled the
	"floating_selection_changed" callback and explicitely set the
	active item so the button states get updated. Fixes bug #112487.
2003-05-18 13:28:27 +00:00
Michael Natterer bda46bbc35 added new function gimp_vectors_convert() which duplicates a GimpVectors
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/vectors/gimpvectors.[ch]: added new function
	gimp_vectors_convert() which duplicates a GimpVectors for another
	image.

	* app/widgets/gimpvectorstreeview.c
	(gimp_vectors_tree_view_class_init): use it as
	GimpItemTreeView::convert_item() implementation. Enables
	DND-copying of vectors between images.
2003-05-18 11:18:58 +00:00
Michael Natterer c44bf94c5a app/tools/gimptransformtool.c removed old path undo stuff.
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptransformtool.c
	* app/tools/gimptransformtool-undo.[ch]: removed old path undo stuff.
2003-05-18 10:44:09 +00:00
Michael Natterer 4624d49662 call gimp_item_set_image() on the new layer's mask too if it exists.
2003-05-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c (gimp_layer_new_from_drawable): call
	gimp_item_set_image() on the new layer's mask too if it exists.
2003-05-18 10:32:16 +00:00
Michael Natterer 9252db5865 Fixed File->Revert, which was completely broken before:
2003-05-17  Michael Natterer  <mitch@gimp.org>

	Fixed File->Revert, which was completely broken before:

	* app/gui/file-commands.c (file_revert_confirm_callback): set the
	new image on all GimpContexts which had the old image set.  Unref
	the new image after the displays are reconnected.

	Added some paranoia code for similar future situations (the
	functions below were not broken, but affected by the above bug):

	* app/display/gimpdisplay-handlers.c (gimp_display_disconnect):
	set gdisp->gimage to NULL before unrefing the image.

	* app/widgets/gimpimagedock.c (gimp_image_dock_image_changed):
	unref the gimage pointer returned by g_object_get() only if it is
	non-NULL. Cleanup.
2003-05-17 16:34:30 +00:00
Michael Natterer 00645531e0 treat the empty string as NULL filename. Fixes bug #113179.
2003-05-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_set_filename): treat the empty
	string as NULL filename. Fixes bug #113179.
2003-05-17 15:35:57 +00:00
Michael Natterer 0c67310555 app/vectors/gimpbezierstroke.[ch] app/vectors/gimpstroke.[ch]
2003-05-16  Michael Natterer  <mitch@gimp.org>

	* app/vectors/gimpbezierstroke.[ch]
	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors-preview.c
	* app/vectors/gimpvectors.[ch]: massive cleanup / code review:
	Made default implementations real ones. Don't add "const" to
	call-by-value parameters. Iterate lists using for() loops. Moved
	variables to local scopes. Removed tabs. Indentation. Stuff...

	* app/vectors/gimpstroke.[ch]: added unused "gboolean closed"
	member.
2003-05-16 16:49:04 +00:00
Michael Natterer 9981c4645c added "gboolean cut_image" parameter so we can float selections without
2003-05-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch] (gimp_image_mask_extract): added
	"gboolean cut_image" parameter so we can float selections
	without cutting them from the original drawable.

	* app/gui/select-commands.c
	* tools/pdbgen/pdb/selection.pdb: pass cut_image == TRUE.

	* app/pdb/selection_cmds.c: regenerated.

	* app/tools/tools-enums.[ch]: added SELECTION_MOVE_COPY value
	to the SelectOps enum.

	* app/tools/gimpselectiontool.c: use the new mode when
	<ctrl>+<alt>-dragging a selction (yes, this is evil but there are
	no modifiers left).

	* app/tools/gimpeditselectiontool.[ch]: extended EditType enum by
	EDIT_MASK_COPY_TO_LAYER_TRANSLATE and pass cut_image == FALSE if
	it's passed to init_edit_selection().

	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimprectselecttool.c: pass the new mode to
	GimpEditSelectionTool.
2003-05-16 12:10:47 +00:00
Michael Natterer a8598c6969 added dialog_factory and dialog_identifier parameters to the constructors
2003-05-16  Michael Natterer  <mitch@gimp.org>

	* app/gui/color-notebook.[ch]: added dialog_factory and
	dialog_identifier parameters to the constructors and register the
	color_notebook with the passed factory as foreign dialog.

	* app/widgets/gimpcolorpanel.c: changed accordingly.

	* app/gui/dialogs.c
	* app/gui/colormap-editor-commands.c
	* app/gui/gradient-editor-commands.c
	* app/gui/palette-editor-commands.c
	* app/widgets/gimptoolbox-color-area.c: added session management for
	the color notebooks created here.
2003-05-16 11:53:50 +00:00
Michael Natterer 4dcf21316e call vectors_selection_to_vectors() instead of #warning about being
2003-05-16  Michael Natterer  <mitch@gimp.org>

	* app/gui/vectors-commands.c (vectors_sel_to_vectors_cmd_callback):
	call vectors_selection_to_vectors() instead of #warning about
	being unimplemented.
2003-05-16 09:52:49 +00:00
Michael Natterer fb8c6affdb fixed some bugs and warnings in the ported functions.
2003-05-16  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/paths.pdb: fixed some bugs and warnings in
	the ported functions.

	* app/pdb/paths_cmds.c: regenerated.
2003-05-15 23:18:35 +00:00
Sven Neumann 6d347d385a app/pdb/fileops_cmds.c this change should fix file_load_thumbnail() for
2003-05-16  Sven Neumann  <sven@gimp.org>

	* app/pdb/fileops_cmds.c
	* tools/pdbgen/pdb/fileops.pdb: this change should fix
	file_load_thumbnail() for images with alpha channel by blending
	the resulting tempbuf on a checkerboard (bug #113033).
2003-05-15 22:05:37 +00:00
Michael Natterer a05d2c6310 removed generation of includes for enums since including "pdb-types.h" is
2003-05-15  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/app.pl (declare_args): removed generation of
	includes for enums since including "pdb-types.h" is sufficient
	now.

	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/channel_cmds.c
	* app/pdb/color_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c
	* app/pdb/layer_cmds.c
	* app/pdb/message_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/pdb/paint_tools_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/selection_tools_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2003-05-15 21:24:41 +00:00
Michael Natterer ecbbb96235 removed PDB access to the old paths and ported everything to GimpVectors.
2003-05-15  Michael Natterer  <mitch@gimp.org>

	* tools/pdbgen/pdb/paths.pdb: removed PDB access to the old paths
	and ported everything to GimpVectors. Note that everything except
	gimp_path_set_points() is untested and that
	gimp_path_get_point_at_dist() is currently unimplemented. Changed
	order of the generated functions and fixed some help texts.

	* tools/pdbgen/app.pl: removed $tools_eek and $paint_eek hacks
	because pdb/ doesn't include stuff from tools/ any more and paint/
	no longer depends on GTK+.

	* app/pdb/paint_tools_cmds.c
	* app/pdb/paths_cmds.c
	* libgimp/gimppaths_pdb.[ch]: regenerated.
2003-05-15 21:15:00 +00:00
Sven Neumann 254cfb27ad fixed typo: use x1 instead of the uninitialized variable x.
2003-05-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_affine): fixed typo: use x1 instead
	of the uninitialized variable x.

	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.[ch]: removed unused variable
	has_alpha from blend_pixels() function.

	* app/base/temp-buf.c: cosmetics.
2003-05-15 21:01:02 +00:00
Michael Natterer 984eef2500 added new function vectors_selection_to_vectors() which invokes the
2003-05-15  Michael Natterer  <mitch@gimp.org>

	* app/gui/vectors-commands.[ch]: added new function
	vectors_selection_to_vectors() which invokes the sel2path Plug-In.

	* app/gui/dialogs-constructors.c: make the new function known to
	GimpVectorTreeView.

	* app/widgets/gimpvectorstreeview.[ch]: Added a "Selection to Path"
	button anc call the new function.
2003-05-15 14:31:22 +00:00
Sven Neumann 60935d5028 app/pdb/fileops_cmds.c fixed docs for file_save_thumbnail (bug #113033).
2003-05-15  Sven Neumann  <sven@gimp.org>

	* app/pdb/fileops_cmds.c
	* tools/pdbgen/pdb/fileops.pdb: fixed docs for file_save_thumbnail
	(bug #113033).
2003-05-15 14:12:16 +00:00
Sven Neumann 929fef0d57 added some sanity checks to temp_buf conversion routines.
2003-05-15  Sven Neumann  <sven@gimp.org>

	* app/base/temp-buf.c: added some sanity checks to temp_buf
	conversion routines.

	* tools/pdbgen/pdb/fileops.pdb (file_load_thumbnail_invoker): use
	GimpImagefile to load a thumbnail. Only works for RGB images yet.
	This adresses bug #113033.

	* app/pdb/fileops_cmds.c: regenerated.

	* app/file/file-utils.[ch]: removed file_utils_readXVThumb(). It
	is not needed any longer since GimpImagefile also handles the
	old-style .xvpics.

	* plug-ins/script-fu/scripts/copy-visible.scm: fixed typo.
2003-05-15 13:33:30 +00:00
Michael Natterer 71a578fc30 cleaned up the old path saving functions just as the old path loading
2003-05-15  Michael Natterer  <mitch@gimp.org>

	* app/xcf/xcf-save.c: cleaned up the old path saving functions
	just as the old path loading ones. Don't use g_slist_foreach() but
	do everything in one functions. Added error checking for path
	saving.
2003-05-15 12:47:42 +00:00
Michael Natterer 1589a20644 the old paths actually *do* support multiple strokes, they are just all in
2003-05-15  Michael Natterer  <mitch@gimp.org>

	* app/xcf/xcf-load.c (xcf_load_old_path): the old paths actually
	*do* support multiple strokes, they are just all in one curve.
	Added support for loading them as separate GimpBezierStrokes.
2003-05-15 12:32:53 +00:00
Michael Natterer c1eddd4fbc actually increment the coord index when iterating the coords array. Fixes
2003-05-15  Michael Natterer  <mitch@gimp.org>

	* app/vectors/gimpbezierstroke.c
	(gimp_bezier_stroke_new_from_coords): actually increment the coord
	index when iterating the coords array. Fixes bug #113049.
2003-05-15 12:28:57 +00:00
Michael Natterer a5ddcd73e5 load the old paths into new GimpVectors objects. Old paths are still
2003-05-14  Michael Natterer  <mitch@gimp.org>

	* app/xcf/xcf-load.c: load the old paths into new GimpVectors
	objects. Old paths are still created because new vectors can't be
	saved yet. Renamed all old path loading functions to
	xcf_load_old_path*(). Added prototypes for them and reordered them
	to match the order of the rest of the file. Changed their
	signatures to match the rest of the file and indented them.
2003-05-14 19:21:42 +00:00
Michael Natterer 149e81dab5 app/core/Makefile.am new file for utility functions. Contains
2003-05-14  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimp-utils.[ch]: new file for utility functions.
	Contains gimp_rectangle_intersect() for now.

	* app/core/gimpdrawable-transform.c: removed the function here.

	* app/core/gimpdrawable.c (gimp_drawable_resize): use it to
	determine the amount of pixels to copy between the old and new
	tile managers. Removed restriction that forced the areas to
	overlap by at least one pixel.

	* app/core/gimpitem.c (gimp_item_real_transform): removed the
	restriction here, too.

	* app/core/gimplayer.c (gimp_layer_create_mask): use the new
	function to decide how much to copy from the selection when
	creating a mask from it.
2003-05-14 15:32:07 +00:00
Michael Natterer 5f42f8da78 changed the TileManager variable names to "orig_tiles" and "new_tiles" in
2003-05-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-transform.[ch]: changed the TileManager
	variable names to "orig_tiles" and "new_tiles" in the whole file.

	(gimp_drawable_transform_tiles_flip): implement "clip_result".
	Enables flipping of linked channels.
2003-05-14 10:51:14 +00:00
Michael Natterer 3b4c7f2eb6 chain up to parent_class->book_removed(), not book_added(). Fixes dock
2003-05-14  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpimagedock.c (gimp_image_dock_book_removed):
	chain up to parent_class->book_removed(), not book_added().  Fixes
	dock destruction on last book removal.
2003-05-14 10:18:03 +00:00
Michael Natterer 85f5206d59 app/xcf/xcf-load.c (xcf_load_channel_props) store the channel's "linked"
2003-05-13  Michael Natterer  <mitch@gimp.org>

	* app/xcf/xcf-load.c (xcf_load_channel_props)
	* app/xcf/xcf-save.c (xcf_save_channel_props): store the channel's
	"linked" state in the XCF. Older GIMPs will complain, but still
	load the file as if the new property was not there.
2003-05-13 18:30:15 +00:00
Michael Natterer a4395cead9 added "gboolean clip_result" to GimpItem::flip().
2003-05-13  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "gboolean clip_result" to
	GimpItem::flip().

	* app/vectors/gimpvectors.c
	* app/tools/gimpfliptool.c: changed accordingly.

	* app/core/gimpdrawable.c: implement GimpItem::flip() and
	GimpItem::transform().

	* app/core/gimpchannel.c
	* app/core/gimplayer.c: chain up in flip() and transform() and do
	only the layer/channel specific stuff here.

	* app/core/gimpdrawable-transform.[ch]: fixed indentation.
	(gimp_drawable_transform_tiles_flip): added "gboolean clip_result"
	and warn that it is not yet implemented.
	(gimp_drawable_transform_tiles_affine): when transforming a
	channel set bg_color to transparent. Clip channels (but not layer
	masks) only if the passed tiles have bpp == 1 (the channel is
	unfloated).
	(gimp_drawable_transform_affine): clip all unfloated channels.

	* app/core/gimpitem-linked.[ch]: added gimp_item_linked_get_list()
	utility function to avoind iterating all layers/channels/vectors
	in all functions.

	* app/tools/gimptransformtool.c: clip all unfloated channels.

	The clipping fixes above together fix bug #112858.
2003-05-13 13:57:11 +00:00
Michael Natterer 6745446916 s/bg/bg_color/g, cleanup.
2003-05-13  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.c (gimp_image_mask_extract):
	s/bg/bg_color/g, cleanup.
2003-05-13 12:48:18 +00:00
Sven Neumann 4f24228456 wait 10 ms before killing the plug-in just like the comment says. The code
2003-05-13  Sven Neumann  <sven@gimp.org>

	* app/plug-in/plug-in.c (plug_in_close): wait 10 ms before killing
	the plug-in just like the comment says. The code used to wait 0.1 ms
	only.
2003-05-13 11:44:28 +00:00
Sven Neumann 8f1cb61213 use a low-priority timeout for updating the WM icon.
2003-05-12  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_invalidate_preview_handler): use a low-priority
	timeout for updating the WM icon.
2003-05-12 17:33:15 +00:00
Michael Natterer 45334e637e Added support for transforming linked layers, channels and vectors. Fixes
2003-05-12  Michael Natterer  <mitch@gimp.org>

	Added support for transforming linked layers, channels
	and vectors. Fixes bug #86277.

	* app/core/gimpdrawable-transform.[ch]
	(gimp_drawable_transform_tiles_flip): added "gdouble axis" and
	calculate the resulting drawable offset.
	(gimp_drawable_transform_flip): calculate the axis and pass it to
	the function above.
	(gimp_drawable_transform_[tiles_]affine): reordered parameters.

	* app/core/gimpitem.[ch]: added virtual functions GimpItem::flip()
	and GimpItem::transform().

	* app/core/gimpchannel.c
	* app/core/gimplayer.c
	* app/vectors/gimpvectors.c: implement flip() and transform().
	Note that all functions always transform the whole item,
	regardless of a present selection.

	* app/core/Makefile.am
	* app/core/gimpitem-linked.[ch]: new files containing utility
	functions which translate, flip and transform all linked items.

	* app/tools/gimpfliptool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/layer.pdb: use the new gimp_item_linked_*()
	functions to translate, flip and transform all linked items.

	* tools/pdbgen/pdb/transform_tools.pdb: follow
	gimp_drawable_transform_affine() API change.

	* app/pdb/layer_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2003-05-12 15:56:36 +00:00
Michael Natterer 305dc2ffd7 make sure that active_tool->tool_info is non-NULL before dereferencing it.
2003-05-12  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_manager.c (tool_manager_tool_changed): make sure
	that active_tool->tool_info is non-NULL before dereferencing it.
	(Spotted by Ville Ptsi).
2003-05-12 14:11:37 +00:00
Sven Neumann 0c30ec3cf7 added a missing break that broke gimp_image_find_next_guide(). Fixes bug
2003-05-11  Sven Neumann  <sven@gimp.org>

	* tools/pdbgen/pdb/guides.pdb: added a missing break that broke
	gimp_image_find_next_guide(). Fixes bug #112717.

	* app/pdb/guides_cmds.c: regenerated.
2003-05-11 13:47:16 +00:00
Sven Neumann ebb56bc5f8 added a "Stroke Selection" button to the selection editor as suggested in
2003-05-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpselectioneditor.[ch]: added a "Stroke Selection"
	button to the selection editor as suggested in bug #112448.
2003-05-09 21:41:53 +00:00
Sven Neumann 2182fb816a initialize scale to please the compiler.
2003-05-09  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
	initialize scale to please the compiler.
2003-05-09 19:57:38 +00:00
Michael Natterer 457368140d added "gboolean push_undo" to GimpItem::translate() and don't push and
2003-05-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "gboolean push_undo" to
	GimpItem::translate() and don't push and undo in
	gimp_item_translate().

	* app/core/gimpchannel.[ch]: removed public function
	gimp_channel_translate() and implement GimpItem::translate().

	* app/core/gimpimage-mask.c
	* app/core/gimplayer.c: changed accordingly.

	* app/vectors/gimpvectors.c: actually translate the vectors
	in translate().

	* app/gui/channels-commands.c (channels_new_channel_query): removed
	useless call to gimp_channel_translate().

	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/layer.pdb: when translating a linked layer,
	also translate all linked channels and vectors. Cleanup.

	Note that the "linked" behaviour has changed: before this change,
	moving a layer moved all linked layers unconditionally. Now,
	linked layers/channels/vectors are moved *only* if the moved layer
	is also linked (the linked items behave as a group now and moving
	something not in the group does not affect the group).

	* app/pdb/layer_cmds.c: regenerated.
2003-05-09 13:05:37 +00:00
Michael Natterer 3a8ef85b8c app/core/gimpimage-crop.c (gimp_image_crop) app/core/gimpimage-resize.c
2003-05-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-crop.c (gimp_image_crop)
	* app/core/gimpimage-resize.c (gimp_image_resize)
	* app/core/gimpimage-scale.c (gimp_image_scale):
	don't #include "gimpchannel.h". Moved code around so they all do
	their stuff in the same order (improves readability when comparing
	the functions). Use GimpItem variables instead of GimpChannel or
	GimpLayer ones. Lots of cleanup.
2003-05-09 11:27:21 +00:00
Michael Natterer 2de90bdb41 resize all vectors here, too.
2003-05-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-crop.c (gimp_image_crop): resize all vectors
	here, too.
2003-05-09 00:49:56 +00:00
Michael Natterer 882a8eca80 added default implementations for scale() and resize() which just set the
2003-05-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.c: added default implementations for scale()
	and resize() which just set the resulting width/height and offset
	values.

	* app/core/gimpdrawable.c: chain up in scale() and resize().

	* app/vectors/gimpvectors.[ch]: buncha vectors changes/features:

	- Removed unused "linked" and "locked" members.
	- Removed "changed" signal.
	- Added "freeze" and "thaw" signals and functions to emit them.
	- Added "freeze_count" member so we emit only one freeze/thaw pair
	  even when doing nested changes.
	- Added GimpItem::translate() implementation.
	- Actually scale and resize the vectors in scale() and resize().
	- Added undo for scale() and resize().
	- Added freeze()/thaw() pairs around all modifying functions.
	- Changed gimp_vectors_copy_strokes() to work as needed.

	* app/core/gimpimage-resize.c
	* app/core/gimpimage-scale.c: resize and scale all vectors.
	Fixes bug #36491.

	* app/core/gimpimage-undo-push.c (undo_pop_vectors_mod): added
	freeze()/thaw() around the vectors-modifying code. Also restore
	width, height and offsets.

	* app/tools/gimpvectortool.c: connect to "freeze" and "thaw"
	and pause()/resume() vectors drawing accordingly.
2003-05-09 00:38:51 +00:00
Michael Natterer 33b7d779d6 removed "linked" member and API...
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.[ch]: removed "linked" member and API...

	* app/core/gimpitem.[ch]: ...and added it here.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]: changed layer_linked undo
	types and functions to be item_linked ones.

	* app/tools/gimpeditselectiontool.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.

	* app/widgets/gimplayertreeview.[ch]: removed "linked" icon and
	functions...

	* app/widgets/gimpitemtreeview.[ch]: and added them here. Setting
	channels or vectors to "linked" does nothing yet.
2003-05-08 20:26:01 +00:00
Michael Natterer 129c78d271 added gimp_item_translate() and virtual function GimpItem::translate().
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added gimp_item_translate() and
	virtual function GimpItem::translate().

	* app/core/gimplayer.[ch]: removed public function
	gimp_layer_translate() and implement GimpItem::translate()
	instead.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]: changed layer_displace undo
	types and functions to be item_displace ones.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/layers-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-08 19:11:17 +00:00
Michael Natterer ab0ac8472f removed the remaining layer scale API.
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.[ch]: removed the remaining layer scale API.

	* app/core/gimpitem.[ch]: added the same functions here.

	* app/core/gimpimage-scale.c
	* app/gui/layers-commands.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-08 14:54:04 +00:00
Michael Natterer 766930db38 added width, height, offset_x and offset_y parameters.
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch] (gimp_item_configure): added width,
	height, offset_x and offset_y parameters.

	* app/core/gimpdrawable.c
	* app/vectors/gimpvectors.c: changed accordingly.

	* app/tools/gimpfliptool.c: removed unused variable.
2003-05-08 14:21:39 +00:00
Michael Natterer c1ab39a5e8 removed gimp_drawable_offsets().
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed gimp_drawable_offsets().

	* app/core/gimpitem.[ch]: added gimp_item_offsets().

	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-histogram.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask-select.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-pick-color.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/drawable.pdb: changed accordingly.

	* app/pdb/color_cmds.c
	* app/pdb/drawable_cmds.c: regenerated.
2003-05-08 14:06:03 +00:00
Michael Natterer 54878b79ce removed gimp_drawable_width,height().
2003-05-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed gimp_drawable_width,height().

	* app/core/gimpitem.[ch]: added gimp_item_width,height().

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimpscanconvert.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell.c
	* app/gui/channels-commands.c
	* app/gui/layers-commands.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsmudge.c
	* app/text/gimptextlayer.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/drawable_cmds.c
	* app/pdb/selection_cmds.c: regenerated.
2003-05-08 13:12:46 +00:00
Michael Natterer 4136e61ddc More transform virtualization preparation:
2003-05-08  Michael Natterer  <mitch@gimp.org>

	More transform virtualization preparation:

	* app/core/gimpdrawable.[ch]: removed "width", "height", "offset_x"
	and "offset_y"...

	* app/core/gimpitem.[ch]: ...and added them here.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-qmask.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/text/gimptext-compat.c
	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimppreviewrendererdrawable.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-08 11:52:31 +00:00
Michael Natterer 1b2cc067c5 when adding a layer mask from selection, don't crash if the layer is not
2003-05-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplayer.c (gimp_layer_create_mask): when adding a
	layer mask from selection, don't crash if the layer is not
	entirely inside the image boundary but clip the copy_region()
	accordingly. Fixes bug #112409. Added a local GimpDrawable variable
	so we don't need to GIMP_DRAWABLE(layer) all the time.
2003-05-07 17:00:57 +00:00
Michael Natterer 7442ef5099 forgot to commit this one.
2003-05-07  Michael Natterer  <mitch@gimp.org>

	* app/vectors/gimpvectors.c: forgot to commit this one.
2003-05-07 14:45:26 +00:00
Michael Natterer 323ed50c99 More transform stuff virtualization:
2003-05-07  Michael Natterer  <mitch@gimp.org>

	More transform stuff virtualization:

	* app/core/gimpitem.[ch]: added new virtual function
	GimpItem::resize().

	* app/core/gimpchannel.[ch]
	* app/core/gimplayer.[ch]: removed public resize functions
	and implement resize() instead.

	* app/core/gimpdrawable.c: implement resize() which contains
	the common parts of layer/channel resizing.

	* app/vectors/gimpvectors.c: added empty resize() implementation.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/gui/layers-commands.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-05-07 13:01:17 +00:00
Michael Natterer 2a17435e7e Started to abstract item transformation so we can easily transform
2003-05-07  Michael Natterer  <mitch@gimp.org>

	Started to abstract item transformation so we can easily
	transform multiple linked items later:

	* app/core/gimpitem.[ch]: added new virtual function
	GimpItem::scale() with the same signature as the former
	gimp_layer_scale_lowlevel().

	* app/core/gimpdrawable.c: implement scale() and do the
	common parts of layer/channel scaling here.

	* app/core/gimpchannel.[ch]
	* app/core/gimplayer.[ch]: implement scale() for the
	channel/layer specific parts of scaling.

	* app/core/gimplayer.[ch]: renamed gimp_layer_scale() to
	gimp_layer_scale_by_origin().

	* app/vectors/gimpvectors.c: added empty scale() implementation.

	* app/core/gimpimage-scale.c
	* app/core/gimpimage-undo-push.c
	* app/gui/layers-commands.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.

	Unrelated:

	* app/core/gimpimage-undo-push.c: fixed item rename undo to
	take the size of the saved name into account. Removed old
	path_undo stuff.
2003-05-07 11:09:00 +00:00
Michael Natterer f3747dbac2 removed GimpToolState (ACTIVE, INACTIVE).
2003-05-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/tools-enums.[ch]: removed GimpToolState (ACTIVE,
	INACTIVE).

	* app/tools/gimptoolcontrol.[ch]: replaced "GimpToolState state"
	by "gboolean active".

	* app/tools/gimptool.c (gimp_tool_control)
	* app/tools/tool_manager.c (tool_manager_control_active): check
	for gimp_tool_control_is_active() before calling
	gimp_tool_control_halt().
2003-05-06 11:11:15 +00:00
Michael Natterer 1317d1809e added g_return_if_fail (gimp_tool_control_is_active (tool->control)) since
2003-05-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.c (gimp_tool_motion): added
	g_return_if_fail (gimp_tool_control_is_active (tool->control))
	since that's a basic constraint of tool event handling.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimprectselecttool.c (gimp_*_tool_motion):
	removed checks for gimp_tool_control_is_active().
2003-05-06 10:30:34 +00:00
Pedro Gimeno 9e7d814ac8 Cleanups. (gradient_calc_linear_factor): Apply the gradient to both sides
2003-05-05  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/core/gimpdrawable-blend.c: Cleanups.
	(gradient_calc_linear_factor): Apply the gradient to both sides
	when Repeat is set to Sawtooth Wave. Fixes bug #112106.

	* app/core/gimpdrawable-transform.c
	(gimp_drawable_transform_tiles_affine): Fix copy'n'paste slip in
	coordinates calculation for supersampling code. Transform the
	pixel centers properly. Fixes bug #10466.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_rectangle,
	gimp_draw_tool_draw_arc): Ported the fix for bug #17904 from the
	STABLE branch (off-by-one when drawing the rectangle/ellipse
	previews).

	* app/tools/gimpeditselectiontool.c: Renamed
	gimp_edit_selection_tool_snap to
	gimp_edit_selection_tool_calc_coords, as it is no longer used for
	snapping.
	(gimp_edit_selection_tool_calc_coords): Use floor instead of
	rounding. Callers changed to remove rounding, as it deals with
	gdoubles directly. Thanks to Mitch for the help refining this
	one. Fixes bug #17906.
2003-05-05 18:45:58 +00:00
Michael Natterer f1d317a302 some more code cleanup.
2003-05-05  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-scale.c: some more code cleanup.
2003-05-05 15:33:11 +00:00
Michael Natterer 1204865d04 new utility function which takes GimpZoomType and zooms "scalesrc" and
2003-05-05  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-scale.[ch]
	(gimp_display_shell_scale_zoom_fraction): new utility function
	which takes GimpZoomType and zooms "scalesrc" and "scaledest".
	(gimp_display_shell_scale_calc_fraction): new utility function
	which takes an exact double scale factor and calculates "scalesrc"
	and "scaledest".

	(gimp_display_shell_scale): use the first.
	(gimp_display_shell_scale_fit): use the second.

	* app/tools/gimpmagnifytool.[ch]: use the first to click-zoom and
	the second to area-zoom. Fixes bug #112115. Removed zoom_in() and
	zoom_out() utiliy functions. Removed "GimpZoomType op" from the
	GimpMagnifyTool struct. Cleanup.
2003-05-05 14:48:15 +00:00
Michael Natterer 5067bec93b don't change the passed GimpCoords if we didn't snap.
2003-05-05  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_snap_coords):
	don't change the passed GimpCoords if we didn't snap.
2003-05-05 11:26:01 +00:00
Michael Natterer 95f8fca15e set GDK_HINT_USER_POS for all session managed dialogs, not only for those
2003-05-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.c: set GDK_HINT_USER_POS for all
	session managed dialogs, not only for those which already have
	saved session info. This way the dialogs keep their position
	acrosss hide/show within the same session, even if they have never
	been used before.

	* app/gui/dialogs.c: added entries for the file open/save dialogs.
	Fixed some entries.

	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c: register the file dialogs with
	the dialog factory.
2003-05-03 23:02:26 +00:00
Michael Natterer 31becaf4d0 Update the splash before calling plug_in_query() and plug_in_init()
2003-05-03  Michael Natterer  <mitch@gimp.org>

	* app/plug-in/plug-ins.c (plug_ins_init): Update the splash before
	calling plug_in_query() and plug_in_init() (applied a modified
	patch from Raphael Quinet). Fixes bug #112156.
2003-05-03 20:18:03 +00:00
Michael Natterer a51bff58f9 added "dockable_added", "dockable_removed" and "dockable_reordered"
2003-05-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockbook.[ch]: added "dockable_added",
	"dockable_removed" and "dockable_reordered" signals and emit them.

	* app/widgets/gimpimagedock.[ch]: implement GimpDock::book_added()
	and GimpDock::book_removed(). Connect to the above signals and
	update the window title as proposed in bug #111971. Idle-update
	the title so subsequent changes are compressed. Fixes bug #111971.

	* app/widgets/gimpdock.c: cleanup.
2003-05-03 11:59:44 +00:00
Michael Natterer c18b6554b1 app/gui/dialogs.c app/tools/gimphistogramtool.c register their dialogs
2003-05-03  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpmeasuretool.c: register their dialogs too.
2003-05-03 09:56:25 +00:00
Michael Natterer fefaf61b28 added new function gimp_dialog_factory_add_foreign() which adds a dialog
2003-05-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: added new function
	gimp_dialog_factory_add_foreign() which adds a dialog that was not
	created by the factory itself. Its identifier however must be
	registered with the factory. Connect to all toplevel dialogs'
	"configure_event" and remember the resulting window geometry so we
	get session management for *all* dialogs, not only for those which
	were open on exit.

	* app/gui/dialogs.c: added the "File New" dialog. Added foreign
	entries (without constructor) for all dialogs opened by tools.

	* app/gui/dialogs-constructors.[ch]: added a constructor for
	the file_new dialog.

	* app/gui/file-new-dialog.[ch]: renamed file_new_dialog_create()
	to file_new_dialog_new() and removed the gimage and template
	paramaters. Adder new function file_new_dialog_set() to set
	gimage and template after creation.

	* app/gui/file-commands.c
	* app/gui/templates-commands.c: changed accordingly.

	* app/tools/gimpimagemaptool.[ch]
	* app/tools/gimptransformtool.[ch]: added
	"const gchar *shell_identifier" to the tool structs. Register the
	tool dialogs using gimp_dialog_factory_add_foreign().

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpthresholdtool.c: set "shell_identifier" so the
	dialogs become session managed. Fixes bug #61091.

	* app/tools/gimpcroptool.c: register the crop dialog with the
	dialog factory. Fixes bug #52849.

	* app/tools/gimpcolorpickertool.c: ditto.

	Unrelated:

	* app/tools/gimptool.c: no need to cast the return value of
	g_object_new().
2003-05-02 18:43:15 +00:00
Pedro Gimeno a115c7b5ab Save brush pointer before first stroke and restore it after. Fixes bug
2003-05-02  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/paint/gimppaintcore-stroke.c (gimp_paint_core_stroke,
	gimp_paint_core_stroke_vectors): Save brush pointer before first
	stroke and restore it after. Fixes bug #102162.

	* plug-ins/common/flarefx.c (FlareFX): Use
	gimp_fixme_preview_do_row instead of memcpy. Fixes bug #112042 for
	this plug-in.

	* plug-ins/common/jigsaw.c: Several cleanups.
	(jigsaw_values_changed): New function as a result of the cleanups.
	(jigsaw): Use gimp_fixme_preview_do_row instead of memcpy.
	Together with the fix to flarefx, fixes bug #112042.
	(draw_jigsaw): Warn if passed a NULL buffer (solves the crash
	reported in bug #112012).

	* plug-ins/gimpressionist/orientation.c: Slightly reformatted.
	(create_orientationpage): Modify orientfirst/orientlast instead of
	sizefirst/sizelast in the corresponding adjustments. Fixes bug
	#112061.
2003-05-02 12:10:40 +00:00
Manish Singh 3511123863 Query fontconfig directly for the font list, avoiding scanning the
2003-05-01  Manish Singh  <yosh@gimp.org>

        * app/text/gimpfontlist.c: Query fontconfig directly for the font
        list, avoiding scanning the internal fontconfig list over and over
        again. There are differences in the font list that the old and new
        code produce however. The new code will generate descriptions for
        more fonts, and some of the styles will be different. Also, pango
        font description strings aren't specific enough for all cases, so
        a font name may appear more than once in the list. I'm not sure
        how to solve this best, but this code is Good Enough (TM) for now.
2003-05-02 05:50:36 +00:00