Commit Graph

300 Commits

Author SHA1 Message Date
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

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

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

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

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

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

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

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

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

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

* app/patterns.c: reflect above change

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

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

* app/appenv.h: minor formatting changes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	Added qmask settings dialogs through double clicking.
1999-08-07 20:55:26 +00:00
Asbjørn Pettersen fc81fbd409 handle drives(os2) 1999-08-06 11:14:01 +00:00
Tor Lillqvist 933b866166 Define ROUND(), RINT(), SQR(), G_PI and G_PI_4. The latter two will
* app/appenv.h: Define ROUND(), RINT(), SQR(), G_PI and
	G_PI_4. The latter two will presumably eventually be in
	GLib. RINT() calls rint() if we have it, otherwise adds 0.5 and
	calls floor().

	* app/*.c: Remove the multiple identical definitions of M_PI. Use
	G_PI instead of M_PI. Remove ROUND() and rint() definitions. Use
	RINT() instead of rint().
1999-08-04 23:22:29 +00:00
Tor Lillqvist 61724bfb50 Fix cut-and-paste error reported by Claes G Lindblad.
* app/channel_ops.c (offset_halfheight_callback): Fix
	cut-and-paste error reported by Claes G Lindblad.
1999-07-31 22:03:35 +00:00
Manish Singh a3854b331c revert previous change
* tools/pdbgen/pdb/tools.pdb: revert previous change

* tools/pdbgen/pdb/guides.pdb: perform orientation xform here

* app/gimpimage.h: use 2 enums, one for internal and for external

* libgimp/gimpenums.h: change around external enums here

-Yosh
1999-07-30 05:26:36 +00:00
Marc Lehmann 8a9daf72ef *** empty log message *** 1999-07-30 01:21:04 +00:00
Manish Singh 46f8a629e3 hard code orientation constants for shear and flip too maintain backwards
* tools/pdbgen/pdb/tools.pdb: hard code orientation constants for
shear and flip too maintain backwards compatibility

* app/gimpimage.h: remove ORIENTATION chop to avoid namespace
collision

-Yosh
1999-07-30 00:20:50 +00:00
Manish Singh 7cb07a90bf add sample_colorize and curve_bend defs
* plug-ins/common/plugin-defs.pl: add sample_colorize and
curve_bend defs

* libgimp/color_selector.h: minor consistency cleanup

* libgimp/gimpchainbutton.[ch]: use new style gtk object helper macros

* libgimp/gimpfileselection.c
* libgimp/gimpmatrix.h: minor cleanup

* libgimp/gimpintl.h: resync with gnome-i18n.h


* libgimp/color_display.h
* app/gimp.sym
* app/gdisplay_color.[ch]
* app/app_procs.c
* app/gdisplay.h
* app/image_render.c: color display transformation code. Still
unfinished, so it's not activated yet.

* app/buildmenu.h: remove unused defines (PULLDOWN, POPUP, OPTION)

* app/colormaps.[ch]
* app/image_render.c: remove vestigal dithering stuff

* app/convolve.h
* app/gimpdrawable.h
* app/gimpimage.h
* app/lut_funcs.h
* app/paint_funcs.h
* app/plug_in.h: enum nick changes from Marc

* app/channel_ops.c
* app/crop.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/move.c: s/([A-Z]+)_GUIDE/ORIENTATION_$1/

* app/flip_tool.[ch]
* app/shear_tool.[ch]: use ORIENTATION_* constants instead of our own

* app/disp_callbacks.c: remove HORIZONTAL and VERTICAL #defines

* app/general.h: enumified TOKEN_* symbols

* app/lc_dialog.c
* app/paint_funcs.c: remove unused variables

* tools/pdbgen/lib.pl: autogen gimpenums.h (unfinished)

* tools/pdbgen/stddefs.pdb: new std_orientation_enum, remove
layer_mode shortcut since we've skipped it in app/

* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gimage.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: reflect above enum changes, whitespace
cleanups

* tools/pdbgen/enums.pl
* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/color_cmds.c
* app/drawable_cmds.c
* app/gimage_cmds.c
* app/layer_cmds.c
* app/procedural_db_cmds.c
* app/tools_cmds.c: reflect pdb and enum nick changes above

-Yosh
1999-07-28 23:00:08 +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
Tomas Ogren a89287a132 app/actionarea.c app/dodgeburn.c app/fuzzy_select.c app/gimpparasite.c
1999-07-27  Tomas Ogren  <stric@ing.umu.se>

* app/actionarea.c
* app/dodgeburn.c
* app/fuzzy_select.c
* app/gimpparasite.c
* app/gimpunit.c
* app/procedural_db_cmds.c
* app/resize.c: Misc i18n fixes
1999-07-27 00:14:14 +00:00
MEST 1999 Sven Neumann 33167e4c37 Restrict to horizontal/vertical blend when modifiers are pressed.
Mon Jul 26 20:11:01 MEST 1999  Sven Neumann <sven@gimp.org>

        * app/blend.c: Restrict to horizontal/vertical blend when modifiers
        are pressed.

--Sven
1999-07-26 18:13:10 +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
Sven Neumann 645f85352d Indentation paranoia!
--Sven
1999-07-19 19:46:05 +00:00
Michael Natterer 2518748a66 moved the _() wrappers out of the macro again, so they actually get
1999-07-19  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gdisplay.c (gdisplay_set_menu_sensitivity): moved the _()
	wrappers out of the macro again, so they actually get
	processed. Reported by <Daniel.Egger@t-online.de>.
1999-07-19 13:42:12 +00:00
Tor Lillqvist fe1cc678c1 app/makefile.cygwin app/makefile.msc plug-ins/makefile.cygwin
* app/makefile.cygwin
	* app/makefile.msc
	* plug-ins/makefile.cygwin
	* plug-ins/makefile.msc
	* modules/makefile.cygwin
	* modules/makefile.msc
	* tools/gcg/makefile.cygwin: Various updates. GCC-compiled DLL
	name change.

	* app/context_manager.c: Include paint_options.h for prototype.

	* app/gimpimage.c (gimp_image_initialize_projection): Break out of
 	loop as soon as possible.

	* app/menus.c (menus_last_opened_cmd_callback): Check if referring
 	to entry not in list.

	* app/module_db.c (valid_module_name): (Win32) Require module DLL
 	names to include name of compiler built with.

	* app/paths_dialog.c (paths_draw_segment_points): No use to draw
 	lines if we have less that two points.

	* app/qmask.c: Include stdio.h and floating_sel.h.

	* libgimp/makefile.cygwin: New file.

	* libgimp/Makefile.am:  Distribute above file.

	* libgimp/gimp.def: Update.

	* libgimp/gimpenv.c (gimp_directory): Don't warn about missing
 	home directory on Win32, it is perfectly natural.

	* plug-ins/sel2path/global.h: Bypass unused declarations, some
	of which clash with functions in MSVCRT.

	* plug-ins/sel2path/math.c
	* modules/colorsel_water.c: Define M_PI if necessary.

	* plug-ins/sel2path/sel2path.c: Include config.h and
 	glib.h. Define rint() if needed.

	* plug-ins/sel2path/vector.c: Include glib.h (for hypot() renaming
 	on Win32; In the MS C runtime, as hypot() is non-ANSI, it's called
 	_hypot(), sigh).

	* plug-ins/sinus/sinus_logo.h: Use indexed format, it is easier on
 	some compilers than the huge string.
1999-07-14 16:02:32 +00:00
Michael Natterer 9f92d833f0 Undo/Redo should be sensitive even if there is no layer :-)
1999-07-10  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gdisplay.c (gdisplay_set_menu_sensitivity): Undo/Redo should
	be sensitive even if there is no layer :-)

	* app/commands.h
	* app/docindex.[ch]
	* app/docindexif.[ch]
	* app/file_new_dialog.[ch]: some #include cleanups.

	* plug-ins/helpbrowser/Makefile.classic: less primitive version.
1999-07-10 11:53:42 +00:00
Seth Burgess a513b0d10e Fixed minor bugs, tweaked behavior if no selection to be consistant. 1999-07-10 04:40:51 +00:00
MEST 1999 Sven Neumann 9fa818fafc applied a (modified) patch from Shuji Narazaki <narazaki@gimp.org>
Fri Jul  9 20:12:12 MEST 1999  Sven Neumann <sven@gimp.org>

        * app/app_procs.c: applied a (modified) patch from
        Shuji Narazaki <narazaki@gimp.org>

        * app/gimpimage.c: applied a modified) patch from
        Tom Rathborne <tomr@aceldama.com> that aligns guides on layer_resize


--Sven
1999-07-09 18:15:39 +00:00
Michael Natterer 434915b03d mysteriously, using the new tool constructor fixed the crop tool redraw
1999-07-09  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/crop.c: mysteriously, using the new tool constructor fixed
	the crop tool redraw problem.

	* app/gdisplay.c: clode cleanup

	* app/info_dialog.c: never emit signals when updating the info
	fields. Fixes some more transform tool grid redraw bugs.
1999-07-09 12:24:36 +00:00
Michael Natterer ee7af4285d don't make menus unreachable by forgetting to set them sensitive again.
1999-07-07  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/gdisplay.c (gdisplay_set_menu_sensitivity): don't make menus
        unreachable by forgetting to set them sensitive again.

and a tiny .cvsignore update in plug-ins/common
1999-07-07 13:32:58 +00:00
Sven Neumann cba5651da6 cosmetic changes
--Sven
1999-07-07 10:55:48 +00:00
Seth Burgess 7058d4c631 Added Qmasks 7-6-99 <sjburges@gimp.org>
* pixmaps/qmasknosel.xpm
        * pixmaps/qmasksel.xpm: Ugly pixmaps that tigert promised to replace

        * app/channel.[ch]
        * app/channel_cmds.c : made some of the private structures accessible
          through exported functions to keep things a bit clean

        * app/interface.c
        * app/gdisplay.[ch]
        * app/gimpimageP.h
        * app/gimpimage.[ch]
        * app/undo.[ch]: added qmasks

        * app/Makefile.am
        * app/qmask.[ch]: added new files for qmask support

        * tools/pdbgen/pdb/channel.pdb: changed some channel stuff to keep
          things a bit more private
1999-07-07 03:18:54 +00:00
BST 1999 Andy Thomas 3fcea79688 ./app/layer.c.orig ./app/lc_dialog.c.orig ./app/paths_dialog.c.orig
Tue Jul  6 22:16:07 BST 1999 Andy Thomas <alt@gimp.org>

	* ./app/layer.c.orig
	* ./app/lc_dialog.c.orig
	* ./app/paths_dialog.c.orig
	* ./app/pathsP.h.orig
	* ./libgimp/gimpmenu.c.orig
	* ./tools/pdbgen/pdb/paths.pdb.orig
	* ./app/paths_cmds.c
	* ./app/internal_procs.c

	Fixed small LCP menu preview problems. Now works for all
	image types and updated correctly when alpha channel added.

	Additional PDB functions for paths. Fixed some PDB functions
	(gimp_paths_set_points). Now works as advertised.
1999-07-06 21:19:34 +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
MEST 1999 Sven Neumann 27d47091bb give user feedback on the threshold use an optionmenu for the gradient
Tue Jul  6 19:58:48 MEST 1999 Sven Neumann <sven@gimp.org>

        * app/fuzzy_select.c: give user feedback on the threshold
        * app/paintbrush.c: use an optionmenu for the gradient type
        instead of using 4 radiobuttons
        * app/blend.c: indentation paranoia

        Hopefully I have merged in Michaels changes correctly ...

--Sven
1999-07-06 18:13:59 +00:00
Michael Natterer 1058f41dab app/airbrush.c app/blend.c app/bucket_fill.c app/clone.c app/convolve.c
1999-07-06  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/airbrush.c
        * app/blend.c
        * app/bucket_fill.c
        * app/clone.c
        * app/convolve.c
        * app/dodgeburn.c
        * app/eraser.c
        * app/ink.c
        * app/paintbrush.c
        * app/pencil.c
        * app/smudge.c: get opacity/paint mode from the current context
        (currently always the user context).

        * app/gimage_mask.c: the "stroke" command uses the paintbrush's
        settings if the current context is the user context and we are in
        per-tool paint options mode.

        * app/context_manager.[ch]
        * app/paint_options.h
        * app/preferences_dialog.c
        * app/tool_options.c
        * app/tools.c: moved the global/per-tool paint options switching
        to the context manager. The tool options themselves only contain
        the widgets for them now. This should fix the segfaults happening
        in per-tool mode.
	Removed the disclaimer from the prefs. dlg. as it seems to work
	now. The impl. in the context manager however is still a hack.

        * app/brush_select.c
        * app/brushes_cmds.c
        * tools/pdbgen/pdb/brushes.pdb: same as above.

        * app/lc_dialog.c: minimal code reduction. No functionality changed.
1999-07-06 15:18:25 +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
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