Commit Graph

75 Commits

Author SHA1 Message Date
Sven Neumann 1f90bbd251 Correct the bug in gimage_mask_border_callback () that was reported on the
list yesterday.


--Sven
1999-09-07 10:58:20 +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
Manish Singh e3004838f4 unlame
-Yosh
1999-08-31 03:43:02 +00:00
Manish Singh 32772963f1 app/apptypes.h removed trailing enum commas
* app/apptypes.h
* app/pathsP.h: removed trailing enum commas

* app/gdisplay_color.[ch]: added a foreach function to iterate
over the display filter names

* app/gdisplay_color_ui.[ch]: display filter ui stuff (doesn't do
much yet ;)

* app/commands.[ch]
* app/menus.c: hooked the above into the menu system

* app/Makefile.am: added new files

* plug-ins/gimpressionist/preview.c: removed bogus // comment

-Yosh
1999-08-31 02:00:34 +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
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
Michael Natterer acffb96f7b app/commands.c app/desaturate.[ch] no need to pass the image as a void
1999-07-27  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/desaturate.[ch]
	* app/equalize.[ch]: no need to pass the image as a void pointer
	to desaturate and equalize.

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

	* app/layers_dialog.c: move layers with drag'n'drop.
1999-07-27 02:41:34 +00:00
Michael Natterer a4c1e8a557 new ui for the "Layer Offset" dialog.
1999-07-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/channel_ops.[ch]: new ui for the "Layer Offset" dialog.

	* app/channels_dialog.c
	* app/layers_dialog.c: major code cleanup: Folded some callbacks
	into common ones, "widget" instead of "w", indentation, ...

	* app/commands.c
	* app/interface.[ch]
	* app/global_edit.c: the query boxes must be shown by the caller
	now. There's no need to split up the string for the message box
	manually as the Gtk 1.2 label widget handles newlines corectly.
	Added the "edge_lock" toggle to the "Shrink Selection" dialog.
	Nicer spacings for the query and message boxes.

	* app/ink.c: tried to grab the pointer in the blob preview but
	failed. Left the code there as a reminder (commented out).

	* app/menus.c: reordered <Image>/Select.

	I was bored and grep-ed the sources for ancient or deprecated stuff:

	* app/about_dialog.[ch]
	* app/actionarea.[ch]
	* app/app_procs.c
	* app/brush_edit.c
	* app/brush_select.c
	* app/color_select.c
	* app/convert.c
	* app/devices.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/histogram_tool.[ch]
	* app/info_window.c
	* app/install.c
	* app/ops_buttons.c
	* app/palette.c
	* app/palette_select.c
	* app/paths_dialog.c
	* app/pattern_select.c
	* app/resize.c
	* app/scale_toolc.c
	* app/text_tool.c:
	s/container_border_width/container_set_border_width/g,
	s/sprintf/g_snprintf/g, replaced some constant string lengths with
	strlen(x).

	* app/bezier_select.c
	* app/blend.c
	* app/boundary.c
	* app/errors.[ch]
	* app/free_select.c
	* app/gimpbrushlist.c
	* app/gimprc.c
	* app/iscissors.c
	* app/main.c
	* app/patterns.[ch]
	* app/text_tool.c: namespace fanaticism: prefixed all gimp error
	functions with "gimp_" and formated the messages more uniformly.

	* app/gradient.c
	* app/gradient_select.c: same stuff as above for the ui
	code. There are still some sub-dialogs which need cleanup.

	Did some cleanup in most of these files: prototypes, removed tons
	of #include's, i18n fixes, s/w/widget/ as above, indentation, ...
1999-07-22 16:21:10 +00:00
Michael Natterer 810a3db516 set the "visible" flags before mapping the widgets.
1999-07-09  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c (view_toggle_rulers_cmd_callback): set the
	"visible" flags before mapping the widgets.
1999-07-09 00:35:33 +00:00
MEST 1999 Sven Neumann b12614646d app/commands.[ch] app/global_edit.[ch] added "Paste As New" feature that
Tue Jul  6 22:40:16 MEST 1999 Sven Neumann <sven@gimp.org>

        * app/commands.[ch]
        * app/global_edit.[ch]
        * app/menus.c: added "Paste As New" feature that allows to paste
        the current (or a named) buffer to a new image. Still need to
        add PDB call for that...


