Commit Graph

334 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
7e06d78af7 The file revert operation clears the undo stack upon a revert to get rid
Sat Mar 20 22:51:51 GMT 1999  Adam D. Moss  <adam@gimp.org>

	* fileops.c: The file revert operation clears the undo stack
	upon a revert to get rid of the actions causedby the open
	operation.
1999-03-20 22:58:01 +00:00
fae775c386 Reduce some possibly-redundant re-renders on expose.
Sat Mar 20 21:55:53 GMT 1999  Adam D. Moss  <adam@gimp.org>

	* disp_callbacks.c: Reduce some possibly-redundant re-renders
	on expose.

	* gdisplay.c gdisplay.h: Export a function to idly refresh from
        the composite buffer without doing a re-render.
1999-03-20 22:05:24 +00:00
becf5e1faa Fix the bug people reported on the list. The title should now be correctly
set when opening a new image.


--Sven
1999-03-06 02:07:54 +00:00
2252863eb6 This is a bit of a biggy. Added paths to layers & channels dialog. This is
Fri Mar  5 21:45:39 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>

	This is a bit of a biggy. Added paths to layers & channels
	dialog. This is not complete yet (it still has some rough edges ;-)

	New:-

	* paths_dialog.c
	* paths_dialog.h
	* pathsP.h

	These are the core parts of the paths dialog & interaction.

	* tools/penadd.xpm
	* tools/pendel.xpm
	* tools/pennorm.xpm
	* tools/penedit.xpm
	* tools/penstroke.xpm

	New images found in the dialog. Maybe someone with a better
	artistic flair could replace these?

	Changed:-

	* Makefile.am

	Added new files for build

	* layers_dialog.c

	Added new tab for paths.

	* bezier_select.h
	* bezier_selectP.h
	* bezier_select.c

	Rearrangement & fixes. Not finished yet.

	* iscissors.c

	Header file changes. (Need to include more headers).

	* gdisplay.c
	* gdisplay.h

	Hmmm... Added a function that did a mapping from gimage to gdisp.
	This is a little bit of a "hack", but it was needed.. really.

	* ops_buttons.h
	* ops_buttons.c

	Enhanced to create more types of button ops. Used in the paths dialog.

	* channels_dialog.c

	Header file changes?

	* xcf.c

	Paths stored in new PROP. Yosh.. I did as you and Adam suggested.

	* gimpimage.c
	* gimpimage.h
	* gimpimageP.h

	Added paths items to the image structures.
1999-03-05 23:50:24 +00:00
77f4d4abec More unit/resolution stuff (most if it from Michael).
--Sven
1999-03-03 17:48:29 +00:00
58dd2775b2 use image's units, not the ruler units, when dimentioning the rulers.
Sat Feb 27 18:07:53 GMT 1999  Austin Donnelly  <austin@gimp.org>

	* app/scale.c: use image's units, not the ruler units, when
	    dimentioning the rulers.  Gimprc ruler-units syntax has no
	    use anymore.

	* app/gdisplay.[ch]: applied statusbar unit display patch from
 	    Michael Natterer.
1999-02-27 18:09:56 +00:00
a27cedc001 First batch of changes to merge the Win32 version. This will be
done in pieces, don't expect to be able to compile on Win32 from
these sources yet.  Ans of course, the official version of GTk+
doesn't include the Win32 stuff yet.
1999-02-20 23:20:54 +00:00
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
32675c4408 More robust and kickin' thumbnail support.
Sun Feb  7 15:04:23 GMT 1999 Adam D. Moss <adam@gimp.org>

        * app/fileops.c: More robust and kickin' thumbnail support.

        * app/edit_selection.c app/layer.c app/layer.h: Working
        on lazy opaque layer moves.  Disabled for now.

        * app/gdisplay.c
        * app/gimage.h
        * app/gimpimage.c
        * app/gimpimage.h
        * app/image_render.c
        * app/tile_manager.c: Errr, I don't remember.  No, seriously.
        Nothing of consequence.
1999-02-07 15:16:45 +00:00
dea84972e3 fix setting of $localedir, and use $CONFIG_SHELL to run config.status
* configure.in: fix setting of $localedir, and use $CONFIG_SHELL
to run config.status (variation upon gimp-joke-990122-1)

* plug-ins/fp/fp_gtk.c: make label code consistent so we
don't get confused (gimp-ruth-990131-0)

* app/app_procs.c: toast stale swap files on startup

* app/general.[ch]: removed prune_filename

* app/by_color_select.c
* app/colormap_dialog.i.c
* app/fileops.c
* app/gdisplay.c
* app/gdisplay_ops.c
* app/gimpbrush.c
* app/gradient.c
* app/info_window.c
* app/menus.c
* app/palette.c
* app/patterns.c: s/prune_filename/g_basename/

