Commit Graph

266 Commits

Author SHA1 Message Date
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
People doing a 16 bpc version of gimp 5b5c24e9dd Import of Smudge and dodge and burn tools. Details in Change log.
calvin@rhythm.com
1999-07-01 16:52:50 +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
BST 1999 Andy Thomas 9b7d21dab5 gimp/app/gimppreviewcache.c gimp/app/gimppreviewcache.h
Wed Jun 23 23:52:54 BST 1999 Andy Thomas <alt@gimp.org>

	* gimp/app/gimppreviewcache.c
	* gimp/app/gimppreviewcache.h
	* gimp/app/drawable_cmds.c
	* gimp/app/gdisplay.c
	* gimp/app/gimpdrawableP.h
	* gimp/app/gimage_cmds.c
	* gimp/app/Makefile.am
	* gimp/app/layers_dialog.c
	* gimp/app/channel.c
	* gimp/app/lc_dialog.c
	* gimp/app/lc_dialog.h
	* gimp/app/lc_dialogP.h
	* gimp/app/layer.c
	* gimp/app/gimpdrawable.c
	* gimp/app/internal_procs.c
	* gimp/libgimp/gimp.h
	* gimp/libgimp/gimpimage.c
	* gimp/libgimp/gimpdrawable.c
	* gimp/libgimp/gimpmenu.c
	* gimp/tools/pdbgen/pdb/drawable.pdb
	* gimp/tools/pdbgen/pdb/gimage.pdb

	Added thumbnail image preview functions.
	Previews are visible on the L&C&P dialogs as well as in the
	drawables/channels/ menus generated for plugins
	(see the bumpmap & Mapobject plugins).

	PDB interface exists to simply extract a thumbnail preview
	of a given size. This is much quicker & more efficient
	than getting the image data tile-by-tile if you only need a small
	image since a "preview cache" has been implemented. This cache also
	reduces the number of times the tiles cached is scanned since smaller
	previews are always generated from large ones if they exists and
	are valid.

	Some possible usages (I don't intend to implement these ideas. Just
	suggestions). More plugins using the thumbnail preview (ie any that
	use multiple images). Indication of "active image" somewhere.....
	Actually almost anywhere a drawable/image name appears.
1999-06-23 23:01:14 +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
Tor Lillqvist 12938f1b6f Update version.
* libgimp/gimpfeatures.h.win32: Update version.

	* app/file_new_dialog.c: Include gimpcontext.h.

	* app/gdisplay.c: Don't pass a pointer as an int parameter,
	pass the result of an inequality comparison to zero.

	* app/makefile.msc: Add new files.

	* plug-ins/makefile.msc: Build the ps plug-in, too.

	* plug-ins/ps/ps.c: Add code to use a "real" output file, not a
 	pipe (needed with Win32 port of ghostscript).

	Use g_strdup_printf() instead of separate g_malloc() and sprintf()
 	calls. No need to check failure of g_malloc(), it aborts on
 	failure. Open files in binary mode.

	(Win32:) Use indirect command line file to guard for too long
 	command line. (Not sure if this is really needed.) Use the
 	gswin32c program.
1999-06-21 00:23:55 +00:00
Michael Natterer aacac3adcc Eeeeek, checked in from the wrong tree before. Fortunately, only one
one file was old...
1999-06-21 00:00:48 +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
Michael Natterer aef2a0331a added some functions. Still does nothing.
1999-06-19  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gimpcontext.[ch]: added some functions. Still does nothing.

	* app/bezier_select.c
	* app/devices.c
	* app/tools.[ch]: removed global variable active_tool_type
	because it was always equal to active_tool->type.