--Sven
1999-07-06 20:43:52 +00:00
Michael Natterer a60b2c2f02 the Tool structure is now allocated by a common constructor which sets
1999-07-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tools]: the Tool structure is now allocated by a common
	constructor which sets default values and provides default tool
	action functions. To get rid of much code duplication there should
	be a object hierarchy of tools.

	* app/context_manager.c
	* app/tools.[ch]: create and destroy private contexts for the
	paint tools on startup and exit. They are not used yet.

	* app/interface.c
	* app/menus.c
	* app/tools.h: num_tools is now exported in tools.h

	* app/commands.c
	* app/gdisplay.c
	* app/menus.c: made "Toggle Selection" a toggleable menu item.
1999-07-02 17:40:10 +00:00
Michael Natterer c456ba93ba app/[all tool related files] app/commands.c app/disp_callbacks.c
1999-06-26  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tool related files]
	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage.c
	* app/interface.c: hopefully fixed the bugs that appeared with my
	last fix. And some more changes...

	- Slightly changed the conditions which cause the tools to be
	  re-initialized on button_press events and the global
	  initialisation functions.
	- The dialog tools now explicitly set tool->gdisp_ptr so they can
	  be properly hidden on display deletion.
	- Create the crop info dialog only once and avoid ugly redraw bugs
	  by blocking the sizeentries' signal when initializing them.
	- Standardized the tools_new_<tool>() functions. They are
	  scheduled to be moved to a common constructor in tools.c
	- Various stuff...
1999-06-26 11:16:47 +00:00
Michael Natterer f1b5e1ae47 namespace cleanups.
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: namespace cleanups.

	* app/commands.[ch]
	* app/menus.c: moved the "Toggle Selection" menu entry to "View",
	sprinkled some separators and made the layers/channels/paths popup
	menus consistent with Tigert's last ops buttons change.

	* app/fileops.c
	* app/plug_in.c: check for gdisplay_active() returning NULL in
	some more places.

	* app/[all tool related files]:

	- Turned the ToolAction and ToolState #define's into typedef'ed
	  enums, so the compiler can do some more sanity checking.
	- Removed one more unused global variable "active_tool_layer".
	- Removed some #include's from tools.c.
	- Standardized the individual tools' structure names.
	- Moved showing/hiding the tool options to separate functions.
	- Stuff...

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/tools.c: fixed the segfaults which happened when the image
	of one of the tools which have dialogs (levels/posterize/...) was
	deleted. My approach was to do stricter sanity checking and to set
	some gdisplay pointers correctly where appropriate, so I can't
	tell exactly where the bug was.
	The curves tool now(??) updates on every _second_ display change
	only, which is really obscure.
	Finding/changing the display to operate on should definitely be
	done by connecting to the user context's "display_changed"
	signal.

	* app/gimpset.c: emit the "remove" signal _after_ removing the
	pointer from the set. If this was not a bug but a feature, please
	let me know, we'll need two signals then.
1999-06-21 22:12:07 +00:00
Michael Natterer a72dbe86b4 connect to the user context's "display_changed" and to the image context's
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: connect to the user context's
	"display_changed" and to the image context's "remove" signal to
	avoid dangling references and to set the menu sensitivity on
	display change.

	* app/disp_callbacks.c
	* app/file_new_dialog.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/gimpcontext.c
	* app/interface.[ch]: entirely moved the active display stuff to
	the user context:

	- The active display is set by any event in the display shell,
	  by File/New and File/Open.
	- gdisplay_delete() resets the active display to NULL if we
	  deleted the active display.
	- Reduced gdisplay_active() to a single statement returning the
	  context's active display. Should replace it by a macro.
	- gdisplay_flush_whenever() sets the menu sensitivity for the
	  active display.
	- Removed global variable popup_shell since it was only set all
	  the time but never used. I guess it's original job is now done
	  by the context anyway.
	- gdisplay_set_menu_sensitivity() works with gdisp == NULL.
	- There are mysterious Gdk-CRITICALs if both <Image> and one of
	  it's sub-menus are teared-off. Probably a gtk+ bug.

	To do all this stuff at a central place, there needs to be a
	GimpSet of displays (and ideally, GDisplay should be a GtkObject).

	* app/commands.c
	* app/lc_dialog.c: fixed segfaults happening with teared-off menus.
