Commit Graph

1315 Commits

Author SHA1 Message Date
Michael Natterer ba70ce9a10 changed GimpHelpFunc typedef: - renamed "const gchar *help_data" to "const
2003-08-23  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpwidgetstypes.h: changed GimpHelpFunc typedef:
	- renamed "const gchar *help_data" to "const gchar *help_id".
	- added "gpointer help_data".

	* libgimpwidgets/gimphelpui.[ch]: added "gpointer help_data" to
	gimp_help_connect(). Removed all fiddling with html links and
	treat all help IDs as opaque identifiers.

	* app/core/gimptoolinfo.[ch]: changed "help_data" member to
	"help_id".

	* app/widgets/gimpitemfactory.[ch]: removed the "help_path"
	parameter from gimp_item_factory_new() since we don't fiddle with
	html file paths any more. Simplifies menu item help a lot.
	Renamed "help_data" member of struct GimpItemFactoryEntry to
	"help_id".

	* app/gui/plug-in-menus.c: changed accordingly. 3rd party
	plug-ins' menu item help IDs are now encoded as
	"help_path:help_id".

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c: when constructing the <Load> and
	<Save> menus, take the resp. procedures' locale_domain and
	help_path into account. Fixes translation of 3rd party menu items.
	Also do the right thing for load/save procs which are implemented
	as temporary procedures (they are impossible to implement
	currently but it's nice to do the right thing anyway...).

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_MAIN identifier.

	* libgimpwidgets/gimpdialog.[ch]
	* libgimpwidgets/gimpwidgets.[ch]
	* libgimp/gimpui.c
	* app/display/gimpdisplayshell.c
	* app/gui/gui.c
	* app/gui/about-dialog.c
	* app/gui/color-notebook.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-dialog-utils.[ch]
	* app/gui/gradients-commands.c
	* app/gui/help-commands.c
	* app/gui/image-menu.c
	* app/gui/menus.c
	* app/gui/preferences-dialog.c
	* app/gui/tips-dialog.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimphelp.[ch]
	* app/widgets/gimpmenufactory.[ch]
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpviewabledialog.[ch]
	* plug-ins/common/CEL.c
	* plug-ins/common/CML_explorer.c
	* plug-ins/common/gee.c
	* plug-ins/common/gee_zoom.c
	* plug-ins/common/gqbist.c
	* plug-ins/common/spheredesigner.c
	* plug-ins/flame/flame.c
	* plug-ins/fp/fp_gtk.c
	* plug-ins/helpbrowser/helpbrowser.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/imagemap/imap_main.c: changed accordingly. Removed
	trailing whitespace all over the place.
2003-08-23 19:35:05 +00:00
Michael Natterer a319c455d9 app/widgets/Makefile.am new file defining the available help topics. Work
2003-08-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/gimphelp-ids.h: new file defining the available help
	topics. Work in progress and totally unusable for matching to the
	help system. Stay tuned...

	* app/gui/about-dialog.c
	* app/gui/brushes-menu.c
	* app/gui/buffers-menu.c
	* app/gui/channels-commands.[ch]
	* app/gui/channels-menu.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradients-commands.c
	* app/gui/gradients-menu.c
	* app/gui/image-menu.c
	* app/gui/layers-commands.[ch]
	* app/gui/layers-menu.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palettes-menu.c
	* app/gui/patterns-menu.c
	* app/gui/resize-dialog.c
	* app/gui/select-commands.c
	* app/gui/templates-menu.c
	* app/gui/tips-dialog.c
	* app/gui/toolbox-menu.c
	* app/gui/vectors-commands.[ch]
	* app/gui/vectors-menu.c: replaced literal HTML file paths by help
	IDs from gimphelp-ids.h. Renamed some menu callbacks to be
	consistent with similar ones. This is just an intermediate commit
	and not finished.

	While browsing all the menus, I noticed that our "x to selection"
	functions are not consistent at all. They should all offer the
	REPLACE,ADD,SUBTRACT,INTERSECT options:

	* app/core/gimpchannel.[ch]: added new function
	gimp_channel_new_from_alpha(). Removed gimp_channel_layer_alpha()
	and gimp_channel_layer_mask().

	* app/core/gimpimage-mask.[ch]: added
	gimp_image_mask_select_alpha() and
	gimp_image_mask_select_component() which offer the full set of
	operation, feather and feather_radius parameters as the other
	selection functions.

	* app/core/gimpimage-mask-select.[ch]: removed
	gimp_image_mask_layer_alpha() and gimp_image_mask_layer_mask().

	* app/gui/channels-commands.c (channels_channel_to_selection): use
	gimp_image_mask_select_component() instead of implementing it
	here.

	* app/gui/image-menu.c
	* app/gui/layers-commands.[ch]: offer the full choice of
	REPLACE,ADD,SUBTRACT,INTERSECT with "Alpha to Selection" and "Mask
	to Selection".

	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/selection_cmds.c: regenerated.
2003-08-21 15:54:47 +00:00
Michael Natterer 58a3fb2f6a fixed GIMP_CHANNEL_OP_INTERSECT for channels which are smaller than the
2003-08-20  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask-select.c
	(gimp_image_mask_select_channel): fixed GIMP_CHANNEL_OP_INTERSECT
	for channels which are smaller than the selection (create a temp
	channel like rect and ellipse select do). Also, don't modify the
	input channel when feathering.
2003-08-20 17:14:57 +00:00
Sven Neumann 6ef4d95fdb added devel-docs/app.
2003-08-09  Sven Neumann  <neo@bender>

	* configure.in: added devel-docs/app.

	* app/core/gimpitem.c
	* app/widgets/gimpdialogfactory.c: more documentation fixes.

2003-08-09  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* app: added a first version of docs for the application. The
	templates are not yet in CVS and it's not built by default (and
	probably never will be).