1999-06-19 20:20:59 +00:00
Michael Natterer 1134c030a3 app/Makefile.am new files. Currently only init and destroy the static
1999-06-18  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/context_manager.[ch]: new files. Currently only init and
	destroy the static contexts (user, standard and default).

	* app/app_procs.c: call the context manager's init and free
	functions. Still have to figure out the right time to do this.

	* app/gimpcontext.[ch]: alpha version 0.0.1 :-)

	Features:
	- Each context has a name
	- Attributes: opacity, paint mode, image, display
	- Signal emission on attribute change
	- Possibility to set a "parent" context
	- Each attribute can be defined or undefined. In the latter case
	  the values are taken from the parent context.
	- Possibility to pass a template and parent context to the
	  constructor
	Bugs:
	- Many attributes/functions still missing
	- It's connected to nothing
1999-06-18 18:29:27 +00:00
Michael Natterer aaa3ef2161 app/Makefile.am new files. Does nothing yet. Checked in because I found
1999-06-17  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpcontext.[ch]: new files. Does nothing yet. Checked in
	because I found some bugs while hacking it:

	* libgimp/gimpchainbutton.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunitmenu.[ch]: fixed some cut & paste bugs and some
	gtk 1.0 artefacts in the object class initialisation code.
1999-06-17 19:13:08 +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
Tomas Ogren d085c151d3 locale-wrapper for menus_set_sensitive (..._locale) and menus_set_state
1999-06-06  Tomas Ogren  <stric@ing.umu.se>

* app/menus.[ch]: locale-wrapper for menus_set_sensitive (..._locale)
  and menus_set_state (..._locale) which splits the menu-entry
  "<Foo>/Bar/Baz" into "<Foo>" and "/Bar/Baz" to remove double
  translations
* app/app_procs.c, app/channels_dialog.c, app/fileops.c, app/gdisplay.c
* app/gdisplay_ops.c, app/layers_dialog.c, app/paths_dialog.c
* app/plug_in.c:
  Use the _locale version from above
1999-06-06 21:13:03 +00:00
Tomas Ogren 79be4895ec Misc l10n fixes
1999-06-06  Tomas Ogren  <stric@ing.umu.se>

* app/{color_notebook.c,color_select.c,lc_dialog.c,temp_buf.c,tool_options.c,tools.c}:
  Misc l10n fixes
1999-06-06 19:44:36 +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 e5408cac3e app/disp_callbacks.[ch] app/gimpset.c patch from
1999-06-03  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/disp_callbacks.[ch]
	* app/gimpset.c
	* app/interface.c: patch from <Simon.Budig@unix-ag.org>. Cleans up
	the active image implementation. Now the button and key events of
	the whole gdisplay shell are connected to a separate active image
	callback.

	Don't let the arrow button of the gdisplay grab the focus and
	block it's events after any button_press_event, so the canvas
	always owns the keyboard focus and the button never grabs the
	pointer.

	* app/gdisplay.c: correct sensitive setting for the Layers/Stack
	submenu.

	* app/interface.c: make the query boxes insensitive after pressing
	"OK" (may be useful if they're once used for operations which take
	longer than just shrink/grow/...).

	* app/layers_dialog.c: switch to the active image when the "Auto"
	button is activated.

	* app/menus.c: bound the <Image>/Layers/Stack menu to some
	<modifier>+PageUp/Down combinations.

	* app/preferences_dialog.c: pop up with the "Interface" branch
	expanded.
1999-06-03 18:28:39 +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
Manish Singh f2622e5420 configure.in removed tips files, AC_SUBST GIMP_PLUGINS and GIMP_MODULES so
* configure.in
* Makefile.am: removed tips files, AC_SUBST GIMP_PLUGINS and
GIMP_MODULES so you can easily skip those parts of the build

* acinclude.m4
* config.sub
* config.guess
* ltconfig
* ltmain.sh: libtool 1.3.2

* app/fileops.c: shuffle #includes to avoid warning about MIN and
MAX

[ The following is a big i18n patch from David Monniaux
  <david.monniaux@ens.fr> ]

* tips/gimp_conseils.fr.txt
* tips/gimp_tips.txt
* tips/Makefile.am
* configure.in: moved tips to separate dir

* po-plugins: new dir for plug-in translation files

* configure.in: add po-plugins dir and POTFILES processing

