Commit Graph

640 Commits

Author SHA1 Message Date
Michael Natterer 21e95fdf43 Makefile.am cursors/selection_move.xbm cursors/selection_move_mask.xbm new
2000-03-04  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/selection_move.xbm
	* cursors/selection_move_mask.xbm
	* app/cursorutil.[ch]: new cursor for moving the selection
	mask. Looks imho nicer than the ugly GDK_DIAMOND_CROSS.

	* app/move.c
	* app/rect_select.c: use the new cursor.

	* app/paint_core.c: check for the statusbar's context_id in the
	cursor_update function. Fixes gdk_criticals with the line preview
	(which doesn't need a mouse click). Minor cleanups.

	* app/tool_options.c: put the paint_pressure options in a
	GtkHWrapBox instead of a GtkHBox. Makes the size of the dialog a
	bit less locale-dependent.

	* plug-ins/common/xbm.c: use accessor functions instead of using
	the parasite's fields directly.
2000-03-05 00:06:11 +00:00
Michael Natterer 83bb5a38b8 s/"Only"/"only"/
2000-03-03  Michael Natterer  <mitch@gimp.org>

	* app/crop.c: s/"Only"/"only"/

	* app/iscissors.c: one more cursor_update fix. This time I don't
	claim that it's _really_ correct.

	* app/tool_options.c: don't add a separator after
	opacity/paint_mode if a paint pressure options box follows.

	* cursors/bad.xbm
	* cursors/bad_mask.xbm: made it FAT (no need to use thin lines
	which show as much as possible of the image below because the
	cursor indicates that no operation is possible).

	* libgimp/gimpprotocol.[ch]: s/int/gboolean/ where appopriate,
	indentation paranoia.

	_gp_*_read(): free the already allocated parts of the message if
	reading a subsequent part fails. These cleanups will probably occur
	shortly before the process crashes, but at least they make the
	search for real leaks easier.

	* plug-ins/common/uniteditor.c: some more tooltips.

	* plug-ins/common/xbm.c: store the image comment in the
	"gimp-comment" parasite and the hot spot in the new "hot-spot"
	parasite. Added ui for entering the hot spot.

	* docs/parasites.txt: documented the new "hot-spot" parasite.
2000-03-04 00:24:39 +00:00
Michael Natterer 6be08358fb s/"Fill Options"/"Fill Type"/
2000-03-02  Michael Natterer  <mitch@gimp.org>

	* app/channel_ops.c: s/"Fill Options"/"Fill Type"/

	* app/gimpparasite.c: removed _() around the parasiterc header.
2000-03-02 02:23:26 +00:00
Michael Natterer a48c1d7065 gimp_drawable_get_color_at(): put the check below back but only require a
2000-03-01  Michael Natterer  <mitch@gimp.org>

	* app/gimpdrawable.c: gimp_drawable_get_color_at(): put the check
	below back but only require a non-indexed drawable if the drawable
	doesn't have an image.
	(The function may call gimp_image_get_color() with gimage == NULL
	for RGB and GRAY colors because we don't need a colormap to
	transform them to RGB space).
	This was the obscure special case (TM).
2000-03-01 22:05:22 +00:00
Michael Natterer c52aec7129 gimp_drawable_get_color_at(): don't g_return_val_if_fail(!indexed, NULL)
2000-03-01  Michael Natterer  <mitch@gimp.org>

	* app/gimpdrawable.c: gimp_drawable_get_color_at(): don't
	g_return_val_if_fail(!indexed, NULL) because the function seems to
	work fine for all kinds of drawables. Fixes #6756. Or is this
	check needed for some obscure special case?
2000-03-01 21:42:57 +00:00
Michael Natterer 990a071c4b set <Image>/File/Revert... insensitive if the image has no filename.
2000-03-01  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.c: set <Image>/File/Revert... insensitive if the
	image has no filename.

	* plug-ins/common/uniteditor.c: minor fix.

2000-03-01  Michael Natterer  <mitch@gimp.org>

	* C/dialogs/layers/Makefile.am
	* C/dialogs/layers/index.html
	* C/dialogs/layers/apply_mask.html: removed.

	* C/layers/Makefile.am
	* C/layers/index.html
	* C/layers/apply_mask.html
	* C/layers/delete_mask.html: new files.
2000-02-29 23:32:39 +00:00
Garry R. Osgood bdbb45d87c gimp/app/by_color_select.c gimp/app/color_picker.c gimp/app/gimpdrawable.c
2000-02-27 Garry R. Osgood <gosgood@idt.net>

* gimp/app/by_color_select.c
* gimp/app/color_picker.c
* gimp/app/gimpdrawable.c
* gimp/app/image_map.c
* gimp/app/paint_core.c
Inadvertent logic error in g_return_val_if_fail()
style sanity checks implemented in
gimp_drawable_get_color_at() gave rise to
segment violation reported in #6624;
error admitted out-of-bounds x&y that
do not map to tiles. Closes #6624.
GTK-critical warnings which result from
this new sanity check require that
gimp_drawable_get_color_at() clients
perform initial culling of out-of-bounds
x & y coordinates.
2000-02-28 02:40:44 +00:00
Garry R. Osgood e99bf6ac94 app/gimpimage.c Fixed small typo.
2000-02-27 Garry R. Osgood <gosgood@idt.net>

* app/gimpimage.c Fixed small typo.
2000-02-27 19:57:49 +00:00
Sven Neumann 1bd3c65443 removed warnings, cleaned up the source, unmarked
internal error messages for translation


--Sven
2000-02-27 12:09:29 +00:00
Garry R. Osgood 8769bbb456 app/commands.c app/gimpimage.c app/layer.c app/layer.h app/resize.c
2000-02-26 Garry R. Osgood <gosgood@idt.net>
* app/commands.c
* app/gimpimage.c
* app/layer.c
* app/layer.h
* app/resize.c
* app/resize.h

Aliasing artifacts that changed relative positions
of layers under scaling, giving rise to #5271, are
minimized by a new layer.c function,
layer_scale_by_factors(). Closes #5271. See
http://idt.net/~gosgood/gimp-patch/patch07.html for
further detail. See also usage documentation for
layer_scale() and layer_scale_by_factors() in
layer.c.

Provided logic for the Scale Image dialog box to
pre-check an image's layers for the possibility that
a particular scaling, s: 0 < s < 1, reduces a layer
dimension to zero. Should this case prevail, a
boolean dialog box warns the user of the
possibility. The user may (1) Cancel, returning
focus to Scale Image and the possibility of
corrective adjustment, or (2) OK the scaling. The
layers that will vanish upon the new scaling are
culled from the GimpImage::layers list first.
2000-02-26 18:46:08 +00:00
Michael Natterer 8f4adbadbf app/gimpbrush.[ch] app/gimpbrushgenerated.[ch] app/gimpbrushlist.[ch]
2000-02-24  Michael Natterer  <mitch@gimp.org>

	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushlist.[ch]
	* app/gimpbrushlistP.h
	* app/gimpbrushpipe.[ch]
	* app/gimpbrushpipeP.h: did a brushes code-review: indentation,
	removed some includes, didn't find a bug :-)

	* app/gradient.c
	* app/palette.c: we were leaking all gradient and palette preview
	pixmaps as well as all lists of palette colors on each refresh.

	* libgimp/gimpenv.c: updated documentation.
2000-02-24 11:39:26 +00:00
Michael Natterer ae38b99c21 another leak: don't allocate the PaintPressureOptions structure twice for
2000-02-24  Michael Natterer  <mitch@gimp.org>

	* app/tool_options.c: another leak: don't allocate the
	PaintPressureOptions structure twice for one tool.
2000-02-24 02:11:10 +00:00
Michael Natterer 868888fe21 fixed a memleak.
2000-02-24  Michael Natterer  <mitch@gimp.org>

	* app/datafiles.c: fixed a memleak.

	* app/gimpbrushlist.c
	* app/gradient.c
	* app/palette.c: use the gimp_path_* functions, cleanups.

	* app/gimpbrushpipe.c: call the "destroy" function of the parent
	class, not of the object class. Fixes a huge memleak on each
	"Refresh".

	* app/gimpbrushpipeP.h
	* app/gimplist.c
	* app/gimpbrush.c: did some cleanups while searching the brush
	memleak.

	* libgimp/gimpenv.c: gimp_path_get_user_writable_dir(): return a
	copy of the string.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: g_free() the string returned by
	gimp_path_get_user_writable_dir().
2000-02-24 01:52:31 +00:00
Michael Natterer 863b24917c it's more intelligent to implement the parent_context stuff with
2000-02-22  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: it's more intelligent to implement the
	parent_context stuff with gtk_signal_connect_object() instead of
	having internal callbacks for each context attribute.
	Exported the existing gimp_context_*_changed() functions and
	changed them to do nothing but emitting the signal.

	* app/app_procs.c
	* app/tools.c
	* app/transform_tool.c: use gimp_context_tool_changed() instead of
	gtk_signal_emit_by_name().
2000-02-22 17:06:44 +00:00
Michael Natterer a4f6d59af0 app/color_area.[ch] pass masks for the "default" and "swap" pixmaps to the
2000-02-22  Michael Natterer  <mitch@gimp.org>

	* app/color_area.[ch]
	* app/interface.c: pass masks for the "default" and "swap" pixmaps
	to the color_area constructor and use them to create a clip mask
	in color_area_draw().

	* app/datafiles.[ch]: some harmless cleanups.

	* libgimp/gimppixmap.c: use gtk_pixmap_set_build_insensitive()
	instead of accessing the field directly.
2000-02-22 15:14:54 +00:00
Michael Natterer ed071953b2 fixed a gtk-doc comment.
2000-02-21  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimppixmap.c: fixed a gtk-doc comment.

	* libgimp/gimpenv.[ch]: new functions:

	- gimp_path_parse(): Creates a GList of strings from a searchpath
	  string and performs sanity checks.
	- gimp_path_to_str(): Creates a searchpath string from the list
	  returned by gimp_path_parse().
	- gimp_path_free(): Frees the list returned by gimp_path_parse().
	- gimp_path_get_user_writable_dir(): Returns the first dir in a
	  path where the user has write access. With this function the
	  "Save" dialogs of some plugins always show the plugin's
	  subdirectory of the user's gimp_dir instead of the read-only
	  global one.

	* app/datafiles.[ch]
	* app/gimpbrushlist.c: use the new functions and
	s/datafile_loader_t/GimpDataFileLoaderFunc/.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/gimpressionist/gimpressionist.c: use the new functions.
2000-02-21 17:15:30 +00:00
Sven Neumann e836901c83 more places with Solaris compilation problems
--Sven
2000-02-21 12:05:45 +00:00
Michael Natterer bf72684e5a app/paint_options.h put the pointer to tool's private context to the
2000-02-18  Michael Natterer  <mitch@gimp.org>

	* app/paint_options.h
	* app/tool_options.h: put the pointer to tool's private context to
	the PaintOptions structure instead of attaching it to the
	paint_mode optionmenu (which does not exist for all paint tools
	which have a private context). Fixes bug #6308.
2000-02-18 21:22:13 +00:00
Sven Neumann defbe35de6 forgot to exclude airbrush_blob.[ch] from the build
* app/Makefile.am: forgot to exclude airbrush_blob.[ch] from the build

* app/gimpbrushgenerated.c
* app/ink.c
* app/measure.c
* app/rotate_tool.c: use gimp_rad_to_deg and gimp_deg_to_rad macros


--Sven
2000-02-18 18:20:04 +00:00
Manish Singh 45842e262a added 2000 to the copyrights
* tools/pdbgen/*.pl: added 2000 to the copyrights

* tools/pdbgen/lib.pl: it's foo_pdb.[ch] now

* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/parasite.pdb: reenabled sanity checks for the
drawable IDs and the parasite names

* app/drawable.c
* app/gimpdrawable.c: added a bunch of g_return_if_fail's, instead
of the silent check and return in many functions. This should also
be done in gimpimage.c and the like too.

* app/gimpdrawable.h
* app/layer.c: cosmetic code fix

-Yosh
2000-02-17 11:44:27 +00:00
Sven Neumann 1417c36b4b copy image parasites on image duplicate (fixes bug #6270)
--Sven
2000-02-16 20:44:39 +00:00
Sven Neumann fde312118a Cleaned up the Path header mess.
--Sven
2000-02-16 13:52:33 +00:00
Sven Neumann 1cde0279ff Moved some functions out of paths_dialog.c into the new file
paths.c and did a general namespace cleanup:
s/PATHP/Path*/  s/PATHIMAGELISTP/PathList/ and friends.

Paths are now copied on image duplicate (fixes bug #5726).

Removed Path Tool and XInput Airbrush from the build and
renamed "Layers & Channels" to "Layers, Channels & Paths".

Applied patch from Wolfgang Hofer to xjt.c that enables loading
and saving of paths based on Andy's change explained below.


--Sven
2000-02-16 01:47:22 +00:00
GMT 2000 Andy Thomas 8f6bca3234 gimp/app/gimpdrawable.c gimp/app/channel.c gimp/app/layer.c
Tue Feb 15 23:27:42 GMT 2000 Andy Thomas <alt@gimp.org>

	 * gimp/app/gimpdrawable.c
	 * gimp/app/channel.c
	 * gimp/app/layer.c
	 * gimp/app/channel.h
	 * gimp/app/layer.h
	 * gimp/app/gimpimage.c
	 * gimp/app/gimpimage.h
	 * gimp/app/gimpdrawable.h
	 * gimp/tools/pdbgen/pdb/paths.pdb
	 * gimp/tools/pdbgen/pdb/layer.pdb
	 * gimp/tools/pdbgen/pdb/channel.pdb
	 * gimp/tools/pdbgen/pdb/gimage.pdb
	 * gimp/app/channel_cmds.c
	 * gimp/app/gimage_cmds.c
	 * gimp/app/internal_procs.c
	 * gimp/app/layer_cmds.c
	 * gimp/app/paths_cmds.c

	New gimp_*_set_tattoo procedures. This allows save/load plugins
        to save/restore tattoo states of layers, channels and paths. Note the
	internal tattoo state can also be set, however rigorous checks are
	performed to make sure that the internal tattoo states of layer,
	channels and paths are consistent and that the new state value is
	newval > MAX(MAX(layertattoo),MAX(channeltattoo),MAX(pathtattoo)).
2000-02-15 23:49:03 +00:00
Tor Lillqvist 970ad834d1 libgimp/gimp.def libgimp/gimpui.def libgimp/makefile.{cygwin,msc}
2000-02-15  Tor Lillqvist  <tml@iki.fi>

* libgimp/gimp.def
* libgimp/gimpui.def
* libgimp/makefile.{cygwin,msc}
* app/makefile.{cygwin,msc}
* plug-ins/makefile.{cygwin,msc}: Updates.

* app/datafiles.c (is_script): New Win32-only function, which
tests if a file's extension matches one of the extensions in the
PATHEXT environment variable (which the cmd.exe command
interpreter also uses). This is to avoid starting applications
associated with any random data file the user might have dropped
in the plug-ins folder, while still supporting plug-ins written in
scripting languages.

* app/gimpparasite.c (gimp_parasiterc_save): (Win32:) Cannot
rename to an existing file.

* plug-ins/Lighting/lighting_image.c
* plug-ins/Lighting/lighting_share.c
* plug-ins/MapObject/mapobject_preview.c
* plug-ins/MapObject/mapobject_shade.c: Use G_PI.

* plug-ins/common/gz.c: #ifdef G_OS_WIN32 was used before its
potential definition via glib.h.

* plug-ins/common/jpeg.c: Also recognize Exif files, which are
typically produced by digital cameras. The usually have a .jpg
file name extension, and would thus already match this plug-in,
but add the magic string just in case. They are loaded just fine
by libjpeg even if they don't have the JFIF signature.

* plug-ins/common/tiff.c: Set TIFF warning and error handler, so
we get to pass libtiff's messages through the normal channels.
2000-02-14 22:44:06 +00:00
Michael Natterer 2715fd15c8 app/Makefile.am removed.
2000-02-14  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/vector2d.[ch]: removed.

	* app/gimpbrush.h
	* app/paint_core.c: use the vectors from libgimp.
2000-02-14 18:09:33 +00:00
Sven Neumann 4ea02e0cd1 a first approach at duplicating Paths and a small cleanup to
FractalExplorer


--Sven
2000-02-14 11:25:28 +00:00
Michael Natterer 2b92a59e64 po/POTFILES.in app/Makefile.am removed.
2000-02-13  Michael Natterer  <mitch@gimp.org>

	* po/POTFILES.in
	* app/Makefile.am
	* app/buildmenu.[ch]: removed.

	* app/blend.c
	* app/brush_select.c
	* app/curves.c
	* app/histogram_tool.c
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/levels.c
	* app/paint_options.h
	* app/paintbrush.c
	* app/tool_options.c: use the libgimp option menu
	constructor. Removed paint_mode_menu_set_history().

	* app/colormap_dialog.i.c
	* app/colormap_dialog.p.h: use a popup menu as in the palette
	dialog instead of a pulldown menu.

	* app/channels_dialog.c: made color dnd to a channel widget work
	again.

	* libgimp/gimpwidgets.[ch]: new function
	gimp_option_menu_set_history() which sets the history according to
	user_data as passed to gimp_option_menu_new().
2000-02-13 22:26:41 +00:00
Michael Natterer f0ae0dccd4 app/brush_select.c app/paint_options.h use new function
2000-02-13  Michael Natterer  <mitch@gimp.org>

	* app/brush_select.c
	* app/paint_options.h
	* app/tool_options.c: use new function
	paint_mode_menu_set_paint_mode() instead of
	gtk_option_menu_set_history() because the order of paint modes in
	the menu is different from the one in the LayerModeEffects enum
	(fixes bug #6190). Create the menu with the libgimp menu
	constructor.
2000-02-13 13:14:34 +00:00
Marc Lehmann 9d02cb0d45 *** empty log message *** 2000-02-13 00:11:26 +00:00
Sven Neumann e01d964527 made parasites use g* types and documented gimpchainbutton
--Sven
2000-02-12 02:16:59 +00:00
Michael Natterer 9ffed65563 removed the query boxes.
2000-02-10  Michael Natterer  <mitch@gimp.org>

	* app/gimpui.[ch]: removed the query boxes.

	* po-libgimp/POTFILES.in
	* libgimp/Makefile.am
	* libgimp/gimpui.h
	* libgimp/gimpquerybox.[ch]: new files. Added a boolean query box
	to get rid of all those handmade "yes/no" query dialogs. Changed
	the query box callback prototypes to return the entered value
	instead of a pointer to it.

	* app/commands.c
	* app/display_ops.c
	* app/gradient.c
	* app/palette.c
	* app/paths_dialog.c: correctly call the new query box functions
	and use the boolean query box instead of inventing this wheel over
	and over again.

	* app/global_edit.[ch]: same as above and cleaned up the public
	interface.
2000-02-10 21:54:12 +00:00
Sven Neumann 630fe55d17 Cleaned up after Adam ;-)
* app/edit_selection.c: Finally moved selections snap to the
   guides again. Layer moves are slightly faster than before, if no
   guides are present.

 * app/gdisplay.c
 * app/gdisplay.h
 * app/gdisplayP.h: Use doubles for snap_to_point. Less rounding
   makes the result much better on low resolution. If it snaps, the
   result should be exactly the guide in almost all cases now. Only
   at very low resolutions, you may end up with an error of 1 pixel.
   Some code cleanup while I was on it... Fixes bug #2353.


--Sven
2000-02-10 14:23:11 +00:00
Michael Natterer ef17866973 app/* libgimp/* plug-ins/* did a global s/GUnit/GimpUnit/ and
2000-02-07  Michael Natterer  <mitch@gimp.org>

	* app/*
	* libgimp/*
	* plug-ins/*
	* tools/pdbgen/*: did a global s/GUnit/GimpUnit/ and
	s/GimpSizeEntryUP/GimpSizeEntryUpdatePolicy/

	* libgimp/gimpcolorspace.c: renamed the parameter names to match
	the names in the header.

	* libgimp/gimphelpui.h
	* libgimp/gimpimage.c
	* libgimp/gimpmatrix.h
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunit.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: added documentation and use g* types
	all over the place (enables cross-referencing with the glib and
	gtk+ html documentation).

	* plug-ins/common/exchange.c
	* plug-ins/common/max_rgb.c: small cleanups.

	* plug-ins/common/mapcolor.c: the color buttons were attached in
	the wrong order.
2000-02-07 20:35:13 +00:00
Stanislav Brabec ce6050ad5f win32 purification, rgb<->hsv remove 2000-02-07 15:49:54 +00:00
Sven Neumann 8d21d63a6e reverted stanislavs change
--Sven
2000-02-04 14:30:46 +00:00
Stanislav Brabec 95f9325a9e change to foregroung in edit_fill 2000-02-03 21:44:08 +00:00
Sven Neumann ecba6f6aa0 put files from modules dir back into POTFILES.in
--Sven
2000-02-01 12:10:10 +00:00
Sven Neumann fd2fb679c2 i18n cleanups
--Sven
2000-02-01 00:16:50 +00:00
Sven Neumann c9482821ab mostly header cleanup and i18n
--Sven
2000-01-31 23:59:05 +00:00
Michael Natterer ebd978825c app/blend.c app/brightness_contrast.c app/color_balance.c
2000-02-01  Michael Natterer  <mitch@gimp.org>

	* app/blend.c
	* app/brightness_contrast.c
	* app/color_balance.c
	* app/color_picker.c
	* app/crop.c
	* app/curves.c
	* app/flip_tool.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/levels.c
	* app/magnify.c
	* app/measure.c
	* app/move.c
	* app/path_tool.c
	* app/posterize.c
	* app/text_tool.c
	* app/threshold.c
	* app/tool_options.c
	* app/transform_tool.c: unify the usage of "Selection" and
	"<blah> Tool" and removed the word "Options" from all tool option
	title strings because the dialog title already says "Options".
2000-01-31 21:27:00 +00:00
Sven Neumann 4006d434df more sanity checks in gimpdrawable.c and a few i18n issues
--Sven
2000-01-31 13:07:39 +00:00
Michael Natterer 03015f85d7 merged the table attach helper functions into one function.
2000-02-01  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpwidgets.[ch]: merged the table attach helper
	functions into one function.

	* app/*
	* plug-ins/*: changed the calls to gimp_table_attach_aligned()
	accordingly. Did minimal ui updates (spacing and stuff) in some
	files.
2000-01-31 03:13:02 +00:00
Sven Neumann 07cd86c451 use color_conversion routines out of libgimp
--Sven
2000-01-30 23:56:04 +00:00
Sven Neumann c69e85c8c9 app/brush_select.c create the dialog at mouse position if not the main
* app/brush_select.c
* app/gradient_select.c: create the dialog at mouse position if not
  the main dialog (which is session-managed)

* app/convert.c: small UI changes

* app/gradient.c: don't include session.h

* app/session.c: the gradient_select dialog is not the gradient_editor


--Sven
2000-01-29 23:06:06 +00:00
Stanislav Brabec 27814ebe13 fixed typo 2000-01-29 00:02:11 +00:00
Sven Neumann 3b03c8f219 In indexed_conversion dialog, use a pattern_selector instead op an
option_menu. Adam, I hope you like this...


--Sven
2000-01-28 16:47:57 +00:00
Michael Natterer 4923047146 removed BOUNDS, MINIMUM and MAXIMUM. No need to include both <glib.h> and
2000-01-25  Michael Natterer  <mitch@gimp.org>

	* app/appenv.h: removed BOUNDS, MINIMUM and MAXIMUM. No need to
	include both <glib.h> and <gtk/gtk.h>.

	* app/*
	* tools/pdbgen/pdb/text_tool.pdb: s/BOUNDS/CLAMP/,
	same for MIN and MAX.

	* app/preferences_dialog.c: the "Check Size" widget was connected
	to the transparency_type variable.

	* plug-ins/common/sobel.c: removed definitions of MIN and ROUND.

	* libgimp/gimp.h: #include "gimplimits.h" and "gimpcolorspace.h".

	* plug-ins/*: don't include the two files.
2000-01-25 23:06:12 +00:00
Sven Neumann f3eb81f4c2 Applied a change suggested by Steinar H. Gunderson.
Fixes crashing on empty images (bug #5536).


--Sven
2000-01-25 21:00:54 +00:00
Sven Neumann 1a5185f087 Disabled "Layer to Imagesize" menu on empty images and "Rotate Layer" on
channels and masks.


--Sven
2000-01-25 20:19:59 +00:00
Manish Singh 81c1e88606 acconfig.h configure.in libgimp/Makefile.am libgimp/gimpregex.h
* acconfig.h
* configure.in
* libgimp/Makefile.am
* libgimp/gimpregex.h
* libgimp/regex.c
* app/Makefile.am
* app/regex.[ch]
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/regex.[ch]
* plug-ins/script-fu/interp_regex.c
* tools/pdbgen/pdb/plug_in.pdb
* tools/pdbgen/pdb/procedural_db.pdb: reverted previous regex move
patch. This does *not* belong in libgimp and is just bloat. We'll
use the regex functionality in glib once it has it.

* acinclude.m4
* config.guess
* config.sub
* ltconfig
* ltmain.sh: upgrade to libtool 1.3.4

* app/convert.c
* app/gimpbrushpipe.c: minor cleanups

-Yosh
2000-01-24 22:16:36 +00:00
Sven Neumann bceb97a993 Renamed gimage->ref_count to disp_count and slightly changed
the way it is used. As the new name suggests it is only used
to count the number of displays associated with an image. It
is now impossible to delete an image that has an associated
display. You have to delete the display instead. Before this
change it was possible to delete an image through the PDB that
was created through the UI and bad things happened soon...


--Sven
2000-01-23 13:44:12 +00:00
Sven Neumann 8a8ab4c245 In edit_clear and edit_fill return TRUE if the selection
is empty, since the operation succeded by doing nothing.
Returning FALSE here crashed lots of script-fus.


--Sven
2000-01-22 17:53:23 +00:00
Sven Neumann 489e5ab29e call setup_scale when changing the resolution or unit, so the rulers
get updated correctly


--Sven
2000-01-22 15:05:42 +00:00
Sven Neumann 8b178fcbcc Implemented the "removed" signal for channels and connected qmask to it
to keep the buttons in sync when a qmask channels gets deleted manually.
Fixes bug #2516.


-Sven
2000-01-20 17:10:49 +00:00
Garry R. Osgood 8029644a2d Uncovered buglet spawned by #5045 fix. edit_paste() now properly supplies
2000-01-16  Garry R. Osgood <gosgood@idt.net>
* app/global_edit.c
global_edit.c: Uncovered buglet spawned by #5045 fix.
edit_paste() now properly supplies a GimpImageType
parameter in the case where a GimpImage has no
active_drawable: occurs when the user invokes a
paste into an empty image.
2000-01-16 09:34:45 +00:00
Garry R. Osgood 87d7965c22 app/layers_dialog.c layers_dialog_flush() now has only one entry and exit
2000-01-15  Garry R. Osgood <gosgood@idt.net>
* app/layers_dialog.c
* app/global_edit.c
layers_dialog.c:layers_dialog_flush() now has
only one entry and exit point, so that
suspend_gimage_notify is properly maintained.
Has bearing on (but likely does not fully solve)
bugs #4031, #4914, and #4927. see
http://idt.net/~gosgood/gimp-patch/patch04.html
and bug reports.
global_edit.c: edit_paste_as_new() now checks
if it has a valid layer from layer_new_from_tiles()
2000-01-15 16:32:02 +00:00
Michael Natterer fbfdf4b309 app/Makefile.am removed.
2000-01-14  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/tool_options_ui.h: removed.

	* app/tool_options.c
	* libgimp/gimpwidgets.[ch]: moved some more ui utility functions
	to libgimp.

	* app/airbrush.c
	* app/blend.c
	* app/bucket_fill.c
	* app/channel_ops.c
	* app/clone.c
	* app/color_picker.c
	* app/convolve.c
	* app/crop.c
	* app/dodgeburn.c
	* app/eraser.c
	* app/file_new_dialog.[ch]
	* app/flip_tool.c
	* app/image_new.[ch]
	* app/ink.c
	* app/layers_dialog.c
	* app/magnify.c
	* app/measure.c
	* app/paintbrush.c
	* app/pencil.c
	* app/smudge.c
	* app/text_tool.c
	* app/tool_options.c
	* app/transform_tool.c
	* app/xinput_airbrush.c: use the libgimp functions (esp. the radio
	button group constructor), some code cleanup.

	* plug-ins/common/csource.c
	* plug-ins/common/despeckle.c
	* plug-ins/common/diffraction.c
	* plug-ins/common/jpeg.c
	* plug-ins/common/png.c
	* plug-ins/unsharp/unsharp.c: more plugin ui tuning.

	* plug-ins/unsharp/Makefile.am
	* plug-ins/unsharp/dialog_f.[ch]
	* plug-ins/unsharp/dialog_i.[ch]: removed.
2000-01-14 12:41:00 +00:00
Sven Neumann 65bfd700f9 in layer_new_from_tiles check if image_type has alpha to avoid obscure
* app/layer.c: in layer_new_from_tiles check if image_type has alpha
  to avoid obscure bugs if the function is not called correctly

* app/text_tool_cmds.c
* tools/pdbgen/pdb/text_tool.pdb: added a hint about using border = -1
  to suppress cropping of empty spaces around the text


--Sven
2000-01-11 21:23:38 +00:00
Manish Singh 66e95bbd49 let's not be redundant redundant. Made a real compat #define for
gimp_image_find_parasite

-Yosh
2000-01-11 21:07:17 +00:00
Garry R. Osgood 16d1795918 app/disp_callbacks.c app/gimage_mask.c app/global_edit.c app/interface.c
2000-01-11  Garry R. Osgood <gosgood@idt.net>
* app/disp_callbacks.c
* app/gimage_mask.c
* app/global_edit.c
* app/interface.c
* app/layer.c
* app/layer.h
* app/transform_core.c  Followup to #4708. Some clients
of layer_new_from_tiles() need to specify the
kind of layer they need; added a GimpImageType
parameter for this purpose. Closes #5045.
* app/paths_dialog.c paths_dialog_set_default_op()
now checks for the existence of the path_dialog
before manipulating its internals. Closes #5049;
2000-01-11 20:08:45 +00:00
Sven Neumann a579edc9ad some small fixes and the new GAP VCR Navigator
--Sven
2000-01-10 23:27:25 +00:00
Sven Neumann 9a9ee85e28 allow the user to choose the default for "Dot for Dot"
--Sven
2000-01-09 17:31:00 +00:00
Sven Neumann 2ad8a17e7e app/gdisplay.c app/gimage_cmds.c fixed typos
* app/gdisplay.c
 * app/gimage_cmds.c
 * tools/pdbgen/pdb/gimage.pdb: fixed typos

 * app/gimphistogram.c: indentation

 * app/histogramwidget.c: grab the pointer in the histogramwidget,
   so a button_release outside the widget is noticed correctly

 * app/levels.c: instead of undoing the user action, simply don't
   allow the user to set the range in the histogram_widget


--Sven
2000-01-09 12:40:10 +00:00
Sven Neumann 1b10f54b5a overworked my latest change and fixed some typos
--Sven
2000-01-08 12:42:53 +00:00
Sven Neumann 440b86e12f don't set the resolution to zero
got rid of the compiler warnings in psp.c


--Sven
2000-01-08 10:55:05 +00:00
Michael Natterer 884f223569 app/[all files using the dialog or action area constructors] added a
2000-01-06  Michael Natterer  <mitch@gimp.org>

	* app/[all files using the dialog or action area constructors]
	* libgimp/gimpdialog.[ch]: added a "slot_object" agrument to the
	constructors' va_args lists to allow the action area buttons to be
	connected wich gtk_signal_connect_object().

	* libgimp/gimphelp.c: show the correct help page for plugins.

	* plug-ins/common/CEL.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/Makefile.am
	* plug-ins/common/aa.c
	* plug-ins/common/align_layers.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/apply_lens.c
	* plug-ins/common/blinds.c
	* plug-ins/common/blur.c
	* plug-ins/common/bumpmap.c
	* plug-ins/common/checkerboard.c
	* plug-ins/common/colorify.c
	* plug-ins/common/colortoalpha.c
	* plug-ins/common/compose.c
	* plug-ins/common/convmatrix.c
	* plug-ins/common/csource.c
	* plug-ins/common/cubism.c
	* plug-ins/common/curve_bend.c
	* plug-ins/common/decompose.c
	* plug-ins/common/deinterlace.c
	* plug-ins/common/depthmerge.c
	* plug-ins/common/despeckle.c
	* plug-ins/common/destripe.c
	* plug-ins/common/diffraction.c
	* plug-ins/common/displace.c
	* plug-ins/common/grid.c
	* plug-ins/helpbrowser/Makefile.am
	* plug-ins/helpbrowser/helpbrowser.c: use the dialog constructor
	and enable the "F1" help key.
2000-01-06 16:40:17 +00:00
Garry R. Osgood ef3489560b *app/undo.c: GimpChannel->bounds_known field on the image Selection Mask
2000-01-05  Garry R. Osgood <gosgood@idt.net>
*app/undo.c: GimpChannel->bounds_known field on the
image Selection Mask channel was never invalidated when restored
via undo_pop_channel_mod(). Caused PixelRegion iterators calculating
new selection boundaries to use cached image dimensions, thereby
trying to access tiles non-existent in the scaled-down image.
Closes #4840.
2000-01-05 19:14:08 +00:00
Sven Neumann 5e4e7d8884 Fixed a crash that oxccured when gimp_export_image() was called with an
active floating selection.
gimp_image_merge_visible_layers() and gimp_image_flatten() did not handle
floating selections.


--Sven
2000-01-05 09:09:46 +00:00
Tor Lillqvist a075daa211 Add gimpcolorspace object.
2000-01-04  Tor Lillqvist  <tml@iki.fi>

* libgimp/makefile.{cygwin.msc}: Add gimpcolorspace object.

* libgimp/gimp.def: Add functions from it.

Fixes from Hans Breuer:

* app/datafiles.c: redefine the executable flag for Win32
to _S_IREAD, to get _all_ files from the plug-in dirs as
executables (including scripts)

* app/main.c: Win32-specific changes to allow building Gimp as a
console application, with all its benefits (like inheriting the
console), but hide it if the user doesn't want it. Also, if stdout
goes to a console, give the user a chance to read the help or
version messages. (tml: I am not convinced that it is better to
build gimp as a console application, but let's try it this way for
a while.)

* app/makefile.{cygwin,msc}: Build as console application, and
link with shell32 library.

* app/paint_core.c (paint_core_motion): Pass the value of a call
to the function gimage_active_drawable() to the paint_func,
instead of just passing the address of gimage_active_drawable...

(tml: This code is only called when the TOOL_TRACES_ON_WINDOW flag
is on, and only the clone tool sets that, and the clone tool's
paint_func doesn't use the drawable argument, so this hasn't
caused any trouble.)

* app/plug_in.c: On Win32, to support scripts, use new function
xspawn() instead of _spawnv. Add some more code to properly kill
plug-ins.

* libgimp/color_display.h: Add G_MODULE_EXPORT declarations.
2000-01-04 17:46:41 +00:00
Manish Singh bc28e6fa80 fill dummy gimage->base_type as well
* app/color_area.[ch]: fill dummy gimage->base_type as well

* app/gdisplay_color.[ch]: add attach_clone, configure, and configure_cancel
functions.

* app/gdisplay.[ch]: remove notify hacks, don't need them anymore. Add cd_ui
field for cdisplay ui.

* app/commands.c: make display filter dialog per display instead of global

* libgimp/color_display.h: ok/cancel notification callbacks

* modules/cdisplay_gamma.c
* app/gdisplay_color_ui.[ch]: changes for above, enabled configuration dialog
and color_area dummy handling

* app/color_balance.c
* app/paint_funcs.c: #include "libgimp/gimpcolorspace.h"

* plug-ins/webbrowser/web-browser.scm: updated urls

-Yosh
2000-01-03 07:49:19 +00:00
Sven Neumann 3fc4eb846c libgimp/gimpcolorspace.c Prefixed all functions with gimp_ to avoid
* libgimp/gimpcolorspace.c
* libgimp/gimpcolorspace.h: Prefixed all functions with gimp_
  to avoid namespace collisions.

Changed the License in the header to LGPL. If you don't like this,
please remove those files! (But I would like them to stay since this
moving those functions into libgimp is something that should have
happened much earlier.) Nice work, Daniel!
2000-01-03 01:58:43 +00:00
Marc Lehmann 14d6add3d8 *** empty log message *** 2000-01-02 22:30:20 +00:00
Manish Singh a5f9b334a0 cosmetic fix
* Makefile.am: cosmetic fix

* libgimp/color_display.h
* modules/cdisplay_gamma.c: add clone method

* app/color_area.[ch]
* app/gdisplay.[ch]
* app/gdisplay_color.c
* app/gdisplay_color_ui.c: preliminary support for color_area filter
(really just a sync to home machine)

* app/nav_window.c: minor cleanup

* tools/pdbgen/app.pl: initialize gbooleans to FALSE, not 0

* tools/pdbgen/lib.pl: some more arg work

-Yosh
2000-01-02 00:16:47 +00:00
Sven Neumann a34415cb7b Removed the obsolete drawable argument from layer_from_tiles.
The layer_type is now taken from the base_type of the image.
Also changed the name to layer_new_from_tiles.


--Sven
2000-01-01 18:33:40 +00:00
Sven Neumann 5969ed3911 Fixed bug #4871.
--Sven
2000-01-01 13:59:58 +00:00
Sven Neumann 7cd5c09f59 more i18n fixes
--Sven
1999-12-28 14:09:20 +00:00
Sven Neumann e6619b5153 unmarked a few strings for translation
--Sven
1999-12-28 10:30:50 +00:00
Manish Singh 120c64dfa6 added an assert for name != NULL
* app/gimpdrawable.c: added an assert for name != NULL

* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/layer.pdb: sanity check the name parameters

-Yosh
1999-12-21 00:36:07 +00:00
Sven Neumann a00ed6feb0 more cosmetic stuff
--Sven
1999-12-14 23:09:54 +00:00
Sven Neumann 73ff9a1757 cosmetic stuff
--Sven
1999-12-14 14:10:34 +00:00
Adam D. Moss 22b8c94feb Mon Dec 13 19:25:39 GMT 1999 Adam D. Moss <adam@gimp.org
* app/tile.c
	* app/tile.h
	* app/tile_manager.c
	* app/tile_swap.c:

	Allocate Tile's array of TileRowHints dynamically.  Make type
	of TileRowHint explicit since it's fairly space-critical.
	Can save several hundred K of memory with this and struct
	changes.

	Added warnings for old basically-untested-or-insane
	paths through the tile referencing code.

	* app/tile_pvt.h: Shrink down and rearrange fields of Tile
	struct to save some space with gcc's padding for most people.

	* app/paint_funcs.c: Use tile_sanitize_rowhints() to ensure
          that rowhints have been allocated before use.

	* app/channel_ops.c
	* app/gdisplay.c
	* app/pixel_region.c: Cosmetic, sanity or unfinished debug
          changes (the latter commented out) for fun and reference.
1999-12-13 19:48:24 +00:00
GMT 1999 Austin Donnelly 8e134070e6 fix problem with layers with non-zero offset.
Fri Dec 10 23:55:10 GMT 1999  Austin Donnelly  <austin@gimp.org>

	* app/iscissors.c: fix problem with layers with non-zero offset.

	* app/undo.c: Garry, you missed one "0 -> UNDO_NULL" cleanup :)
1999-12-11 00:10:09 +00:00
Garry R. Osgood fe6ee9d1af app/gimpimage.c app/undo.c app/undo_types.h docs/undo.txt Changed sanity
1999-12-10 Garry R. Osgood <gosgood@idt.net>
	* app/gimpimage.c
	* app/undo.c
        * app/undo_types.h
        * docs/undo.txt
        Changed sanity checks in undo_pop/free_layer_mask() to LAYER_MASK_ADD_UNDO
	and LAYER_MASK_REMOVE_UNDO to be consistent with undo_push_layer_mask()
	These now nvoke proper cleanup and release of GimpLayerMasks.
	* docs/undo.txt: New file, an overview of undo logic written by
	Austin Donnelly
	* app/undo.c
	* app/undo_types.h
	* app/gimpimage.c : Introduced a new UndoType, UNDO_NULL, which maps
	to zero, introducing that value into the enumerated types. Use the
        type to signal type unknown/error/untyped conditions.

	Full patch documentation at
	http://idt.net/~gosgood/gimp-patch/patch02.html
1999-12-10 20:55:57 +00:00
Sven Neumann d4250cb410 please picky compilers
--Sven
1999-12-06 22:44:40 +00:00
Sven Neumann 1fdea67422 fix bug #2168
--Sven
1999-11-30 00:18:44 +00:00
GMT 1999 Andy Thomas 7dfc54b956 app/commands.c app/disp_callbacks.c app/gdisplay.c app/gimprc.c
Mon Nov 29 23:51:26 GMT 1999 Andy Thomas <alt@gimp.org>

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimprc.c
	* app/gimprc.h
	* app/info_window.c
	* app/info_window.h
	* app/preferences_dialog.c
	* app/undo_history.c

	Info dialog now has option to follow the mouse movements or
	the old behaviour of one dialog per display.
	This dialog still needs some work.

	Undo dialog now obeys the "tab" key in the display.
1999-11-30 00:11:08 +00:00
Sven Neumann 7427a53c95 Layer to Imagesize in C
--Sven
1999-11-27 14:00:26 +00:00
Michael Natterer bbda88d670 accidentially replaced "Gradient:" with "Blend:" in my last checkin to
1999-11-26  Michael Natterer  <mitch@gimp.org>

	* app/blend.c: accidentially replaced "Gradient:" with "Blend:" in
	my last checkin to this file. Put the right string back.

	* app/menus.c: fixed the plugin translation problem (YES!!! :-)
	Mysteriously, using g_strdup() et al. instead of composing the
	string to translate in a statically allocated array fixed the
	problem.

	* plug-ins/gap/gap_main.c: fixed a menu path.
1999-11-26 10:17:19 +00:00
Michael Natterer 720518b33a Removed the definitions of the tearoff menu items and build them on the
1999-11-25  Michael Natterer  <mitch@gimp.org>

	* app/menus.c: Removed the definitions of the tearoff menu items
	and build them on the fly. Added N_()-marked submenus instead so
	they get properly translated. Removed N_() from all separators.

	Hacked menu_translate(): Don't try to translate separators,
	tearoffs and the /File/MRUxx entries. Avoid multiple lookups in
	the "gimp-std-plugins" domain. Translating plug-in menu entries is
	still broken.

	Defined all filter categories for proper translation and a first
	try to order them and to add separators (please comment...).

	New Category /Filters/Web.

	(Did 'make update-po' in the po* directories and updated the
	german translations.)

	* app/about_dialog.c
	* app/brush_select.c
	* app/drawable.c
	* app/errors.c
	* app/free_select.c
	* app/gradient.c
	* app/info_dialog.c
	* app/plug_in.c
	* app/tool_options.c: minor i18n updates like removing _() from
	some error messages.

	* app/context_manager.c: a private context for the Xinput Airbrush.

	* plug-ins/common/video.c: Register under /Filters/Distorts

	* plug-ins/imagemap/imap_main.c: Register under /Filters/Web
	(Marc, what about putting "prepare for gif" and "webify" there?)

	* plug-ins/perl/po/de.po: s/Xtn/Xtns/g
1999-11-25 11:35:48 +00:00
Sven Neumann d82cdfc84b restrict movements to 15 degrees (the circle way)
--Sven
1999-11-25 01:59:14 +00:00
Manish Singh a111d2397b version number bump; add check for standalone gtkxmhtml from Sesse
* configure.in: version number bump; add check for standalone
gtkxmhtml from Sesse

* app/gimppreviewcache.c: applied gimp-yasuhiro-19991122-1, prevents
div by zero error

* plug-ins/script-fu/script-fu-scripts.c: INIT_I18N_UI before
gtk_init, reported by yasuhiro

* plug-ins/common/mapcolor.c
* plug-ins/common/sunras.c
* plug-ins/fits/fits.c: applied gimpkirchgessner-991121-[0-2],
i18n and sundry bug fixes

-Yosh
1999-11-24 23:58:46 +00:00
Marc Lehmann 643e1b1a92 *** empty log message *** 1999-11-24 20:11:03 +00:00
Michael Natterer b6a3dd5acf app/app_procs.c app/channels_dialog.c app/fileops.c app/gdisplay.c
1999-11-23  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c
	* app/channels_dialog.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/layers_dialog.c
	* app/menus.[ch]
	* app/paths_dialog.c
	* app/plug_in.c: removed
	menus_set_[sensitive|state]_glue(). Removed the N_()'s from all
	menu paths which are not eventually passed to
	gtk_item_factory_create_item().

	* app/tool_options.c: minor updates.

	* app/file_new_dialog.c: reordered the action_area buttons.
1999-11-23 19:11:29 +00:00
GMT 1999 Adam D. Moss eb7d301336 Disabled the copy-on-write for gimage projection. Duplicate op will now
Mon Nov 22 13:18:40 GMT 1999  Adam D. Moss <adam@gimp.org>

	* app/channel_ops.c: Disabled the copy-on-write for gimage
	projection.  Duplicate op will now take as much time and
	memory as GIMP 1.0 in this respect.  That sucks, but I'm
	damned if I can follow the twisted paths which GIMP treads
	in making this bahave badly.  Can you?
1999-11-22 13:22:53 +00:00
GMT 1999 Adam D. Moss e4702c0fa6 Removed erroneous spin-button limit, bumped up RGB->INDEXED precision a
Mon Nov 22 11:19:05 GMT 1999  Adam D. Moss <adam@gimp.org>

	* app/convert.c: Removed erroneous spin-button limit, bumped
	up RGB->INDEXED precision a little.
1999-11-22 11:26:58 +00:00
Marc Lehmann 42b92f84bf *** empty log message *** 1999-11-21 01:15:45 +00:00
Michael Natterer e46eaf8687 Reorganized the core menu items (everything except <Image>/Filters).
1999-11-20  Michael Natterer  <mitch@gimp.org>

	Reorganized the core menu items (everything except
	<Image>/Filters). Everything is of course trivial to change again,
	so please comment on the new "menu feeling" ;-)

	* app/menus.[ch]:

	- Applied the suggestions collected by Olof.
	- Added "..." to all items which open a dialog.
	- Introduced some additional separators (e.g. in "Dialogs").
	- Reorder some plugins and the color correct tools after
	  initialisation.
	- A menu entry to invoke the tooltips inspector.
	- A debugging menu entry which dumps the menu paths and their help
	  pages (will of course go away when the help sys is consistent).

	There are currently two identical "Help" menus because
	<Toolbox>/Help trashes the menu bar if the toolbox is too narrow
	(gtk doesn't seem to support multi-line menubars, any idea?)

	* app/app_procs.c: call menus_reorder_plugins() after loading the
	plugins to beautify the "Xtns" menu.

	* app/commands.[ch]: reordered some functions to match the new
	menu structure (for easier source navigation) and renamed some to
	be consistent (e.g. all help functions are now called help_*).

	Show/Hide the rulers with ordinary gtk_widget_[show|hide]()
	commands. I've tested it several times and it looks exactly the
	same as the old code which used internal gtk knowledge.

	* app/gdisplay.c: applied the menu changes to
	gdisplay_set_menu_sensitivity().

	* app/gimphelp.[ch]: new public function gimp_context_help() which
	invokes the tooltips inspector. Code cleanup.

	* app/resize.c: changed the dialogs' titles to match the menu entries.

	* app/session.c: renamed the gradient selection cmd callback to be
	consistent with brushes/patterns.

	* app/tools.c: added "..." to the menu paths of the tools which
	have dialogs.

	* app/fileops.c
	* app/channels_dialog.c
	* app/layers_dialog.c
	* app/paths_dialog.c: added some "...".

	* plug-ins/common/align_layers.c
	* plug-ins/common/autostretch_hsv.c
	* plug-ins/common/c_astretch.c
	* plug-ins/common/color_enhance.c
	* plug-ins/common/compose.c
	* plug-ins/common/decompose.c
	* plug-ins/common/mail.c
	* plug-ins/common/normalize.c
	* plug-ins/common/threshold_alpha.c
	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/fp/fp.c
	* plug-ins/print/print.c
	* plug-ins/rcm/rcm.c: changed the menu paths and added "...".
1999-11-20 12:12:41 +00:00
GMT 1999 Andy Thomas 48fb5c0959 2nd Try.. First failed due to problems at my end....
2nd Try.. First failed due to problems at my end....

Sat Nov 20 00:27:26 GMT 1999 Andy Thomas <alt@gimp.org>

	* app/commands.c
	* app/gdisplay.c
	* app/gimprc.c
	* app/gimprc.h
	* app/nav_window.c
	* app/nav_window.h
	* app/preferences_dialog.c
	* app/scale.c
	* app/scroll.c

	Nav dialog now follows auto. There is an option in the
	preferences dialog (interface) that allow you to switch
	between this behaviour and the "original" way of having
	one nav dialog per display.
1999-11-20 00:46:58 +00:00
Sven Neumann ef362f4683 Read the mail!
--Sven
1999-11-18 17:56:01 +00:00
Tor Lillqvist 45b9d0f492 Fix copy&paste error.
1999-11-15  Tor Lillqvist  <tml@iki.fi>

* app/gimpcontext.c (gimp_context_copy_background): Fix copy&paste
error.
1999-11-15 22:07:27 +00:00
Michael Natterer 0c922cd3b0 app/airbrush.c app/apptypes.h app/brushes_cmds.c
1999-11-14  Michael Natterer  <mitch@gimp.org>

	* app/airbrush.c
	* app/apptypes.h
	* app/brushes_cmds.c
	* tools/pdbgen/pdb/brushes.pdb
	* app/bucket_fill.c
	* app/clone.c
	* app/gimpbrushpipe.c
	* app/paint_core.c
	* app/patterns.h
	* app/patterns_cmds.c
	* tools/pdbgen/pdb/patterns.pdb: removed the GimpBrushP and
	GPatternP types and use ordinary pointers instead.

	The following stuff makes the "no_data" behaviour consistent. As a
	side-effect it should make the gimp work when there are _really_ no
	brushes/patterns/gradients.

	* app/brush_select.c
	* app/pattern_select.c: set the initial brush/pattern name to "No
	Brushes/Patterns available" instead of "Active".

	* app/devices.c: set the device contexts' brush/pattern/gradient
	names if we started with no_data, so we find them on refresh.

	* app/gimpbrushlist.c: set the name of the standard_brush to
	"Standard".

	* app/gimpcontext.c: don't replace the current
	brush/pattern/gradient's name if the new one to be set is the
	standard one. Together with the change in devices.c, this ensures
	that we get what is set in devicerc. Minor fixes.

	* app/gradient.c: changed gradients_init() to work like the other
	data init functions. Only insert a default gradient in the
	gradients list when the editor is opened (this means that the
	gradients now behave like brushes/patterns when we start with
	"no_data").
	New function gradient_update() avoids tons of useless redraws of
	all clist gradient previews whenever the gradient editor wants to
	update it's large preview.

	* app/gradient_select.c: don't segfault when the user tries to
	drag from an empty gradient list.

	* app/patterns.c: set the index of the standard_pattern to -1 to
	indicate that it's not part of the pattern list.
1999-11-14 10:50:19 +00:00
Sven Neumann d70a75c486 app/airbrush.c app/convolve.c app/dodgeburn.c app/paint_options.h
* app/airbrush.c
        * app/convolve.c
        * app/dodgeburn.c
        * app/paint_options.h
        * app/paintbrush.c
        * app/pencil.c
        * app/smudge.c
        * app/tool_options.c: cleaned up pressure sensitivity for paint
        tools. I had to rename Pressure to Rate in a few tools to avoid
        confusion with the Pressure option that applies to the brush.

        * app/gimplut.c: indentation, no changes

--Sven
1999-11-13 01:02:27 +00:00
Sven Neumann a265c91c65 plugged more memleaks
--Sven
1999-11-06 18:19:41 +00:00
Sven Neumann c05b97ec0b Reverted my latest change. It disturbed image rendering.
* app/gdisplay.h: Reverted my latest change. It disturbed image
        rendering.

--Sven
1999-11-06 14:32:21 +00:00
Sven Neumann 558271ff3b when moving layers/masks freeze the undo after the first move to avoid
* app/edit_selection.c: when moving layers/masks freeze the undo
        after the first move to avoid that each and every small movements
        puts an undo on the stack. Significantly speeds up layer moves
        and especially the undo of a layer move.

        * app/gdisplay.h: correct rounding errors

        * app/gimpimage.c: correctly display floating selections in the
        composite_preview instead of ignoring them

        * app/channels_dialog.c
        * app/layers_dialog.c
        * app/lc_dialog.c: s/gtk_widget_draw/gtk_widget_queue_draw/

--Sven
1999-11-05 14:39:04 +00:00
Sven Neumann 8498428592 get rid of compiler warnings
* app/channel.c: get rid of compiler warnings

        * app/histogram_tool.c
        * app/histogram_tool.h: added a gradient below the histogram so
        it looks more like the curves and levels tool

        * app/gimpbrushpipe.c
        * libgimp/parasiteio.c
        * libgimp/parasiteio.h: plugged another mem-leaks. At least
        The GIMP now starts without leaking memory...

--Sven
1999-11-04 19:50:14 +00:00
Sven Neumann aa2358fb26 Oh, how I love memprof !!
--Sven
1999-11-04 00:03:27 +00:00
GMT 1999 Austin Donnelly f0fdd64fd3 tag text undo group with TEXT_UNDO rather than silly EDIT_PASTE_UNDO.
Wed Nov  3 22:36:21 GMT 1999 Austin Donnelly  <austin@gimp.org>

	* app/text_tool.c: tag text undo group with TEXT_UNDO rather than
	    silly EDIT_PASTE_UNDO.
	* app/undo.c: TEXT_UNDO name
	* undo_types.h: new type: TEXT_UNDO, plus fix numbering to make it
	    consistent (overlapping enums are bad).
1999-11-03 22:34:32 +00:00
GMT 1999 Andy Thomas 67bc1a6a0d app/undo.h app/undo.c app/undo_history.c pixmaps/question.xpm
Tue Nov  2 22:50:31 GMT 1999 Andy Thomas <alt@gimp.org>

	* app/undo.h
	* app/undo.c
	* app/undo_history.c
	* pixmaps/question.xpm

	Fixed undo history so it shows a dummy image if the preview
	image has not already been generated. The actual image
	could probably do with an artists hand ;-)
	Also mask operations are shown as such in the previews.

	* app/lc_dialog.c

	Fixed rounding error in preview when width << height.

	* plug-ins/common/jpeg.c

	Always freeze the undo stack for any of the image export types.
	Anyone know why this was not the case to start with?
1999-11-02 23:05:55 +00:00
Michael Natterer 56d10ac481 app/gimpdnd.c remove the remaining defines of GRAD_CHECK_SIZE and include
1999-10-30  Michael Natterer  <mitch@gimp.org>

	* app/gimpdnd.c
	* app/undo_history.c: remove the remaining defines of
	GRAD_CHECK_SIZE and include libgimp/gimplimits.h instead.

	* app/undo_history.c: connect to the image's "rename" signal to
	update the window title.

	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/info_window.[ch]: did the same for the info dialog.
	The info window has to remember the gdisplay to disconnect from
	the image's "rename" signal, so I removed the gdisplay parameter
	from the update functions.
1999-10-30 17:49:50 +00:00
BST 1999 Andy Thomas e5528e6cd8 app/gimpimage.c
Thu Oct 28 23:22:34 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gimpimage.c

	Fixed memory leak with image is deleted.

	* plug-ins/common/jpeg.c

	Fixed the way the plugin added layers. Preview stuff does not now
	get corrupted.
1999-10-28 22:47:56 +00:00
Michael Natterer 79e27e984a More context & dnd stuff... 1999-10-28 15:05:49 +00:00
Asbjørn Pettersen d518393284 add <time.h> for time_t 1999-10-28 09:48:14 +00:00
Manish Singh 664b4ed687 add "(GIMP)" to the menu entry for XCF, in an attempt to make it clear
* app/xcf.c: add "(GIMP)" to the menu entry for XCF, in an attempt
to make it clear that it is the native file format.

* app/gimpcontext.c: correct doubled arg name on arg type addition,
which was messing up the internal gtkarg hashtable

-Yosh
1999-10-27 02:01:27 +00:00
Michael Natterer a74d52fbbf Use the context almost everywhere. 1999-10-26 18:27:27 +00:00
Manish Singh f697f6cfab don't free the old filename pointer till we're all done, since we might be
* app/gimpimage.c: don't free the old filename pointer till we're
all done, since we might be passed our own filename as a param
and reference it after freeing. The code didn't heed it's own
warning ;) (TigerT, this should fix that filename corruption bug)

-Yosh
1999-10-25 23:51:56 +00:00
Marc Lehmann 88e0cc3155 api change #2, fix #1 1999-10-24 20:49:09 +00:00
Sven Neumann 2df06061bd get rid of remaining (invisible) layers after merging visible layers
* libgimp/gimpexport.c: get rid of remaining (invisible) layers
        after merging visible layers

        * app/channel_ops.[ch]: applied a patch from Garry R. Osgood that
	seems to fix bugs #2261 and #2382 (crashes when using offset).
        A few more changes made the dialog actually work...

        * app/ops_buttons.c: plugged a memleak I introduced yesterday

--Sven
1999-10-24 13:26:30 +00:00
Sven Neumann c3a1787087 handle CAN_HANDLE_LAYERS_AS_ANIMATIONS correctly
* libgimp/gimpexport.c: handle CAN_HANDLE_LAYERS_AS_ANIMATIONS
  correctly

* app/scan_convert.c: trivial optimizations

* app/nav_window.c: applied the patch from Shuji Narazaki that makes
  the navigation window work with tablets. Fixed some rounding errors
  and stopped the flicker.


--Sven
1999-10-21 19:35:35 +00:00
BST 1999 Andy Thomas 35539062e6 app/layer.c
Tue Oct 19 21:50:52 BST 1999 Andy Thomas <alt@gimp.org>

	* app/layer.c

	Fixed rounding error in preview generating code that
	produced dithering where no dithering should have been!
1999-10-19 20:56:51 +00:00
Michael Natterer b74d256981 changed the "parent context" implementation:
1999-10-19  Michael Natterer  <mitch@gimp.org>

	* gimpcontext.[ch]: changed the "parent context" implementation:

	- Automatically connect/disconnect the "*_changed" signals when
	  changing the parent and when setting the "defined" flag of the
	  attributes.
	- Store the former *_defined booleans in a single guint32.
	- Added generic functions to set the "defined" flags of the
	  attributes and to copy attributes between contexts.

	The contexts now correctly handle disappearing images and
	displays, so we don't have to explicitly reset them any more.

	* context_manager.[ch]: adopted to the changed context
	implementation, connect to the user context's "tool_changed"
	signal to switch the per-tool contexts, don't connect to the
	"removed" signal of the image context.

	* brush_select.c
	* tool_options.c: use LayerModeEffects instead of int when calling
	gimp_context_set_paint_mode().

	* gdisplay.c: no need to reset the active display when deleting it
	because the context connects to the "destroy" signal of the shell
	now.

	* menus.c: a shortcut for the navigation window. Moved
	<Image>/Image/Colors/Desaturate before the separator.

	* tools.c: tools_select(): set the active tool of the user context
	instead of calling a special context manager function.
1999-10-19 15:52:32 +00:00
BST 1999 Andy Thomas 6e28558948 app/bezier_select.c app/edit_selection.c app/flip_tool.c app/gimage_mask.c
Mon Oct 18 21:24:47 BST 1999 Andy Thomas <alt@gimp.org>

	* app/bezier_select.c
	* app/edit_selection.c
	* app/flip_tool.c
	* app/gimage_mask.c
	* app/paths_dialog.c
	* app/paths_dialogP.h
	* app/undo.c
	* app/tools.h
	* app/tools.c

	1) Fixed some problems with the paths tool. Now the tool suboption
	"new point" is selected automatically when appropriate. Eg if you
	have the "add point" suboption selected and click  on a point
	not on the curve the "new point" option will become selected and the
	new point will be added.

	2) The "new point" option is defaulted to on when a new image is created	or a new image is selected from the image menu.

	3) Move and flip tool now effect the path if it is locked.

	4) Edit stroke now uses the currently selected tool as it should do
	when stroking.
1999-10-18 20:55:25 +00:00
Michael Natterer 33b2d27e16 new GimpSignalType gimp_sigtype_int_int_int.
1999-10-17  Michael Natterer  <mitch@gimp.org>

	* app/gimpsignal.[ch]: new GimpSignalType gimp_sigtype_int_int_int.

	* app/gimpcontext.[ch]: set/get colors as separate r/g/b values
	instead of a guchar[3] array.
	The "[foreground|background]_changed" signal handlers must have
	the following signature now:
	color_changed_callback (GimpContext *, gint, gint, gint, gpointer).
1999-10-17 13:48:19 +00:00
Michael Natterer f650984006 added the possibility to store the current tool, FG/BG color, brush,
1999-10-17  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: added the possibility to store the current
	tool, FG/BG color, brush, pattern and gradient, but don't use
	these attributes yet.

	Before replacing the get/set color/brush/... functions with
	context functions, I'll have to change the "parent context"
	implementation to something where the children catch the parent's
	color/brush/..._changed signals.
	Finally, updating the indicator_area, device_status, tool_options
	etc. will be done by connecting to their own context's "*_changed"
	signals, which will be much cleaner than calling the update
	functions from various places.

	(I think this is a "consistency fix", please let me know if you
	consider it a new feature).
1999-10-17 12:28:38 +00:00
Marc Lehmann ec40ac728b API PATCH #2 or so 1999-10-17 00:07:55 +00:00
Sven Neumann fce4ad6327 a whole lotta guide fixes
--Sven
1999-10-13 23:07:45 +00:00
BST 1999 Andy Thomas 08529ff5e7 app/crop.c app/sca_convert.c
Wed Oct 13 21:37:51 BST 1999 Andy Thomas <alt@gimp.org>

	* app/crop.c
	* app/sca_convert.c

	Fixes to memory problems (use of freed memory references) found
	by running with dmalloc.

	* app/paths_dialog.c

	Locking of multiple paths are now displayed correctly in the
	transform tool.
1999-10-13 20:53:30 +00:00
EDT 1999 Austin Donnelly a273905c75 all-singing, all-dancing iscissors. Now scan converts so you can actually
Tue Oct  5 14:02:07 EDT 1999  Austin Donnelly  <austin@gimp.org>

	* app/iscissors.c: all-singing, all-dancing iscissors.  Now
	    scan converts so you can actually select stuff.  Doesn't leak
	    tiles either.  Still have a problem with occasional segfault
	    and CRITICAL assertion failing on addition of anchor when
	    curve not closed.
	* app/scan_convert.c: add connecting list between blocks of points
	    so we actually have a closed polygon.
	* app/tool_options.c: iscissors has just the standard feather and
	    antialias options now.
1999-10-05 18:05:34 +00:00
Manish Singh a3ef836860 libgimp/color_display.h add bpl param for convert func
* libgimp/color_display.h
* app/gdisplay.c: add bpl param for convert func

* gdisplay_color.c: guard against head and tail cases in reorders

* app/gdisplay_color_ui.c: expose_full on all actions, so there is
immediate feedback. Check for no selection and do nothing on actions

* app/path_tool.c: #warning is not portable; change to /* XXX: */

* modules/cdisplay_gamma.c: make it so it actually works properly

-Yosh
1999-10-05 02:16:59 +00:00
Manish Singh d0519fd33d use G_OS_WIN32 and G_HAVE_CYGWIN #defines
* app/app_procs.c
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.c: make the ui usable

* app/gdisplay.c: enable cdisplay support

* modules/Makefile.am
* modules/cdisplay_gamma.c: moved gamma functionality to separate

-Yosh
1999-10-04 19:26:07 +00:00
EDT 1999 Austin Donnelly 48c54f0f5a NEW FILES: app/scan_convert.c common code from free_select.c and
Mon Oct  4 01:46:46 EDT 1999  Austin Donnelly  <austin@gimp.org>

	NEW FILES:
	* app/scan_convert.c
	* app/scan_convert.h: common code from free_select.c and
	    bezier_select.c

	MODIFIED FILES:
	* app/disp_callbacks.c: Fix for bug #2517 - dragging colour swatch
	    to image with no layers causes segfault.  Something is
	    repainting empty images as white rather than chequerboard as
	    well, which still needs fixing.

	* app/free_select.c: move code out to scan_convert.c
	* app/free_select.h: use ScanConvertPoint not FreeSelectPoint
	* tools/pdbgen/pdb/tools.pdb: ScanConvertPoint again
	* app/tools_cmds.c: generated version of above.
1999-10-04 05:51:40 +00:00
Sven Neumann 09cab0b18b This was an easy one.
--Sven
1999-10-04 02:00:33 +00:00
Sven Neumann cdc3f6e779 more export stuff
--Sven
1999-10-03 23:48:33 +00:00
Sven Neumann 6a19448d82 Undestructive File Export(TM)
--Sven

CVS ----------------------------------------------------------------------
1999-10-03 18:54:54 +00:00
Michael Natterer a11f33345d The GIMP Help System part II: press "F1" while browsing a menu to show the
1999-10-03  Michael Natterer  <mitch@gimp.org>

	The GIMP Help System part II: press "F1" while browsing a menu
	to show the help page for the menu entry you're currently over
	with the mouse.

	* app/color_notebook.c: all color selectors have to register with
	a help page now.

	* app/color_select.[ch]: register with a help string. Removed
	the dialog part of the files because it's use was deprecated
	anyway (use color notebooks instead).

	* app/colormap_dialog.i.c
	* app/colormap_dialog.p.h
	* app/palette.c
	* app/palette_select.c: use a color notebook instead of a color
	selector.

	* app/gimphelp.c
	* app/gimpui.c: minor changes.

	* app/gimprc.c: "use help" defaults to TRUE now.

	* app/lc_dialog.c
	* app/lc_dialogP.h: a special help function which shows the help
	for the currently selected notebook page.

	* app/menus.c: some weird code which catches "key_press_event"
	in all menu shells and pops up the corresp. help page for the
	selected item. Embedded the GtkItemFactoryEntry in a new
	GimpItemFactoryEntry to allow a help path to be stored.
	Will be partially exported and moved to gimphelp.[ch] later to
	catch key_press for plug-in menu items (don't try this now ;-)

	* app/app_procs.c
	* app/brush_edit.c
	* app/brush_select.c
	* app/channel_ops.c
	* app/channels_dialog.c
	* app/commands.c
	* app/convert.c
	* app/devices.c
	* app/file_new_dialog.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gdisplay_color.c
	* app/gdisplay_color_ui.c
	* app/gdisplay_ops.c
	* app/global_edit.c
	* app/gradient.c
	* app/gradient_select.c
	* app/interface.c
	* app/layers_dialog.c
	* app/module_db.c
	* app/paths_dialog.c
	* app/pattern_select.c
	* app/preferences_dialog.c
	* app/qmask.c
	* app/resize.c
	* app/undo_history.c: changed all dialog constructors to point
	to the right place in the new help file structure.

	* configure.in
	* help/*: the basic new help file structure.

	* modules/colorsel_gtk.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: register a help page.

	* plug-ins/helpbrowser/helpbrowser.c: load the help files
	according to the new help file structure.
1999-10-03 13:50:19 +00:00
EDT 1999 Austin Donnelly 97140d8f15 Factored out common code from gimp_image_{raise,lower}_layer and
Fri Oct  1 19:05:04 EDT 1999  Austin Donnelly  <austin@gimp.org>

	* app/gimpimage.c: Factored out common code from
	    gimp_image_{raise,lower}_layer and
	    gimp_image_{raise_layer_to_top,lower_layer_to_bottom}.  They
	    now call gimp_image_position_layer() to do the real work.
	* app/gimpimage.h: gimp_image_position_layer() takes extra arg to
	    tell whether an undo should be pushed.
	* app/layers_dialog.c: reposition layer with undo.
	* app/undo.c: new undo type for layer reposition.  Layer rename
	    shouldn't dirty and clean the image twice!
	* app/undo.h: prototype for undo_push_layer_reposition().
	* app/undo_types.h: LAYER_REPOSITION_UNDO type.
1999-10-01 23:13:13 +00:00
Austin Donnelly 4b4d3934db don't want sub-undo type undo_push_channel() takes ADD or REMOVE type
Fri Oct  1 15:18:34 1999  Austin Donnelly  <and1000@research.att.com>

	* app/channel.h: don't want sub-undo type
	* app/gimpimage.c: undo_push_channel() takes ADD or REMOVE type
	* app/undo.c: undo_push_channel() takes type.  More specific
	    CHANNEL_{ADD,REMOVE}_UNDO types.
	* app/undo.h: undo_push_channel() prototype.
	* app/undo_types.h: More specific CHANNEL_{ADD,REMOVE}_UNDO types.
1999-10-01 19:26:56 +00:00
Austin Donnelly 11409e97fb comment typo fix, plus add %D* to default image-title-format string, so
Fri Oct  1 12:46:12 1999  Austin Donnelly  <austin@gimp.org>

	* gimprc.in: comment typo fix, plus add %D* to default
	    image-title-format string, so people get a '*' in the titlebar
	    if their image is dirty.
	* app/fileops.c: initialise filename before using it.
	* app/gdisplay.c: empty parameter list () is K&R - should be
	    stronger (void) in ANSI C.
	* app/gimpdrawable.c: gimp_drawable_{dirty,clean} functions
	    removed - no one uses them anyway.  Parasite undo type is
	    proper parasite undo type, not MISC_UNDO.
	* app/gimpdrawableP.h: drawable dirty bit removed.
	* app/gimpimage.c: don't change the resolution if there's no
	    difference from the old one.  Call gdisplay_shrink_wrap() to
	    re-calculate scale factors and refresh the display on
	    resolution change.  Layer undo doesn't have sub-types
	    anymore, uses main UndoType instead.
	* app/layer.h: Remove LayerUndoType
	* app/qmask.c: fix qmask undo so it actually works.
	* app/undo.h: new types for undo_push_layer{,_mask} and
	    undo_push_qmask.
	* app/undo.c: change way group boundaries are represented:
	    each Undo has a group_boundary boolean set to TRUE if this is
	    the start or the end of a group, and the type of the Undo is
	    the group's type.  Within a group, each Undo keeps its own
	    type.  This allows pop funcs and free funcs to do
	    type-specific things (eg needed by layer and channel stuff).
	    Don't maintain per-drawable dirty flags anymore.   Floating
	    sel to layer and layer rename now uses meaningful undo types.
	* app/undo_types.h: more specific undo types:
	    LAYER_{ADD,REMOVE}_UNDO, LAYER_MASK_{ADD,REMOVE}_UNDO,
	    LAYER_RENAME_UNDO, and PARASITE_{ATTACH,DETACH}_UNDO.
	* app/undo_history.c: oops - undo stack was being placed into gtk
	    list in wrong order.
	* app/edit_selection.c: push more descriptive LAYER_DISPLACE_UNDO
	    rather than MISC_UNDO.
	* app/layers_dialog.c: better tagging of undo types
1999-10-01 18:43:24 +00:00
Adam D. Moss 762a4cb35b very minor fix 1999-09-29 21:49:27 +00:00
Sven Neumann c3a5070e5c undo for resolution and unit changes
--Sven
1999-09-29 16:44:52 +00:00
Manish Singh 0f9e2dcabd Ack. Stupid debug line.
-Yosh
1999-09-28 00:31:39 +00:00
Manish Singh dbc143a61e revert that last set_locale change, it was bogus
* app/main.c: revert that last set_locale change, it was bogus

* app/gdisplay.c: don't update menu sensitivities when flushing
immediately, so that painting isn't slowed by it

-Yosh
1999-09-27 22:12:44 +00:00
Michael Natterer 002aa905db app/Makefile.am app/gimphelp.[ch] new files
1999-09-27  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphelp.[ch]
	* app/gimpui.[ch]: new files

	* app/interface.[ch]
	* app/preferences_dialog.[ch]

	The GIMP Help System part 1: Press "F1" in any dialog to pop up
	the help page for this dialog.

	Moved the widget constructors from preferences_dialog.[ch] and the
	query boxes from interface.[ch] to gimpui.[ch].

	The dialog constructors take a help_func and a help_data
	parameter and install the "F1" accelerator which emits the new
	"help" signal.

	The "help" signal callback calls help_func(help_data) which finally
	has to call gimp_help() which in turn invokes the help browser.

	Still have to find a proper way to (1) prevent "F1" being assigned
	to some menu item and (2) to catch "F1" while browsing the menu
	trees in order to pop up the help for the selected item.

	* app/menus.c: a <Toolbox>/File/Help... menu item.
	* app/commands.[ch]: a command callback for the "Help..." menu item.

	* app/gimprc.[ch]: new boolean gimprc variable "use_help".

	* app/info_dialog.[ch]: pass a help function and data to the info
	dialog constructor.

	* app/tools.[ch]: store the tools help page names in the tool info
	structure. Export a special tools_help_func() which shows the help
	page for the active tool.

	* app/[all files calling a dialog constructor]: pass the dialog's
	help page to the constructor.

	Most dialogs are now created by gimp_dialog_new() which also sets
	up the action_area and the WM delete event callback, so I removed
	the resp. code from these files.

	Fixed some minor bugs and did some other stuff but didn't change
	any logic except dialog creation.

	* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
	help browser and don't install any menu path (all done in
	app/gimphelp.[ch] now).
1999-09-27 17:58:10 +00:00
Sven Neumann ae743e3f17 Cleanups...
Shame on the one who decided it would be good idea to load pixmap brushes
as pipes, it destroys the whole purpose of the GIMP_IS_BRUSH_PIPE macro!!


--Sven & Jtl
1999-09-26 03:39:59 +00:00
Sven Neumann 933a5abd54 bug-fixing....
--Sven
1999-09-25 21:45:26 +00:00
Sven Neumann 31331996fa fun with gradient_length and fade_out
--Sven & Jtl
1999-09-25 19:49:58 +00:00
Manish Singh 7d62a34eb4 app/channel.h app/gimpimage.h app/gimpimageP.h app/layer.h app/undo.[ch]
* app/channel.h
* app/gimpimage.h
* app/gimpimageP.h
* app/layer.h
* app/undo.[ch]
* app/undo_types.h: use proper naming convention for undo enums,
and hide them from the pdbgen stuff

* app/procedural_db.h: don't skip PDB_END

* app/undo_history.c: remove gccism from undo_history_append_special

* libgimp/gimpintl.h: INIT_LOCALE should be defined in all cases

* plug-ins/script-fu/Makefile.am: add script-fu-constants.[ch]

* plug-ins/script-fu/script-fu.c: use init_generated_constants

* plug-ins/script-fu/siod.h: #include <stdio.h> for FILE *

* tools/pdbgen/script-fu.pl: new file

* tools/pdbgen/Makefile.am: add rule for constant script-fu gen

* tools/pdbgen/enumgen.pl: add enum skip feature

* tools/pdbgen/lib.pl: use nicks for gimpenums.h

* tools/pdbgen/pdb/procedural_db.pdb: ignore PDB_END

-Yosh
1999-09-23 23:42:38 +00:00
Sven Neumann ba211f07f2 i18n patch from Daniel Egger
--Sven
1999-09-23 11:49:16 +00:00
Sven Neumann 8c404ed3e6 do the box thing!
--Sven
1999-09-21 09:11:42 +00:00
EDT 1999 Austin Donnelly bf8db4adc8 Honest, guv, it's not a feature - it's a tightly integrated package of
Mon Sep 20 12:51:30 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Honest, guv, it's not a feature - it's a tightly integrated
	package of undo system cleanups and fixes.

	NEW FILES:
	* app/undo_history.c: window showing recent undo (and redo) steps
	    available.
	* app/undo_types.h: broken out of undo.h to fix circular includes.

	MODIFIED FILES:
	* app/Makefile.am: compile undo_history.c
	* app/channel.h: use enum for channel undo type, not just magic
	    numbers.
	* app/layer.h: same for layer undos.
	* app/commands.c: edit_show_undo_history_cmd_callback() function to
	    pull up undo history window.
	* app/commands.h: prototype for above.
	* app/gdisplay.c: make undo / redo menu items sensitive according
	    to whether they would do anything.  Would be easy to change
	    the text to say what would be undone/redone, but I don't know
	    the GTK.
	* app/gimpimage.c: new signal emitted by gimage:
	    UNDO_EVENT. gimp_image_undo_event() function to emit it.
	* app/gimpimage.h: prototype for above.
	* app/gimpimageP.h: pushing_undo_group member is now an undo_type,
	    not an int.  Keep undo history widget here too (if created).
	* app/menus.c: add "Edit/Undo history..." to image menu.
	* app/undo.c: new types: enums undo_type and undo_state rather than
	    ints and magic numbers.  All undo_pop_* and undo_free_*
	    functions made static.  New static function
	    undo_type_to_name().  Issue undo event signals on various
	    important events (eg undo pushed, undo popped etc).
	    undo_push() now takes a "dirties_image" arg to say whether
	    image should be dirtied.  Layer moves now dirty the image.  A
	    couple of g_return_if_fails () on undo_pop and undo_redo to
	    assert we're not in the middle of an undo group.
	    undo_get_{undo,redo}_name() to peek at names of top items on
	    undo and redo stacks resp.   undo_map_over_{undo,redo}_stack()
	    to run a function for each item or group on stack.  Layer and
	    channel undos use symbolic names rather than 0 or 1.  Array
	    mapping undo types to names.
	* app/undo.h: split out undo types to undo_types.h.  Prototypes
	    for functions described above.  undo_event_t enum.
	    undo_history_new() prototype lives here too.

	Random other fixes:
	* app/gimpdrawable.c
	* app/image_render.c: default labels in switches to keep egcs happy.

	* app/nav_window.c: some fixes to (sort of) cope with image res !=
	    screen res.  Still needs work to handle non-square pixels
	    properly.

	* app/paths_dialog.c: bad idea to call gimp_image_dirty()
	    directly.  Even though it's currently commented out.
1999-09-20 17:15:20 +00:00
Manish Singh d86bcdf9a4 use break; instead of compiler barfing goto and label: } construct
* app/convert.c: use break; instead of compiler barfing goto and
label: } construct

-Yosh
1999-09-14 20:02:23 +00:00
BST 1999 Andy Thomas d045b9667a app/nav_window.c app/floating_sel.c
Sat Sep 11 22:45:12 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/floating_sel.c

	Hopefully fix for nav_popup when using tablets.
	Also applied the patch supplied by Garry R. Osgood. Thanks.
1999-09-11 21:51:08 +00:00
Sven Neumann 831b75e301 Correct scaling of brush pipes and pixmap brushes.
--Sven
1999-09-09 19:11:38 +00:00
Sven Neumann 181c66985a Sorry for breaking the freeze, but I had these almost ready for weeks now...
--Sven
1999-09-09 01:47:54 +00:00
Olof S Kylander/GIMP f58c6dcc55 Okay I have committed the ugly airbrush now. 1999-09-07 01:24:50 +00:00
Tomas Ogren c9c420f1cf app/disp_callbacks.c app/gdisplay_color.c app/image_new.c i18n fixes.
1999-09-06  Tomas Ogren  <stric@ing.umu.se>

* app/disp_callbacks.c app/gdisplay_color.c app/image_new.c
* app/info_dialog.c app/nav_window.c app/qmask.c app/undo.c:
i18n fixes.
1999-09-06 00:07:03 +00:00
BST 1999 Andy Thomas 56f506a780 app/gdisplay.c app/gdisplay.h app/gimprc.h app/gimprc.c app/nav_window.c
Sat Sep  4 23:21:10 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/gimprc.h
	* app/gimprc.c
	* app/nav_window.c
	* app/nav_window.h
	* app/preferences_dialog.c

	The nav preview size can now be configured. The size applies
	to both the "popup" and dialog window.
1999-09-04 22:27:20 +00:00
Manish Singh 52b5222052 app/gtkhwrapbox.[ch] sync from gle
* app/gtkhwrapbox.[ch]
* app/gtkwrapbox.[ch]: sync from gle

* app/inteface.c: set allow_shrink on the toolbox window, use
gtk_hwrap_box_new

* app/blend.c: use shift to constrain to 45 deg: XachCode (tm)

-Yosh
1999-09-02 18:56:39 +00:00
jaycox 2b5130f08a free the brush dialog before freeing the brushes.
* app/app_procs.c: free the brush dialog before freeing the brushes.

	* app/blend.c, app/bucket_fill.c: don't include brush_select.h

	* app/brush_select.[ch]: add the ability to delete generated brushes.

	* app/gimpbrushgenerated.c: save the brush parameters on seperate lines.

	* app/gimpbrushlist.c: make sure we don't overwrite other brush
	files when saving newly created brushes.
1999-09-02 09:20:48 +00:00
Manish Singh 9fb081a7e6 add gimpmath.h
* libgimp/Makefile.am: add gimpmath.h

* app/gtkwrapbox.[ch]
* app/gtkhwrapbox.[ch]: wrapbox widget from gle

* app/Makefile.am: added those files

* app/interface.c: use an hwrapbox for the toolbar. Still not perfect
yet, working on it.

* app/gimpdrawable.c
* app/about_dialog.c
* app/airbrush.c
* app/blend.c: some minor code cleanup

-Yosh
1999-09-02 01:41:18 +00:00
Tor Lillqvist 5475ff08a9 New files. Types and functions related to "standard" parasite types. Used
1999-09-02  Tor Lillqvist  <tml@iki.fi>

* libgimp/parasiteio.[ch]: New files. Types and functions related
to "standard" parasite types. Used for the
gimp-brush-pipe-parameters parasite that the gpb and psp plug-ins
handle, and the value of which is stored in gih files, from
which gimpbrushpipe.c parses it.

* libgimp/{Makefile.am,makefile.{cygwin,msc}}: Add new files.

* libgimp/gimp.def: Add its entry points.

* libgimp/gimp.h: Fix cosmetic argument name error.

* app/gimpbrushpipe.c: Remove code that previously
was copied here, use functions from parasiteio.c.

* plug-ins/common/gpb.c: Ditto. Add brush cell width and height
fields to the gih save dialog. Add cleverness to update rows and
columns as cell size is changes. (Still too easy for the user to
get confused, though.) Display corresponding guide grid on the
image. Unfortunately updating the guidelines doesn't seem to work.

* plug-ins/common/psp.c: Use functions from parasiteio.c.
1999-09-02 00:01:41 +00:00
BST 1999 Andy Thomas f380edd704 app/gdisplay.c app/gdisplay.h app/interface.c app/nav_window.c
Wed Sep  1 23:18:21 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/interface.c
	* app/nav_window.c
	* app/nav_window.h
	* pixmap/navbutton.xpm (new)

	New popup navigation window. press the icon that appears in
	the bottom right-hand corner of the image display. A navigation
	window will appear that will allow you to scroll around the image if
	the area shown is smaller than the overall image size. Thanks to tml
        for the idea.
1999-09-01 22:39:44 +00:00
Adam D. Moss a437ece36f ed Sep 1 21:27:27 BST 1999 Adam D. Moss <adam@gimp.org>
* app/convert.c app/convert.h:
        Optional low-bleed FS dithering

        * app/fsdither.h: Tables are const

        * app/convert_cmds.c app/internal_procs.c tools/pdbgen/enums.pl
        tools/pdbgen/pdb/convert.pdb:
        Clean up 'convert' PDB interface cruft.
1999-09-01 20:41:10 +00:00
Tor Lillqvist 6ef23d984f app/appenv.h New file. Includes <math.h>. Move G_PI, RINT(), ROUND() etc
1999-09-01  Tor Lillqvist  <tml@iki.fi>

* app/appenv.h
* libgimp/gimpmath.h: New file. Includes <math.h>. Move G_PI,
RINT(), ROUND() etc from app/appenv.h here, so plug-ins can
use them, too. Remove some commented-out old stuff in appenv.h.

* libgimp/gimp.h: Include gimpmath.h.

* libgimp/gimp.c (gimp_main): Win32: Don't install signal
handlers, we can't do anything useful in the handler ourselves
anyway (it would be nice to print out a backtrace, but that seems
pretty hard to do, even if not impossible). Let Windows inform the
user about the crash. If the plug-in was compiled with MSVC, and
the user also has it, she is offered a chance to start the
debugger automatically anyway.

* app/*several*.c: Include gimpmath.h for G_PI etc. Don't include
<math.h>, as gimpmath.h includes it.

* plug-ins/*/*many*.c: Include config.h. Don't include <math.h>.
Remove all the duplicated definitions of G_PI and rint(). Use
RINT() instead of rint().

* app/app_procs.[ch]: app_exit() takes a gboolean.

* app/batch.c
* app/commands.c
* app/interface.c: Call app_exit() with FALSE or TRUE.

* app/main.c (on_error): Call gimp_fatal_error. (main): Don't
install any signal handler on Win32 here, either.

* app/errors.c (gimp_fatal_error, gimp_terminate): Win32: Format
the message and call MessageBox with it.  g_on_error_query doesn't
do anything useful on Win32, and printf'ing a message to stdout or
stderr doesn't do anything, either, in a windowing application.
1999-09-01 20:30:56 +00:00
EDT 1999 Adrian Likins 5e64804c4b app/gimpbrushpip.[ch] app/airbrush.c app/pencil.c fix pencil tool for use
Wed Sep  1 00:56:37 EDT 1999 Adrian Likins <adrian@gimp.org>

        * app/gimpbrushpip.[ch]
        * app/airbrush.c
        * app/pencil.c
        * app/paintbrush.c: fix pencil tool for use with
           pixmaps again
1999-09-01 06:02:08 +00:00
BST 1999 Adam D. Moss d6329d9417 app/convert.[ch] app/convert_cmds.c app/internal_procs.c
Tue Aug 31 22:25:38 BST 1999 Adam D. Moss <adam@gimp.org>

	* app/convert.[ch]
	* app/convert_cmds.c
	* app/internal_procs.c
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb/convert.pdb: Added convert_indexed2
	procedure to expose new RGB/GREY->Indexed functionality.
1999-08-31 21:26:34 +00:00
Tor Lillqvist 26b70edddf Add a new method, gboolean want_null_motion(), that tells if the brush
1999-08-30  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrush.h (GimpBrushClass): Add a new method, gboolean
want_null_motion(), that tells if the brush wants to be painted
when we don't know the direction yet. This is needed (so far) by
brush pipes that select the brush based on direction.

* app/gimpbrush.c: Implement above method returning always TRUE.

* app/gimpbrushpipe.c: Here, implement it returning FALSE or TRUE
on whether the brush pipe has any angular (direction) dependent
dimension or not.

* app/paint_core.c (paint_core_button_press): Call the method
if current point == last point.
1999-08-30 21:24:13 +00:00
Tor Lillqvist c2ef7d787a Save the name on a line of its own as it can contain spaces. Print spaces
1999-08-30  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrushgenerated.c (gimp_brush_generated_save): Save the
name on a line of its own as it can contain spaces. Print spaces
between the floating-point values. (gimp_brush_generated_load)
Corrspondingly, read the name from a line of its own.

* app/gimpbrushlist.c (brushes_free): Portability fixes. Use
g_strconcat. Free allocated strings.
1999-08-30 20:42:34 +00:00
BST 1999 Adam D. Moss d0127d1809 *->I: Deterministic colour dithering to arbitrary palettes. Ideal for
Sun Aug 29 17:54:58 BST 1999 Adam D. Moss <adam@gimp.org>

	* app/convert.c: *->I: Deterministic colour dithering
	to arbitrary palettes.  Ideal for animations that are
	going to be delta-optimized or simply don't want to look
	'busy' in static areas.  Also a bunch of bugfixes and tweaks.
	No PDB interface to the new features yet, although a
	convert_image2() is ready and waiting.
1999-08-29 16:54:39 +00:00
BST 1999 Adam D. Moss b2ffe7e026 app/convert.h *->I: Deterministic alpha dithering over layers, reduced
Sun Aug 29 00:40:20 BST 1999 Adam D. Moss <adam@gimp.org>

        * app/convert.h
        * app/convert.c: *->I: Deterministic alpha dithering over layers,
        reduced bleeding of transparent values into opaque values, added
        optional stage to remove duplicate or unused colour entries from final
        colourmap.
1999-08-28 23:40:35 +00:00
Manish Singh 895b0e520c added framework for having multiple simultaneous displays
-Yosh
1999-08-28 22:40:37 +00:00
Tor Lillqvist 34f76ba34a In the case of angular selection, offset angle with G_PI/2 to be
1999-08-28  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrushpipe.c (gimp_brush_pixmap_select_brush): In the
case of angular selection, offset angle with G_PI/2 to be
compatible with PSP tubes. Restrict the index of each dimension
separately to the appropriate range.

* plug-ins/common/gpb.c (gih_save_dialog): Must not free the combo
box string list, the strings are not strdup'ed by the combo box.
1999-08-28 11:23:58 +00:00
Tor Lillqvist 70fca093f3 Implement the selection of brush based on cursor direction, pressure,
1999-08-28  Tor Lillqvist  <tml@iki.fi>

* app/gimpbrushpipe.c: Implement the selection of brush based on
cursor direction, pressure, tilt, or a random value. (Hmm, forgot
velocity, later.) (In addition to just incrementally stepping.)
Read the brush pipe parameters from the gih file's second line.
There is no way to tune the parameters in the GIMP, they must
currently be set when saving the gih file (in the gpb plug-in).

* app/gimpbrushpipe.h
* app/gimpbrushpipeP.h: Move the PipeSelectModes enum to the
"private" header. Add a stride array to GimpBrushPipe to make
indexing easier.

* plug-ins/common/gpb.c: Add selection mode fields to the dialog.
Attach the pipe parameters entered as a parasite, too.

* docs/parasites.txt
* plug-ins/common/psp.c: Use "placement", not "spacing" (which
means another thing).
1999-08-28 01:14:42 +00:00
Manish Singh 4a9ae94655 user_install added gimpressionist, levels, and curves dirs
* user_install
* user_install.bat: added gimpressionist, levels, and curves dirs

* app/color_panel.c
* app/color_select.c
* app/colormaps.[ch]
* app/palette.c
* app/selection.c: remove vestigal colormap code; use get_color
directly now

* libgimp/color_display.h
* app/gdisplay_color.c: bugfixes, added state load/save hooks,
redid the interface to work on blocks, removed dummy default
handler, work on gamma correction stuff

* app/gimpbrushpipe.c: #include <stdlib.h>

* app/gximage.c: minor cleanups

* app/levels.c: default to ~/.gimp-1.1/levels for load/save; minor
gui prettification

* app/main.c
* app/menus.c: plug-in menu translation patch from SHIRASAKI Yasuhiro
<yasuhiro@awa.tohoku.ac.jp>

* libgimp/stdplugins-intl.h: add INIT_I18N_UI() for calling
gtk_set_locale()

* plug-ins/Lighting/lightin_main.c: use INIT_I18N_UI()

-Yosh
1999-08-27 21:06:00 +00:00
BST 1999 Andy Thomas df7ad092f4 app/nav_window.c app/nav_window.h app/gimppreviewcache.h app/layer.c
Fri Aug 27 18:57:50 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/nav_window.h
	* app/gimppreviewcache.h
	* app/layer.c
	* app/channel.c
	* app/commands.c

	Added some controls to the nav window. Yep. I know that the
	buttons are toooo biGGG.

	Preview cache changes. Now prime preview cache with a image
	so that later we have a better chance of a hit. Still
	needs to be more intelligent at doing this (needs to pick largest
	out of the cache & use its size as the size to prime with).
1999-08-27 19:07:21 +00:00
EDT 1999 Adrian Likins 1d7e543d31 paint_line_pixmap_mask, finally composite alpha correctly, or at least
Fri Aug 27 02:16:02 EDT 1999 Adrian Likins <alikins@redhat.com>

        * app/gimpbrushpipe.c: paint_line_pixmap_mask, finally
        composite alpha correctly, or at least closer. Should
        get rid of those annoying artifacts.
1999-08-27 07:15:51 +00:00
Tomas Ogren 43aa113acc i18n fixes and added a missing \n...
1999-08-27  Tomas Ogren  <stric@ing.umu.se>

* app/convert.c app/paint_funcs.c app/paths_dialog.c:
i18n fixes and added a missing \n...
1999-08-26 23:16:24 +00:00
CDT 1999 Shawn T. Amundson c6eec63232 Added new files, the UI independant part of new image dialog.
Wed Aug 25 02:40:39 CDT 1999 Shawn T. Amundson <amundson@gimp.org>

        * app/image_new.[ch]: Added new files, the UI independant part of
          new image dialog.

        * app/file_new_dialog.[ch]: uses image_new stuff now.  Alot
          changed.  No UI changed.  Different behavior is a bug, as
          this is only for UI separation.

        * app/gimpimage.[ch]: Added gimp_image_get_width () and
          gimp_image_get_height ().

        * app/global_edit.c: Call a function in image_new instead of
          file_new_dialog for updating the status of the cut buffe.
1999-08-26 04:39:21 +00:00
Tor Lillqvist 868bdfff44 Overhaul of pixmap brushes and pipes: No separate pixmap pipe
brush tool any longer. The paintbrush, airbrush and pencil
tools, which already knew how to handle the single-pixmap
brushes now also handle the pipes as well.

* app/pixmapbrush.{h,c}
* app/gimpbrushpixmap.{h,c}: Removed these files.

* app/Makefile.am
* app/makefile.{cygwin,msc}: Remove from here, too.

* app/gimpbrushpipe.{h,c}: Total overhaul.

* app/paint_core.h
* app/apptypes.h: Some more types moved to apptypes.h

* app/context_manager.c
* app/tool_options.c
* app/tools.c
* app/toolsF.h: Remove PIXMAPBRUSH tool.

* app/gimpbrush.h: New method: select_brush. Used to change the
brush in paint_core, for pipe brushes.

* app/gimpbrush.c: Add gimp_brush_select_brush, which is dummy for
the normal brushes (returns the same brush).

* app/paint_core.c: Call the brush's select_brush method to get a
potential new brush before calling the paint_func.

* app/gimpbrushlist.c: Various changes related to the pixmap and
pipe overhaul.

* app/airbrush.c
* app/pencil.c: Reorder code a bit in the tool motion function to
avoid executing unnecessary code in the case of a pixmap brush.

Other changes in the same commit:

* app/install.c: Make quote_spaces extern.

* app/appenv.h: Declare it.

* libgimp/gimpui.def: Add missing entry points.

* libgimp/makefile.{cygwin,msc}: Add missing objects to gimpui.
1999-08-26 00:54:30 +00:00
Manish Singh 93413604a1 more i18n fixes (missed a patch from before)
* app/gdisplay.c: more i18n fixes (missed a patch from before)

* plug-ins/common/plugin-defs.pl
* plug-ins/common/Makefile.am: added gpb

-Yosh
1999-08-25 19:18:41 +00:00
Tor Lillqvist 416aa56f19 Added saving of .gih files.
1999-08-24  Tor Lillqvist  <tml@iki.fi>

* plug-ins/common/gpb.c: Added saving of .gih files.

* plug-ins/common/psp.c: Small changes, renamed the parasite.

* docs/parasites.txt: Suggesta a parasite for pixmap brush pipes.

* docs/gih.txt: Add the above parasite on the second line after
the number of brushes. Suggest how to edit brush pipes.

* docs/gpb.txt: Mention the gpb plug-in.

* app/pixmapbrush.c: Small clarification.

Fixes by Hans Breuer:

* libgimp/gimp.def: Add missing entries.

* app/gimpimage.h: Added declaration of	gimp_image_{freeze,thaw}_undo.

* modules/makefile.msc: Drop the .msvc from dll names.

* plug-ins/common/jpeg.c: Guard inclusion of
unistd.h. (save_dialog): Restrict text box height to help people
with small displays.
1999-08-24 05:30:14 +00:00
EDT 1999 Austin Donnelly 0a7dca9110 Dirty flag now correct in all cases. Can be displayed in image window
Mon Aug 23 10:15:32 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Dirty flag now correct in all cases.  Can be displayed in image
	window title too.  See NOTE near gimp_image_dirty() for details.

	* app/fileops.c: gimp_image_clean_all() after reverting an image.
	* app/gdisplay.c: register handlers for gimage dirty and clean
	    signals to update image title.  New image-title-format
	    expansion: %Dx expands to x if the image is dirty.
	* app/gdisplay_ops.c: gimage->dirty flags != 0 is the correct
	    condition to test to see if an image is dirty.
	* app/gimpdrawable.c: gimp_image_dirty() should never be called
	    except from an undo_push_* function.  Call
	    undo_push_cantundo() if you want to dirty the image but can't
	    be bothered writing an undo handler (be ashamed of yourself!).
	* app/gimpimage.c: new gimage signal: clean.  Emitted when an undo
	    operation takes place.  Gimage changes when either dirty or
	    clean is emitted, so if you need to update previews etc, look
	    for both!  Move group_count into gimage structure, since
	    leaving it as a static in undo.c is bad if two undo groups are
	    started on different images at the same time.  More changes
	    of gimp_image_dirty() to undo_push_cantundo()
	    (parasite-related, plus layer moves).  See the NOTE on dirty
	    counter near gimp_image_dirty() for the full story.
	    gimp_image_dirty() and gimp_image_clean() simplified - counter
	    can go negative.
	* app/gimpimageP.h: group_count moved from undo.c
	* app/layers_dialog.c: push undo for layer name change, rather
	    than dirtying the image.
	* app/undo.c: layer rename undo functions
	    added. undo_push_cantundo() convenience functions added.
	    group_count made per-gimage since everything else is.  When
	    blowing away redo stack, make image infinitely dirty if redo
	    info contained file save point.
	* app/undo.h: added undo_push_layer_rename() and
	    undo_push_cantundo().
	* TODO: added idea for undo history window.
1999-08-23 14:34:58 +00:00
EDT 1999 Adrian Likins 5c61305f24 app/gimpbrushhose.c removed. app/gimpbrushpipe.c New files to replace the
Mon Aug 23 00:56:59 EDT 1999 Adrian Likins <alikins@redhat.com>

        * app/gimpbrushhose.c
        * app/gimpbrushhose.h:
                removed.
        * app/gimpbrushpipe.c
        * app/gimpbrushpipe.h:
                New files to replace the above
        * app/gimpbrushlist.c
        * app/paintbrush.c
        * app/pixmapbrush.c
        * app/Makefile.am:
                s/hose/pipe. Seems someone else uses that name,
        so change it to pipe.

        * app/gimpbrush.c
        * app/gimpbrush.h
        * app/gimpbrushpixmap.c
        * app/patterns.c
        * app/patterns.h
        * app/pixmapbrush.c:
                Added functions to do the actual loading of
        brush/pattern data. Use them where approriate instead
        of cut&pasting the same code all over the place.

        * app/pixmapbrush.c: Fix the bug where masks and brush
        data werent aligned. I didnt quite notice that
        paint_core_get_paint_area returns an area with a 1 pixel
        border larger than the brush. Ooops.

        * TODO: just update a few things while I'm at it
        (pixmap/pipe stuff in particular)
1999-08-23 06:06:12 +00:00
Michael Natterer 1e08aa1ef7 app/color_area.[ch] app/color_panel.[ch] enabled dnd for colors
1999-08-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/color_area.[ch]
	* app/color_panel.[ch]
	* app/gimpdnd.[ch]: enabled dnd for colors (compatible with the
	standard gtk/gnome color dnd). The color selection is now invoked
	on a real click, not on button_down to avoid confusion with dnd.

	* app/channels_dialog.c
	* app/disp_callbacks.c
	* app/interface.c
	* app/layers_dialog.c: minor dnd updates/fixes.

	* app/channel.[ch]
	* app/channel_pvt.h
	* app/docindex.[ch]
	* app/docindexif.[ch]
	* app/drawable.[ch]
	* app/floating_sel.c
	* app/gimage.[ch]
	* app/gimage_mask.c
	* app/gimpdrawable.[ch]
	* app/gimpdrawableP.h
	* app/gimpimage.[ch]
	* app/gimpimageP.h
	* app/layer.[ch]
	* app/layer_pvt.h
	* app/undo.c
	* app/xcf.c: wanted to do some s/int/gboolean/ in the layer files
	where appropriate and found myself spending the whole night doing
	a big code review for layers/channels/drawables/images:
	s/int/gboolean/, s/<type>/g<type>/, lots of indentation, removed
	some old global variables and deprecated functions, #include
	cleanups, proper prototypes, copyright headers, ...
1999-08-22 11:45:31 +00:00
Tomas Ogren cdad1e0164 Remember kids, "Options" is spelled "Options", not "Ootions"
1999-08-22  Tomas Ogren  <stric@ing.umu.se>

* app/tool_options.c: Remember kids, "Options" is spelled "Options",
not "Ootions"
1999-08-22 01:40:36 +00:00
Tor Lillqvist 32879bafe3 Use spinbutton for number of colours.
1999-08-22  Tor Lillqvist  <tml@iki.fi>

* app/convert.c: Use spinbutton for number of colours.

* app/preferences_dialog.h: Export gimp_spin_button_new. Not the
most logical place for it, though.
1999-08-22 00:56:18 +00:00
BST 1999 Adam D. Moss 2403247334 Preview layers need to be alpha-padded, since they're not on the bottom of
Sat Aug 21 16:53:17 BST 1999  Adam D. Moss  <adam@gimp.org>

	* plug-ins/common/jpeg.c:  Preview layers need to be alpha-padded,
	since they're not on the bottom of the stack.  That's a GIMP rule.

	Plus... use new API functions gimp_image_{freeze,thaw}_undo() to avoid
	the dilemma of either consuming a squillion superfluous tiles or
	clobbering the whole undo stack.

	* app/gimage.h
	* app/gimage_cmds.c
	* app/gimpimage.c
	* libgimp/gimp.h
	* libgimp/gimpimage.c: New API functions
	gimp_image_{freeze,thaw}_undo()	to avoid the above twin	evils.
	Similar to gimp_image_{disable,enable}_undo() but without
	clobbering the undo stack (I would have simply changed the latter,
	but too many plugins seem to rely on that behaviour).  See the PDB
	docs for slightly more information.
1999-08-21 16:15:58 +00:00
Michael Natterer 70407d2882 app/Makefile.am new file. Contains a function which creates dnd preview
1999-08-20  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpdnd.c: new file. Contains a function which creates dnd
	preview icons for all kinds of drawables.

	* app/gimpdnd.h: added the new dnd types.

	* app/channels_dialog.c: same dnd functions as in the layers
	dialog. Fixed channels_dialog_flush(). Code cleanup.

	* app/layers_dialog.c: enabled dnd for layer masks.

	* app/disp_callbacks.c
	* app/interface.c: dnd code generalization. The toolbox and the
	display accept drop of any kind of drawable now.

	* app/gimage.h
	* app/gimpimage.[ch]: new function gimp_image_position_channel().

	* app/layer.[ch]: new function layer_mask_get_layer().
1999-08-20 19:59:06 +00:00
Michael Natterer 311c83b0a4 app/Makefile.am new file containing the dnd data definitions.
1999-08-19  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpdnd.h: new file containing the dnd data definitions.

	* app/disp_callbacks.[ch]
	* app/interface.c: drop layers on the toolbox to create a new
	image and on the display to copy it to the image's layer stack.

	* app/layers_dialog.c: drop layer on the "New" button to create an
	empty layer with the dropped layer's properties, to "Duplicate" to
	duplicate it and on the trashcan to delete it.
	Thanks to Andy for the ultra-cool dnd preview pixmap patch.

	* app/layer.[ch]
	* app/undo.c: renamed layer_mask() to layer_get_mask(). Prototyped
	some function headers.

	* app/disp_callbacks.c: Wheelmouse stuff: Shift+wheel scales the
	display.

	* app/airbrush.c
	* app/eraser.c
	* app/paint_options.h
	* app/paintbrush.c
	* app/pencil.c
	* app/tool_options.c: moved the "Incremental" toggle to the
	PaintOptions structure because it is used more often now.
1999-08-19 19:53:30 +00:00
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

	Add an enum ConvolutionType, suffix the too general constants
	NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
	instead of NORMAL in some places (this was what was intended). Fix
	some minor gccisms.

	* app/apptypes.h: New file. This file contains the above
	enumeration types, and some opaque struct typedefs. It was
	necessary to collect these in one header that doesn't include
	other headers, because when we started using the above mentioned
	types in the headers, all hell broke loose because of the
	spaghetti-like cross-inclusion mess between headers.

	(An example: Header A includes header B, which includes header C
	which includes A. B uses a type defined in A. This is not defined,
	because A hasn't defined it yet at the point where it includes B,
	and A included from B of course is skipped as we already are
	reading A.)
1999-08-18 23:41:39 +00:00
Adrian Likins 33a045c12f oops, missed a couple of file 1999-08-17 01:05:59 +00:00
Adrian Likins e87ae53aba app/gimpbrushhose.c new files to implement a GimpBrushHose type. The idea
Mon Aug 16 20:48:33 1999 Adrian Likins <alikins@redhat.com>

        * app/gimpbrushhose.c
        * app/gimpbrushhose.h: new files to implement a GimpBrushHose
        type. The idea being its derived from gimpbrushes, so we can
        make regular tools use it if need be, and fold it into the brushes
        dialog nice and easy.

        * app/gimpbrush.c
        * app/gimpbrushgenerated.c
        * app/gimpbrushpixmap.c:
        * app/gimpbrushpixmap.h: Modified the *_get_type() functions
        to behave more correctly. As suggested by Tim Janik <tim@gtk.org>

        * app/pixmapbrush.c: Since pixmapbrush tool wasnt doing anything
        useful anyway, start using it as a testbed for "image hoses".
        Right now it doesnt really work correctly.

I'll try to upload a sample hose to http://adrian.gimp.org/pixmap-brushes/
shortly, and maybe some docs about the lame format.

-adrian
1999-08-17 00:59:07 +00:00
Manish Singh 1fd1919f4f added a G_PI_2
* app/appenv.h: added a G_PI_2

* app/brush_header.h
* app/pattern_header.h: prefixed each FILE_VERSION with
G{BRUSH,PATTERN} to avoid namespace collision

* app/patterns.c: reflect above change

* app/iscissors.[ch]: merged in Austin's iscissors rewrite.. still
unfinished, but it's not like the old one did anything useful
anyway ;)

-Yosh
1999-08-16 03:43:48 +00:00
Sven Neumann ed81308375 movements restricted to 45 degrees (Ctrl+Alt) feel more natural now
--Sven
1999-08-14 12:34:08 +00:00
Manish Singh 374e55bced add pixmaps/dropper.xpm to EXTRA_DIST
* Makefile.am: add pixmaps/dropper.xpm to EXTRA_DIST

* app/appenv.h: minor formatting changes

* app/channel.c: #include "gdisplay.h"

* app/color_transfer.c
* app/dodgeburn.c
* app/gdisplay.c
* app/iscissors.c
* app/paint_core.c: remove extra SQR and ROUND definitions

* app/flip_tool.c: hackaround the flip tool options constant problem

* app/flip_tool.[ch]: use InternalOrientationType for flip_tool_flip
prototype

* app/interface.c: use GTK_LABEL case in gtk_label_set_justify

* plug-ins/common/mkgen.pl
* plug-ins/common/plugin-defs.pl: add @extra EXTRA_DIST processing

-Yosh
1999-08-13 22:33:49 +00:00
BST 1999 Andy Thomas 2557c517b1 app/commands.c app/commands.h app/disp_callbacks.c app/gdisplay.c
Thu Aug 12 21:38:53 BST 1999 Andy Thomas <alt@gimp.org>

	* app/commands.c
	* app/commands.h
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gdisplay.h
	* app/info_dialog.c
	* app/info_dialog.h
	* app/info_window.c
	* app/info_window.h
	* app/menus.c
	* app/scale.c
	* app/scroll.c
	* app/scroll.h
	* app/nav_window.c (new)
	* app/nav_window.h (new)
	* pixmap/dropper.xpm (new)

	New "navigator" image (accessed via <Image>/Window Nav..). This gives
	an outline of the location of the current view on an image. Eg if your
	image window is only showing part of an image then the Window Navigation	window will outline the area viewed. You can "drag" the outlined
	square around the viewport and the main image will scroll. Additional
	a single click outside the square will center the image at that
	location.

	Also started to add additional information to a new page inside the
	Window information dialog (currently only pixel value is shown).

	Both these features are currently work in progress and unfinished.
	In particular the Navigator does not keep in step with changes
	to the basic image (however it does keep in step with image size changes	and if you modify the size of the image viewing window). It also
	does not display the transparent areas of images very nicely.
1999-08-12 22:21:04 +00:00
Adrian Likins 204d4123b2 app/pixmapbrush.c app/pixmapbrush.h app/gimpbrushpixmap.c New files,
Mon Aug  9 01:20:24 1999 Adrian Likins <alikins@redhat.com>

        * app/pixmapbrush.c
        * app/pixmapbrush.h
        * app/gimpbrushpixmap.c
        * app/gimpbrushpixmap.h: New files, implement the GimpBrushPixmap
          object, and the pixmap brush tool.

        * app/context_manager.c
        * app/tool_options.c
        * app/tools.c
        * app/toolsF.h: add the pixmap brush tool in

        * app/gimpbrushlist.c: allow for loading of pixmap brushes and
        displaying them in the brush dialog. Currently it only shows the
        grey scale mask.

        *app/Makefile.am: add the pixmap tool stuff to the build process

        These Changes implement a pixmap brush tool. Sort of a "image stamp".
        Some examples can be seen at http://adrian.gimp.org/pixmap-brush/.

        Some examples of pixmap brushes can be found there too (.gpb
        extension), but these are easy enough to make (for now, make
        a pattern and a brush the same size and `cat foo.gbr foo.pat >
        foo.gpb` ;->

        Theres still a few rough edges that need some tweaking, but
        the framework is there. Figured I'd sneak it in before the
        freeze.
1999-08-09 06:30:31 +00:00
Seth Burgess b519150fa9 ChangeLog app/channel.c app/channel.h app/channel_ops.c
app/gimpimage.c app/gimpimageP.h app/interface.c
 	app/paint_core.c app/qmask.c app/qmask.h:

	Added qmask settings dialogs through double clicking.
1999-08-07 20:55:26 +00:00
Asbjørn Pettersen fc81fbd409 handle drives(os2) 1999-08-06 11:14:01 +00:00