2003-08-09 16:46:02 +00:00
Sven Neumann 2dbb388024 app/config/gimpconfig-deserialize.c app/config/gimpconfig-serialize.c
2003-08-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig.c
	* app/config/gimprc.c
	* app/core/gimpitem.[ch]
	* app/display/gimpprogress.[ch]
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpenummenu.c
	* app/widgets/gimpfontselection.c
	* app/widgets/gimpwidgets-utils.c: documentation fixes.
2003-08-08 19:30:23 +00:00
Henrik Brix Andersen 2ff979d421 added more intuitive decribtions
2003-07-31 Henrik Brix Andersen <brix@gimp.org>

* app/core/core-enums.h (GimpGridType): added more intuitive
decribtions

* app/core/core-enums.c: regenerated

* app/display/gimpdisplayshell.c (gimp_display_shell_draw_grid):
use gdk_draw_point() instead of gdk_draw_line() for dots-only mode

* .cvsignore: added gimptool-win32.c
2003-07-31 01:41:01 +00:00
Michael Natterer 6c0c7fda33 moved the code which manipulates gimage->layer_stack and the call to
2003-07-29  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_set_active_layer): moved the
	code which manipulates gimage->layer_stack and the call to
	gimp_layer_invalidate_boundary() inside the if(layer != active_layer)
	branch so it is called less often. Fixes the slowness of bug #104440
	for most cases since we don't need to recalculate the selection
	boundary in the next step.

	(gimp_image_set_active_channel): call
	gimp_layer_invalidate_boundary() before setting the active_layer
	to NULL. Fixes stale layer boundary when switching to a channel.

	* app/display/gimpdisplay.c (gimp_display_flush_whenever): when
	there are no updates, we still need to restart the selection.
	Fixes missing layer boundary when switching from a channel to
	a layer.
2003-07-29 16:36:56 +00:00
Henrik Brix Andersen 351557433b renamed GIMP_GRID_TYPE_INTERSECTION to GIMP_GRID_TYPE_INTERSECTIONS, added
2003-07-28 Henrik Brix Andersen <brix@gimp.org>

* app/core/core-enums.h (GimpGridType): renamed
  GIMP_GRID_TYPE_INTERSECTION to GIMP_GRID_TYPE_INTERSECTIONS, added
  GIMP_GRID_TYPE_DOTS

* app/core/core-enums.c: regenerated

* app/gui/grid-dialog.c
* app/core/gimpgrid.c: changed accordingly

* app/display/gimpdisplayshell.c (gimp_display_shell_draw_grid): added
  code to draw the dots-only grid