-Yosh
1999-02-07 10:45:56 +00:00
5d92f178c0 gdisplay_format_title now parses a format string set by the user to
Sat Feb  6 18:16:57 GMT 1999  Austin Donnelly  <austin@gimp.org>

	* app/gdisplay.c: gdisplay_format_title now parses a format string
	      set by the user to control what goes in the image window
	      titles.
	* app/gdisplay.h: gdisplay_update_title() prototype.
	* app/gimprc.c
	* app/gimprc.h: image-title-format added.
	* app/scale.c: update a display's title when zooming in/out

	* gimprc.in: sample image-title-format setting
1999-02-06 18:31:33 +00:00
176ea8da52 Multi-line comments, a little more sanity-checking.
Sat Jan 23 18:43:23 GMT 1999  Adam D. Moss  <adam@gimp.org>

	* plug-ins/gif/gif.c: Multi-line comments, a little more
	sanity-checking.

	* app/convert.c: Cosmetic changes to the warning about having
	too many colours for saving transparent/animated GIFs.

	* app/gdisplay.c: Titlebar is correctly updated upon revert.

	* app/paint_funcs.c: Minor improvement.

	* docs/parasites.txt: Minor amendments.

	* plug-ins/jpeg/jpeg.c: Minor code comment amendments.
1999-01-23 18:49:52 +00:00
5a493d6047 An image's projection is now copy-on-write duplicated upon duplication of
Sun Jan 17 22:42:26 GMT 1999 Adam D. Moss <adam@gimp.org>

	* app/gdisplay.c app/gdisplay.h app/gimage_cmds.c:

	An image's projection is now copy-on-write duplicated
	upon duplication of the image.  This should save some
	time and memory for 'duplicate'.

	This needed a new function which is prototyped in gdisplay.h:
	gdisplays_finish_draw() which completes all outstanding
	idlerendered-projections (we don't want to c-o-w an
	incomplete projection).

	* app/interface.c: #include "dialog_handler.h"
1999-01-17 22:50:14 +00:00
9277932a67 Fixed a thinko/bug in the recent optimizations.
Sun Jan 17 18:28:58 GMT 1999 Adam D. Moss <adam@gimp.org>

        * app/gdisplay.c app/paint_funcs.c: Fixed a thinko/bug
        in the recent optimizations.
1999-01-17 18:32:59 +00:00
64a6d4571d app/blend.c app/bucket_fill.c app/convert.c app/crop.c app/cursorutil.c
Sun Jan 17 16:56:25 GMT 1999 Adam D. Moss <adam@gimp.org>

        * app/blend.c app/bucket_fill.c app/convert.c app/crop.c
        app/cursorutil.c app/cursorutil.h app/dialog_handler.c
        app/dialog_handler.h app/fuzzy_select.c app/gdisplay.c
        app/gimage_cmds.c app/gimpimage.c app/scroll.c
        app/transform_core.c app/xcf.c

	Hourglasses also apply to all registered dialogs.  Hourglasses
	added in a couple more important places.  New hack lets
	hourglasses be added and automagically removed again when
	gimp/gtk re-enters the idle loop.
1999-01-17 17:03:54 +00:00
344ffe8e52 Implemented file revert
-Yosh
1999-01-12 01:31:49 +00:00
bf0dbb2018 Most lengthy UI-blocking operations now put up an hourglass so the user
Sun Jan 10 23:31:45 GMT 1999 Adam D. Moss <adam@gimp.org>

	* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
	app/cursorutil.c app/cursorutil.h app/fuzzy_select.c
	app/gdisplay.c app/gdisplay.h app/gimage_cmds.c
	app/gimpimage.c app/transform_core.c app/xcf.c:

	Most lengthy UI-blocking operations now put up an
	hourglass so the user can see that GIMP is working.
	Let me know if there are other vital cases.
1999-01-10 23:36:29 +00:00
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
e260d064eb I guess finally we have the coordinates display working with all font sizes
and even after scaling the image.


