Commit Graph

220 Commits

Author SHA1 Message Date
Simon Budig d765998230 fixed offset handling. Vectors objects always have 0,0 as offsets and
2004-03-03  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors.c: fixed offset handling. Vectors
	objects always have 0,0 as offsets and image->width,
	image->height as their dimensions.

	Fixes bug #135994.
2004-03-03 13:32:49 +00:00
Michael Natterer 8ebee8d15b 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
	* app/vectors/gimpvectors-compat.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 23:10:21 +00:00
Sven Neumann 1359960a56 added progress callback pointers to gimp_item_scale() and its variants.
2004-02-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpitem.[ch]: added progress callback pointers to
	gimp_item_scale() and its variants.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-scale.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/gui/layers-commands.c97999
	* app/paint-funcs/paint-funcs.[ch]
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly. Fixes bug #97999.

	* app/pdb/layer_cmds.c: regenerated.
2004-02-09 00:09:20 +00:00
Hans Breuer 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
Sven Neumann b49e39e8ed app/core/gimpchannel.c app/tools/gimptexttool.c app/vectors/gimpvectors.c
2004-02-04  Sven Neumann  <sven@gimp.org>

	* app/core/gimpchannel.c
	* app/tools/gimptexttool.c
	* app/vectors/gimpvectors.c
	* app/widgets/gimpbufferview.c: removed double semicolons.
2004-02-04 16:52:35 +00:00
Michael Natterer 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
Michael Natterer 57911bbcba app/app_procs.c app/errors.c app/main.c app/config/gimpconfigwriter.c
2004-01-23  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c
	* app/errors.c
	* app/main.c
	* app/config/gimpconfigwriter.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/gui/user-install-dialog.c
	* app/plug-in/plug-ins.c
	* app/vectors/gimpvectors-import.c: some more gimp_filename_to_utf8().

	* libgimp/gimp.c
	* libgimpmodule/gimpmodule.c
	* libgimpmodule/gimpmoduledb.c: use it here, too, now that is in
	libgimpbase.
2004-01-23 17:24:44 +00:00
Michael Natterer f3c91918de added "gboolean use_default_values" to GimpItem::stroke().
2004-01-22  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added "gboolean use_default_values"
	to GimpItem::stroke().

	* app/core/gimpselection.c: changed accordingly.

	* app/core/gimpchannel.c
	* app/vectors/gimpvectors.c: if use_default_values is TRUE, don't
	use the GimpPaintOptions passed in the GimpPaintInfo, but create a
	new one.

	* app/gui/stroke-dialog.c: pass FALSE so the values as set in the
	tool options are used.

	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paths.pdb: pass TRUE so tool options settings
	don't affect PDB stroke calls. Fixes part 2 of bug #132145.

	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c: regenerated.
2004-01-22 00:16:49 +00:00
Sven Neumann 6d506d51bb include "libgimpbase/gimpbase.h" where needed; removed now unnecessary
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/*/*.c: include "libgimpbase/gimpbase.h" where needed; removed
	now unnecessary inclusions of "file/file-utils.h".
2004-01-19 01:54:11 +00:00
Sven Neumann a70698c4d9 removed file_utils_filename_to_utf8() ...
2004-01-19  Sven Neumann  <sven@gimp.org>

	* app/file/file-utils.[ch]: removed file_utils_filename_to_utf8() ...

	* libgimpbase/gimputils.[ch]: ... and added it here as
	gimp_filename_to_utf8(). Added some docs that promise less than
	the current implementation holds so that we can change the
	implementation later.

	* app/*/*.c: use gimp_filename_to_utf8() where
	file_utils_filenames_to_utf8() has been used before.

	* libgimpbase/gimpbase.def: changed accordingly.

	* configure.in: reset GIMP_INTERFACE_AGE.
2004-01-19 01:08:43 +00:00
Michael Natterer d9b7d7ee06 app/vectors/gimpstroke.c use the GIMP_TYPE_FOO macros instead of
2004-01-18  Michael Natterer  <mitch@gimp.org>

	* app/vectors/gimpstroke.c
	* app/xcf/xcf-load.c: use the GIMP_TYPE_FOO macros instead of
	gimp_foo_get_type(). Minor cleanups.