2003-07-28 21:26:11 +00:00
Hans Breuer b70d6c3317 renamed GimpOrientationType with Compat postfix to avoid name clashing
2003-07-26  Hans Breuer  <hans@breuer.org>

	* libgimp/gimpcompat.h : renamed GimpOrientationType
	with Compat postfix to avoid name clashing when using
	this header together with libgimp/gimpenums.h

	* app/composite/makefile.msc : (new file)
	  **/makefile.msc : updated

	* libgimp/gimp.c : use static defined _tile<widht|height>
	in this file instead of function call

	* libgimp/gimp.def libgimp/libgimpui.def : moved from former
	to latter : gimp_<brush|font|gradient|pattern>_select_<new|destroy>
	added to former gimp_<brushes|gradients|patterns>_popup

	* app/paint/gimppaintcore.h : removed double semicolon
	which gave msvc error C2059: syntax error : ';'

	* libgimpbase/gimpwin32-io.h : (new file) compatibilty defines
	which were spread over multiple files to make up mostly for
	missing unistd.h

	* app/base/tile-swap.c app/core/gimpimagefile.c
	  libgimpbase/gimpdatafiles.c
	  plug-ins/FractalExplorer/FractalExplorer.c : use new header

	* plug-ins/gflare/gflare.c
	  plug-ins/flame/flame.c
	  plug-ins/FractalExplorer/Dialogs.c :
	removed #ifdef G_OS_WIN32 special casing, not needed anymore
	due to g_file_test() usage

	* app/text/*.* : changes required for build with PangoWin32,
	but not commited ...
2003-07-26 17:37:32 +00:00
Michael Natterer 7a9e1ceb33 app/core/gimpimage-undo-push.c (gimp_image_remove_layer)
2003-07-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (gimp_image_remove_layer)
	* app/core/gimpimage.c (undo_pop_layer)
	* app/text/gimptextlayer.c (gimp_text_layer_render):
	gimp_layer_invalidate_boundary() must be called whenever a layer
	gets translated, resized or removed. Fixes stale layer outlines in
	the canvas padding area.
2003-07-25 16:12:35 +00:00
Sven Neumann d75a2f79ba app/config/Makefile.am moved code from gimpconfig.[ch] to these new files.
2003-07-24  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/gimpconfig-error.[ch]: moved code from gimpconfig.[ch]
	to these new files.

	* app/config/gimpconfig-utils.[ch]: moved gimp_config_string_indent()
	here from gimpconfig.[ch].

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfigwriter.c
	* app/config/gimprc.c
	* app/config/gimpscanner.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/widgets/gimpdevices.c: changed accordingly.
2003-07-24 14:14:23 +00:00
Michael Natterer f9e1967a50 add the name of the tool to the header and footer strings.
2003-07-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimptooloptions.c (gimp_tool_options_serialize):
	add the name of the tool to the header and footer strings.
2003-07-24 12:07:22 +00:00
Sven Neumann c0e5a4c749 fixed build rules. There must not be a dependency that causes
2003-07-24  Sven Neumann  <sven@gimp.org>

	* app/composite/Makefile.am: fixed build rules. There must not be
	a dependency that causes gimp-composite-dispatch.[ch] to be
	regenerated since we don't want to depend on Python for our build.

	* app/core/gimpdrawable-blend.c (gradient_fill_region)
	(gradient_put_pixel): fixed a problem with the new gradient
	dithering on grayscale drawables (bug #118141).
2003-07-24 11:10:47 +00:00
Michael Natterer 075195d16b added "gboolean reverse" to gimp_gradient_get_color_at() so all gradients
2003-07-22  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpgradient.[ch]: added "gboolean reverse" to
	gimp_gradient_get_color_at() so all gradients can be used
	reversed.

	* app/core/gimpdrawable-blend.[ch] (gimp_drawable_blend)
	* app/core/gimppalette-import.[ch] (gimp_palette_import_from_gradient):
	added "gboolean reverse".

	* app/paint/paint-enums.[ch]: removed enum GimpGradientRepeatMode
	since it is identical to GimpRepeatMode, except for the now
	obsolete ONCE_BACKWARD value.

	* app/paint/gimppaintcore.[ch]: removed
	gimp_paint_core_get_color_from_gradient()...

	* app/paint/gimppaintoptions.[ch]: ...and added
	gimp_paint_options_get_gradient_color(), which is much more
	general. Added a "reverse" property to GimpGradientOptions and
	changed the type of the "repeat" property to GimpRepeatMode.

	* app/paint/gimppaintbrush.c: use
	gimp_paint_options_get_gradient_color().

	* app/tools/gimpblendoptions.[ch]: removed the "repeat" property
	since it is in the parent class now.

	* app/gui/gradient-select.c
	* app/gui/palette-import-dialog.c
	* app/widgets/gimpgradienteditor.c
	* app/tools/gimpblendtool.c
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.

	* app/tools/gimppaintoptions-gui.c: added a "Reverse" toggle right
	of the gradient preview.

	* app/widgets/gimppreviewrenderergradient.[ch]: added "gboolean
	reverse" member and gimp_preview_renderer_gradient_set_reverse()
	API.

	* tools/pdbgen/pdb/paint_tools.pdb: fixed the paintbrush invoker
	to set GimpPaintOption's "use-fade" and "use-gradient" properties
	correctly.

	* app/pdb/gradients_cmds.c
	* app/pdb/misc_tools_cmds.c
	* app/pdb/paint_tools_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimpmisctools_pdb.[ch]
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.

	* libgimp/gimpcompat.h
	* plug-ins/script-fu/siod-wrapper.c: removed GimpGradientPaintMode
	here too since it was only exported accidentially (it's not used
	by any external API).

	* plug-ins/script-fu/scripts/3dTruchet.scm
	* plug-ins/script-fu/scripts/alien-glow-arrow.scm
	* plug-ins/script-fu/scripts/alien-glow-bar.scm
	* plug-ins/script-fu/scripts/alien-glow-bullet.scm
	* plug-ins/script-fu/scripts/alien-glow-button.scm
	* plug-ins/script-fu/scripts/alien-glow-logo.scm
	* plug-ins/script-fu/scripts/basic1-logo.scm
	* plug-ins/script-fu/scripts/basic2-logo.scm
	* plug-ins/script-fu/scripts/beveled-button.scm
	* plug-ins/script-fu/scripts/blended-logo.scm
	* plug-ins/script-fu/scripts/burn-in-anim.scm
	* plug-ins/script-fu/scripts/coffee.scm
	* plug-ins/script-fu/scripts/comic-logo.scm
	* plug-ins/script-fu/scripts/coolmetal-logo.scm
	* plug-ins/script-fu/scripts/glossy.scm
	* plug-ins/script-fu/scripts/gradient-bevel-logo.scm
	* plug-ins/script-fu/scripts/gradient-example.scm
	* plug-ins/script-fu/scripts/pupi-button.scm
	* plug-ins/script-fu/scripts/rendermap.scm
	* plug-ins/script-fu/scripts/sphere.scm
	* plug-ins/script-fu/scripts/starscape-logo.scm
	* plug-ins/script-fu/scripts/test-sphere.scm
	* plug-ins/script-fu/scripts/textured-logo.scm
	* plug-ins/script-fu/scripts/title-header.scm
	* plug-ins/script-fu/scripts/weave.scm: pass "reverse" to
	gimp_blend(). Pass FALSE in most cases and added script
	parameters were it makes sense.
2003-07-22 14:24:11 +00:00
Sven Neumann 75306ec3af app/core/gimpdrawable-blend.[ch] app/tools/gimpblendoptions.[ch]
2003-07-21  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-blend.[ch]
	* app/tools/gimpblendoptions.[ch]
	* app/tools/gimpblendtool.c
	* tools/pdbgen/pdb/misc_tools.pdb
	* plug-ins/script-fu/scripts/: applied a slightly modified patch
	from Alastair M. Robinson that adds dithering to the blend tool
	(bug #97777).

	* app/pdb/misc_tools_cmds.c
	* libgimp/gimpmisctools_pdb.[ch]: regenerated.
2003-07-21 01:13:35 +00:00
Michael Natterer 486aed8e0d added "gboolean allow_percent" to gimp_param_spec_unit() and to the
2003-07-17  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-params.[ch]: added "gboolean allow_percent"
	to gimp_param_spec_unit() and to the GIMP_CONFIG_INSTALL_PROP_UNIT()
	macro. Changed value validation accordingly.

	* app/config/gimpconfig-types.c (string_to_unit): parse "percent"
	correctly.

	* app/widgets/gimppropwidgets.c (gimp_prop_unit_menu_new): show
	the "Percent" menu entry if the param_spec allows percent.

	* app/config/gimpcoreconfig.c
	* app/core/gimpgrid.c
	* app/core/gimptemplate.c
	* app/text/gimptext.c: pass FALSE to disallow percent.

	* app/paint/gimppaintoptions.c
	* app/tools/gimpselectionoptions.c: pass TRUE. Brings back the
	percent feature for fade_length, gradient_length and fixed_size
	rect/ellipse select.

	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimpmagnifyoptions.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptransformoptions.c: don't call the the reset()
	functions from the GUI constructors (and reset the options just
	deserialized from disk). Instead, added set_defaults() functions
	which do everything the old reset() functions did (except
	upchaining) and call set_defaults() from reset() and from the GUI
	constructors.
2003-07-17 15:22:21 +00:00
Michael Natterer 9c7ff98375 fixed pattern depth check to allow RGBA patterns again. Removed trailing
2003-07-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppattern.c (gimp_pattern_load): fixed pattern depth
	check to allow RGBA patterns again. Removed trailing whitespace.
2003-07-14 23:30:18 +00:00
Michael Natterer 5096672060 app/core/gimpbrush.c app/paint/gimppaintcore.c app/tools/gimpcurvestool.c
2003-07-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpbrush.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimptool.c
	* app/tools/tool_manager.h: removed trailing whitespace.
2003-07-10 12:13:21 +00:00
Michael Natterer e8a7307a8f added "guchar threshold" parameters all over the place instead of always
2003-07-10  Michael Natterer  <mitch@gimp.org>

	* app/base/boundary.[ch]: added "guchar threshold" parameters all
	over the place instead of always using 127. Made the HALF_WAY
	#define public.
	(find_empty_segs): don't crash if PR->tiles is NULL but treat
	PR->data as the entire buffer so the function can be used on
	PixelRegions of TempBufs.

	* app/core/gimpchannel.c
	* app/core/gimplayer-floating-sel.c
	* app/tools/gimpfuzzyselecttool.c: pass HALF_WAY to
	find_mask_boundary().
2003-07-10 11:59:38 +00:00
Dave Neary afddfa9e21 app/core/gimpbrush-header.h Replace guint by guint32 just in case we're on
2003-07-10  Dave Neary  <bolsh@gimp.org>

        * app/core/gimpbrush-header.h
        * app/core/gimppattern-header.h: Replace guint by guint32
        just in case we're on a platform with 16 bit ints.

        * app/core/gimppattern.c: Uncomment a check for
        colourdepth of the pattern. There are no other values
        possible outside the range 1-4, but it serves as a
        sanity check in case people do odd things.

        * configure.in: Add a --enable-profile configure flag to
        allow profiling support. Adds -pg to the CFLAGS.
2003-07-09 23:52:48 +00:00
Michael Natterer efb6ff5b27 added GimpGradientSegment typedef.
2003-07-08  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added GimpGradientSegment typedef.

	* app/core/gimpgradient.h: removed it here.

	* app/core/gimpgradient.c: no need to cast the return value
	of g_object_new().
2003-07-08 14:30:57 +00:00
Sven Neumann 5c4020edf2 libgimpmath/gimpmathtypes.h moved struct declarations.
2003-07-07  Sven Neumann  <sven@gimp.org>

	* libgimpmath/gimpmathtypes.h
	* libgimpmath/gimpvector.h: moved struct declarations.

	* libgimpmath/gimpmatrix.[ch]: made GimpMatrix3 and GimpMatrix4
	structs instead of typedefs for arrays. Pass them by reference,
	not by value. Added lots of const qualifiers.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-transform-utils.[ch]
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimplayer.c
	* app/pdb/transform_tools_cmds.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.
2003-07-07 13:50:48 +00:00
Henrik Brix Andersen 84af6e1b2c applied a patch from Pedro Gimeno <pggimeno@wanadoo.es> which fixes
2003-07-04 Henrik Brix Andersen <brix@gimp.org>

* app/core/gimpdrawable-bucket-fill.c
(gimp_drawable_bucket_fill_full): applied a patch from Pedro
Gimeno <pggimeno@wanadoo.es> which fixes segmentation fault when
using <Image>/Edit/Fill with [FB]G Color.
2003-07-04 21:14:17 +00:00
Henrik Brix Andersen 5943f03135 Added persistent storage of image grid in XCF files.
2003-07-04 Henrik Brix Andersen <brix@gimp.org>

Added persistent storage of image grid in XCF files.

* app/core/gimpimage.[ch]: removed gimp_image_get_grid() and
gimp_image_set_grid() ...

* app/core/Makefile.am
* app/core/gimpimage-grid.[ch]: ... and added them to these new
files. Added gimp_grid_parasite_name(), gimp_grid_to_parasite()
and gimp_grid_from_parasite() functions.

* app/core/gimpimage-snap.c
* app/gui/grid-dialog.c: #include "gimpimage-grid.h"

* app/core/gimpimage-undo-push.c: #include "gimpimage-grid.h".
(gimp_image_undo_push_image_grid) mark image as dirty.

* app/xcf/xcf-save.c (xcf_save_image_props): save GimpGrid object
as a parasite.

* app/xcf/xcf-load.c (xcf_load_image): load GimpGrid from
parasite.

* devel-docs/parasites.txt: documented the new "gimp-image-grid"
parasite.
2003-07-04 19:55:58 +00:00
Dave Neary 6bbec4dd45 Add alpha channel to temp buffer from gimpimage if there's an alpha
2003-07-04  Dave Neary  <bolsh@gimp.org>

        * app/core/gimpdrawable-bucket-fill.c: Add alpha channel
        to temp buffer from gimpimage if there's an alpha
        channel in the pattern being applied.
2003-07-03 22:25:58 +00:00
Michael Natterer 74710fccf4 changed GimpDatafileLoaderFunc to take a separate "gpointer user_data"
2003-07-02  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbasetypes.h: changed GimpDatafileLoaderFunc to
	take a separate "gpointer user_data" parameter (passing user_data
	in a struct was a quite nonstandard API design). Made the
	GimpDatafileData pointer const.

	* libgimpbase/gimpdatafiles.[ch]: removed user_data from the
	GimpDatafileData struct and added "const gchar *basename" so we
	don't need to g_path_get_basename() in many callbacks.

	* libgimp/gimpmiscui.[ch]: changed gimp_plug_in_parse_path() to
	gimp_plug_in_get_path() and return the unparsed path.

	* app/core/gimpdatafactory.c
	* app/core/gimpenvirontable.c
	* app/gui/gui.c
	* app/plug-in/plug-ins.c
	* libgimpmodule/gimpmoduledb.c
	* plug-ins/script-fu/script-fu-scripts.c: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.[ch]
	* plug-ins/FractalExplorer/Globals.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: use gimp_datafiles_read_directories()
	instead of fiddling with g_dir_open() manually. Random cleanups.
2003-07-02 17:11:00 +00:00
Manish Singh 35907ff2f6 handle options with -'s in them
2003-06-29  Manish Singh  <yosh@gimp.org>

        * tools/gimp-mkenums: handle options with -'s in them

        * tools/pdbgen/enumgen.pl: redo a bunch of logic for the below

        * app/core/core-enums.h: use /*< pdb-skip, skip >*/ for skipping
        in both gimp-mkenums and enumgen.pl

        * app/core/core-enums.c: regenerated