--Sven
1998-12-13 18:52:34 +00:00
0db6dcf168 app/interface.c tweak to make status bar update correctly (most of the
Sat Dec 12 17:36:51 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>

	* app/interface.c
	* app/gdisplay.c: tweak to make status bar update correctly (most
 	of the time).  As Sven has already noted, there seems to be a GTK
 	bug involved.

	* app/disp_callbacks.c: only update the cursor co-ords if we
 	actually know them.  Gets rid of silly (0,0) announcements.
1998-12-12 17:41:41 +00:00
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
b593a1592f Use a proper size for the coordinates display in the statusbar.
I still don't know why those statusbar is sometimes not updated. The labels
are definitely set, but are sometimes not drawn. I guess this is a GTK
problem.


--Sven
1998-11-19 20:20:46 +00:00
bb0ea5a46d applied the patch from Kevin Cozens <kcozens@interlog.com>:
size of area displaying cursor position is now adjusted to fit
maximum possible cursor values

--Sven
1998-11-13 22:11:37 +00:00
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
c3d66ee292 Resizing image canvases should be less horrible to look at. I've removed
Sat Oct  3 21:01:34 BST 1998 Adam D. Moss <adam@gimp.org>

	* app/channel.c app/channel_ops.c app/disp_callbacks.c
	app/floating_sel.c app/gdisplay.c app/gdisplay.h
	app/gdisplay_ops.c app/gimpimage.c app/image_map.c
	app/interface.c app/layers_dialog.c app/plug_in.c app/undo.c
	app/xcf.c:

	Resizing image canvases should be less horrible to look at.
	I've removed the implicit clear of the whole area when a
	window is resized by the user, and clear the exposed area around
	the image manually when appropriate.

	Dialogs which want synchronous updates for previews and
	such use displays_update_now().

	Removed some old debugging nonsense which I don't want any more.
1998-10-03 20:14:00 +00:00
c615f15e73 Okay, that didn't take quite as long as expected. This is the first cut at
Thu Oct  1 17:10:32 BST 1998 Adam D. Moss <adam@gimp.org>

	* app/gdisplay.c app/gdisplay.h: Okay, that didn't
	take quite as long as expected.  This is the first cut at
	a gimp-wide IdleRender in place of the previously synchronous
	displays_update().  A synchronous displays_update_now() is
	implemented for stuff like brushes, but it isn't used right
	now.  (Seems to go pretty well without.)

	I need feedback and (previously nonexistant!) bug reports...
	please. =)
1998-10-01 16:22:28 +00:00
769bfa6ecd Temporarily disabled IdleRender code whilst working on a more centralised
Thu Oct  1 12:44:19 BST 1998 Adam D. Moss <adam@gimp.org>

	* app/floating_sel.c app/gdisplay.c app/gdisplay.h
	app/gimpimage.c app/layers_dialog.c app/undo.c:
	Temporarily disabled IdleRender code whilst working
	on a more centralised approach.
1998-10-01 11:53:20 +00:00
d1d3697c9d Moved the idlerender stuff into gdisplay.c. Implemented idlerender when
Sat Sep 26 20:46:18 BST 1998  Adam D. Moss <adam@gimp.org>

	* app/channel.c app/channel_ops.c app/drawable.c
	app/floating_sel.c app/gdisplay.c app/gdisplay.h
	app/gimpimage.c app/layers_dialog.c app/undo.c:

	Moved the idlerender stuff into gdisplay.c.  Implemented
	idlerender when doing floating_sel->layer, and undoing/redoing
	layer deletion.

	idlerender would be useful in many other places for improving
	interactivity, if it weren't for the following problems:

		* By definition, idlerender doesn't wait for a
		gdisplays_update() call	before starting work - it just
		runs in idle time, which due to CPU contention with
		plugins may not	be genuinely available idle time when
		things are 'noninteractive'.

		* Most GIMP functions don't know whether they're
		being run interactively or not.  idlerender only
		makes sense for interactive work.  This is why
		it is currently only applied to those functions which
		would normally only be activated manually.

		* Mixing idlerender and drawable_update() /
		gdisplays_update_area() calls can lead to a region
		being rerendered twice.

	Hence, some slogwork is needed before idlerender can be
	applied in the more general case.
1998-09-26 20:07:46 +00:00
fe6c43af7c Fixed up loose ends with the GdkRgb integration. Color selection areas are
dithered now, and dither patterns align correctly when scrolling.
1998-08-31 22:22:23 +00:00
8868daee7f ok, i modified *way* more files than CVS is telling me....
ok, i modified *way* more files than CVS is telling me....

- add canvas_init machinery (tile_manager_validate equivalent)
- fix bugs in compositing code
- layers/channels dialog, previews
- all color handling should be fairly precision independent now
- replaced gimage_type and gimage_base_type with Tags
- remove concept of flat vs. layered gimages

ray lehtiniemi <rayl@netrover.com>
1998-08-20 00:35:40 +00:00
29b785e131 Hey, I couldn't hold on me...
A two-byte fix to really display the cursor position when inside an active
drawable.


--Sven
1998-08-16 13:12:57 +00:00
764cc9c811 Make sure we check the return value from gimp_image_active_drawable.
Sat Aug 15 22:53:36 CDT 1998  Larry Ewing  <lewing@gimp.org>

	* app/gdisplay.c (gdisplay_update_cursor): Make sure we check the
	return value from gimp_image_active_drawable.
1998-08-16 04:07:02 +00:00
fb8a4ebeed A few fixes here and there...
--Sven
1998-08-13 18:53:12 +00:00