Commit Graph

385 Commits

Author SHA1 Message Date
eb7f99bb8f added #defines for GimpCoords' default pressure, tilt and wheel values.
2004-02-23  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: added #defines for GimpCoords' default
	pressure, tilt and wheel values.

	* app/display/gimpdisplayshell-callbacks.c
	* app/paint/gimppaintcore-stroke.c
	* app/text/gimptext-vectors.c
	* tools/pdbgen/pdb/paint_tools.pdb: use them. Fixes lots more
	buggy default values for tilt (in fact all of them were wrong).

	* app/pdb/paint_tools_cmds.c: regenerated.
2004-02-23 22:36:50 +00:00
d14a5075ed app/file/Makefile.am app/paint/Makefile.am app/text/Makefile.am changed
2004-02-09  Manish Singh  <yosh@gimp.org>

        * app/file/Makefile.am
        * app/paint/Makefile.am
        * app/text/Makefile.am
        * app/xcf/Makefile.am: changed GTK_CFLAGS to GDK_PIXBUF_CFLAGS, since
        we don't use any gtk/gdk functions here. This especially helps in the
        text directory, since it avoids problems on broken setups with old
        fontconfig stuff in the X11 directory lying around.
2004-02-09 09:11:10 +00:00
5cbb416a91 new file to keep common definitions for the msc build use common
2004-02-07  Hans Breuer  <hans@breuer.org>

	* gimpdefs.msc : new file to keep common definitions for the msc build
	* **/makefile.msc : use common defintions, e.g. GIMP_VER
	* Makefile.am : add the former to EXTRA_DIST
2004-02-07 23:01:33 +00:00
82276adaa4 Disallow to rename the layer mask. Instead, always name the mask "<layer
2004-02-01  Michael Natterer  <mitch@gimp.org>

	Disallow to rename the layer mask. Instead, always name the mask
	"<layer name> mask". Fixes bug #133112 along with some other
	unreported ones.

	* app/core/gimpitem.[ch]: added a boolean return value indicating
	success to GimpItem::rename().

	(gimp_item_real_rename): push an undo step only if the item is
	attached.

	* app/core/gimplayer.c (gimp_layer_rename): refuse renaming if
	the layer is a floating selection floated from a channel
	(renaming a layer's floating selection makes a new layer out
	of the floating selection).

	(gimp_layer_duplicate): use gimp_layer_add_mask() to attach the
	mask's duplicate. Fixes mask refcount brokenness for duplicated
	layer masks.

	(gimp_layer_name_changed): new function. Automatically renames the
	layer mask when the layer's name changes.

	* app/core/gimplayermask.c (gimp_layer_mask_rename): new function
	which refuses renaming.

	(gimp_layer_mask_name_changed): skip the unique name voodoo
	GimpItem does by not chaining up.

	(gimp_layer_mask_set_layer): change the mask's name whenever it is
	attached to a layer.

	* app/text/gimptextlayer.c (gimp_text_layer_rename): fiddle with
	text_layer->auto_rename only if renaming was successful.

	* app/widgets/gimpitemtreeview.c (gimp_item_tree_view_name_edited):
	restore the old name if renaming failed.

	* tools/pdbgen/pdb/drawable.pdb (set_name): return an execution
	error if renaming failed.

	* app/pdb/drawable_cmds.c: regenerated.
2004-02-01 20:38:26 +00:00
2af9dfb5d5 account for the fact that XLFD stores point sizes in decipoints.
2004-01-26  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext-xlfd.c (gimp_text_font_size_from_xlfd):
	account for the fact that XLFD stores point sizes in decipoints.

	* app/text/gimptext-vectors.c: s/TEXT_DEBUG/GIMP_TEXT_DEBUG/
2004-01-26 18:49:33 +00:00
748d432f3a removed gimp_image_owns_item() again.
2004-01-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: removed gimp_image_owns_item() again.

	* app/core/gimpitem.[ch]: instead, added new virtual function
	GimpItem::is_attached().

	* app/core/gimpchannel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimpselection.c
	* app/vectors/gimpvectors.c: implement it.

	* app/core/gimp-edit.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimplayer-floating-sel.c
	* app/text/gimptext-compat.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/transform_tools.pdb_ changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-01-26 16:18:16 +00:00