2003-06-29 21:54:09 +00:00
Michael Natterer 8dd2e80792 Getting rid of some legacy filenames:
2003-06-29  Michael Natterer  <mitch@gimp.org>

	Getting rid of some legacy filenames:

	* app/core/Makefile.am
	* app/core/gimptooloptions.[ch]: new files.

	* app/paint/gimppaintoptions.h: changed #include accordingly.
	#define GIMP_PAINT_OPTIONS_CONTEXT_MASK here.

	* app/tools/paint_options.[ch]
	* app/tools/tool_options.[ch]: removed these files.

	* app/tools/gimppaintoptions-gui.[ch]
	* app/tools/gimptooloptions-gui.[ch]: new files.

	* app/tools/gimppainttool.h: removed GIMP_PAINT_TOOL_OPTIONS_MASK
	define again.

	* app/tools/Makefile.am
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpblendoptions.c
	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcoloroptions.[ch]
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcropoptions.[ch]
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpflipoptions.[ch]
	* app/tools/gimpinkoptions.c
	* app/tools/gimpmagnifyoptions.[ch]
	* app/tools/gimpmeasureoptions.[ch]
	* app/tools/gimpmoveoptions.[ch]
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpselectionoptions.[ch]
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptextoptions.[ch]
	* app/tools/gimptransformoptions.[ch]
	* app/tools/tool_manager.c
	* app/gui/tool-options-dialog.c: changed accordingly.

	* app/tools/tools.c: moved the vector tool before iscissors.