1999-06-20 23:29:34 +00:00
Michael Natterer 142ccb742d app/commands.c app/disp_callbacks.c app/gdisplay.c app/lc_dialog.c applied
1999-06-20  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/lc_dialog.c
	* app/menus.c: applied a patch from <Simon.Budig@unix-ag.org>
	which implements tear-off-menus(!!!). Modified it to use the
	GimpContext.
	The sensitivity of the menu entries is not updated after
	executing a command. This leaves the sensitivity in the state
	before the command was executed (which is buggy). Will probably
	have to update the sensitivity from gdisplays_flush().
	Simon called the patch "temporary" but it looks pretty stable to
	me. Please test it :-)

	* app/context_manager.[ch]: minor changes.

	* app/gimpcontext.[ch]: the user context keeps track of the
	current display and image. The image is set automatically from
	gimp_context_set_display().
	Still have to figure out how this should interact with
	gdisplay_active() (the current state is a hack).
	Made the context attributes real GtkObject arguments.
	Pass the changed attributes to the callbacks which connect to
	the <attribute>_changed signals.

	* app/gimpset.[ch]
	* app/gimpsetF.h
	* app/gimpsetP.h: made the gimpset properly derivable by adding
	signal slots to the object class structure. Added copyright
	headers.

	* app/gimpsignal.[ch]: new type gimp_sigtype_double, copyright
	header and my usual indentation fanaticism.
1999-06-20 13:53:15 +00:00
Tomas Ogren 6a6bc56c84 app/bucket_fill.c app/color_picker.c app/commands.c app/convolve.c
1999-06-07  Tomas Ogren  <stric@ing.umu.se>

* app/bucket_fill.c app/color_picker.c app/commands.c app/convolve.c
* app/crop.c app/flip_tool.c app/gimpunit.c app/global_edit.c
* app/gradient.c app/histogram_tool.c app/magnify.c app/module_db.c
* app/palette.c app/paths_dialog.c app/text_tool.c app/transform_tool.c
  Misc i18n fixes, partly ported from Egger-gimp
1999-06-07 02:21:31 +00:00
Michael Natterer ac98e8fa81 app/Makefile.am app/lc_dialog.[ch] app/lc_dialogP.h new files
1999-06-06  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/lc_dialog.[ch]
	* app/lc_dialogP.h
	* app/paths_dialogP.h: new files

	* app/channels_dialog.[ch]
	* app/layers_dialog.[ch]
	* app/layers_dialogP.h
	* app/paths_dialog.[ch]
	* app/menus.[ch]
	* app/file_new_dialog.c: modified

	- Moved the toplevel L&C dialog code to lc_dialog.[ch]. Only
	  these files need knowledge about how to create/update/...
	  the sub-dialogs, so the corresp. functions are defined in
	  lc_dialogP.h.
	- The popup menus are now created by menus.c. The command
	  callbacks are defined in [layers|channels|paths]_dialog.h.
	- Private functions to be used by "friend files" are defined in
	  [layers|paths]_dialogP.h.
	- Changed the order of the ops_buttons in the paths dialog to
	  match the order in the layers and channels dialogs.
	- The paint mode menu and preview stuff still needs to go out of
	  layers_dialog.[ch].
	- I'm not sure about the keybindings in the layer dialog's "Stack"
	  submenu because the list widget has it's own idea of PageUp/Down.
	- Hopefully fixed the update problem with new images by calling
	  lc_dialog_flush() after creating a new image.

	* app/app_procs.c
	* app/bezier_select.c
	* app/commands.c
	* app/floating_sel.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/paint_core.c
	* app/preferences_dialog.c
	* app/transform_core.c
	* app/undo.c: changed #include's according to the new L&C file
	structure.
1999-06-06 17:26:51 +00:00
Michael Natterer 01a045a4c8 app/commands.[ch] app/gdisplay.c for the pleasure of all: a deeper nested
1999-06-01  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.[ch]
	* app/gdisplay.c
	* app/menus.c: for the pleasure of all: a deeper nested	submenu ;)

	New <Image>/Layers/Stack submenu. Used the same top/bottom
	shortcuts as in the layers dialog. Bind them to PageUp/Down and
	you will never touch your mouse again to do this.
	I'm thinking of dropping the current <ctrl>+[FBTU] in favour of
	some <modifier>+PageUp/Down combinations. Test it, Tig !)
1999-06-01 20:19:49 +00:00
Michael Natterer 4a13995205 app/commands.c app/crop.c app/file_new_dialog.c app/info_dialog.[ch]
1999-05-31  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/crop.c
	* app/file_new_dialog.c
	* app/info_dialog.[ch]
	* app/interface.c
	* app/layers_dialog.c
	* app/resize.[ch]
	* app/rotate_tool.c
	* app/scale_tool.c
	* app/shear_tool.c: finished the float->double migration for
	resolution values. Standardized the order of function calls which
	initialize sizeentries. Fixed some off-by-one errors by using
	correct double->int casting. Use the g* counterparts of int and
	double in some places. Various code cleanups.

	* app/preferences_dialog.c: same changes as above plus a cleaner
	implementation of the mem_size_unit stuff. The whole dialog should
	behave like before.