* app/boundary.c
* app/brightness_contrast.c
* app/by_color_select.c
* app/color_balance.c
* app/convert.c
* app/curves.c
* app/free_select.c
* app/gdisplay.c
* app/gimpimage.c
* app/gimpunit.c
* app/gradient.c
* app/gradient_select.c
* app/install.c
* app/session.c: various i18n tweaks

* app/tips_dialog.c: localize tips filename

* libgimp/gimpunit.c
* libgimp/gimpunitmenu.c: #include "config.h"

* plug-ins/CEL
* plug-ins/CML_explorer
* plug-ins/Lighting
* plug-ins/apply_lens
* plug-ins/autostretch_hsv
* plug-ins/blur
* plug-ins/bmp
* plug-ins/borderaverage
* plug-ins/bumpmap
* plug-ins/bz2
* plug-ins/checkerboard
* plug-ins/colorify
* plug-ins/compose
* plug-ins/convmatrix
* plug-ins/cubism
* plug-ins/depthmerge
* plug-ins/destripe
* plug-ins/gif
* plug-ins/gifload
* plug-ins/jpeg
* plug-ins/mail
* plug-ins/oilify
* plug-ins/png
* plug-ins/print
* plug-ins/ps
* plug-ins/xbm
* plug-ins/xpm
* plug-ins/xwd: plug-in i18n stuff

-Yosh
1999-05-29 16:35:47 +00:00
Tor Lillqvist 4e886ad428 Check for mmap.
* configure.in: Check for mmap.

	* app/makefile.msc: Depend on gimpi.lib.

	* app/app_procs.c (app_init): Fix gccism: Allocate filenames (an
 	array with non-constant size) dynamically.

	* app/{datafiles,fileops,general,install,module_db,temp_buf}.c:
 	Include glib.h before standard headers, because of certain obscure
 	details related to compiling with gcc on Win32.

	(If you really want to know: glib.h defines he names of POSIXish
	(but non-ANSI) functions as prefixed with underscore, because
 	that's how they are named in the msvcrt runtime C library we want
 	to use. However, defining stat as _stat causes some problems if
 	done after including the mingw32 <sys/stat.h>. So, it's easiest to
 	include <glib.h> early.)

	* app/main.c: Use _stdcall and __argc, __argv with MSC, but
 	__attribute__((stdcall)) and _argc, _argv with gcc. Don't print
 	the "Passed serialization test" message on Win32. (It would open
 	up an otherwise unnecessary console window.)

	* app/paint_funcs.c (gaussian_blur_region): Don't use variable sum
 	until initialized.

	* app/{bezier_select,paths_dialog}.c: Include config.h and define
 	rint() if necessary.

	* app/plug_in.c: Use _spawnv, not spawnv, on Win32 and OS/2.
1999-05-28 17:47:17 +00:00
jaycox 3893b29588 applied fix for the channel_bounds bug from Didier Gautheron
* app/channel.c: applied fix for the channel_bounds bug from
	Didier Gautheron <dgautheron@magic.fr>. (slightly modified)
1999-05-28 05:08:10 +00:00
jaycox 4faeeaeb9f new mouse cursor for intersection operations.
* cursors/{mouse1_u,mouse1_umsk}: new mouse cursor for intersection
	operations.

	* app/cursorutil.[ch], app/rect_select.c: use the new cursor.

	* app/gimpimage.c:  Applied layer removal bug fix from
	David Le Corfec, <lecorfec@etudiant.univ-mlv.fr>

	* plug-ins/gdyntext/{font_selection.c, gdyntext.c, gdyntext_ui.c}:
	replaced snprintf with g_snprintf.

	* plug-ins/jpeg/jpeg.c: updated to work with the double precision
	resolutions.
1999-05-27 09:10: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
Sven Neumann 5f464b9f5d Show what line you are drawing when using <Shift> on paint-tools.
Needs some work for the clone-tool, since it seems to behave different then
the rest...