2003-06-29 20:40:45 +00:00
Dave Neary 46ca5a780b Save patterns with alpha channels, and remove warning while loading
2003-06-28  Dave Neary  <bolsh@gimp.org>

        * plug-ins/common/pat.c: Save patterns with alpha
        channels, and remove warning while loading patterns
        with an alpha channel.

        * app/core/gimppattern.c
        * app/core/gimpdrawable-bucket-fill.c
        * app/paint/gimpclone.c: Make cloning from a pattern
        source, and bucket filling with a pattern, work when
        there's an alpha channel present in the pattern.

        I'm not particularly happy with this, because the only
        way to tell whether there's an alpha channel or not is
        by the number of bytes in the TempBuf the clone and
        bucketfill routines get passed, which is rather
        restrictive. It would be nice if a TempBuf had a
        _has_alpha () method.
2003-06-28 12:36:52 +00:00
Michael Natterer e14e158e70 removed enum GimpContextPropType and enum GimpContextPropMask.
2003-06-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.h: removed enum GimpContextPropType and
	enum GimpContextPropMask.

	* app/core/core-enums.[ch]: added them here.

	* app/core/gimptoolinfo.[ch]: replaced "gboolean tool_context"
	member by "GimpContextPropMask context_props" so each tool can
	specify exactly which context properties it wants to have
	persistently remembered.

	* app/tools/tools-types.h: changed typedef GimpToolRegisterCallback
	accordingly.

	* app/tools/tool_manager.[ch] (tool_manager_register_tool): ditto.

	Removed the "global_tool_context" and initialize all tool info
	objects from the user_context after creation. Removed the
	PAINT_OPTIONS_MASK #define and use the new context_props stored in
	tool_info insted.

	* app/tools/gimppainttool.h: #define the common properties of the
	paint tools as GIMP_PAINT_TOOL_OPTIONS_MASK (which is OPACITY |
	PAINT_MODE | BRUSH).

	* app/tools/[all tools].c (gimp_*_tool_register): replaced the
	"use_context" boolean by the actual mask of context properties the
	tools need.