dc3ac41965 add the layer to the image before pasting to it. Fixes bug #132504.
2004-01-26  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/scripts/unsharp-mask.scm: add the layer to
	the image before pasting to it. Fixes bug #132504.

	Fixed the underlying problem: make it impossible to attach
	floating selections to drawables which are not currently part of
	the image's layer or channel stacks.
	Also cleaned up image <-> floating_sel interaction:

	* app/core/gimplayer-floating-sel.[ch] (floating_sel_attach):
	added assertion that the drawable is part of the image (see below).
	Don't call gimp_image_floating_selection_changed(), it's emitted
	by gimp_image_add_layer() now.

	(floating_sel_remove)
	(floating_sel_anchor): don't emit "floating_selection_changed",
	it's emitted by gimp_image_remove_layer() now.

	(floating_sel_anchor): removed the fix for bug #132162 because
	gimp_image_remove_layer() behaves correctly now (see below).

	Renamed floating_sel_reset() to floating_sel_activate_drawable().
	Added g_return_if_fail() all over the place.

	* app/core/gimpimage.[ch]: added new function gimp_image_owns_item()
	which return TRUE if the passed item is part of the image.

	(gimp_image_add_layer): emit "floating_selection_changed" here if
	needed.

	(gimp_image_remove_layer): emit "floating_selection_changed" if
	needed, don't try to activate a layer if we called
	floating_sel_activate_drawable().
	This is the real fix for bug #132162.

	* app/core/gimpimage-undo-push.c (undo_pop_layer): apply the same
	fixes as to gimp_image_add,remove_layer(). Don't call
	gimp_drawable_invalidate_preview() on the previously active layer
	because that's done by gimp_image_set_active_layer() now.

	* app/xcf/xcf-load.c: remember the "floating_sel_drawable" in the
	XcfInfo struct and attach it *after* all layers and channels are
	loaded to avoid attaching the floating selection to an
	out-of-image drawable.

	* app/core/gimp-edit.c (gimp_edit_paste)
	* app/core/gimpdrawable-transform.c (gimp_drawable_transform_affine,
	gimp_drawable_transform_flip, gimp_drawable_transform_rotate)
	* app/core/gimpselection.c (gimp_selection_float)
	* app/text/gimptext-compat.c (text_render): added checks for
	gimp_image_owns_item() in all functions which can produce
	floating selections.

	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: added checks for
	gimp_item_owns_image() and return an execution error if invoked
	with a drawable which is not part of the image.

	* app/pdb/edit_cmds.c
	* app/pdb/floating_sel_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/text_tool_cmds.c
	* app/pdb/transform_tools_cmds.c: regenerated.
