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-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-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-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-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-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 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-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-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().
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-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-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-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-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-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-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-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-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 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 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-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-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-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 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 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-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 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-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 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-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-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 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-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-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 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-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 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-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-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 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 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 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 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 Simon Budig <simon@gimp.org>
* app/vectors/gimpvectors-export.c: Save an id-attribute
using the vector objects name. Slightly adjusted formatting.
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-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 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.c: simplified the parser and
make it optionally create multiple vectors again.
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 Sven Neumann <sven@gimp.org>
* app/vectors/gimpvectors-import.c (parse_svg_viewbox): return a
transformation matrix in preparation for nested transforms.
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 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 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 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 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 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-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 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-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-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-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-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 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-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 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-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 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-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-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-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-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 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 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().