2003-06-28 11:20:37 +00:00
Michael Natterer a1c1fe4c70 app/core/gimpimage-undo-push.c (undo_pop_image_grid) ref/unref the grid.
2003-06-24  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-undo-push.c (undo_pop_image_grid)
	* app/core/gimpimage.c (gimp_image_set_grid): ref/unref the grid.

	* app/gui/view-commands.c (view_configure_grid_cmd_callback): set
	the dialog transient for the shell, make shell->grid_dialog a
	weak pointer of the grid dialog.

	* app/gui/grid-dialog.c: don't set shell->grid_dialog to NULL
	here, attach the grid using g_object_set_data_full() and don't
	unref it explicitely. Use gimp_config_is_equal_to() instead of
	gimp_config_diff().
2003-06-23 23:34:50 +00:00
Henrik Brix Andersen e985b88ee1 derive GimpGrid from GimpObject (not GObject) allowing us to use
* app/core/gimpgrid.[ch]: derive GimpGrid from GimpObject (not
GObject) allowing us to use gimp_object_get_memsize(). Added
missing copyright notice.

* app/core/gimpimage.c: only call gimp_object_get_memsize() if
gimage->grid != NULL.

* app/gui/grid-dialog.c: added mnemonics, set shell->grid_dialog
to NULL when destroyed.

* app/gui/view-commands.c (view_configure_grid_cmd_callback):
added call to gtk_window_present().
2003-06-23 22:27:54 +00:00
Sven Neumann f30586d112 app/config/gimpconfig.[ch] app/config/gimpconfigwriter.[ch] added support
2003-06-23  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig.[ch]
	* app/config/gimpconfigwriter.[ch]
	* app/config/gimpscanner.[ch]: added support for serializing to
	and deserializing from strings. Had to do some smaller changes to
	the GimpConfig API.

	* app/config/test-config.c: added a simple test for the new
	functions.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimpunits.c
	* app/gui/session.c
	* app/plug-in/plug-in-rc.c
	* app/tools/tool_options.c
	* app/widgets/gimpdevices.c: follow GimpConfig API changes.

	* libgimpbase/gimpparasite.[ch]: declared the return value of
	gimp_parasite_data() as gconstpointer.
2003-06-23 22:02:56 +00:00
Henrik Brix Andersen edd5c33923 Added a per image configurable grid.
This fixes bug #65198

* app/core/Makefile.am
* app/core/core-types.h:
* app/core/gimpgrid.[ch]: added new class GimpGrid.

* app/core/core-enums.[ch]: added new enum GimpGridType.

* app/core/gimpimage-guides.[ch]: removed the gimp_image_snap_*()
functions...

* app/core/gimpimage-snap.[ch]: ...and added them here since they
are no longer guide specific.

* app/core/gimpimage-undo-push.[ch]: added
gimp_image_undo_push_image_grid()