2004-01-26 15:34:47 +00:00
e9bc82c676 fixed text positioning for fonts where glyphs extend the logical rectangle
2004-01-25  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c (gimp_text_layout_position): fixed
	text positioning for fonts where glyphs extend the logical
	rectangle (bug #132495).
2004-01-25 21:06:01 +00:00
d7c8844ce5 Minor cleanup, add note about using pango_fc_font_description_from_pattern
2004-01-15  Manish Singh  <yosh@gimp.org>

        * app/text/gimpfontlist.c: Minor cleanup, add note about using
        pango_fc_font_description_from_pattern from pango 1.4 when we
        can.
2004-01-15 22:02:30 +00:00
cc2534b167 Set PangoStretch from FC_WIDTH. This partially addresses #131561 (namely,
2004-01-15  Manish Singh  <yosh@gimp.org>

        * app/text/gimpfontlist.c: Set PangoStretch from FC_WIDTH. This
        partially addresses #131561 (namely, the gimp side).
2004-01-15 20:54:32 +00:00
dec20d8214 Enabled skipping enum values for either the PDB or GType registration
2004-01-06  Michael Natterer  <mitch@gimp.org>

	Enabled skipping enum values for either the PDB or GType
	registration (don't always skip both targets):

	* tools/gimp-mkenums: skip enum values only if there is a literal
	"skip" (don't match "pdb-skip").

	* tools/pdbgen/enumgen.pl: skip only "pdb-skip" values, not "skip"
	ones.

	* app/base/base-enums.h
	* app/core/core-enums.h
	* app/paint/paint-enums.h
	* libgimpbase/gimpbaseenums.h: use the right "pdb-skip"/"skip"
	combination to skip enum values. Changed comments accordingly.

	Cleaned up the fill functions:

	* app/core/core-enums.[ch]: added GIMP_PATTERN_FILL enum value to
	the GimpFillType enum. Don't export GIMP_NO_FILL to the PDB
	because it's completely useless to export a NOP.

	* app/core/gimp-edit.c (gimp_edit_fill, gimp_edit_fill_internal):
	handle pattern fill requests.

	* app/core/gimpdrawable.[ch] (gimp_drawable_fill): added GimpPattern
	parameter and fill with it if it's non-NULL.

	(gimp_drawable_fill_by_type): handle pattern fill and pass the
	current pattern to gimp_drawable_fill().

	* app/text/gimptextlayer.c: changed accordingly.

	* app/gui/edit-commands.c
	* app/gui/image-menu.c: use gimp_edit_fill() instead of
	gimp_drawable_bucket_fill() for FG, BG and pattern filling.

	* libgimp/gimpcompat.h
	* plug-ins/script-fu/siod-wrapper.c: removed NO_IMAGE_FILL compat
	enum value. It should have never been exported to the PDB.

	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* libgimp/gimpenums.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c
	* tools/pdbgen/enums.pl: regenerated.
2004-01-06 14:02:08 +00:00
3451c82f4f added GIMP_UNDO_TEXT_LAYER to GimpUndoType enum.
2004-01-05  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: added GIMP_UNDO_TEXT_LAYER to
	GimpUndoType enum.

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

	* app/text/gimptextlayer.[ch]: renamed gimp_text_layer_render() to
	gimp_layer_text_layer_flush().
	Added new function gimp_text_layer_discard().

	* app/text/gimptextlayer-transform.c: changed accordingly.

	* app/gui/image-menu.c
	* app/gui/layers-commands.[ch]
	* app/gui/layers-menu.c: added menu entries that allow to discard
	the text information of a text layer (bug #118547).

	* app/widgets/gimppreviewrendererlayer.c
	(gimp_preview_renderer_layer_render): treat text layers without a
	text object like ordinary layers.

	* app/widgets/gimppreviewrenderer-utils.c: include gimplayer.h
	instead of gimptextlayer.h.
2004-01-05 00:28:12 +00:00
25bf860a8a multiply the layout's offsets with PANGO_SCALE, not -PANGO_SCALE. Fixes
2003-12-16  Michael Natterer  <mitch@gimp.org>

	* app/text/gimptextlayout-render.c (gimp_text_layout_render):
	multiply the layout's offsets with PANGO_SCALE, not -PANGO_SCALE.
	Fixes bug #129405.
2003-12-16 13:33:02 +00:00
1baa2d4581 [ I've postponed my reservations against pangoft2/fontconfig/freetype2
2003-12-12  Hans Breuer  <hans@breuer.org>

	[
	 I've postponed my reservations against pangoft2/fontconfig/freetype2
	 usage, so The Gimp should now build with msvc without patching it.
	]

	* app/makefile.msc app/text/makefile.msc : use $(PANGOFT2_CFLAGS) etc.

	* libgimpthumb/makefile.msc : (new file)
	* makefile.msc : added libgimpthumb

	* libgimpthumb/gimpthumbnail.c : include gimpwin32-io.h
	* libgimpthumb/gimpthumb-utils.c : don't compare size pointer
	with GIMP_THUMB_SIZE_FAIL but *size

	* plug-ins/makefile.msc : handle libgimpoldpreview

	* plug-ins/common/decompose.c : define cbrt() if not __GLIBC__

	* plug-ins/common/winclipboard.c : make it compile without gimpcompat.h

	* plug-ins/imagemap/imagemap_csim_lex.c : its a generated file
	but still win32/msvc has no unistd.h

	* plug-ins/pygimp/makefile.msc : (new file) to use the binary you
	need to patch glib, see bug #98737

	* plug-ins/libgimpoldpreview.c : use <libgimp/gimp.h> instead of "gimp.h"

	* **/Makefile.am : added makefile.msc to EXTRA_DIST
2003-12-13 01:35:19 +00:00
b23682bf8e still unacceptable patched to compile without FT2, see bug #113681
2003-11-16  Hans Breuer  <hans@breuer.org>

	* app/text/*.c : still unacceptable patched to compile
	without FT2, see bug #113681

	* **makefile.msc : updated

	* app/config/gimpconfig-dump.c : include gimpwin32-io.h

	* app/plug-in/plug-ins.c : don't depend on g_print handling
	%s with NULL pointers, it doesn't anymore with glib cvs at
	least not on win32

	* app/widgets/gimppropwidgets.c
	  libgimpbase/gimputils.c
	  libgimpwidgets/gimpmemsizeentry.c :
	sorry about the mess, need to work-around a stupi not able
	to cast from guint64 to double

	* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new) :
	avoid 'overflow in floating-point constant arithmetic' by disabling
	an imho alays questionable g_return_val_if_fail() for _MSC_VER only

	* libgimpmodule/gimpmodule.def : sorted

	* libgimpwidgets/gimpfileselection.c : removed unused S_ISDIR
	definition

	* app/gui/themes.c : filenames in rc files need to be escaped
2003-11-16 21:20:14 +00:00
fd30d5c976 app/config/gimpbaseconfig.h use gint64 for all memsize properties.
2003-11-16  Sven Neumann  <sven@gimp.org>

	* app/config/gimpbaseconfig.h
	* app/config/gimpcoreconfig.h: use gint64 for all memsize properties.

	* app/base/tile-manager.[ch] (tile_manager_get_memsize): since
	tiles can be swapped out, a tilemanager can be larger than gsize
	(on 32bit platforms). Use a gint64 to avoid an overflow.

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage-undo.[ch]
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimpitemundo.[ch]
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimpobject.[ch]
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimpundo.[ch]
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c: use gint64 for gimp_object_get_memsize()
	and all its implementations.

	* app/display/gimpdisplayshell-title.c
	* app/gui/info-window.c: changed accordingly.
2003-11-16 17:51:36 +00:00
6eb772946b libgimpwidgets/gimpquerybox.c configure the labels in the message dialog
2003-11-14  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpquerybox.c
	* app/widgets/gimpwidgets-utils.c: configure the labels in the
	message dialog and the query boxes to do automatic word wrapping
	to be HIG compliant.

	* app/app_procs.c
	* app/batch.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-path.c
	* app/config/gimpconfig-utils.c
	* app/config/gimpconfigwriter.c
	* app/config/gimpscanner.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpdatafactory.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimpselection.c
	* app/display/gimpdisplayshell.c
	* app/file/file-utils.c
	* app/gui/brush-select.c
	* app/gui/dialogs-commands.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/palette-select.c
	* app/gui/palettes-commands.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/select-commands.c
	* app/gui/stroke-dialog.c
	* app/gui/tool-options-menu.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c
	* app/plug-in/plug-in-message.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimptransformtool.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimphelp.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/xcf/xcf.c
	* tools/pdbgen/pdb/image.pdb: removed explicit newlines from
	messages. Reduced number of translatable strings by making many
	file error messages the same. Quote single words and filenames
	with 'foo', not "foo". Replaced some more "drawable" by "layer".
	General message cleanup and consistency check.

	* app/pdb/image_cmds.c: regenerated.
2003-11-14 15:33:40 +00:00
4800d849ef app/text/gimptextlayout-render.c (gimp_text_layout_render) handle the case
2003-11-08  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout-render.c (gimp_text_layout_render)
	* app/text/gimptextlayout.c (gimp_text_layout_position): handle
	the case where the ink rectangle exceeds the logical rectangle.
	Fixes bug #126480.
2003-11-08 18:36:49 +00:00
0c68062afe use GTK_STOCK_SELECT_FONT stock icon instead of text tool icon.
2003-11-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptextoptions.c (gimp_text_options_gui): use
	GTK_STOCK_SELECT_FONT stock icon instead of text tool icon.

	* app/text/gimpfont.c: fixed default stock id.

	* app/text/gimp-fonts.c (gimp_fonts_load): don't leave gimp busy
	and the fonts container frozen in case of error.
2003-11-05 01:07:56 +00:00
51113c495c added new command-line option --no-fonts. Might be useful to reduce
2003-11-05  Sven Neumann  <sven@gimp.org>

	* app/main.c: added new command-line option --no-fonts. Might be
	useful to reduce startup time or if there are problems with the
	font configuration.

	* app/app_procs.[ch]
	* app/main.c
	* app/core/gimp.[ch]
	* app/text/gimp-fonts.c: don't load any fonts when gimp is started
	with --no-fonts.

	* docs/gimp-1.3.1.in: documented the new command-line option.
	Updated some outdated information.
2003-11-05 00:33:20 +00:00
ec22027964 register a log handler for the Gimp-Text domain.
2003-11-05  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c: register a log handler for the Gimp-Text domain.

	* app/text/gimpfont.c: code cosmetics.

	* app/text/gimptext-compat.c: removed debugging output.

	Let GIMP work w/o any fonts. Of course you won't get any text
	functionality then:

	* app/text/gimpfontlist.c: don't install any font aliases if no
	fonts were found.

	* app/text/gimptextlayer.c: refuse to render any text layers when
	the GIMP fonts list is empty.

	* app/tools/gimptexttool.c: removed redundant includes.

	* app/tools/gimptextoptions.c: removed the font selection widget.
	This is a temporary regression that will be cured by improving the
	GimpFontView widget.

	* app/widgets/Makefile.am
	* app/widgets/gimpfontselection-dialog.[ch]
	* app/widgets/gimpfontselection.[ch]
	* app/widgets/gimppropwidgets.[ch]: removed the font selection and
	all references to it. Fixes bug #119267.
2003-11-04 23:59:58 +00:00
d049af91e6 use recommended freetype include system of #include <ft2build.h> and
2003-11-03  Manish Singh  <yosh@gimp.org>

        * app/text/gimptext-vectors.c: use recommended freetype include
        system of #include <ft2build.h> and #include FT_GLYPH_H things.
2003-11-03 22:01:22 +00:00
c0ebe2a8a3 app/text/Makefile.am new files that load and save text layers to/from XCF.
2003-10-27  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/text/gimptextlayer-xcf.[ch]: new files that load and save
	text layers to/from XCF.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/text/gimptextlayer.c: removed that code here and use the new
	functions instead.

	* app/text/gimptext-parasite.[ch] (gimp_text_from_parasite): added
	a GError parameter.

	* app/text/gimptextlayer.[ch]: store the name of the parasite that
	the text layer was created from (if read from XCF). Remove the
	parasite when the text layer is edited. If a text layer wasn't
	touched, the original parasite is written back to the XCF file.

	* app/text/gimptextlayout.c (gimp_text_layout_new): handle a NULL
	text string.

	* app/tools/gimptextoptions.c: implement GimpToolOptions::reset
	and save the text across a reset.
2003-10-27 21:50:41 +00:00
142d0725ce app/text/gimptext.[ch] added back "box-unit" property; it makes sense to
2003-10-26  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext.[ch]
	* app/text/gimptextlayout.c: added back "box-unit" property; it
	makes sense to have an extra unit for it.
2003-10-26 12:07:05 +00:00
d533104de7 handle negative float and double values similar to how this is done for
2003-10-26  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	(gimp_config_deserialize_fundamental): handle negative float and
	double values similar to how this is done for integers and the
	like.

	* app/config/gimpconfig-params.h: added two new param flags and
	documented all flags in the header file (for now).

	* app/config/gimpconfig-serialize.h: handle the new param flags
	GIMP_PARAM_DEFAULTS and GIMP_PARAM_IGNORE.

	* app/text/text-enums.[ch]
	* app/text/gimptext.[ch]: added some properties that we will need
	sooner or later. Mark the new properties and a lot of the existing
	ones as GIMP_PARAM_DEFAULTS so that their values are not
	serialized unless changed from the default value.

	* app/text/gimptextlayout.c
	* app/tools/gimptextoptions.c: made all length properties in
	GimpText depend on a single unit.
2003-10-26 00:03:16 +00:00
1a246b695c added "ms" (Malay) now that all po files are there.
2003-10-25  Sven Neumann  <sven@gimp.org>

	* configure.in (ALL_LINUGUAS): added "ms" (Malay) now that all po
	files are there.

	(PANGOFT2_REQUIRED_VERSION) depend on PangoFT2 >= 1.2.2. There are
	a couple of bug-fixes that are needed to make the text tool work.
	Actually you should use at least version 1.2.4.

	(GTK_REQUIRED_VERSION): depend on GTK+ >= 2.2.2. Earlier versions
	had bugs that we don't want to work around any longer.

	* INSTALL: document this change.

	* app/gui/gui.c (gui_post_init): removed the GTK+ version check.

	* app/text/gimptext.[ch]: added properties for letter spacing and
	kerning for compatibility with future GIMP versions implementing
	these features.
2003-10-25 15:25:17 +00:00
78b6153301 added gimp_container_freeze() / _thaw() around font list reloading.
2003-10-18  Michael Natterer  <mitch@gimp.org>

	* app/text/gimp-fonts.c (gimp_fonts_load): added
	gimp_container_freeze() / _thaw() around font list reloading.

	* app/tools/gimp-tools.c (gimp_tools_init): added missing
	gimp_container_freeze().

	* app/widgets/gimpcontainerview.c: connect to the container's
	"freeze" and "thaw" signals and empty / refill the view
	accordingly. Ignore "add", "remove" and "reorder" signals while
	the container is frozen. Fixes font list sorting after refresh and
	speeds up refreshing of fonts, brushes, patterns etc.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpfontview.[ch]: new widget for the font list/grid.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_FONT_REFRESH.

	* app/gui/dialogs-constructors.c: changed accordingly.

	* app/gui/Makefile.am
	* app/gui/fonts-commands.[ch]
	* app/gui/fonts-menu.[ch]: new files: a menu for the font view.

	* app/gui/menus.c (menus_init): register the new <Fonts> menu.

	* app/gui/preferences-dialog.c (prefs_dialog_new): removed the
	fonts refreshing hack from the "Environment" page.
2003-10-18 16:23:15 +00:00
737da42437 removed gimp_config_copy_properties() and added the more intelligent
2003-10-14  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-utils.[ch]: removed
	gimp_config_copy_properties() and added the more intelligent
	gimp_config_sync() instead.

	* app/config/Makefile.am
	* app/config/config-types.h
	* app/config/gimpcoreconfig.[ch]
	* app/config/gimprc-blurbs.h: replaced default image properties
	with a single GimpTemplate object property. Changed the
	set_property function to not replace aggregate objects but call
	gimp_config_sync() instead.

	* app/tools/gimptextoptions.c (gimp_text_options_set_property):
	same change here.

	* app/config/gimpconfig.[ch]: changed return value of
	gimp_config_duplicate() to gpointer to avoid some casts that only
	made the code harder to read.

	* app/widgets/gimptemplateeditor.[ch]: don't keep an internal copy
	here but edit the GimpTemplate passed when the editor was
	constructed.

	* app/gui/preferences-dialog.c: use a GimpTemplateEditor to allow
	editing of the default image paramaters.

	* app/config/gimprc.c
	* app/core/core-types.h
	* app/core/gimp.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-grid.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimptemplate.[ch]
	* app/gui/file-new-dialog.c
	* app/gui/grid-dialog.c
	* app/gui/info-window.c
	* app/gui/resize-dialog.c
	* app/gui/templates-commands.[ch]
	* app/gui/tool-options-commands.c
	* app/text/gimptextlayer.c
	* app/text/gimptextlayer.c
	* app/tools/gimptexttool.c
	* app/widgets/gimptemplateview.c
	* app/xcf/xcf-load.c: changed accordingly.
2003-10-14 15:20:59 +00:00
a88e11afb3 app/widgets/gimpdocked.[ch] renamed GimpDockedIface to
2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdocked.[ch]
	* app/widgets/widgets-types.h: renamed GimpDockedIface to
	GimpDockedInterface.

	* app/display/gimpnavigationview.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpimageeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.

	* app/config/config-types.h
	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-utils.[ch]: added a GimpConfig typedef and
	changed the GimpConfig API to take GimpConfig instead of GObject
	pointers.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp.[ch]
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpgrid.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpparasitelist.c
	* app/core/gimptemplate.c
	* app/core/gimptooloptions.c
	* app/core/gimpviewable.c
	* app/gui/grid-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tool-options-commands.c
	* app/paint/gimppaintcore.c
	* app/pdb/gimprc_cmds.c
	* app/text/gimptext-parasite.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptemplateview.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
2003-10-11 14:30:18 +00:00
f0f3ea36b8 added new function gimp_object_name_collate() which compares two object
2003-10-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpobject.[ch]: added new function
	gimp_object_name_collate() which compares two object names for
	ordering using the linguistically correct rules for the current
	locale and does some caching to speed up subsequent calls.

	* app/core/gimpdatalist.c (gimp_data_list_data_compare_func): use
	gimp_object_name_collate() from here.

	* app/core/gimplist.[ch]: added convenience function
	gimp_list_sort_by_name.

	* app/text/gimpfontlist.c (gimp_font_list_restore): use
	gimp_list_sort_by_name() instead of g_utf8_collate.
2003-10-09 13:35:15 +00:00
482aa11bfb added GIMP_VIEWABLE_MAX_BUTTON_SIZE GIMP_VIEWABLE_MAX_MENU_SIZE.
2003-10-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.h: added GIMP_VIEWABLE_MAX_BUTTON_SIZE
	GIMP_VIEWABLE_MAX_MENU_SIZE.

	* app/core/gimpviewable.c (gimp_viewable_get_popup_size): smarter
	popup size limitation: limit each axis to 2 * MAX_POPUP_SIZE
	and the area to MAX_POPUP_SIZE ^ 2.

	* app/core/gimpbuffer.c
	* app/core/gimpimage-preview.c
	* app/core/gimpitem-preview.c
	* app/text/gimpfont.c (GimpViewable::get_popup_size): removed
	all limitations.

	* app/widgets/gimpcontainermenu.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimpviewablebutton.c: use the new button and menu
	size defines.
2003-10-09 12:26:46 +00:00
74187d7d65 pango_font_description_set_size() takes points not pixels as the old code
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout.c: pango_font_description_set_size()
	takes points not pixels as the old code assumed.

	* app/text/gimptext.c
	* app/text/gimptextlayout-render.c: fixed includes.
2003-10-01 11:52:52 +00:00
6604b16838 set a default resolution on the fontmap since Pango doesn't seem to do
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext-compat.c (text_get_extents): set a default
	resolution on the fontmap since Pango doesn't seem to do this for us.
2003-10-01 01:20:40 +00:00
8240ef1ccc constrain popup size to GIMP_VIEWABLE_MAX_POPUP_SIZE but keep the aspect
2003-09-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimpviewable.c (gimp_viewable_get_popup_size):
	constrain popup size to GIMP_VIEWABLE_MAX_POPUP_SIZE but keep the
	aspect ratio intact. Fixes bug #122923.

	* app/text/gimpfont.c: use a smaller font size for popups so we
	don't exceed the maximum size.
2003-09-22 14:23:03 +00:00
555038debf app/composite/gimp-composite-generic.c app/composite/gimp-composite-mmx.c
2003-09-16  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-generic.c
	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-sse.c
	* app/composite/gimp-composite-sse2.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-path.c
	* app/config/gimpconfig-serialize.c
	* app/core/cpercep.c
	* app/core/gimpunit.c
	* app/gui/palette-import-dialog.c
	* app/gui/plug-in-menus.c
	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c
	* app/pdb/procedural_db.c
	* app/text/gimptextlayout-render.c
	* app/tools/gimpfuzzyselecttool.c
	* app/widgets/gimpcursor.c: some trivial code cleanups: avoid
	casts that discard const qualifiers and avoid useless comparisons
	on unsigned variables. Also reordered qualifiers in function
	declarations (static comes before const).
2003-09-16 13:12:50 +00:00
28d6f0a241 app/core/gimpedit.[ch] app/core/gimpmodules.[ch] app/core/gimpunits.[ch]
2003-09-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpedit.[ch]
	* app/core/gimpmodules.[ch]
	* app/core/gimpunits.[ch]
	* app/text/gimpfonts.[ch]: removed...

	* app/core/gimp-edit.[ch]
	* app/core/gimp-modules.[ch]
	* app/core/gimp-units.[ch]
	* app/text/gimp-fonts.[ch]: ...and added with new names because
	these files operate on members of a Gimp instance and are
	therefore methods of the Gimp object.

	* app/core/Makefile.am
	* app/text/Makefile.am
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/edit-commands.c
	* app/gui/module-browser.c
	* app/gui/preferences-dialog.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/app_procs.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fonts.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/fonts_cmds.c: regenerated.

	* app/core/gimp.c (gimp_init): don't create gimp->fonts.
	(gimp_initialize): call gimp_fonts_init().
	(gimp_restore): call gimp_fonts_load() instead of _init().

	* app/text/gimp-fonts.c (gimp_fonts_init): don't call
	gimp_fonts_load(), just create gimp->fonts and connect to
	"notify::font-path" of gimp->config.
2003-09-15 17:26:28 +00:00
7cf4eb467a removed "visible" and all its API...
2003-09-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: removed "visible" and all its API...

	* app/core/gimpitem.[ch]: ...and added it here.

	* app/core/core-enums.[ch]
	* app/core/gimpimage-undo-push.[ch]: changed the drawable
	visibility undo to be an item visibility undo.

	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: save it in PROP_VECTORS and changed channel
	and layer loading/saving accordingly.

	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-projection.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/text/gimptextlayer.c
	* app/gui/channels-commands.c
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/channel_cmds.c
	* app/pdb/layer_cmds.c: regenerated.

	* app/widgets/gimpdrawabletreeview.[ch]: removed the eye icon...

	* app/widgets/gimpitemtreeview.[ch]: ...and added it here.
2003-09-11 19:52:29 +00:00
3169789d06 removed PANGO_DISABLE_DEPRECATED again since we have to use Pango API that
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am: removed PANGO_DISABLE_DEPRECATED again since
	we have to use Pango API that is deprecated in the HEAD branch.
2003-09-11 15:57:56 +00:00
b9d2950e8f include text-types.h instead of core-types.h
2003-09-10  Manish Singh  <yosh@gimp.org>

        * app/text/gimpfonts.c: include text-types.h instead of core-types.h
2003-09-10 22:27:43 +00:00
dce4bafc73 define PANGO_DISABLE_DEPRECATED.
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am: define PANGO_DISABLE_DEPRECATED.

	* app/text/gimptext-compat.c: avoid deprecated API.
2003-09-07 19:35:07 +00:00
a4bdd93b68 app/display/Makefile.am app/gui/Makefile.am app/paint/Makefile.am
2003-09-07  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/gui/Makefile.am
	* app/paint/Makefile.am
	* app/pdb/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am (INCLUDES): removed $(LIBART_CFLAGS) again.
2003-09-07 19:35:07 +00:00
7a5f914866 To optimize duplicate and/or wrong image updates away, introduced new
2003-09-06  Michael Natterer  <mitch@gimp.org>

	To optimize duplicate and/or wrong image updates away, introduced
	new policy that a child object must never explicitly update or
	invalidate its parent object (just like the GUI is not updated
	explicitly by the core):

	* app/core/gimpdrawable.[ch]: added new signal
	GimpDrawable::update(). Never update or invalidate the image when
	the drawable is updated or invalidated.

	(gimp_drawable_set_visible): don't gimp_drawable_update() the
	drawable since its pixels have not changed.

	* app/core/gimpimage.[ch]: connect to the "add" and "remove"
	signals of the layers and channels containers. Also connect to the
	"update" and "visibility_changed" signals of all drawables in
	these containers (optimizes away updates issued by drawables which
	are not yet added to the image and updates of the selection
	mask). Also, don't propagate updates to the image if the emitting
	drawable is invisible (optimizes away updates issued by invisible
	drawables).

	(gimp_image_add_layer,channel)
	(gimp_image_remove_layer,channel): don't update the image since
	that's done by our "add" and "remove" handlers now.

	(gimp_image_position_layer,channel): update just the image, not
	the drawable since its pixels have not changed.

	(gimp_image_real_colormap_changed)
	(gimp_image_set_component_visible): always call
	gimp_image_update() *and* gimp_viewable_invalidate_preview() to
	get everything updated, since update and invalidate of images are
	not connected.

	* app/core/gimpimage-undo-push.c (undo_pop_layer,channel): don't
	update the drawable since (a) its pixels don't change and (b) the
	image updates itself upon adding/removing now.

	(undo_pop_layer_mod): replaced gimp_image_update() by
	gimp_drawable_update() (just for consistency with other similar
	functions).

	* app/core/gimplayer.c: connect to "update" of the layer mask and
	issue updates on the layer if the mask update has any effect on
	the projection.
	(gimp_layer_create_mask): don't set the mask's offsets here since
	they may be different when we later add the mask to the layer.

	* app/core/gimplayermask.c (gimp_layer_mask_set_layer): set the
	mask offsets here instead.

	* app/core/gimpchannel.c (gimp_channel_translate): update the
	channel even if push_undo == FALSE.

	* app/paint/gimppaintcore.c (gimp_paint_core_finish)
	* app/tools/gimpinktool.c (ink_finish): invalidate both the
	drawable and the image preview since invalidating the drawable
	doesn't invalidate the image any more.

	* app/text/gimptextlayer.c (gimp_text_layer_render_now): also
	update the new extents of the text layer, not only the old one.

	(gimp_text_layer_render_layout): don't update the drawable since
	gimp_drawable_fill() already updated it.
2003-09-06 20:06:53 +00:00
b28c23611b app/display/Makefile.am app/gui/Makefile.am app/paint/Makefile.am
2003-09-06  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/gui/Makefile.am
	* app/paint/Makefile.am
	* app/pdb/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am (INCLUDES): add $(LIBART_CFLAGS) here too.
2003-09-06 17:20:02 +00:00
49179f8820 use gimp_drawable_invalidate_boundary now.
2003-09-04  Manish Singh  <yosh@gimp.org>

        * app/text/gimptextlayer-transform.c: use
        gimp_drawable_invalidate_boundary now.
2003-09-04 17:48:15 +00:00
f9f5089f91 added new pure virtual function GimpDrawable::invalidate_boundary().
2003-09-04  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch]: added new pure virtual function
	GimpDrawable::invalidate_boundary().

	* app/core/gimplayer.[ch]: implement it and removed public
	function gimp_layer_invalidate_boundary().

	* app/core/gimpchannel.[ch]: implement it.

	* app/core/gimpselection.[ch]: implement it and removed public
	function gimp_selection_invalidate().

	* app/core/gimpimage-mask.c (gimp_image_mask_invalidate)
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/text/gimptextlayer.c: changed accordingly.

	* app/core/gimpchannel.[ch]: made gimp_channel_push_undo() a
	public function and made it call
	gimp_drawable_invalidate_boundary(). Added undo_desc strings for
	all undo pushing functions to GimpChannelClass.

	* app/core/gimpselection.[ch]: removed gimp_selection_push_undo()
	since after the change above it was identical to
	gimp_channel_push_undo().  Don't push any undo here since
	upchaining does the right thing now.  Override GimpChannelClass'
	undo_desc strings to say "Selection".

	* app/core/gimpimage-mask.c (gimp_image_mask_push_undo): changed
	accordingly.
2003-09-04 11:33:06 +00:00
22e904aace define PANGO_DISABLE_DEPRECATED.
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am: define PANGO_DISABLE_DEPRECATED.

	* app/text/gimptext-compat.c: avoid deprecated API.
2003-09-03 14:22:34 +00:00
27a2f0f6de removed the _clear() wrapper.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask-select.[ch]: removed the _clear() wrapper.

	* app/core/gimpimage-mask.[ch]: changed accordingly. Added
	"const gchar *undo desc" parameter to
	gimp_image_mask_select_vectors().

	* app/core/gimpimage-qmask.c
	* app/gui/vectors-commands.c
	* app/text/gimptext-compat.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimprectselecttool.c
	* app/widgets/gimpvectorstreeview.c
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly. Also
	replaced some wrappers which still exist.

	* tools/pdbgen/pdb/paths.pdb: stroke using gimp_item_stroke().

	* app/pdb/paths_cmds.c
	* app/pdb/selection_cmds.c: regenerated.
2003-09-03 14:22:34 +00:00
e924a1372b app/text/gimptextlayout-render.c (gimp_text_layout_render)
2003-09-02  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayout-render.c (gimp_text_layout_render)
	* app/widgets/gimpfontselection.c (gimp_font_selection_set_fontname)
	* app/widgets/gimptexteditor.c (gimp_text_editor_new)
	* app/gui/file-save-dialog.c (file_save_ok_callback): plugged
	some memleaks found using memprof.

	* app/vectors/gimpvectors.c: implemented the finalize method.

	* app/vectors/gimpstroke.c: minor code cleanup.

	* app/core/gimpdrawable.c (gimp_drawable_finalize)
	* app/core/gimplayer.c (gimp_layer_finalize)
	* app/core/gimpparasitelist.c (gimp_parasite_list_finalize):
	removed useless assertions.
2003-09-02 13:43:26 +00:00
b658e763f6 Font configuration stuff: You can rescan for fonts on the fly now. A
2003-09-01  Manish Singh  <yosh@gimp.org>

        Font configuration stuff: You can rescan for fonts on the fly now.
        A couple caveats: the text tool font dialog doesn't get updated, but
        that's supposed to be going away. The new font dock doesn't resort
        on update, but mitch is supposed to fix that. :)

        Some nice stuff for advanced font users: GIMP local font directories,
        and an optional site and user fonts.conf.

        I thought about supporting the auto-resan feature in fontconfig,
        but it might take too much time to do a scan so I haven't implemented
        it. Another thing I want to do is create fontconfig caches in the
        local dirs.

        * text/gimpfonts.[ch]: gimp_fonts_init/load/reset implementation.

        * text/Makefile.am: added gimpfonts.[ch]

        * app/core/gimp.c: use gimp_fonts_init/reset.

        * app/config/gimpcoreconfig.[ch]
        * app/config/gimprc-blurbs.h: added font-path config setting.

        * app/gui/preferences-dialog.c: Add a Font Folders section for the
        above. Also added a Rescan Font List button, which goes in the
        Environment section. Not sure if this is the right place...
        it also looks kinda ugly all by its lonesome.

        * app/gui/user-install-dialog.c: mention the fonts directory.

        * themes/Default/images/preferences/Makefile.am
        * themes/Default/images/preferences/folders-fonts.png: dummy icon for
        font folders pref, probably a folder with a little "T" in the corner
        would be good.
2003-09-01 18:20:56 +00:00
a176b8993c removed excessive path debugging output.
2003-09-01  Sven Neumann  <sven@gimp.org>

	* app/xcf/xcf-load.c: removed excessive path debugging output.

	* app/text/gimptext-vectors.c: always close strokes created from
	text outlines.
2003-08-31 23:46:05 +00:00