Commit graph

608 commits

Author SHA1 Message Date
Seth Burgess 24542e8c9c app/levels.c : changed reset to reset all channels, not just currently
active one.  Fixes #15042.
2000-07-05 01:26:10 +00:00
BST 2000 Andy Thomas 3ed86a7343 app/paint_core.c
Tue Jun 27 22:26:30 BST 2000 Andy Thomas <alt@gimp.org>

	* app/paint_core.c

	Fixed problem with coloured brushes/grayscale images and painting
	close to the edge. Fixes bug #14159
2000-06-27 21:26:59 +00:00
Matt Wilson 74fdc62e2a allocate the tool's paint_core with g_new0. This prevents us from having
2000-06-22  Matt Wilson  <msw@redhat.com>

	* app/paint_core.c (paint_core_new): allocate the tool's
	paint_core with g_new0.  This prevents us from having cruft in
	unused tools.  Systems with sensitive FPUs (Alpha) will raise
	exception in the paint_core_cursor_update if paint_core->last{x,y}
	are messy.

	* app/bezier_select.c (tools_new_bezier_select)
	* app/blend.c (blend_options_new)
	* app/brightness_contrast.c (tools_new_brightness_contrast)
	* app/bucket_fill.c (tools_new_bucket_fill)
	* app/by_color_select.c (tools_new_by_color_select)
	* app/color_balance.c (tools_new_color_balance)
	* app/color_panel.c (color_panel_new)
	* app/color_picker.c (tools_new_color_picker)
	* app/crop.c (tools_new_crop)
	* app/curves.c (tools_new_curves)
	* app/ellipse_select.c (tools_new_ellipse_select)
	* app/free_select.c (tools_new_free_select)
	* app/fuzzy_select.c (tools_new_fuzzy_select)
	* app/histogram_tool.c (tools_new_histogram_tool)
	* app/hue_saturation.c (tools_new_hue_saturation)
	* app/ink.c (tools_new_ink)
	* app/iscissors.c (tools_new_iscissors)
	* app/levels.c (tools_new_levels)
	* app/magnify.c (tools_new_magnify)
	* app/measure.c (tools_new_measure_tool)
	* app/move.c (tools_new_move_tool)
	* app/path_tool.c (tools_new_path_tool)
	* app/posterize.c (tools_new_posterize)
	* app/rect_select.c (tools_new_rect_select)
	* app/resize.c (resize_widget_new)
	* app/threshold.c (tools_new_threshold)
	* app/transform_core.c (transform_core_new)
	* app/xinput_airbrush.c (tools_new_xinput_airbrush): likewise (it
	can only help and it really isn't slow.)

	* app/color_area.c: #include <string.h> for memcpy declaration

	* app/gimphelp.c: #include <string.h> for strlen declaration
2000-06-23 00:14:07 +00:00
BST 2000 Andy Thomas 7434c9bc8b app/edit_selection.c
Fri Jun 16 23:47:00 BST 2000 Andy Thomas <alt@gimp.org>

	* app/edit_selection.c

	A better fix for the problem with the selection outline.
	It should now cope with offsets in the image as well as
	scaling the image while moving the selection.

	These problems occurred both when moving the selection as a layer
	and just moving the selection outline.
2000-06-16 22:48:10 +00:00
Michael Natterer 7890b7ace9 Makefile.am cursors/gimp-tool-cursors.xcf cursors/perspective_small.xbm
2000-06-16  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/perspective_small.xbm
	* cursors/perspective_small_mask.xbm
	* cursors/rotate_small.xbm
	* cursors/rotate_small_mask.xbm
	* cursors/shear_small.xbm
	* cursors/shear_small_mask.xbm: new cursors.

	* app/tools.c
	* app/transform_core.c: use them.
2000-06-16 11:38:45 +00:00
Sven Neumann 858715f64d Dodge/Burn seems to handle animated brushes quite well, so set
2000-06-16  Sven Neumann  <sven@gimp.org>

        * app/dodgeburn.c (tools_new_dodgeburn): Dodge/Burn
        seems to handle animated brushes quite well, so set
        TOOL_CAN_HANDLE_CHANGING_BRUSH.
2000-06-16 01:45:08 +00:00
Michael Natterer 35e55cf16d app/convolve.c app/dodgeburn.c app/eraser.c app/paint_core.c fixed my tool
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* app/convolve.c
	* app/dodgeburn.c
	* app/eraser.c
	* app/paint_core.c
	* app/tools.[ch]: fixed my tool toggle braino: the paint_core
	cannot decide which cursor to show from the state of the modifier
	keys.

	Added a boolean "toggled" variable to the Tool structure,
	set it in the toggleable paint tools and evaluate it in the
	paint_core.
2000-06-14 14:22:47 +00:00
Michael Natterer 1a2cfc0ff8 Makefile.am cursors/gimp-tool-cursors.xcf cursors/anchor.xbm new cursor
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/anchor.xbm
	* cursors/anchor_mask.xbm: new cursor modifier for the move tool.

	* app/cursorutil.[ch]
	* app/move.c: use the new modifier for anchoring floating selections.
2000-06-14 13:57:17 +00:00
Michael Natterer b8ee0c8c82 Makefile.am app/cursorutil.[ch] app/tools.c added lots of new cursors and
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* app/cursorutil.[ch]
	* app/tools.c
	* cursors/*: added lots of new cursors and removed old ones.

	* app/gdisplay.[ch]: enabled the cursor setting parameters in
	gdisplay_install_tool_cursor().

	* app/bezier_select.c
	* app/blend.c
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.c
	* app/color_picker.c
	* app/crop.c
	* app/disp_callbacks.c
	* app/edit_selection.c
	* app/eraser.c
	* app/flip_tool.c
	* app/ink.c
	* app/iscissors.c
	* app/magnify.c
	* app/measure.c
	* app/move.c
	* app/paint_core.c
	* app/rect_select.c
	* app/text_tool.c
	* app/transform_core.c: use the new cursors. Only the transform
	tools are still using old cursors.

	* app/layers_dialog.c: a tooltip for "Keep Trans."

	* app/user_install.c: set the ctree's selection mode to BROWSE.
2000-06-14 10:59:16 +00:00
Michael Natterer db76b885a2 another cursor fix.
2000-06-15  Michael Natterer  <mitch@gimp.org>

	* app/crop.c (crop_cursor_update): another cursor fix.
2000-06-14 10:59:13 +00:00
Michael Natterer af1bd5e367 Makefile.am app/cursorutil.[ch] app/tools.c added lots of new cursors and
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* app/cursorutil.[ch]
	* app/tools.c
	* cursors/*: added lots of new cursors and removed old ones.

	* app/gdisplay.[ch]: enabled the cursor setting parameters in
	gdisplay_install_tool_cursor().

	* app/bezier_select.c
	* app/blend.c
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.c
	* app/color_picker.c
	* app/crop.c
	* app/disp_callbacks.c
	* app/edit_selection.c
	* app/eraser.c
	* app/flip_tool.c
	* app/ink.c
	* app/iscissors.c
	* app/magnify.c
	* app/measure.c
	* app/move.c
	* app/paint_core.c
	* app/rect_select.c
	* app/text_tool.c
	* app/transform_core.c: use the new cursors. Only the transform
	tools are still using old cursors.

	* app/layers_dialog.c: a tooltip for "Keep Trans."

	* app/user_install.c: set the ctree's selection mode to BROWSE.
2000-06-14 10:59:13 +00:00
BST 2000 Andy Thomas be17b30bce app/edit_selection.c
Tue Jun 13 22:38:22 BST 2000 Andy Thomas <alt@gimp.org>

	* app/edit_selection.c

	Fixed problem with selection outline. The outline drawing did not
	take acount of the display offset so that if you moved a selection
	to the edge of an image that cause the image to scroll in the viewing
	window the section outline was drawn incorrectly.
2000-06-13 21:44:48 +00:00
Jay Cox 49424610cd These files should have been commited in my 2000-05-08 commit but somehow
2000-06-13  Jay Cox  <jaycox@gimp.org>

        These files should have been commited in my 2000-05-08 commit
	but somehow they didnt make it.

	* app/hue_saturation.c
	* app/levels.c
	* app/posterize.c
	* app/threshold.c: Add a call to image_map_clear in the
	preview toggle button callback.  This makes the preview toggle
	button behave as expected.

	* app/histogram_tool: remove an unnecessary include.
2000-06-13 09:13:16 +00:00
Michael Natterer d0a551bbf8 Cursor patch II: This is only the logic inside the cursor system and not
2000-06-09  Michael Natterer  <mitch@gimp.org>

	Cursor patch II:
	This is only the logic inside the cursor system and not yet used.

	* app/cursorutil.[ch]: [gimp]_change_win_cursor() take lots of
	parameters now and compose cursors from up to three cursor
	bitmaps/masks.

	* app/gdisplay.[ch]: As a test, create a hardcoded example cursor
	if "Cursor Mode" is set to "Tool Icon with Crosshair" in prefs.

	* app/curves.c
	* app/dialog_handler.c
	* app/scroll.c: changed the calls to the win_cursor function.

	* app/tools.[ch]: added a cursor and a toggle cursor to the ToolInfo
	structure of all tools.

	* app/toolsF.h: new ToolType TOOL_TYPE_NONE.

	* app/gimpdnd.c
	* app/interface.c: check for silly filenames in the file dnd
	callback. Closes #13733.

	* Makefile.am
	* cursors/bucket_fill_small.xbm
	* cursors/bucket_fill_small_mask.xbm
	* cursors/crop_small.xbm
	* cursors/crop_small_mask.xbm
	* cursors/crosshair_small.xbm
	* cursors/crosshair_small_mask.xbm
	* cursors/ellipse_select_small.xbm
	* cursors/ellipse_select_small_mask.xbm
	* cursors/eraser_small.xbm
	* cursors/eraser_small_mask.xbm
	* cursors/free_select_small.xbm
	* cursors/free_select_small_mask.xbm
	* cursors/fuzzy_select_small.xbm
	* cursors/fuzzy_select_small_mask.xbm
	* cursors/intersect.xbm
	* cursors/intersect_mask.xbm
	* cursors/minus.xbm
	* cursors/minus_mask.xbm
	* cursors/move.xbm
	* cursors/move_mask.xbm
	* cursors/paintbrush_small.xbm
	* cursors/paintbrush_small_mask.xbm
	* cursors/pencil_small.xbm
	* cursors/pencil_small_mask.xbm
	* cursors/plus.xbm
	* cursors/plus_mask.xbm
	* cursors/rect_select_small.xbm
	* cursors/rect_select_small_mask.xbm
	* cursors/resize_small.xbm
	* cursors/resize_small_mask.xbm
	* cursors/zoom.xbm
	* cursors/zoom_mask.xbm
	* cursors/zoom_small.xbm
	* cursors/zoom_small_mask.xbm: new files extracted from Tigert's
	gimp-tool-cursors.xcf created at GimpCon.

	Tigert, I'll commit the xcf as soon as I've added empty layers
	with the names of the cursors that are missing.

	* cursors/mouse.xbm
	* cursors/mouse_mask.xbm: made it 32x32 to allow for cursor
	composition.
2000-06-09 12:31:19 +00:00
Sven Neumann 8630a62302 as suggested by Daniel Egger, set TOOL_CAN_HANDLE_CHANGING_BRUSH for the
2000-06-08  Sven Neumann  <sven@gimp.org>

	* app/eraser.c: as suggested by Daniel Egger, set
	TOOL_CAN_HANDLE_CHANGING_BRUSH for the eraser tool.
	Fixes bug #13172.
2000-06-07 23:13:39 +00:00
Sven Neumann a43f448b9d indentation, no real changes
2000-06-05  Sven Neumann  <sven@gimp.org>

        * app/paint_core.[ch]: indentation, no real changes

        * plug-ins/gap/README
        * plug-ins/gap/gap_mov_dialog.c
        * plug-ins/gap/gap_mov_exec.c: applied a patch from Wolfgang
        Hofer

        * plug-ins/imagemap/imap_csim.y: applied a patch from
        Maurits Rijk which promises to fix bug #10090.
        Yosh, could you regenerate the C code, please...?!

        * tips/gimp_tips.txt: applied gimp-quinet-20000508-0.patch,
        an update to the english tips file provided by Raphael Quinet.
2000-06-05 22:08:45 +00:00
Manish Singh f764c56d03 Be smarter about emitting the "invalidate_preview" signal.
comitted using Yosh's account...


--Sven
2000-06-03 18:19:22 +00:00
Sven Neumann 9529e1e696 app/Makefile.am app/paint_core.c moved brush subsampling kernels into its
2000-05-29  Sven Neumann  <sven@gimp.org>

        * app/Makefile.am
        * app/paint_core.c
        * app/paint_core_kernels.h: moved brush subsampling kernels
        into its own header file and generated a slightly different
        kernel (using the new kernelgen tool, see below). The new
        kernel simulates a circular brush instead of a rectangular
        one and gives slightly different (lighter) results.

        * app/gimage_mask.c: when stroking a selection, offset the
        points by 0.5 to align the brushes with the pixel grid. This
        lets you create 1-pixel wide rectangles and ellipses.

        * tools/Makefile.am
        * tools/kernelgen.c: simple hack to generate subsampling
        kernels.
2000-05-29 08:40:29 +00:00
Sven Neumann 95500f2d40 moved Magnify into the Transformation tools category. This is not entirely
2000-05-22  Sven Neumann  <sven@gimp.org>

* app/tools.c: moved Magnify into the Transformation tools
category. This is not entirely correct, but at least the
tools are now grouped as they appear in the toolbox.

* plug-ins/common/flarefx.c: applied modified version of
gimp-timecop-200005-4.flarefx which adds a scaled down
flarefx to tthe preview.


--Sven
2000-05-22 17:39:15 +00:00
Michael Natterer 9c6b0b0c33 These changes enable help support for 3rd party plug-ins which install
2000-05-21  Michael Natterer  <mitch@gimp.org>

	These changes enable help support for 3rd party plug-ins which
	install their help files outside GIMP's main help dir.

	Instead of calling gimp_help(), gimp_plugin_help_func() etc.,
	all help callbacks now have to call gimp_standard_help_func()
	which has different implementations in the app and in libgimp.

	There is a new function gimp_plugin_help_register() which can
	be called during plug-in query. plug_in.c keeps a list of
	executable_name/help_path pairs. Plug-ins have to pass their
	exec. name to gimp_help() which uses the list to find the plug-in's
	help directory.

	* app/gimphelp.[ch]: gimp_help() now takes a help_path parameter.
	help_path == NULL means the standard help directory. Various
	changes to pass the help_path to the help browser.

	* app/gimprc.c: save the plug-in's help_path in the pluginrc file.

	* app/menus.c: ugly hack to enable help_paths in the "F1" callback.

	* app/plug_in.[ch]: many help_path related changes. Use g_basename()
	instead of strrchr(str,G_DIR_SEPARATOR), cosmetic cleanups.

	* app/internal_procs.c
	* app/gimphelp_cmds.c
	* tools/pdbgen/pdb/gimphelp.pdb: new procedure
	gimp_plugin_help_register(). gimp_help() takes a second parameter
	which is the executable name (not the help_path).

	* app/color_notebook.c
	* app/commands.c
	* app/lc_dialog.c
	* app/preferences_dialog.c
	* app/tools.c: call gimp_standard_help_func() instead of gimp_help().

	* libgimp/gimp.c: new function gimp_get_progname() which returns
	the full path of the plug-in's executable.

	* libgimp/gimp.h: export the new function,
	removed gimp_plugin_help_func(), gimp_help() takes the executable
	name as second parameter.

	* libgimp/gimpcompat.h: added gimp_plugin_help_func().

	* libgimp/gimphelp.c: a wrapper for gimp_plugin_help_register(),
	changed the calls to gimp_help.

	* libgimp/gimphelpui.[ch]: call gimp_standard_help_func() instead
	of gimp_help().

	* plug-ins/helpbrowser/helpbrowser.c: now called with an additional
	help_path parameter. Various changes to enable
	help_path != gimp_standard_help_path.

	Unrelated stuff:

	* app/batch.h: added missing GPL header.

	* app/gimpunit.c: had a LGPL header, merged some fprintf's into
	one call.

	* app/procedural_db.[ch]: cosmetic: g* types, s/g_malloc/g_new/,
	prototypes, indentation.

	* app/resize.c: use less packing widgets. didn't find the "offset"
	redraw bug :(
2000-05-21 17:41:02 +00:00
Sven Neumann 03b2e9d08a when transforming a selection in an indexed image, we used to create an
2000-05-20  Sven Neumann  <sven@gimp.org>

* app/transform_core.c (transform_core_cut): when transforming
a selection in an indexed image, we used to create an indexed
tile_buffer. This gives strange (black) results later when we
use layer_new_from_tiles() since that function assumes that a
TileManager is always RGB or GRAY. Eeek!!

Instead of fixing it correctly by changing the TileManager
struct, I've unset the keep_indexed flag when calling
gimage_mask_extract(), so whatever layer_new_from_tiles()
assumes becomes true. Fixes bug #10762.


--Sven
2000-05-20 10:49:03 +00:00
jaycox af0c94abf6 new function image_map_clear that removes the preview without freeing the
* app/image_map.[ch]: new function image_map_clear that removes
	the preview without freeing the image_map.

	* app/brightness_contrast.c
	* app/color_balance.c
	* app/curves.c
	* app/hue_saturation.c
	* app/levels.c
	* app/posterize.c
	* app/threshold.c: Add a call to image_map_clear in the
	preview toggle button callback.  This makes the preview toggle
	button behave as expected.

	* app/histogram_tool: remove an unnecessary include.
2000-05-09 05:43:29 +00:00
Sven Neumann a907871937 gimprc.in gimprc.win32 set default image size back to 256x256, default to
* gimprc.in
* gimprc.win32
* app/gimprc.c: set default image size back to 256x256, default
to local paint options and info-window-follows-mouse.

* app/brightness_contrast.c
* app/docindex.c
* app/hue_saturation.c: picky changes on some labels.

* app/tips_dialog.c: applied (sort of) gimp-quinet-20000504-0,
which replaces the message "Show tip next time" in the
Tip Of The Day dialog with "Show tip next time GIMP starts".


--Sven
2000-05-07 10:06:27 +00:00
Manish Singh e35436426b applied gimp-quinet-000427-0, draw the straight line preview in the center
* app/paint_core.c: applied gimp-quinet-000427-0, draw the straight
line preview in the center of the start and end pixels at high zoom
levels.

-Yosh
2000-05-01 18:10:20 +00:00
Michael Natterer c73b233f8a app/color_select.c app/colormaps.[ch] removed unused global variables
2000-04-26  Michael Natterer  <mitch@gimp.org>

	* app/color_select.c
	* app/colormaps.[ch]
	* app/context_manager.c: removed unused global variables
	[foreground|background]_pixel and [old|new]_color_pixel.

	Initialize the colormap and visual stuff with GdkRGB instead of
	GtkPreview functions (which are deprecated).

	* app/[62 files]: removed #include's (started with colormaps.h and
	couldn't stop). Also ordered them consistently and did some small
	unrelated cleanups.
	Removed variuos <stdlib.h> et.al. but checked the files carefully
	before doing so. If I was too radical and you get warnings on your
	platform, please flame me or just put them back :)
2000-04-27 17:27:28 +00:00
Michael Natterer 3ed7073f9a fill empty "default" with a "break" (#9431). g_path_is_absolute wants a
2000-04-26  Michael Natterer  <mitch@gimp.org>

	* app/free_select.c: fill empty "default" with a "break" (#9431).
	* libgimp/gimpenv.c: g_path_is_absolute wants a parameter (#9400).
2000-04-26 00:17:54 +00:00
Sven Neumann 763e495d06 cleaned up the messy spanish translation someone added
fixed compiler warnings, changed some gints to gbooleans

cleaned up namespace and documentation

updated libgimp documentation



--Sven
2000-04-22 19:46:23 +00:00
Garry R. Osgood 0b0742afdc app/bezier_select.c Closes the most recent bezier segfault report; about
2000-04-22 Garry R. Osgood <gosgood@idt.net>
* app/bezier_select.c
Closes the most recent bezier segfault report;
about plotting anchor points on- and off-image.
unable to cite because bugs.gnome.org is not
well. Andrew Thomas handled the only other
buglet I'm aware of at this time.
2000-04-22 18:48:51 +00:00
BST 2000 dfb76fdb64 app/bezier_select.c
Sat Apr 22 14:01:06 BST 2000 <alt@gimp.org>

	* app/bezier_select.c

	Fixed problem pointed out by Garry R. Osgood (manipulating
	control points where curve is closed). Thanks
	again Garry for pointing it out.
2000-04-22 13:09:44 +00:00
Michael Natterer 63dc6ed333 app/fuzzy_select.c app/selection_options.h moved the "Threshold" scale
2000-04-20  Michael Natterer  <mitch@gimp.org>

	* app/fuzzy_select.c
	* app/selection_options.h
	* app/tool_options.c: moved the "Threshold" scale from the fuzzy
	select options to the selection options structure, so none of the
	selection tools needs it's own tools options structure.

	* app/bucket_fill.c: moved "Threshold" after "Sample Merged" as in
	the fuzzy select options.
2000-04-20 15:57:13 +00:00
Michael Natterer 236e4856c0 app/bucket_fill.c app/by_color_select.c app/fuzzy_select.c made the
2000-04-19  Michael Natterer  <mitch@gimp.org>

	* app/bucket_fill.c
	* app/by_color_select.c
	* app/fuzzy_select.c
	* app/preferences_dialog.c: made the "default_threshold" gimprc
	variable work as advertized:

	- initialize the thresholds with it.
	- use it for "Reset".
	- added a widget to the "Tool Options" preferences page.
	- noticed that the "Reset" button of "By Color Select" doesn't
	  behave like all the other "Reset" buttons and changed it to
	  reset the ui, not the selection.
	  (There is now a "None" button and because it was so trivial, I
	  couldn't resist to add "All" and "Invert" buttons, too)

	* libgimp/Makefile.am
	* libgimp/gimpui.c: new file.
	* libgimp/gimpui.h: new function gimp_ui_init() which will be
	called by all plugins which have a ui (not only by those with a
	preview because plugins should always follow gimp's colormap
	installation policy).

	Could someone please check if the FIXME stuff in the function
	is the right thing to do (TM). Does GdkRGB allocate the correct
	colors for the widgets in all cases or do we have to find another
	way to ensure this across processes (gtk instances)?
2000-04-19 14:02:05 +00:00
jtl 5c816c6b38 *** empty log message *** 2000-04-16 12:10:24 +00:00
Michael Natterer 74156c69bd one more fix... 2000-04-13 00:38:04 +00:00
Michael Natterer b88a1ff1ff push an undo group when adding horizontal and vertical guides with
2000-04-13  Michael Natterer  <mitch@gimp.org>

	* app/measure.c: push an undo group when adding horizontal and
	vertical guides with Ctrl+Alt.
2000-04-13 00:23:10 +00:00
Sven Neumann 9a55c77635 use GIMP_HAVE_PARASITES instead of _PARASITES_H, which wasn't defined
* plug-ins/common/gif.c: use GIMP_HAVE_PARASITES instead of
_PARASITES_H, which wasn't defined anymore. Makes comment
parasites work with GIFs again.

* app/measure.c: pressing ALT anywhere outside the handles allows
to move the measure lines.


--Sven
2000-04-12 21:21:36 +00:00
Sven Neumann 31df3ca344 various minor fixes and updates to the german translation
--Sven
2000-04-11 16:34:42 +00:00
Sven Neumann 949b6e3f34 changed GIMP_MIN_RESOLUTION to 5e-3,
a bunch of small cleanups here and there


--Sven
2000-04-06 18:59:48 +00:00
Sven Neumann 743516bfb0 if we cannot load the font we'd like to use, use the gtk+ default font.
* app/app_procs.c: if we cannot load the font we'd like to use,
use the gtk+ default font. Fixes bug #8359.

* app/about_dialog.c
* app/install.c: properly ref/unref fonts

* app/text_tool.[ch]: code cleanup (do not rely on TRUE being 1)

* app/tips_dialog.c: code cleanup and less resizing


--Sven
2000-04-05 22:59:44 +00:00
Michael Natterer 8ed5f8ce06 app/color_panel.[ch] app/color_picker.c removed the public function
2000-04-03  Michael Natterer  <mitch@gimp.org>

	* app/color_panel.[ch]
	* app/color_picker.c
	* app/qmask.c: removed the public function color_panel_free() and
	fake a real widget's behaviour by connecting to the panel widget's
	"destroy" signal.

	* app/channels_dialog.c
	* app/layers_dialog.c: cleaned up and sync'ed the code where
	possible (without changing the logic).
2000-04-03 15:40:30 +00:00
Andy Thomas a677128f0a Sun Apr 2 16:55:47 BST 2000
* app/bezier_select.c

	Curves/Path tool
	Fixed propblem with deleting points. You can now delete the first
	and last point on any open curve (as well as mid-points).

	Also fixed some problems where some points would leave the markers
	on screen after they had been deleted.

	Note you have always been able to delete whole curves by pressing
	the "shift" key when over a point to be deleted in "remove mode".
2000-04-02 16:33:28 +00:00
Garry R. Osgood b9afb940c2 gimp/app/bezier_select.c No fooling, #6903 was not that hard to close; in
2000-04-01 Garry R. Osgood <gosgood@idt.net>

* gimp/app/bezier_select.c
No fooling, #6903 was not that hard to close;
in bezier_edit_point_on_curve(),when point
deletion reduces a curve below the minimum
with which the implementation can cope (2
anchors, four controls) we put it out of its
misery with an invocation of delete_whole_curve().
2000-04-02 01:33:26 +00:00
Manish Singh 5bbe56d364 use the proper local variable on creation, not the uninitialized one.
* app/by_color_select.c: use the proper local variable on creation, not the
uninitialized one. Fixes bug #8149.

-Yosh
2000-03-31 12:23:11 +00:00
Michael Natterer c497d9c140 app/bezier_select.h app/bezier_selectP.h app/by_color_select.[ch]
2000-03-29  Michael Natterer  <mitch@gimp.org>

	* app/bezier_select.h
	* app/bezier_selectP.h
	* app/by_color_select.[ch]
	* app/ellipse_select.[ch]
	* app/free_select.[ch]
	* app/move.[ch]
	* app/rect_select.[ch]: kindof selection tools code review:

	- use SelectOps instead of int.
	- removed some unused prototyped and callbacks.
	- don't show the SELECTION_MOVE_MASK cursor if there is no
	  selection and don't try to move the mask in that case.
	- re(?)-enabled moving the selection mask even if there is a
	  floating selection.
	- usual bunch of cleanups.
2000-03-28 23:39:32 +00:00
Sven Neumann b7940e1ebf new function gimp_dialog_hide() that calls gdk_window_withdraw() after
gtk_widget_hide() so dialogs actually go away even if the user iconified
them before. Should fix bugs #2961, #5293, #6441 and #7849.


--Sven
2000-03-28 23:02:05 +00:00
Sven Neumann e585b34327 hide the file_selector when the main dialog is unmapped
* app/curves.c:
* app/levels.c: hide the file_selector when the main dialog is unmapped

* app/fileops.c: indentation


--Sven
2000-03-27 19:57:02 +00:00
Michael Natterer e89a344148 the button_press and cursor_update functions were still doing checks on
2000-03-27  Michael Natterer  <mitch@gimp.org>

	* app/transform_core.c: the button_press and cursor_update
	functions were still doing checks on the active layer instead of
	the active drawable.
	Fixing this automatically made the layers mask transformable.
2000-03-27 00:55:28 +00:00
Garry R. Osgood 3baaaaa33b gimp/app/bezier_select.c in bezier_add_point(), when a BEZIER_MOVE type
2000-03-26 Garry R. Osgood <gosgood@idt.net>

* gimp/app/bezier_select.c
in bezier_add_point(), when a BEZIER_MOVE type
point is being added to a path with at least
one extant segment, the point is re-typed
to a BEZIER_ANCHOR (which is old behavior)
and designated as the current anchor
(which is new behaviour). With this change,
motion events move the (second) control point
and indicia are properly updated. This closes
#6225.
2000-03-26 22:42:14 +00:00
Michael Natterer 5735b2adcd add an "add_alpha" parameter to allow selected regions to be extracted
2000-03-26  Michael Natterer  <mitch@gimp.org>

	* app/gimage_mask.[ch] (gimage_mask_extract): add an "add_alpha"
	parameter to allow selected regions to be extracted without having
	an alpha channel added.

	* app/global_edit.c: pass add_alpha = TRUE.

	* app/transform_core.[ch]: made the transform core work on
	non-layer drawables even if no selection is present. Fixes #7485
	and #7555.

	- transform_core_cut(): extract the mask without alpha if
	  operating on a non-layer without having a selection.
	- transform_core_paste(): return a boolean indicating success
	  instead of a layer and handle channels correctly.
	- transform_core_do(): if the "floating_tiles" passed to the
	  function are from an un-floated non-layer, treat the whole
	  non-layer as alpha channel and never enter the loop which
	  transforms the (not present) color channels.
	  Also clip the result to ensure that the channel never grows
	  larger then the image.

	* app/tools_cmds.c
	* tools/pdbgen/pdb/tools.pdb: transform_core_paste() returns a
	gboolean now.
2000-03-26 18:39:03 +00:00
Michael Natterer 3e64ff6a1b new global variable "gimp_busy" which gets set/unset whenever busy cursors
2000-03-25  Michael Natterer  <mitch@gimp.org>

	* app/cursorutil.[ch]: new global variable "gimp_busy" which gets
	set/unset whenever busy cursors are added/removed.

	* app/info_dialog.c: register the info dialogs with the dialog
	handler.

	* app/fuzzy_select.[ch]: cleanups.

	Here starts the ugly workaround which simulates something like
	locking. If it works, it will close lots of bugs, if not, it's
	easy to remove again.

	So far, I didn't find strange side effects but Gimp is told to be
	a complex program :-) Please test this.

	* app/context_manager.c: don't allow tool changes if gimp_busy
	is TRUE.

	* app/disp_callbacks.c: don't allow mouse and key events in the
	display_canvas if gimp_busy is TRUE.
	(except if the current tool is FUZZY_SELECT and it is ACTIVE,
	 which is very ugly)
	Also block other stuff like dropping colors/patterns etc.

	* app/gdisplay_ops.c: don't close any display while Gimp is
	busy. This is not really what we want but at least it prevents
	crashes.
2000-03-25 18:17:01 +00:00
Stanislav Brabec b08f5860df i18n fix 2000-03-25 13:12:01 +00:00