--Sven
1999-05-15 00:02:47 +00:00
BST 1999 Andy Thomas a4730edaf3 app/gdisplay.c app/paths_dialog.c app/paths_dialog.h
Sat May 15 00:06:06 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/paths_dialog.c
	* app/paths_dialog.h

	Fixed problem where paths preview not resized correctly when
	image was resized.
1999-05-14 23:16:58 +00:00
jaycox 628e07eb47 set the fg or bg color if ctrl or alt is held. use the new dropper cursor.
* app/paint_core.[ch]: set the fg or bg color if ctrl or alt is
 	held.  use the new dropper cursor.

	* app/cursorutil.[ch], app/gdisplay.[ch], app/rect_select.c: Use
 	GimpCursorType enum values > GDK_CURSOR_LAST instead of seperate
 	functions to choose between cursor types.

	* app/color_picker.c: use the new dropper cursor.

	* app/paintbrush.c, app/airbrush.c, app/paintbrush.c: use the new
 	color picking feature of paint_core.

	* cursors/dropper, cursors/droppermsk: new cursor for the color
 	picker tool. (this cursor is REALLY ugly, someone should fix it)
1999-05-13 11:12:32 +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
Asbjørn Pettersen 391bff79df add sys/types.h 1999-05-05 12:32:24 +00:00
jaycox 18835a7657 new bitmap files containing the new mouse cursors.
* pixmaps/mouse1*: new bitmap files containing the new mouse cursors.

	* app/parasitelist.c: use g_str_equal instead of parasite_compare_func.

	* app/paint_core.c: interpret perfectmouse right way round.

	* app/rect_select{P,}.[ch]: set custom cursors when the operation type
 	changes.  Centralize the calculation of op based on the modifier
 	keys being held.

	* app/fuzzy_select.c, app/free_select.c: allow the rect_select
 	functions calculate the operation type.

	* app/ellipse_select.c: use the SelectionOps typedefs.

	* app/edit_selection.c: convert MaskToLayerTranslate into
 	FloatingSelTranslate if there is already a floating selection in
 	init_edit_selection.

	* app/disp_callbacks.c: fixed the calculation of state.

	* app/gdisplay.[ch], app/cursorutil.[ch]: new functions to allow
 	the loading of customized cursors.

	* app/paint_funcs.[ch], app/channel.c: border_region now accepts
 	seperate xradius and yradius arguments.