1999-05-31 14:11:10 +00:00
Michael Natterer dcfb450b25 app/[all files with resolution info] libgimp/gimp.h libgimp/gimpimage.c
1999-05-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all files with resolution info]
	* libgimp/gimp.h
	* libgimp/gimpimage.c
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunit.[ch]
	* plug-ins/newsprint/newsprint.c
	* plug-ins/pgn/png.c
	* plug-ins/tiff/tiff.c: double instead of float for all resolution
	and unit-factor variables.

	* app/commands.c
	* app/crop.c
	* app/interface.c
	* app/layers_dialog.c
	* app/move_tool.c
	* app/resize.c
	* app/rotate_tool.c
	* app/scale_tool.c: pass the image's unit *and* gdisp->dot_for_dot
	to all functions which create sizeentries. Never create a
	sizeentry with UNIT_PIXEL but with the image's unit and set it's
	unit to UNIT_PIXEL after creation if dot_for_dot is on.
	This way the image's unit can always be picked from the menu
	without selecting "More...".

	* app/interface.c: made the query_*_box() functions use the
	ActionArea.

	* plug-ins/gimpunitmenu.c: GTK_WIN_POS_MOUSE for the unit
	selection dialog.
1999-05-22 17:56:35 +00:00
Michael Natterer c0b24ce90b app/channel.[ch] app/commands.c app/gimage_mask.[ch]
1999-05-07  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/channel.[ch]
	* app/commands.c
	* app/gimage_mask.[ch]
	* app/gimage_mask_cmds.c
	* tools/pdbgen/pdb/gimage_mask.pdb
	* app/interface.c: propagated the indepentent x/y values for
	shrink/grow/border to the interface but not yet to the PDB.

	* app/*_select.c
	* app/paint_funcs.[ch]: implemented indep. x/y feather. It seems
	that cut-and-paste was sufficient, but I didn't really understand
	the code. Jay, could you have a look at this please?

	If the feather/shrink/... amount is specified in pixels,
	everything behaves like before.
	I'm not sure how the built-in feather option of the selection
	tools should behave, so it still defaults to 'pixel' mode.
	Moved the static feather/shrink/... values from gimage_mask.c to
	commands.c because they belong to the interface.

	* app/text_tool_cmds.c
	* tools/pdbgen/pdb/text_tool.pdb: prepared for resolution
	support, but didn't enable it yet.

	* app/unit_cmds.c
	* tool/pdbgen/pdb/unit.pdb: fixed a help text.
1999-05-06 23:10:29 +00:00
Michael Natterer e7c8de57ae call gdisplays_resize_cursor_label(gimage) after changing the image's
1999-05-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c: call gdisplays_resize_cursor_label(gimage)
	after changing the image's unit.

	* app/gdisplay.c: update the cursor label after resizing it's
	frame, so the old (wrong) value gets overwritten.

	* app/resize.c: it makes more sense to take the image's unit from
	the "print size" frame rather than from "pixel dimensions".
	Set reasonable boundaries to avoid over/underflows with crazy
	resolutions. Code and gui cleanup.
	The constants for min/max image size/resolution should probably go
	to a central place.

	* app/text_tool.c: set the resolution in the X font spec only if
	the size is specified in points (reported by Austin).

	* libgimp/gimpsizeentry.c: fixed a bad bug in the boundary and
	resolution setting code (was not noticable before the new
	resize/scale ui).

	* plug-ins/gdyntext/*: version 1.4.3

	* plug-ins/png/png.c: gcc suggested parentheses.
1999-05-04 17:20:05 +00:00
Michael Natterer 26b9002cd1 app/commands.c app/layers_dialog.c new scale/resize ui: Use size entries
1999-05-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/layers_dialog.c
	* app/resize.[ch]: new scale/resize ui:
	Use size entries instead of text entries, chainbuttons instead of
	check buttons. Put the stuff into frames. Added labels for the
	original width and height.
	It's possible to change resolution/unit now, please test if it
	does the right thing.

	* libgimp/gimpsizeentry.c: allow lower == upper when checking
	boundaries.
1999-05-02 14:24:54 +00:00
Manish Singh 80de6ea79c app/gimage_cmds.c pdbgenned files
* app/gimage_cmds.c
* app/guides_cmds.c: pdbgenned files

* app/parasite_cmds.c: added image parasite cmds

* app/gimpimage.h: capitalized ChannelType and MergeType enums,
made HORIZONTAL_GUIDE and VERTICAL_GUIDE an enum

* app/layer.h: made APPLY and DISCARD an enum

* app/internal_procs.[ch]: finally pdbgenned

* app/channels_dialog.c
* app/fileops.c
* app/gimpimage.c
* app/layers_dialog.c: ChannelType, MergeType enum changes

* app/commands.c: remove gimage_cmds.h #include

* app/cursorutil.h: #include <gdk/gdktypes.h>

* app/paint_funcs.h: cosmetic change for PDB help

* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/layer_cmds.c
* app/tools_cmds.c: pdbgen updates

* app/Makefile.am: removed gimage_cmds.h, added guides_cmds.c

* plug-ins/Lighting/lighting_main.c
* plug-ins/MapObject/mapobject_main.c
* plug-ins/rcm/rcm.c
* plug-ins/xbm/xbm.c: removed trailing ";" from MAIN ()

-Yosh
1999-04-27 04:57:59 +00:00
Michael Natterer 737aa1a0de corrected a typo
1999-03-25  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* unitrc: corrected a typo

	* app/commands.c
	* app/global_edit.c
	* app/gradient.c
	* app/interface.[ch]
	* app/palette.c
	* app/paths_dialog.c: the query_[string|..]_boxes connect their
	close callback to a user provided signal now.

	* libgimp/gimpimage.c: gimp_image_get_unit() doesn't need a
	g_return_if_fail()

	* libgimp/gimpunitmenu.c: memory leak & compiler warning

	* configure.in
	* gimprc.in
	* user_install
	* user_install.bat
	* plug-ins/Makefile.am
	* plug-ins/FractalExplorer/*: added the FractalExplorer plugin.

	* app/install.c: ditto and made the install help text more
	editable by moving it to an array.
1999-03-25 23:14:36 +00:00
Michael Natterer 7fd5b7c18e This is mostly unit stuff and code cleanup
1999-03-12  Michael Natterer  <mitschel@cs.tu-berlin.de>

        This is mostly unit stuff and code cleanup

        * libgimp/gimpi.def: add some functions

        * libgimp/gimpsizeentry.[ch]: new function
        gimp_size_entry_set_refval_digits() which allows for float pixel
        input. SIGFPE bugfix from Yasuhiro Shirasaki
        <yasuhiro@awa.tohoku.ac.jp>, minor bugfixes.

        * libgimp/gimpunitmenu.[ch]: add a separator after "pixels",
        bugfixes.

        * app/interface.[ch]: split up the old query_string_box() into
        query_[string|int|float|size]_box(). All functions take an
        optional GtkObject* parameter and connect to that object's
        "destroy" signal, this fixes some segfaults. And a global
        s/container_border_width/container_set_border_width/

        * app/commands.s: grow, shrink, border, feather now use the
        query_size_box. Used MIN(xres,yres) for now for the pixel<->unit
        calculations. Fixed some memory leaks.

        * app/global_edit.c
        * app/gradient.c
        * app/palette.c
        * app/paths_dialog.c: changed the query_string_box() calls
1999-03-12 03:44:59 +00:00
jaycox a26f8d3f5c new source files that implement pixel Look Up Table functions.
* app/gimplut.[ch]: new source files that implement pixel Look Up
 	Table functions.

	* app/Makefile.am: build gimplut.[ch]


	* app/brightness_contrast.c
	* app/curves.c
	* app/invert.c
	* app/levels.c
	* app/posterize.c: Use the new lut functions.  Use
 	pixel_region_process_parallel in the PDB versions of these routines.

	* libgimp/parasite.h
	* libgimp/parasite.c: new functions parasite_name and
 	parasite_compare.

	* app/gimpdrawable.c:
	* app/gimpdrawable.h: new function
 	gimp_drawable_get_color_at(...) returns the RGBA[color index]
 	value at a specified position in the drawable.  Don't set the dirty
 	bit on the image if a new parasite is the same as the old.

	* app/gimpimage.c
	* app/gimpimage.h new function
 	gimp_image_get_color_at(...) returns the RGBA[color index]
 	value at a specified position in the drawable.  Don't set the dirty
 	bit on the image if a new parasite is the same as the old.

	* app/by_color_select.c
	* app/color_picker.c: use the new gimp_*_get_color_at
 	functions instead of messing with the tiles.

	* app/layer.c: fixed a minor warning.

	* app/commands.c:
	don't scale the image if the new size == the old size

	* app/channel.c: optimized channel_bounds by only checking the
 	pixels in a tile if it is not already entirely within the
 	currently computed bounds.
1999-02-16 08:53:54 +00:00
GMT 1999 Austin Donnelly f45dfe1764 don't #include resize.h - it's not needed ditto.
Sun Feb 14 20:43:55 GMT 1999  Austin Donnelly  <austin@gimp.org>

	* app/channels_dialog.c: don't #include resize.h - it's not needed
	* app/preferences_dialog.c: ditto.

	* app/resize.c: do all dialog creation here to factor out lots of
	     common code in commands.c and layers_dialog.c.  Also cancel
	     resize/scale dialog on destruction/removal of images/layers -
	     proper fix for Peter Teichman's bug.
	* app/resize.h: new prototype for resize_widget_new() - beginnings
	     of resolution-aware scaling.
	* app/commands.c: pull all the resize/scale dialog creation stuff
	     out to resize.c
	* app/layers_dialog.c: same again.

	* app/layer.c: add REMOVED signal, sent when a layer is removed
	     from an image.  Layers typically aren't destroyed until their
	     undo info expires.
	* app/layer.h: prototype for layer_removed() call.
	* app/gimpimage.c: send out removed signal.
1999-02-14 21:09:55 +00:00
GMT 1999 Austin Donnelly 54fe3402e7 New manpage plus bumper fun pack of bugfixes.
Sun Feb 14 01:27:29 GMT 1999  Austin Donnelly  <austin@gimp.org>

	New manpage plus bumper fun pack of bugfixes.

	* gimprc.5.in: NEW FILE: beginnings of some docs on gimprc file
	     format.
	* configure.in: generate gimprc.5 from gimprc.5.in
	* Makefile.am: install gimprc.5
	* .cvsignore: ignore gimprc.5, it's auto generated.

	* gimp.1: fix a few paths and URLs.  Mention the modules/
	     directory in user's gimpdir.

	* app/commands.c: cancel resize or scale dialogs when image
 	     they're for is destroyed, rather than segfaulting when Ok is
 	     clicked.  Thanks to Peter Teichman <peter@zeno.dorm.duke.edu>
 	     for pointing this one out.  Layer resize/scale still suffers
 	     from same problem, but Adam's working on L&C at the moment.

	* app/gdisplay.c: off-by one error on bounds check in making image
	     title.

	* app/module_db.c: some would consider it foolish returning to
 	     code you've just unloaded.  So don't do that.

	* app/plug_in.c: when superceeding a PDB function with a newer one
	     of the same name, remove pointers to the old one from the
	     plugins that originally registered them.  Fixes Nick Lamb's
	     pluginrc file corruption thing, and catches the (common?)
	     error of copying a plugin to a different name but failing to
	     change what it registers.  Also, if registering a file
	     loader/saver, make sure it has set an extension, prefix, or
	     magic number it's interested in - that way code that relies
	     on checking this doesn't get confused.
1999-02-14 01:53:23 +00:00
Austin Donnelly 43639fa0b3 iMon Jan 18 23:36:57 1999 Austin Donnelly <austin@gimp.org>
* app/menus.c: include module browser, plus re-instate the 'swap
	     colors' and other options that got killed by mistake.  Clean
	     up the odd extra separator too.

	* app/color_notebook.c: hide newly created colour selectors so we
	     know the GIMP one will be the default page.

	* app/module_db.[ch]: NEW FILEs: module database / browser.
	* app/Makefile.am: add module_db.[ch] stuff
	* app/app_procs.c: initialise the module_db
	* app/commands.[ch]: callback to create a module browser.
	* app/plug_in.c: move module loading out to module_db.c
	* libgimp/gimpmodule.h: API change: module_init() should return
	     additonal info (author, purpose, date, etc.)   Also optional
	     module_unload() function.
	* modules/colorsel_gtk.c: add module info, plus an unload function

	* modules/Makefile.am: build triangle colour selector module
	* modules/colorsel_triangle.c: NEW FILE: colour selector from
	     Simon Budig <Simon.Budig@unix-ag.org>.

	* MAINTAINERS: changed my email address
1999-01-19 00:03:00 +00:00
Manish Singh 344ffe8e52 Implemented file revert
-Yosh
1999-01-12 01:31:49 +00:00
Lauri Alanko a56f89b812 Added stuff to make gcg by default (for maintainers)
Redid the indexed palette dialog to not crash, to be a bit more
usable, and to be a cleaner module. A first shot at using gcg in
actual practice.. If something is screwed, let me know!
1999-01-07 19:53:05 +00:00
Manish Singh 49cbf0630d i18n markings from Daniel Egger (mostly removal of tags around PDB stuff),
* i18n markings from Daniel Egger (mostly removal of tags around
PDB stuff), some constification

* I went on a sprintf pogrom. Use g_snprintf or g_strdup_printf
where applicable, to prevent overflows, especially with filenames
and translated strings. suid gimp is now more secure. ;)

-Yosh
1998-12-25 18:22:01 +00:00
GMT 1998 Austin Donnelly ccfeb2549d app/commands.[ch] app/edit_selection.c app/gdisplay.[ch]
Sat Dec  5 21:31:57 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>

	* app/commands.[ch]
	* app/edit_selection.c
	* app/gdisplay.[ch]
	* app/gdisplay_ops.[ch]
	* app/image_render.c
	* app/info_window.c
	* app/magnify.c
	* app/menus.c
	* app/scale.c: image rendering now happens with float scale
	factors, independent in X and Y axes.  Turning on dot-for-dot in view
	menu does what gimp always used to do (ie one image pixel becomes
	one monitor pixel).  Dot-for-dot is on by default so people
	shouldn't notice any difference unless they load an image that's
	not at 72 dpi and also turn off dot-for-dot.

	* app/app_procs.c
	* app/gimprc.[ch]
	* app/preferences_dialog.c: new gimprc options
	(monitor-xresolution <float>) and corresponding
 	(monitor-yresolution <float>).  Uglyness in preferences dialog to
	add a "Monitor" page to the notebook, allowing user to set their
	monitor's resolution or take it from the X server instead.  This
	badly needs cleaned up :(

	* plug-ins/newsprint/newsprint.c: oops - this hasn't been working
	for grayscale images since my last checkin.  Now fixed.
1998-12-05 21:48:37 +00:00
CST 1998 Shawn T. Amundson b556943f2c app/channel_ops.c app/color_balance.c app/color_select.c app/commands.c
Thu Dec  3 16:51:42 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * app/channel_ops.c
        * app/color_balance.c
        * app/color_select.c
        * app/commands.c
        * app/convert.c
        * app/curves.c
        * app/docindex.c
        * app/errorconsole.c
        * app/file_new_dialog.c
        * app/fileops.c
        * app/gdisplay_ops.c
        * app/histogram_tool.c
        * app/info_dialog.c
        * app/layer_select.c
        * app/levels.c
        * app/pattern_select.c
        * app/plug_in.c
        * app/posterize.c
        * app/resize.c
        * app/threshold.c
        * app/tips_dialog.c: use gtk_container_set_border_width and
          gtk_window_set_position instead of deprecated versions
1998-12-03 23:01:44 +00:00
EDT 1998 Adrian Likins 25721826d0 Lots of ii8n stuff here and some additions to the de.po. Applied
Wed Oct 14 17:46:15 EDT 1998 Adrian Likins <adrian@gimp.org>

        * app/*, po/de.po, de/POTFILES.in, libgimp/gimpintl.h:
        Lots of ii8n stuff here and some additions to the de.po.
        Applied gimp-egger-981005-1 ,gimp-egger-981006-1,
        gimp-egger-981007-1, gimp-egger-981008-1,
        gimp-egger-981009-1.patch, gimp-egger-981010-1.patch

        * plug-in/guillotine/guillotine.c: added the coordinates
        of the split images from the original image to the title.
        ie foo.jpg (0,0) for the image in the topleft.

        * plug-in/script-fu/scripts/neon-logo.scm,
        perspective-shadow.scm, predator.scm,rendermap.scm,
        ripply-anim.scm, select_to_image.scm,swirltile.scm,
        xach-effect.scm: updated scripts to use new script-fu stuff

wooo boy! a big un!

	in testing this, it looks like some of the po files are busted.
but the code stuff seems okay.

-adrian
1998-10-14 23:23:52 +00:00
Sven Neumann 794931f037 applied gimp-alt-980812-0.patch
--Sven
1998-08-13 15:25:41 +00:00
Sven Neumann 6805b3be8f The statusbar can now be switched off just like the rulers.
--Sven
1998-08-05 12:38:11 +00:00
Sven Neumann 5ebfaaae74 Applied a patch from Simon.Budig@unix-ag.org (gimp-simon-220598-0).
Cosmetic changes to the script-fu dialog.

Added session-managment to the error-console.


--Sven
1998-08-02 19:05:02 +00:00
Adrian Likins b94c62d8e9 oops, minor fixed...dont commit only local changes... ;-|
-adrian
1998-07-14 00:37:15 +00:00
EDT 1998 Adrian Likins a827cd6101 applied gimp-kc-980707-1 from Kevin Cozens <kcozens@interlog.com>
Mon Jul 13 19:07:43 EDT 1998  Adrian Likins <adrian@gimp.org>

        * app/drawable.c app/commands.c app/gimpimage.h
          app/layers_dialog.c: applied gimp-kc-980707-1 from
          Kevin Cozens <kcozens@interlog.com>

        * Dialog boxes for creating a new image or a new layer now include
          as a fill type option.

-adrian
1998-07-14 00:29:08 +00:00
Sven Neumann 329e2072d8 More session-managment functionality. Opened dialogs are saved and eventually
reopened. Try to use the --restore-session command-line option.


--Sven
1998-07-11 22:23:23 +00:00
jaycox b7d8e6ea91 Modified Files: ChangeLog app/Makefile.am app/airbrush.c app/app_procs.c
Modified Files:
 	ChangeLog app/Makefile.am app/airbrush.c app/app_procs.c
 	app/brush_select.c app/brush_select.h app/clone.c
 	app/colormaps.c app/commands.c app/convolve.c app/devices.c
 	app/eraser.c app/gimage_mask.c app/gimpobject.h app/ink.c
 	app/internal_procs.c app/paint_core.c app/paint_core.h
 	app/paintbrush.c app/pencil.c app/preferences_dialog.c
      Minor modifications to support new brush functionality

 Added Files:
 	app/brush_edit.c app/brush_edit.h app/gimpbrush.c
 	app/gimpbrush.h app/gimpbrushgenerated.c
 	app/gimpbrushgenerated.h app/gimpbrushlist.c
 	app/gimpbrushlist.h
      new files to support vector generated brushes and
      reorganization/objectification of the brush class

 Removed Files:
 	app/brushes.c app/brushes.h
    Obsoleted by gimpbrush.? and gimpbrushlist.?

 ----------------------------------------------------------------------
1998-07-09 05:31:06 +00:00
Lauri Alanko ef3e162eae start collecting some core stuff to libgimpim.a
Started separating crud out of drawables.

	Isolated the id system of images entirely within pdb. Even the
	window titles and menus use pointers instead of ids. Should at
	least remind people that this is a developers' version. :)
1998-06-30 15:31:32 +00:00
Lauri Alanko 5c5c73f3f5 Misc cleaning up here and there. Note that since the ids were used
to detect if an image still exists, some things may, for now,
access freed images and break. This will be fixed once proper
destroy handlers are added.
1998-06-30 01:14:36 +00:00
Lauri Alanko faeaa7cc23 Removed most of the image id system. They're still used with pdb.
At quick glance, nothing seems to be broken, but if things weird
	out, blame me.

	Now just the same for layers, channels and displays...
1998-06-29 00:24:44 +00:00
Sven Neumann efd46c7a67 The lc-dialog can now be opened from the toolbox-menu. Did that in
preparation for auto-opening dialogs on start-up.


--Sven
1998-06-23 21:28:22 +00:00
CDT 1998 Larry Ewing db79dc64df app/bezier_select.c app/commands.[ch] app/devices.c app/disp_callbacks.c
Sun Jun 21 15:16:46 CDT 1998 Larry Ewing <lewing@gimp.org>

	* app/bezier_select.c
	* app/commands.[ch]
	* app/devices.c
	* app/disp_callbacks.c
	* app/interface.c
	* app/menus.c
	* app/pixmaps.h
	* app/tools.[ch]
	* app/undo.c: Lots of changes to the way tools are intialized and
	accessed.  All information about a tool type is now contained in a
	single ToolInfo array.  There are still some small issues to
	adress about tool groups and we need some way of getting menu
	ordering/grouping to work better (plug-ins need this too).  There
	is still much to be done, but this is the next in cleaning up the
	tools.

	* app/posterize.[ch]
	* app/threshold.[ch]
	* app/histogram_tool.[ch]
	* app/hue_saturation.[ch]
	* app/levels.[ch]
	* app/brightness_contrast.[ch]
	* app/by_color_select.[ch]
	* app/color_balance.[ch]
	* app/curves.[ch]: Changed the *_initalize function prototypes from
	gpointer to GDisplay, to allow better type chacking and provide a
	uniform interface for all the dialog tools.
1998-06-21 20:17:21 +00:00
EDT 1998 Adrian Likins 3064336f92 *app/commands.c *app/file_new_dialog.[ch] *app/prefereces_dialog.[ch]:
Mon Jun  8 16:39:19 EDT 1998 Adrian Likins <adrian@gimp.org>

        *app/commands.c
        *app/file_new_dialog.[ch]
        *app/prefereces_dialog.[ch]: split up command.c
        into three files, commands.c, file_new_dialog.c,
        and preferences.c

        *app/Makefile.am: change to incorporate the new files

        *TODO: more feature ideas
1998-06-08 21:53:45 +00:00
Adrian Likins 6b53376383 app/coammnds.c: ooops, committed a sligtly broken version
-adrian
1998-06-08 00:52:23 +00:00