2004-01-18 17:41:29 +00:00
Tor Lillqvist 18485018b3 Add new function file_utils_filename_to_utf8(), which is to be used when
2004-01-14  Tor Lillqvist  <tml@iki.fi>

	* app/file/file-utils.[ch]: Add new function
	file_utils_filename_to_utf8(), which is to be used when converting
	file names (which are kept in the on-disk encoding) to UTF-8 for
	passing to GTK, or to g_print() etc.

	* app/*/*.c: Call file_utils_filename_to_utf8(). Should fix most
	of the warnings generated by non-UTF8 pathnames. See #130118.

	* libgimpbase/gimpenv.b: Document that gimp_directory() etc return
	strings in the on-disk encoding.

	* libgimpmodule/gimpmodule.c: Convert filenames to UTF-8 (using
	g_filename_to_utf8()) before passing to g_print().
2004-01-14 02:03:37 +00:00
Henrik Brix Andersen 4455035971 plug-ins/common/psd.c app/vectors/gimpvectors-import.c removed more double
2004-01-07 Henrik Brix Andersen <brix@gimp.org>

* plug-ins/common/psd.c
* app/vectors/gimpvectors-import.c
* tools/pdbgen/pdb/gradients.pdb: removed more double semi-colons.

* app/pdb/gradients_cmds.c: regenerated.
2004-01-07 23:18:38 +00:00
Simon Budig 618467b8e1 When there is a visible path, it cannot be stored in the XCF in a portable
2003-12-30  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors-compat.c: When there is a visible
	path, it cannot be stored in the XCF in a portable manner.

	* app/xcf/xcf-save.c: Removed Debug output
2003-12-30 18:00:07 +00:00
Sven Neumann 9630d40834 removed the GError parameter from gimp_vectors_export_string() and
2003-12-21  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-export.[ch]: removed the GError parameter
	from gimp_vectors_export_string() and implemented this function.
2003-12-21 11:52:20 +00:00
Sven Neumann 3e1b93cce0 added gimp_xml_parser_parse_buffer().
2003-12-20  Sven Neumann  <sven@gimp.org>

	* app/config/gimpxmlparser.[ch]: added gimp_xml_parser_parse_buffer().

	* app/vectors/gimpvectors-export.[ch]: renamed gimp_vectors_export()
	to gimp_vectors_export_file() and added a stub called
	gimp_vectors_export_string().

	* app/vectors/gimpvectors-import.[ch]: renamed gimp_vectors_import()
	to gimp_vectors_import_file() and added gimp_vectors_import_buffer().

	* app/gui/vectors-commands.c
	* tools/pdbgen/pdb/paths.pdb: changed accordingly.

	* app/pdb/paths_cmds.c: regenerated.
2003-12-21 00:23:36 +00:00
Hans Breuer 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
Michael Natterer 80fbda0540 removed gimp_g_object_get_memsize()...
2003-11-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.[ch]: removed gimp_g_object_get_memsize()...

	* app/core/gimp-utils.[ch]: ...and added it here along with
	some other memsize utilities for GHashTables and G(S)Lists.

	* app/core/gimp.c
	* app/core/gimpimage.c
	* app/core/gimpparasitelist.c
	* app/core/gimpviewable.c
	* app/vectors/gimpstroke.c (GimpObject::get_memsize): use the new
	functions.
2003-11-25 12:53:29 +00:00
Hans Breuer 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
Sven Neumann 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
Michael Natterer 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
Simon Budig 795698e311 New vectors now are invisible by default. A quick poll on #gimp revealed
2003-11-11 Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors.c: New vectors now are invisible by
	default. A quick poll on #gimp revealed that this is more
	useful. Also loading images with compatibility paths works
	more as expected.
2003-11-10 23:28:56 +00:00
Simon Budig 31f7e362ac New function that appends a duplicate of the source vectors strokes to the
2003-11-07 Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors.[ch]: New function that appends a
	duplicate of the source vectors strokes to the list of strokes
	of a target vectors object.

	* app/core/gimpimage-merge.[ch]
	* app/core/core-enums.h: Use this new function to merge
	the visible vectors in an Image. New Undo type for vectors merging.

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

	* app/gui/vectors-menu.c
	* app/gui/vectors-commands.[ch]
	* app/widgets/gimphelp-ids.h: New Menu entry + callback to invoke
	the merge functionality. New Help ID for the menu entry.
2003-11-07 13:20:52 +00:00
Sven Neumann 69f7bd131c app/core/Makefile.am added small wrappers to ease handling of image units
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpimage-unit.[ch]: added small wrappers to ease
	handling of image units and to hide the core GimpUnit API.

	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpstatusbar.c
	* app/gui/info-window.c:
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpscaletool.c: use the new functions.

	* app/core/gimp-units.c
	* app/vectors/gimpvectors-export.c: use the core GimpUnit API.

	* app/vectors/gimpvectors.c: no need to include gimpunit.h here.
2003-10-01 17:32:14 +00:00
Sven Neumann b563329c28 accept a list of dialog identifiers and try to raise an existing dockable
2003-09-30  Sven Neumann  <sven@gimp.org>

	* app/gui/dialogs-commands.c (dialogs_create_dockable_cmd_callback):
	accept a list of dialog identifiers and try to raise an existing
	dockable from the list. If that fails, create a new one from the
	first entry.

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: specify alternative dialog identifiers
	where appropriate.

	* app/vectors/gimpstroke.c (gimp_stroke_interpolate): use NULL
	instead of 0.
2003-09-30 15:48:14 +00:00
Simon Budig 20683bede5 Accept NULL for ret_closed.
2003-09-30  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpbezierstroke.c:
	(gimp_bezier_stroke_interpolate) Accept NULL for ret_closed.

	* app/widgets/gimppreviewrenderervectors.c: removed "closed"
	variable.

	* app/core/gimpdrawable-stroke.[ch]: Factored out the final
	rendering of the scanconvert. Implemented
	gimp_drawable_stroke_boundary. Unfortunately the results are
	not really good, since the boundary calculation code is
	too exact for this purpose. I have a rough idea how to fix this.

	* app/core/gimpchannel.c: changed accordingly.
2003-09-30 15:16:51 +00:00
Michael Natterer d0e1c1c661 cleanup.
2003-09-30  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintcore-stroke.c: cleanup.

	(gimp_paint_core_stroke_boundary): don't push a separate undo
	for each part of the boundary.

	* app/core/gimpdrawable-stroke.[ch]: added empty stub
	gimp_drawable_stroke_boundary(). Changed
	gimp_drawable_stroke_vectors() to take the GimpStrokeOptions as
	second parameter.

	* app/core/gimpchannel.c (gimp_channel_stroke): use it. No need
	to push an undo group around gimp_paint_core_stroke_boundary().

	* app/vectors/gimpvectors.c: changed accordingly.

	* app/widgets/gimpselectioneditor.[ch]: added a GimpStrokeItemFunc
	pointer and use it for stroking.

	* app/gui/edit-commands.[ch] (edit_stroke_selection): a
	GimpStrokeItemFunc which strokes the selection using the
	stroke-dialog.

	* app/gui/dialogs-constructors.c: use it for the selection editor.
2003-09-30 02:44:17 +00:00
Sven Neumann 489cff5303 app/core/Makefile.am new files with preview code factored out of
2003-09-29  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpitem-preview.[ch]: new files with preview code
	factored out of GimpDrawable.

	* app/core/gimpdrawable-preview.[ch]: code removed here.

	* app/core/gimpdrawable.c
	* app/core/gimpitem.c: let GimpItem implement
	GimpViewable::get_preview_size and GimpViewable::get_popup_size.

	* app/widgets/gimppreviewrenderervectors.c: simple scale to the
	renderer's size; it already respects the aspect ratio.
2003-09-29 23:14:28 +00:00
Simon Budig 7c3b455924 "The last of the Oldenburg commits"
2003-09-28  Simon Budig  <simon@gimp.org>

	"The last of the Oldenburg commits"

	Thanks to the team of the Oldenburg Linux Developers Meeting 2003
	for providing a nice hacking environment.

	* app/vectors/gimpvectors.c: Add a default stock_id.

	* app/widgets/gimppreviewrenderervectors.[ch]: New Widget
	to render the preview of vectors. Just renders a stock item
	now, since I was unable to figure out how to properly draw
	in the GtkWidget.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: Changed accordingly.

	* app/widgets/gimppreviewrenderer-utils.c: Use the new widget.

	* app/core/gimpscanconvert.c
	* app/core/gimpdrawable-stroke.c: Use higher prescision for
	libart-stroking vectors. Reduces artefacts.

	* app/pdb/paths_cmds.c
	* libgimp/gimppaths_pdb.c: Regenerated after Tors changes.
2003-09-28 04:00:50 +00:00
Simon Budig ee3394754b changed the API of gimp_drawable_stroke_vectors to accept
2003-09-27  Simon Budig  <simon@gimp.org>

	* app/core/gimpdrawable-stroke.[ch]: changed the API of
	gimp_drawable_stroke_vectors to accept GimpStrokeOptions
	instead of lots of individual parameters.

	* app/vectors/gimpvectors.c: changed accordingly.
2003-09-27 15:29:21 +00:00
Sven Neumann b2a6cddcfb added unit properties for stroke width and dashes. Use convenience macros
2003-09-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpstrokeoptions.[ch]: added unit properties for
	stroke width and dashes. Use convenience macros from GimpConfig to
	register the properties. Removed init function since all values
	are construct properties.

	* app/vectors/gimpvectors.c: respect the stroke width unit.

	* app/widgets/gimpstrokeeditor.c: added a unit menu here.
2003-09-27 14:58:46 +00:00
Simon Budig 3f76868aee This still is very much in progress. I just want to commit this to avoid
2003-09-27  Simon Budig  <simon@gimp.org>

	This still is very much in progress. I just want to commit this
	to avoid lossage. It kind of works but there definitely is
	code in the wrong place now.

	* app/gui/stroke-dialog.[ch]: New files implementing a dialog
	containing Svens GimpStrokeEditor-Widget.

	* app/gui/Makefile.am: changed accordingly.

	* app/gui/vectors-commands.c: Open the StrokeOptions-Dialog when
	the "stroke" menu entry gets selected.

	* app/vectors/gimpvectors.c: Remove bad #ifdef hacks and use
	Libart/Paintcore-Stroking depending on the type of the stroke_desc
	Parameter.

	* app/core/gimpstrokeoptions.c: Proper handle the Enum-Properties.

	* app/core/gimpscanconvert.[ch]: make the antialias-parameter
	to gimp_scan_convert_new a gboolean.

	* app/tools/gimpiscissorstool.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpimage-mask-select.c: Changed accordingly.
2003-09-27 02:34:18 +00:00
Simon Budig 10a5269e22 New Object, holding the Options for a Libart-Stroke.
2003-09-26  Simon Budig  <simon@gimp.org>

	* app/core/gimpstrokeoptions.[ch]: New Object, holding the
	Options for a Libart-Stroke.

	* app/core/Makefile.am
	* app/core/core-types.h: Changed accordingly.

	* app/core/gimpitem.[ch]: Changed the Signature of
	gimp_item_stroke to accept a GimpObject instead of a
	GimpPaintInfo. This enables us to pass GimpStrokeOptions
	to it. To be cleaned up for 2.2.

	* app/core/gimpselection.c
	* app/core/gimpchannel.c
	* app/vectors/gimpvectors.c: Changed accordingly

	* app/gui/edit-commands.c
	* app/gui/vectors-commands.c
	* app/pdb/edit_cmds.c
	* app/pdb/paths_cmds.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpvectorstreeview.c: Fixed warnings by
	casting the GimpPaintInfo to GimpObject.
2003-09-26 15:37:53 +00:00
Simon Budig 8172df9a15 Add some parameters to gimp_scan_convert_stroke () to expose the
2003-09-26  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.[ch]: Add some parameters to
	gimp_scan_convert_stroke () to expose the Miter-Setting
	and enable dashing of vectors.

	* app/core/gimpdrawable-stroke.c: Use the dashing feature.

	* app/vectors/gimpvectors.c: Expose a bad hack (opacity
	controls the libart-stroke width) in a #define. Default
	is not enabled.
2003-09-26 00:41:10 +00:00
Sven Neumann 7c1c335754 removed debugging output.
2003-09-25  Sven Neumann  <sven@gimp.org>

	* app/config/gimpxmlparser.c (gimp_xml_parser_parse_io_channel):
	removed debugging output.

	* app/vectors/gimpvectors-import.c: simplified viewport handling
	and make it adhere to the spec again (hopefully my interpretation
	of the spec is right).
2003-09-25 15:40:10 +00:00
Sven Neumann b2ad956b0f optionally scale the imported SVG to fit the image.
2003-09-25  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.[ch]: optionally scale the
	imported SVG to fit the image.

	* app/gui/vectors-commands.c: changed accordingly.

	* tools/pdbgen/pdb/paths.pdb: export the new scale parameter to
	the PDB.

	* app/pdb/paths_cmds.c
	* libgimp/gimppaths_pdb.[ch]: regenerated.

	* plug-ins/common/svg.c: scale the imported vectors to image size.
	This makes them always fit :)
2003-09-25 00:39:46 +00:00
Sven Neumann 14b5681a46 fixed the direction of the translation applied for viewBox offsets.
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c (parse_svg_viewbox): fixed the
	direction of the translation applied for viewBox offsets.
2003-09-23 13:38:40 +00:00
Simon Budig fa450f09b5 Previous commit got a broken pipe. 2003-09-21 19:09:56 +00:00
Sven Neumann 3ee7c4d0e0 renamed new enums to use "style" instead of the overloaded term "type".
2003-09-21  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: renamed new enums to use "style" instead
	of the overloaded term "type". Also renamed GimpGridType while I was
	on it.

	* app/core/gimpdrawable-stroke.[ch]
	* app/core/gimpgrid.[ch]
	* app/core/gimpscanconvert.[ch]
	* app/display/gimpdisplayshell.c
	* app/vectors/gimpvectors.c
	* app/gui/grid-dialog.c: changed accordingly.
2003-09-21 10:45:19 +00:00
Simon Budig 09630e45f9 Dave Neary <bolsh@gimp.org>
2003-09-21  Simon Budig  <simon@gimp.org>
            Dave Neary  <bolsh@gimp.org>

	* app/core/gimpdrawable-stroke.c: gimp_image_apply_image () must
	not get the pixel Region twice, use NULL for src1_tiles, which
	then defaults to the drawables tiles. Also pixel_region_init()
	does not take the offsets set by tile_manager_set_offsets into
	account. Use 0,0 instead of x1,y1. Fixes bad crashes.

	* app/core/gimpscanconvert.c: fixed crash for the same reason.

	* app/vectors/gimpvectors.c: Enabled the new stroking by default.
	Of course there should be a dialog to tweak the settings...  :-)
2003-09-21 00:58:04 +00:00
Simon Budig ca07f5ddb2 Dave Neary <bolsh@gimp.org>
2003-09-20  Simon Budig  <simon@gimp.org>
            Dave Neary  <bolsh@gimp.org>

	First steps towards Libart stroking. Right now the code
	crashes and thus is disabled by default. If you want to
	test it, change the #define LIBART_STROKE  in
	app/vectors/gimpvectors.c. Then a click on the stroke button
	in the paths dialog invokes the new code.
	The crash is in gimpdrawable-stroke.c - apparently I did not
	yet get the TileManager stuff correctly.

	* app/core/gimpscanconvert.[ch]: Rewritten to be more clear
	and have an easier API. Now can handle open Paths and
	libart-stroke the (open/closed) polygons defined earlier.

	* app/core/core-enums.h: Added Enums for LineJoin-Type and
	EndCap-Type for stroking.

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

	* app/core/gimpimage-mask-select.c: Use the new API of
	GimpScanConvert where appropriate.

	* app/vectors/gimpvectors.c: Added #define to enable the libart
	stroking. Disabled by default because of the crash mentioned
	above...

	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.[ch]: Removed Libart stuff here.
	Libart usage now lives exclusively in GimpScanConvert.

	* app/core/gimpdrawable-stroke.[ch]: New files for the libart
	stroking (right now just vector objects).
	* app/core/Makefile.am: changed accordingly.

	* app/Makefile.am: Needed to tweak linking.  :-/
2003-09-20 19:58:26 +00:00
Sven Neumann c23a2c479f app/vectors/gimpbezierstroke.c made "closed" a construct_only property and
2003-09-19  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpstroke.c: made "closed" a construct_only property
	and make sure that notify is emitted correctly when it is changed.
2003-09-19 19:19:09 +00:00
Sven Neumann dad3321ea6 revert to the old implementation that is ugly but should work more
2003-09-19  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c (parse_svg_viewbox): revert to
	the old implementation that is ugly but should work more reliably
	in locales that use ',' as the decimal separator. Disable rendering
	of elements with a zero viewBox.
	(parse_svg_length): fixed handling of width and height parameters.
2003-09-19 17:14:05 +00:00
Sven Neumann 7a9d3b04ca removed compiler warning.
2003-09-18  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpbezierstroke.c
	(gimp_bezier_stroke_nearest_point_get): removed compiler warning.

	* app/vectors/gimpvectors-export.c: small formatting change.
2003-09-18 15:08:13 +00:00
Simon Budig 3b1c873724 app/vectors/gimpstroke.[ch] added the endpoint of the segment to the list
2003-09-18  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpbezierstroke.c: (gimp_stroke_nearest_point_get)
	added the endpoint of the segment to the list of returned values.

	* app/tools/gimpdrawtool.[ch]: (gimp_draw_tool_on_vectors_curve)
	return the endpoint also.

	* app/tools/gimpvectortool.[ch]: Use that to activate the
	to-be-changed anchors when dragging on the curve directly.

	* app/tools/gimpmovetool.[ch]: changed accordingly.
2003-09-18 13:20:40 +00:00
Sven Neumann 8010bf3cf2 always save the image size; default to centimeters.
2003-09-18  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-export.c (gimp_vectors_export): always
	save the image size; default to centimeters.
2003-09-18 10:52:48 +00:00
Sven Neumann 1fc2adfc80 save the vectors (or rather image) dimensions in the exported SVG.
2003-09-18  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-export.c: save the vectors (or rather
	image) dimensions in the exported SVG.

	* app/vectors/gimpvectors-import.c: added SVG units parser and
	finished viewport handling. The parser now respects the size
	specified in the SVG and the image resolution. Should also handle
	nested SVGs correctly, but this is untested.
2003-09-18 00:28:03 +00:00
Simon Budig 66cc2b98b5 app/vectors/gimpstroke.[ch] Changed gimp_*_anchor_select to accept the
2003-09-17  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.[ch]: Changed gimp_*_anchor_select to
	accept the selection state as an argument.

	* app/tools/gimpdrawtool.[ch]: Added "exclusive" boolean parameter
	to gimp_draw_tool_on_vectors_handle(), so that you can specify
	that you just get exactly the type of anchor you want to have.

	* app/tools/gimpvectortool.[ch]: Handling of multiple selected
	anchors: Shift-Clicking in Extend mode selects them, you can
	move them together.
2003-09-17 21:49:45 +00:00
Simon Budig ba69b4bd96 Fixed stupid bug (for getting the bounding box you also have to use
2003-09-16  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors.[ch]: Fixed stupid bug (for getting
	the bounding box you also have to use MAX...).
2003-09-16 12:41:10 +00:00
Manish Singh dd35944d57 use -u to prevent garbage collection of symbols prematurely. I wonder if
2003-09-16  Manish Singh  <yosh@gimp.org>

        * app/Makefile.am: use -u to prevent garbage collection of symbols
        prematurely. I wonder if this works everywhere...

        * app/pdb/Makefile.am
        * app/vectors/Makefile.am: remove gross hacks
2003-09-16 01:05:12 +00:00
Simon Budig e899c701ba Implemented an (unused/untested) gimp_vectors_bounds () that returns the
2003-09-16  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors.[ch]: Implemented an (unused/untested)
	gimp_vectors_bounds () that returns the bounding box of an vectors
	object.

	* app/tools/gimpdrawtool.[ch]: made gimp_draw_tool_on_vectors()
	ignore handles/anchors, since they are not visible when that
	function gets used.
2003-09-15 22:41:25 +00:00
Sven Neumann b4cc25eb18 removed...
2003-09-15  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform-utils.[ch]: removed...

	* app/core/gimp-transform-utils.[ch]: ...and added under new names
	because these functions are not at all related to GimpDrawable.
	Changed the function names accordingly.

	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/transform_tools.pdb: changed accordingly.

	* app/pdb/transform_tools_cmds.c: regenerated.
2003-09-15 17:41:18 +00:00
Sven Neumann 304ac0fd54 fixed inline documentation.
2003-09-15  Sven Neumann  <sven@gimp.org>

	* app/config/gimpxmlparser.c: fixed inline documentation.

	* app/vectors/gimpstroke.h: added a missing newline.

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

	* app/app-docs.sgml
	* app/app-sections.txt: updated.
2003-09-15 16:02:59 +00:00
Sven Neumann 80bd6f1c2b app/config/Makefile.am app/config/config-types.h new files that hold a
2003-09-15  Sven Neumann  <sven@gimp.org>

	* app/config/Makefile.am
	* app/config/config-types.h
	* app/config/gimpxmlparser.[ch]: new files that hold a simple XML
	parser based on GMarkupParser. It's not a full-featured XML parser;
	it only adds transparent handling of encodings to GMarkupParser
	and provides a convenient API to deal with files or IO channels.

	* app/vectors/gimpvectors-import.c: use the new GimpXmlParser.

	* app/vectors/gimpvectors-export.c: write encoding attribute.

	* app/tips-dialog.c
	* app/tips-parser.c: use the new GimpXmlParser.

	* app/vectors/Makefile.am: had to add one of those truly ugly
	hacks here in order to get the application linked.
2003-09-15 15:24:52 +00:00
Sven Neumann 00c7d7b402 name the vectors after the path id as found in the SVG.
2003-09-15  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c: name the vectors after the
	path id as found in the SVG.

	* app/vectors/gimpvectors-export.c: further improved formatting.
2003-09-15 12:14:12 +00:00
Simon Budig 3e50f57b8e Save an id-attribute using the vector objects name. Slightly adjusted
2003-09-15  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors-export.c: Save an id-attribute
	using the vector objects name. Slightly adjusted formatting.
2003-09-15 00:31:32 +00:00
Sven Neumann 9a6201ce06 stop creating an extranous vectors object.
2003-09-15  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c (gimp_vectors_import): stop
	creating an extranous vectors object.
2003-09-14 23:30:31 +00:00
Sven Neumann 1495924279 no need to flush the image after exporting vectors.
2003-09-13  Sven Neumann  <sven@gimp.org>

	* app/gui/vectors-commands.c (vectors_export_ok_callback): no need
	to flush the image after exporting vectors.

	* app/vectors/gimpvectors-import.c: improved error handling.
2003-09-14 09:34:22 +00:00
Sven Neumann 26ae4062a7 app/core/core-enums.[ch] add vectors in an undo-group.
2003-09-13  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]
	* app/vectors/gimpvectors-import.c: add vectors in an undo-group.

	* app/gui/vectors-commands.c: added simple file selection dialogs
	for vectors import and export.
2003-09-13 02:33:30 +00:00
Sven Neumann e898287e48 simplified the parser and make it optionally create multiple vectors
2003-09-13  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c: simplified the parser and
	make it optionally create multiple vectors again.
2003-09-13 01:31:50 +00:00
Sven Neumann 804315b8cf rewrote large parts of the SVG parser. It now handles nested groups and
2003-09-13  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c: rewrote large parts of the SVG
	parser. It now handles nested groups and transformations. Still not
	perfect but close.
2003-09-12 22:18:09 +00:00
Sven Neumann 2360c02c15 return a transformation matrix in preparation for nested transforms.
2003-09-12  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c (parse_svg_viewbox): return a
	transformation matrix in preparation for nested transforms.
2003-09-12 17:06:00 +00:00
Sven Neumann 7dd98d215c added gimp_matrix3_affine().
2003-09-12  Sven Neumann  <sven@gimp.org>

	* libgimpmath/gimpmatrix.[ch]: added gimp_matrix3_affine().

	* app/vectors/gimpvectors-import.c: added (yet unused) funtion to
	parse SVG transform attributes.

	* app/vectors/gimpvectors-export.c: fixed a stupid bug.
2003-09-12 13:23:01 +00:00
Simon Budig 8de8105450 Don't lose the last segment of closed paths when exporting...
2003-09-12  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors-export.c: Don't lose the last
	segment of closed paths when exporting...
2003-09-12 09:37:30 +00:00
Simon Budig f549e6946c Implemented more useful SVG export.
2003-09-12  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors-export.c: Implemented more useful
	SVG export.
2003-09-12 00:11:25 +00:00
Sven Neumann 8bd0ec7685 added new function gimp_drawable_transform_matrix_flip().
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform-utils.[ch]: added new function
	gimp_drawable_transform_matrix_flip().

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.c: don't push the complex GimpItem
	transformation API down to GimpStroke. Instead setup the matrices
	in GimpVectors and use a simpler API for GimpStroke.

	* app/vectors/gimpvectors-import.c: changed accordingly.

	* app/vectors/gimpvectors-export.c: close the <path> element.
2003-09-11 01:23:58 +00:00
Sven Neumann 7772ca4606 allow to optionally export all paths from an image into a single SVG file.
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-export.[ch]: allow to optionally export
	all paths from an image into a single SVG file.

	* app/gui/vectors-commands.c: changed accordingly.
2003-09-11 01:23:58 +00:00
Sven Neumann 918651ad72 added new function gimp_drawable_transform_matrix_flip().
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform-utils.[ch]: added new function
	gimp_drawable_transform_matrix_flip().

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.c: don't push the complex GimpItem
	transformation API down to GimpStroke. Instead setup the matrices
	in GimpVectors and use a simpler API for GimpStroke.

	* app/vectors/gimpvectors-import.c: changed accordingly.

	* app/vectors/gimpvectors-export.c: close the <path> element.
2003-09-11 01:23:58 +00:00
Simon Budig b04af97000 Implemented gimp_bezier_stroke_arcto () that creates an elliptical arc in
2003-09-11  Simon Budig  <simon@gimp.org>

	* vectors/gimpbezierstroke.[ch]: Implemented
	gimp_bezier_stroke_arcto () that creates an elliptical arc
	in the way SVG works.

	* vectors/gimpvectors-import.c: use it.
2003-09-11 01:23:58 +00:00
Sven Neumann f8ea814c69 added new function gimp_drawable_transform_matrix_flip().
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-transform-utils.[ch]: added new function
	gimp_drawable_transform_matrix_flip().

	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.c: don't push the complex GimpItem
	transformation API down to GimpStroke. Instead setup the matrices
	in GimpVectors and use a simpler API for GimpStroke.

	* app/vectors/gimpvectors-import.c: changed accordingly.

	* app/vectors/gimpvectors-export.c: close the <path> element.
2003-09-11 01:23:58 +00:00
Sven Neumann 2e33617669 replaced GTK_CFLAGS by GDK_PIXBUF_CFLAGS.
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/vectors/Makefile.am (INCLUDES): replaced GTK_CFLAGS by
	GDK_PIXBUF_CFLAGS.

	* app/vectors/gimpvectors-export.c: added a first draft of
	GimpVectors SVG export.

	* app/gui/vectors-commands.c (vectors_export_cmd_callback): call
	gimp_vectors_export() with a hardcoded filename.
2003-09-10 23:00:45 +00:00
Sven Neumann 0037f5a7ea app/vectors/gimpvectors-import.[ch] allow to optionally create a
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.[ch]
	* app/gui/vectors-commands.c: allow to optionally create a
	GimpVectors object per <path> element. Made this the default until
	there's a GUI for this.
2003-09-10 22:11:02 +00:00
Sven Neumann 693b9011c1 finished basic SVG path import.
2003-09-10  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c: finished basic SVG path import.
2003-09-10 20:27:20 +00:00
Sven Neumann 0700992ea4 call gimp_vectors_import(). Hardcoded filename to path.svg for now.
2003-09-10  Sven Neumann  <sven@gimp.org>

	* app/gui/vectors-commands.c (vectors_import_cmd_callback): call
	gimp_vectors_import(). Hardcoded filename to path.svg for now.

	* app/vectors/gimpvectors-import.c: more work on the SVG parser.
2003-09-10 16:52:45 +00:00
Sven Neumann 9506c7570e started to add framework for SVG parser.
2003-09-10  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-import.c: started to add framework for
	SVG parser.
2003-09-10 14:55:54 +00:00
Sven Neumann eb790849de app/vectors/Makefile.am app/vectors/gimpvectors-export.[ch] added stubs
2003-09-10  Sven Neumann  <sven@gimp.org>

	* app/vectors/Makefile.am
	* app/vectors/gimpvectors-export.[ch]
	* app/vectors/gimpvectors-import.[ch]: added stubs for
	import/export of paths.

	* app/vectors/gimpvectors-preview.h: cosmetics.
2003-09-10 13:05:00 +00:00
Sven Neumann 4a4fa137d0 allow to optionally export all paths from an image into a single SVG file.
2003-09-11  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors-export.[ch]: allow to optionally export
	all paths from an image into a single SVG file.

	* app/gui/vectors-commands.c: changed accordingly.
2003-09-10 13:05:00 +00:00
Sven Neumann 62cd231745 app/vectors/Makefile.am app/vectors/gimpvectors-export.[ch] added stubs
2003-09-10  Sven Neumann  <sven@gimp.org>

	* app/vectors/Makefile.am
	* app/vectors/gimpvectors-export.[ch]
	* app/vectors/gimpvectors-import.[ch]: added stubs for
	import/export of paths.

	* app/vectors/gimpvectors-preview.h: cosmetics.
2003-09-10 13:05:00 +00:00
Simon Budig a0cc73de42 Made gimp_vectors_compat_get_points accept more paths gracefully. It now
2003-09-09  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpvectors-compat.[ch]: Made
	gimp_vectors_compat_get_points accept more paths gracefully. It
	now is sufficient if there is up to one open stroke in the
	vectors object - it does not have to be the last one.

	Added function to determine if all vectors can be saved in
	compatibility mode.

	* app/vectors/gimpanchor.[ch]: Made GimpAnchor a boxed type.
	* app/vectors/gimpstroke.[ch]: Add two properties to gimpstroke:
	"closed" and "control-points" (the latter is
	G_PARAM_CONSTRUCT_ONLY). Added functions to get the points that
	determine the shape of the stroke - necessary for proper saving.

	* app/xcf/xcf-private.h: added new PROP_VECTORS and XcfStrokeType.

	* app/xcf/xcf-load.c: Be able to load PROP_VECTORS, make loading
	of PROP_PATHS ignore empty paths.

	* app/xcf/xcf-save.c: Added code for saving PROP_VECTORS,
	disabled by default. Define NEW_SAVE_CODE if you want to test
	it. No guarantees are made about the forward compatibility of
	the format used.
2003-09-09 15:46:59 +00:00
Dave Neary 1c0b586e33 app/vectors/gimpvectors.[ch] app/vectors/gimpstroke.[ch] Cleanup - removed
2003-09-07  Dave Neary  <bolsh@gimp.org>

        * app/vectors/gimpvectors.[ch]
        * app/vectors/gimpstroke.[ch]
        * app/vectors/gimpbezierstroke.c: Cleanup - removed libart
        from the included headers in the .h files, don't pass around
        libart objects any more. Still stub code.
2003-09-07 18:09:58 +00:00
Simon Budig 078d575b31 Implemented gimp_bezier_stroke_arcto () that creates an elliptical arc in
2003-09-11  Simon Budig  <simon@gimp.org>

	* vectors/gimpbezierstroke.[ch]: Implemented
	gimp_bezier_stroke_arcto () that creates an elliptical arc
	in the way SVG works.

	* vectors/gimpvectors-import.c: use it.
2003-09-07 18:09:58 +00:00
Dave Neary e88298a35c app/vectors/gimpvectors.[ch] app/vectors/gimpstroke.[ch] Cleanup - removed
2003-09-07  Dave Neary  <bolsh@gimp.org>

        * app/vectors/gimpvectors.[ch]
        * app/vectors/gimpstroke.[ch]
        * app/vectors/gimpbezierstroke.c: Cleanup - removed libart
        from the included headers in the .h files, don't pass around
        libart objects any more. Still stub code.
2003-09-07 18:09:58 +00:00
Michael Natterer 47ba171afd app/display/display-types.h app/tools/tools-types.h
2003-09-07  Michael Natterer  <mitch@gimp.org>

	* app/display/display-types.h
	* app/tools/tools-types.h
	* app/vectors/vectors-types.h
	* app/widgets/widgets-types.h: removed some forgotten cruft.

	* app/vectors/gimpbezierstroke.h
	* app/vectors/gimpstroke.h
	* app/vectors/gimpvectors.h: added class struct typedefs here.
2003-09-07 10:29:10 +00:00
Simon Budig 966d58c5c0 Implemented gimp_bezier_stroke_arcto () that creates an elliptical arc in
2003-09-11  Simon Budig  <simon@gimp.org>

	* vectors/gimpbezierstroke.[ch]: Implemented
	gimp_bezier_stroke_arcto () that creates an elliptical arc
	in the way SVG works.

	* vectors/gimpvectors-import.c: use it.
2003-09-07 10:29:09 +00:00
Michael Natterer 1345a6d062 app/display/display-types.h app/tools/tools-types.h
2003-09-07  Michael Natterer  <mitch@gimp.org>

	* app/display/display-types.h
	* app/tools/tools-types.h
	* app/vectors/vectors-types.h
	* app/widgets/widgets-types.h: removed some forgotten cruft.

	* app/vectors/gimpbezierstroke.h
	* app/vectors/gimpstroke.h
	* app/vectors/gimpvectors.h: added class struct typedefs here.
2003-09-07 10:29:09 +00:00
Sven Neumann f6f49b2328 redid the fix for the compiler warning: made gimp_vectors_to_art_vpath()
2003-09-07  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpvectors.[ch]: redid the fix for the compiler
	warning: made gimp_vectors_to_art_vpath() take a const GimpVectors
	again, but don't freeze/thaw it since it isn't changed anyway.
2003-09-07 00:03:36 +00:00
Sven Neumann 99dba1ca01 app/vectors/gimpbezierstroke.c app/vectors/gimpstroke.[ch] removed
2003-09-06  Sven Neumann  <sven@gimp.org>

	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpvectors.[ch]: removed compiler warnings, cleaned
	up coding style issues,
2003-09-06 20:00:38 +00:00
Dave Neary 1d4720e560 Ooops! Sorry for the oversight. app/vectors/gimpvectors.[ch]
2003-09-06  Dave Neary  <bolsh@gimp.org>

        Ooops! Sorry for the oversight.
        * app/vectors/gimpvectors.[ch]
        * app/vectors/gimpstroke.[ch]
        * app/vectors/gimpbezierstroke.c: Changed include order
        to conform to the coding standards in devel-docs/includes.txt
        (which should really be integrated into HACKING).
2003-09-06 18:40:48 +00:00
Dave Neary 0508bdcc4b Include libart headers app/vectors/gimpvectors.[ch]
2003-09-06  Dave Neary  <bolsh@gimp.org>

	* app/vectors/Makefile.am: Include libart headers
	* app/vectors/gimpvectors.[ch]
	* app/vectors/gimpstroke.[ch]
	* app/vectors/gimpbezierstroke.[ch]: Committing unfinished,
	useless stub code for converting a GimpVectors object to a
	libart vector path. Will pad this out later.
2003-09-06 16:39:08 +00:00
Simon Budig 430b96b682 Bah. Fixed stupid error from my last commit.
2003-09-04  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpbezierstroke.c: Bah. Fixed stupid error from
	my last commit.
2003-09-04 13:08:03 +00:00
Simon Budig ea865689d0 Changed the direct dragging of a segment a bit, so that close to one
2003-09-04  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpbezierstroke.c: Changed the direct dragging
	of a segment a bit, so that close to one endpoint only one
	handle gets moved.
2003-09-04 11:54:55 +00:00
Simon Budig 70088acbcd app/vectors/gimpstroke.c Two small hacks to make the editing behave more
2003-09-03  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.c
	* app/vectors/gimpbezierstroke.c: Two small hacks to make the
	editing behave more symmetric (no more a user visible difference
	between extending to the start or to the end of a stroke).

	* app/tools/gimpvectortool.c: Use dashed lines for the connection
	between the anchor and the handles. Looks great IMHO.
2003-09-03 21:35:24 +00:00
Sven Neumann bbfc737efa oops
oops
2003-09-02 14:07:43 +00:00
Sven Neumann b20358c07f removed a superfluous call to g_object_ref().
2003-09-02  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpeditselectiontool.c (init_edit_selection): removed
	a superfluous call to g_object_ref().

	* app/vectors/gimpvectors.c (gimp_vectors_copy_strokes): free the
	old list of strokes.
2003-09-02 14:00:38 +00:00
Sven Neumann 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
Simon Budig f1b283bdde duplicate the closed property too. fixes Bug #120961.
2003-09-02  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpstroke.c: duplicate the closed property too.
	fixes Bug #120961.
2003-09-02 10:18:49 +00:00
Michael Natterer dcb6f225d9 added new virtual function GimpItem::stroke().
2003-09-01  Michael Natterer  <mitch@gimp.org>

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

	* app/core/gimpchannel.c
	* app/vectors/gimpvectors.c: implement GimpItem::stroke().

	* app/core/gimpimage-mask.[ch] (gimp_image_mask_stroke): changed
	signature to match gimp_item_stroke() (the selection mask *really*
	should be a GimpChannel subclass).
	Removed global variable "gboolean gimp_image_mask_stroking"...

	* app/core/gimpimage.[ch]: ...and added "gboolean mask_stroking"
	to the GimpImage struct.

	* app/gui/vectors-commands.[ch]: removed vectors_stroke_vectors().

	* app/widgets/widgets-types.h: removed GimpStrokeItemFunc typedef.

	* app/widgets/gimpvectorstreeview.[ch]: removed "stroke_item_func"
	member and use gimp_item_stroke() instead.

	* app/gui/dialogs-constructors.c (dialogs_vectors_list_view_new)
	* app/gui/edit-commands.c (edit_stroke_cmd_callback)
	* app/gui/vectors-commands. (vectors_stroke_cmd_callback)
	* app/widgets/gimpselectioneditor.c
	(gimp_selection_editor_stroke_clicked)
	* tools/pdbgen/pdb/edit.pdb (gimp_edit_stroke): changed accordingly.

	* app/pdb/edit_cmds.c: regenerated.

	Note that there is no GUI for "stroke channel", although it would
	be utterly cool to have one, since currently slelection stroking
	cannot be masked by a selection (because we stroke the selection).
	Anyway, if anyone has an idea how to trigger "stroke channel" with
	another drawable active (the one to stroke to), please let me
	know...
2003-09-01 17:56:44 +00:00
Simon Budig f09f3657d4 Introduced function to compare two gimpcoords
2003-09-01  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpcoordmath.[ch]: Introduced function to compare
	two gimpcoords

	* app/vectors/gimpstroke.[ch]: virtualized gimp_stroke_close.

	* app/vectors/gimpbezierstroke.c: made the _close function check,
	if there is an unneeded segment (CCA-Sequence with all the same
	coordinates) at the gap to be closed. If so, remove it.
2003-09-01 00:39:47 +00:00
Simon Budig 3ef7043437 fixed it to create proper strokes...
2003-09-01  Simon Budig  <simon@gimp.org>

	* vectors/gimpbezierstroke.c: fixed it to create proper strokes...
2003-08-31 23:22:16 +00:00
Sven Neumann cf35e23578 use the new bezier stroke API.
2003-09-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext-vectors.c: use the new bezier stroke API.

	* app/vectors/gimpbezierstroke.c (gimp_bezier_stroke_new_moveto):
	pass a NULL anchor to the first call of gimp_bezier_stroke_extend().
2003-08-31 22:33:50 +00:00