1999-05-05 09:10:35 +00:00
Tor Lillqvist 1dea4958bb Win32 portability changes:
* config.h.win32, README.win32: Small changes.

	* tools/pdbgen/pdb/*.pdb: Include <string.h>.

	* app/*_cmds.c: Autogenerated files reflect above changes.

	* libgimp/makefile.msc app/makefile.msc: Various updates,
 	including new object files. Gtk+ directory now should be called
 	gtk+ (not gtk-plus). Use win32-specific gdk subdir. Glib directory
 	now should be called just glib.

	* libgimp/gimp.def: Updates.

	* libgimp/gimpfeatures.h.win32: Made current with
 	gimpfeatures.h.in.

	* libgimp/gimpfileselection.c: Define S_ISDIR and S_ISREG if
 	necessary.

	* tools/pdbgen/pdb/fileops.pdb: Must have a
 	statement (even an empty one) after a label.

	* app/fileops_cmds.c: Autogenerated file reflects above changes.

	* app/crop.c: Include <string.h>.

	* app/{app_procs,batch,fileops,datafiles,errorconsole,general,
 	plug_in,temp_buf,tile_swap}.c: Test NATIVE_WIN32, not
 	_MSC_VER. (NATIVE_WIN32 means we are using the Microsoft C
 	runtime, even if we might be compiling with gcc.)

	* app/fileops.c: Don't include <process.h> here.

	* app/fileops.h: Do include <process.h> here.

	* app/gimpparasite.c: Include config.h, guard inclusion of
 	<unistd.h>. (Is the inclusion of unistd.h in source files all over
 	the place really necessary?)

	* app/ink.c: MSC doesn't handle conversion from unsigned __int64
 	to double, so cast to signed.

	* app/lut_funcs.c: Include config.h, and define rint() if necessary.

	* app/pixel_processor.c: Include config.h without "..", like in
 	all the other places. Include <string.h>

	* app/text_tool.c: Guard the "POINTS" identifier that clashes with
 	<windows.h>, sigh.
1999-05-04 21:32:17 +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
Manish Singh 4e68780710 guide types used to start at 1, so make them start at 1
* app/gimpimage.h: guide types used to start at 1, so make them
start at 1

* tools/pdbgen/enums.pl
* app/guides_cmds.c: autogenned files reflect above change

-Yosh
1999-05-02 21:58:57 +00:00
Sven Neumann 2ec50a9d93 Some code cleanup, changes to the crop-modifier_key_func and 128n fixes.
--Sven
1999-04-28 18:58:01 +00:00
Sven Neumann d342563d60 Moved from toggle_key_func to modifier_key_func.
--Sven
1999-04-27 21:06:00 +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
Sven Neumann 8b46a4f9f5 Toggable tools!
I hope I haven't broken too much ;-)


--Sven
1999-04-27 02:09:03 +00:00
Manish Singh 107038e5dc pdbgened, header file removed
* app/layer_cmds.[ch]: pdbgened, header file removed

* app/internal_procs.c: use pdbgen register for layer funcs

* app/*_cmds.c: various pdbgen formatting fixes

* app/Makefile.am: removed layer_cmds.h

* app/layer.c
* app/layerF.h: changed AddMaskType enum to capitals

-Yosh
1999-04-24 20:33:31 +00:00
Manish Singh b8c19394dc gave parasite undo a MISC_UNDO class for now so it compiles
* app/gimpdrawable.c: gave parasite undo a MISC_UNDO class for now
so it compiles

* app/tools_cmds.c: fix crop invoker to give correct args to
crop_image

* app/color_cmds.c: s/GRAY/GRAY_LUT/g;

* app/brush_select.[ch]: removed PDB procs, export brush_active_dialogs,
brush_select_dialog, s/active_dialogs/brush_active_dialogs/

* app/gimage_cmds.[ch]
* app/channel_ops.[ch]: removed channel ops PDB procs, moved duplicate
function from gimage_cmds to channel_ops, export offset and duplicate

* app/gimpbrushlist.[ch]: removed PDB procs

* app/gradient.[ch]: removed PDB procs,

* app/gradient_header.h: exported G_SAMPLE, GradSelect, num_gradients,
grad_active_dialogs, gradient_select_dialog

* app/gradient_select.c: removed PDB procs,
s/active_dialogs/grad_active_dialogs/

* app/patterns.[ch]: removed PDB procs

* app/pattern_select.[ch]: removed PDB procs,
s/active_dialogs/pattern_active_dialogs/

* app/procedural_db.c: removed PDB procs and supporting functions

* app/procedrual_db.h: fiddled with enums

* app/channel_cmds.[ch]
* app/drawable_cmds.[ch]
* app/parasite_cmds.[ch]: pdbgenned now, removed header files

* app/gimpparasite.c: minor cleanup

* app/internal_procs.c: use pdbgen stuff

* app/tools_cmds.c
* app/text_tool_cmds.c: updated from pdbgen

* app/brushes_cmds.c
* app/brush_select_cmds.c
* app/gradient_cmds.c
* app/gradient_select_cmds.c
* app/patterns_cmds.c
* app/pattern_select_cmds.c
* app/procedural_db_cmds.c: new pdbgen files

* app/Makefile.am: file shuffle (see above)

-Yosh
1999-04-23 20:54:02 +00:00
jaycox d996031ab0 removed some nonfunctional code.
* app/edit_selection.c: removed some nonfunctional code.

	* app/paint_core.c: remove the alt toggles perfectmouse behaviour.

	* app/paintbrush.c: when ctl (or alt) is held set the fg (or bg) color.

	* app/gimpparasite.[ch]: made char *name parameters const.

	* app/parasitelist.c: removed unused static variable.

	* app/gimpdrawable.c, app/gimpimage.c, app/undo.[ch]: added
 	support for undoing parasite changes.

	* libgimp/gimp.h, libgimp/gimpimage.c: added
 	gimp_undo_push_group_start and gimp_undo_push_group_end

	* libgimp/parasite.[ch]: added undoable flag.

	* plug-ins/gdyntext/font_selection.c: fixed c++ style comment.

	* plug-ins/gdyntext/gdyntext.c: use the new undoable parasites.

	* plug-ins/rcm/rcm_misc.c: arctg can't be inline because it is
 	used in other .c files

	* plug-ins/waterselect/waterselect.c,
	* plug-ins/rotators/rotators.c, app/tips_dialog.c, app/plug_in.c:
 	fixed some warnings
1999-04-23 06:07:09 +00:00
Michael Natterer ca2cbd3257 First version of per-tool paint options. No PDB interface yet. The tool
1999-04-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	First version of per-tool paint options. No PDB interface yet.
	The tool options dialog got rather big when in per-tool mode, so
	it will probably have to become a notebook.

	It's not yet 100% consistent. If switched off, everything should
	behave exactly like before.

	* app/Makefile.am
	* app/paint_options.h: new file

	* app/tool_options.c: PaintOptions gui. Maintain a list of all
	paint tools' ToolOptions to enable switching between global and
	per-tool paint options.

	* app/brush_select.[ch]: changed packing boxes, tables, ...
	The paint options in the brush selection can be hidden now.
	Moved create_paint_mode_menu() to paint_options.h and
	tool_options.c and renamed it to paint_mode_menu_new().

	* app/gimage_mask.c
	* app/gimpbrush.[ch]
	* app/gimpbrushlist.[ch]
	* app/paint_core.c: moved gimp_brush_[set|get]_spacing() from
	gimpbrushlist.[ch] to gimpbrush.[ch].
	Moved gimp_brush_[get|set]_[opacity|paint_mode]() to
	paint_options.h and tool_options.c and renamed them to
	paint_options_*_*().  They are "global paint options" now.

	* app/airbrush.c
	* app/blend.c
	* app/bucket_fill.c
	* app/clone.c
	* app/convolve.c
	* app/eraser.c
	* app/ink.c
	* app/paintbrush.c
	* app/pencil.c: all paint tools' options are derived from
	"PaintOptions" now. Opacity and paint mode are obtained through
	macros which take into account the current paint options mode.

	* app/buildmenu.h: #include <gtk/gtk.h>

	* app/color_picker.c
	* app/text_tool.c: changed spacings.

	* app/gimprc.[ch]: new gimprc option "global-paint-options"

	* app/preferences_dialog.c: Added a "Tool Options" page. Code
	cleanup. Some work on the convenience constructors test site.

	* app/tools.c: fixed "unused variable" warning.
1999-04-22 14:34:00 +00:00
Manish Singh 993089b8cb moved a bunch of PDB stuff here
* app/color_cmds.c: moved a bunch of PDB stuff here

* app/color_balance.[ch]: removed PDB proc, exported TransferMode
enum, ColorBalanceDialog, color_balance_create_lookup_tables, and
color_balance

* app/curves.[ch]: removed PDB procs, exported SMOOTH and GFREE
#defines, CurvesDialog, curves_lut_func and curves_calculate_curve

* app/desaturate.[ch]: removed PDB proc, exported desaturate

* app/equalize.[ch]: removed PDB proc, exported equalize

* app/histogram_tool.[ch]: removed PDB proc, exported HISTOGRAM_WIDTH
and HISTOGRAM_HEIGHT #defines, HistogramToolDialog,
histogram_tool_histogram_range

* app/hue_saturation.[ch]: removed PDB proc, exported HueRange enum,
HueSaturationDialog, hue_saturation_calculate_transfers,
hue_saturation

* app/invert.[ch]: remove PDB proc, export invert

* app/threshold.[ch]: remove PDB proc, export ThresholdDialog and
threshold_2

* internal_procs.c: changes for pdbgen

* app/gimprc.c: removed leftover declaration

* app/image_map.h: add #include "gimpdrawableF.h"

* app/lut_funcs.h: add ALPHA_LUT to ChannelLutType

-Yosh
1999-04-21 05:39:57 +00:00
BST 1999 Austin Donnelly 5026bd5015 add the new args to gimp-paintbrush PDB calls.
Tue Apr 20 23:38:26 BST 1999  Austin Donnelly  <austin@gimp.org>

	* app/bezier_select.c: add the new args to gimp-paintbrush PDB
	    calls.

	* app/blend.c
	* app/bucket_fill.c
	* app/invert.c: check return from procedural_db_run_proc() rather
	    than dereferencing NULL.

	* app/paintbrush.c: plumb the non-gui fade_out option into the
	    functions that actually do the work, rather than using
	    an uninitialised value.

	* app/procedural_db.c: better error messages on PDB typecheck fail
	    in procedural_db_run_proc.  Also now valid to
	    procedural_db_destroy_args() on a NULL pointer.
	* app/procedural_db.h: pdb_type_name() function added, plus
	    comment urging people to keep the enum and strings in step.

	* tools/pdbgen/README: added paragraph on how to run pdbgen.pl

	* tools/pdbgen/pdb/tools.pdb: fade_out parameter is valid to be 0
	* app/tools_cmds.c: new version of generated file
1999-04-20 23:03:31 +00:00
Sven Neumann ff2c915a40 More cosmetic stuff. Getting used to the new tool_options ... ;-)
--Sven
1999-04-20 19:23:38 +00:00
Manish Singh ccac10a4b0 new file, containes the PDB stuff for most of the tools
* app/tools_cmds.c: new file, containes the PDB stuff for most
of the tools

* app/gimprc_cmds.c: new file, PDB interface stuff for gimprc
access

* app/Makefile.am: added tools_cmds.c and gimprc_cmds.c

* app/airbrush.[ch]
* app/blend.[ch]
* app/bucket_fill.[ch]
* app/by_color_select.[ch]
* app/clone.[ch]
* app/color_picker.[ch]
* app/convolve.[ch]
* app/crop.[ch]
* app/ellipse_select.[ch]
* app/eraser.[ch]
* app/flip_tool.[ch]
* app/free_select.[ch]
* app/fuzzy_select.[ch]
* app/gimprc.[ch]
* app/paintbrush.[ch]
* app/pencil.[ch]
* app/perspective_tool.[ch]
* app/rect_select.c app/rect_select.h
* app/rotate_tool.[ch]
* app/scale_tool.[ch]
* app/shear_tool.[ch]: bye bye PDB stuff (exported necessary enums
functions, vars, etc.)

* app/internal_procs.c: use register_foo functions

* app/blend.[ch]: GradientType enum case changed

* app/bucket_fill.[ch]: s/FillMode/BucketFillMode/, made the enum
more consistent

* app/clone.[ch]: capitalized the CloneType enum

* app/color_picker.[ch]: changed get_color to pick_color so we don't
conflict with colormaps.c get_color

* app/convolve.[ch]: capitalized the ConvolveType enum

* app/paint_core.h: made a GradientPaintMode enum

* app/transform_core.h: BoundingBox enum

* app/scale_tool.c: use the generic bounding box enum for X1, Y1, etc.

* app/shear_tool.[ch]: turned HORZ and VERT into a ShearType enum

-Yosh
1999-04-18 21:22:41 +00:00
Michael Natterer 9e1879d964 fixed a sensitive setting bug I introduced with the last change.
1999-04-18  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/paintbrush.c: fixed a sensitive setting bug I introduced
        with the last change.

        * app/text_tool.c: added a toggle button which enables calling
        gDynText.

        * app/tool_options.c: the toggle callback does some more sensitive
        settings.
1999-04-18 18:55:49 +00:00
BST 1999 Andy Thomas d5fad959c1 Changed:-
Tue Apr 13 22:17:23 BST 1999 Andy Thomas <alt@gimp.org>

	Changed:-

	* app/bezier_select.c
	* app/bezier_select.h
	* app/pathsP.h
	* app/paths_dialog.c
	* app/transform_core.c
	* app/transform_core.h
	* app/undo.c

	New:-

	* pixmap/locked.xpm

	New image. (Your welcome to improve upon it...)

	Paths can now be locked down for transformations. Click next to the
	paths preview and a icon will appear. This path will "locked" during
	transformations (via the transforms tool). Undo for these path
	transformations is also available.

	Fixed bug when creating a path for the first time when no paths dialog
	visible.
1999-04-13 21:50:28 +00:00
Marc Lehmann d4f1cf4eec *** empty log message *** 1999-04-13 00:46:11 +00:00
Michael Natterer 8dbd5f9b65 app/airbrush.c app/bezier_select.c app/blend.c app/brightness_contrast.c
1999-04-12  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/airbrush.c
        * app/bezier_select.c
        * app/blend.c
        * app/brightness_contrast.c
        * app/bucket_fill.c
        * app/by_color_select.c
        * app/clone.c
        * app/color_balance.c
        * app/color_picker.c
        * app/convolve.c
        * app/crop.c
        * app/curves.c
        * app/ellipse_select.c
        * app/eraser.c
        * app/flip_tool.c
        * app/free_select.c
        * app/fuzzy_select.c
        * app/histogram_tool.c
        * app/hue_saturation.c
        * app/ink.c
        * app/iscissors.c
        * app/levels.c
        * app/magnify.c
        * app/move.c
        * app/paintbrush.c
        * app/pencil.c
        * app/posterize.c
        * app/rect_select.[ch]
        * app/text_tool.c
        * app/threshold.c
        * app/transform_tool.c

        * app/tools.[ch]
        * app/toolsF.h: again: all tools :(

        * app/Makefile.am
        * app/tool_options.[ch]
        * app/selection_options.h
        * app/tool_options_ui.h: new files.

        Ok, this time it's general enough for future extensions:

        - The tool options structures are organized like the gtk object
          system to allow derived tool options.
        - Renamed all create and reset functions to *_options_new() and
          *_options_reset() to reflect this.
        - Changed tools_register() again. Now it takes just a pointer to a
          ToolOptions structure.
        - Moved almost the entire tool options gui code to tool_options.c.
        - Visually separated the common selection options from the
          tool-specific ones. I'd like to do the same with opacity/paint
          mode in all paint tool options but I think this needs some more
          discussion.

        * app/histogram_tool.c: changed packing boxes, label alignments.

        * app/paintbrush.c: some more sensitive settings. The gradient
        feature can now be toggled with a button. Hopefully didn't break
        anything.
1999-04-12 17:55:06 +00:00
Marc Lehmann add9089f98 *** empty log message *** 1999-04-11 22:28:51 +00:00
Manish Singh d6116b8d2c new file (from pdbgen)
* text_tool_cmds.c: new file (from pdbgen)

* Makefile.am: add new file, use AM_CPPFLAGS instead of CPPFLAGS

* internal_procs.c: register pdbgened text_tool procs

* text_tool.c: remove PDB stuff, export text_render and
text_get_extents and SizeType and SUPERSAMPLE symbols

* text_tool.c: remove PDB stuff

* blend.[ch]
* bucket_fill.[ch]
* clone.[ch]
* convolve.[ch]: export some enums

* channel.h
* paint_core.h: #define->enum

* channel.c
* gimpparasite.c
* parasitelist.c
* pixel_processor.c: warning cleanup

* convert_cmds.c
* paths_cmds.c: slight pdbgen changes

-Yosh
1999-04-10 04:54:34 +00:00