* app/display/gimpdisplayshell-handlers.c:
* app/core/gimpimage.[ch]: added grid member to _GimpImage. Added
new signal "grid_changed", added gimp_image_grid_changed(),
gimp_image_get_grid() and gimp_image_set_grid().

* app/display/gimpdisplayshell-appearance.[ch]: added
gimp_display_shell_set_show_grid(),
gimp_display_shell_get_show_grid(),
gimp_display_shell_set_snap_to_grid() and
gimp_display_shell_get_snap_to_grid().

* app/display/gimpdisplayshell-callbacks.c: added call to
gimp_display_shell_draw_grid()

* app/display/gimpdisplayshell.[ch]: added grid member to
_GimpDisplayShellVisibility, added snap_to_grid and grid_dialog
members to _GimpDisplayShell, added
gimp_display_shell_draw_grid(), modified
gimp_display_shell_snap_coords() to use the new
gimp_image_snap_*() functions.

* app/gui/image-menu.c: added grid entries to
image_menu_entries[].

* app/gui/view-commands.[ch]: added
view_configure_grid_cmd_callback(),
view_toggle_grid_cmd_callback() and
view_snap_to_grid_cmd_callback().

* app/gui/Makefile.am
* app/gui/grid-dialog.[ch]: added a grid dialog.
2003-06-23 19:34:48 +00:00
Michael Natterer 5e950b5501 Cleaned up and improved the message system:
2003-06-13  Michael Natterer  <mitch@gimp.org>

	Cleaned up and improved the message system:

	* app/core/gimp.[ch]: added "const gchar *domain" to
	GimpMessageFunc (a NULL domain means the message is from the GIMP
	core, everything else is a plug-in).

	* app/errors.c: pass "domain == NULL" to gimp_message().

	* tools/pdbgen/pdb/message.pdb: derive the message domain from the
	current plug-in's menu_path (evil hack but works reasonably well).

	* app/pdb/message_cmds.c: regenerated.

	* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
	header showing the message domain and changed the dialog layout to
	follow the HIG more closely.

	* app/gui/error-console-dialog.[ch]: removed.

	* app/widgets/gimperrorconsole.[ch]
	* app/gui/error-console-commands.[ch]
	* app/gui/error-console-menu.[ch]: new files containing a
	re-implementation of the error console dialog.

	* app/gui/Makefile.am
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: changed accordingly.

	* app/display/gimpprogress.c: added more spacing and removed the
	separator (more HIG compliant).

	* plug-ins/[most plug-ins].c: Changed lots of messages and
	progress strings:

	- Removed plug-in names from messages since that's automatically
	  covered by "domain" now.
	- Put all filenames in ''.
	- Changed "Loading" to "Opening".
	- Added "..." to all progress messages.
	- Cleaned up all file open/save error messages to look the
	  same and include g_strerror(errno).
	- Removed special casing for progress bars and *always* show them,
	  not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
	  all plug-ins to do this correctly but need to hack the core to
	  sort out unwanted progress bars).

	Unrelated:

	- Cleaned up indentation, spacing, #includes, coding style and
	  other stuff while I was at all these files.
2003-06-13 14:37:00 +00:00
Sven Neumann 7cb3c316a4 fixed a typo I introduced yesterday.
2003-06-13  Sven Neumann  <sven@gimp.org>

	* app/core/gimptemplate.c (gimp_template_create_image): fixed a
	typo I introduced yesterday.
2003-06-13 11:04:16 +00:00
Michael Natterer 9b206bd4df removed the check again because adding e.g. GRAY drawables to RGB images
2003-06-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_configure): removed the
	check again because adding e.g. GRAY drawables to RGB images is
	prefectly ok as long as they are channels/masks.
2003-06-12 14:18:33 +00:00
Sven Neumann d942668ff6 check if the drawable type fits to the image. This assertion would have
2003-06-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_configure): check if the
	drawable type fits to the image. This assertion would have catched
	the problem below.
2003-06-12 10:43:00 +00:00
Sven Neumann 653b4e0fe7 handle all fill types, fixes bug #114979.
2003-06-12  Sven Neumann  <sven@gimp.org>

	* app/core/gimptemplate.c (gimp_template_create_image): handle all
	fill types, fixes bug #114979.
2003-06-12 10:16:51 +00:00
Michael Natterer 0c6d379081 added some more g_return_if_fail() to avoid NULL pointer dereferencing.
2003-06-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_mask_bounds): added some
	more g_return_if_fail() to avoid NULL pointer dereferencing.
2003-06-11 13:50:04 +00:00
Sven Neumann bc93e4a041 added "in_toolbox"; defaults to TRUE.
2003-06-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimptoolinfo.[ch]: added "in_toolbox"; defaults to TRUE.

	* app/tools/tool_manager.c: set "in_toolbox" to FALSE for tools
	derived from GimpImageTool.

	* app/widgets/gimptoolbox.c: respect the new flag when constructing
	the toolbox.
2003-06-06 14:58:20 +00:00
Sven Neumann b1c437b4f8 use OPAQUE_OPACITY instead of 255.
2003-06-05  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable.c (gimp_drawable_get_color_at):
	* app/core/gimpimage-projection.c (gimp_image_projection_get_color_at):
	use OPAQUE_OPACITY instead of 255.

	* app/core/gimpimage-pick-color.[ch]: factored out code that
	averages over colors so it can be used from GimpImageTool.

	* app/tools/gimpimagemaptool.[ch]: derived from GimpColorTool and
	added a GimpColorTool::pick implementation.

	* app/tools/gimpcoloroptions.c
	* app/tools/gimpcolorpickeroptions.c: add the toggle for
	"sample_merged" in gimp_color_picker_options_gui().

	* app/tools/gimpcolortool.c (gimp_color_tool_cursor_update): check
	if the cursor is over the active drawable or if "sample_merged" is
	active.

	* app/tools/gimplevelstool.c: simplified since all color-picking is
	now handled by the parent classes. Fixes bug #112668.
2003-06-05 18:47:23 +00:00
Michael Natterer f8081a8629 always return channel->x1,y1,x2,y2, *not* tx1,ty1,tx2,ty2 since the latter
2003-06-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_bounds): always return
	channel->x1,y1,x2,y2, *not* tx1,ty1,tx2,ty2 since the latter
	contain bogus values if the mask is empty. Fixes bug #114419.

	* plug-ins/script-fu/scripts/unsharp-mask.scm: cleaned up
	while searching the bug.
2003-06-05 13:27:27 +00:00
Sven Neumann b108d7028b added VOID: ENUM, BOXED, INT.
2003-06-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpmarshal.list: added VOID: ENUM, BOXED, INT.

	* app/tools/gimpcolortool.[ch]: added a default implementation for
	GimpColorTool::pick. Emit a "picked" signal when a color was
	successfully picked.

	* app/tools/gimpcolorpickertool.c: simplified a lot since
	GimpColorTool does most of the work for us now.
2003-06-04 20:23:36 +00:00
Sven Neumann 9d2cc5f82a reordered arguments.
2003-06-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-pick-color.[ch]: reordered arguments.

	* app/tools/gimpcolorpickertool.c
	* app/tools/gimppainttool.c: changed accordingly.
2003-06-04 16:42:46 +00:00
Michael Natterer 0c3ff3b086 fixed offset calculation for 90 and 270 degree rotations.
2003-06-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-rotate.c (gimp_image_rotate_item_offset):
	fixed offset calculation for 90 and 270 degree rotations.

	* app/core/gimpimage-flip.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c: increase the progress also when
	transforming the selection. Makes the progress appear more
	continuous. Also clened up and simplified the progress code
	in all files.

	* app/core/gimpimage-resize.[ch]: added a progress like in the
	files above.

	* app/gui/image-commands.c (image_resize_callback): changed
	accordingly.

	(image_scale_implement): clened up and simplified a lot.

	* tools/pdbgen/pdb/image.pdb: changed accordingly.

	* app/pdb/image_cmds.c: regenerated.
2003-06-03 16:42:46 +00:00
Michael Natterer 2d90edbcf6 make sure channels end up at (0, 0) after scaling and resizing. Fixes bug
2003-06-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.c (gimp_channel_scale, resize): make sure
	channels end up at (0, 0) after scaling and resizing.
	Fixes bug #114213.
2003-06-02 15:19:03 +00:00
Michael Natterer 707e597665 added "gint ref_count" to the TileManager struct.
2003-05-26  Michael Natterer  <mitch@gimp.org>

	* app/base/tile-manager-private.h: added "gint ref_count" to the
	TileManager struct.

	* app/base/tile-manager.[ch]: replaced tile_manager_destroy()
	by tile_manager_ref() and tile_manager_unref().

	* app/core/gimpimage-undo-push.c: ref the tile managers stored in
	the undo system and DON'T destroy them if no undo could be pushed.
	Should fix the remaining crashes with undo disabled like in
	bug #9350.

	(!!!) Note that the tiles passed to gimp_image_undo_push_image()
	and gimp_drawable_push_undo() as well as the tile managers of
	drawables passed to gimp_image_undo_push_[layer|channel]_mod()
	must be unref'ed by the caller now.

	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_paste):
	don't take ownership of the passed tiles but ref them if needed.

	(!!!) Callers must unref the passed tiles themselves now.

	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-offset.c
	* app/core/gimpdrawable.c
	* app/core/gimpedit.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/paint/gimppaintcore.c
	* app/text/gimptextlayer.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimptransformtool-undo.c
	* app/tools/gimptransformtool.c: changed accordingly.
2003-05-26 17:02:06 +00:00
Hans Breuer 89bfbdf66d updated win32 (msvc) build
2003-05-24  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc **/*.def : updated win32 (msvc) build

	* plug-ins/twain/twain.c plug-ins/winsnap/winsnap.c :
	add the extra parameter to gimp_main() calls
2003-05-24 17:00:03 +00:00
Sven Neumann 7ade1c7251 fixed offset of layers and vectors after rotation (bug #113611).
2003-05-24  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage-rotate.c (gimp_image_rotate): fixed offset of
	layers and vectors after rotation (bug #113611).
2003-05-23 22:50:03 +00:00