Commit Graph

8 Commits

Author SHA1 Message Date
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
Simon Budig 47571782a7 Intruduce casting macro GIMP_ANCHOR.
2003-08-26  Simon Budig  <simon@gimp.org>

	* app/vectors/gimpanchor.h: Intruduce casting macro GIMP_ANCHOR.

	* app/tools/gimpvectortool.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpvectors-compat.c: Use it for code readibility.
2003-08-26 14:29:10 +00:00
Sven Neumann 7c4d375aa9 app/vectors/Makefile.am added a simple GimpAnchor API.
2003-07-17  Sven Neumann  <sven@gimp.org>

	* app/vectors/Makefile.am
	* app/vectors/gimpanchor.[ch]: added a simple GimpAnchor API.

	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpstroke.c: use the new functions.
2003-07-17 18:06:32 +00:00
Simon Budig b7e1bb247b app/vectors/gimpanchor.h Anchors now have an enum as type and have the
2002-12-30  Simon Budig  <simon@gimp.org>

        * app/vectors/gimpanchor.h
        * app/vectors/vectors-types.h: Anchors now have an enum as type and
        have the "selected" property.

        * app/vectors/gimpstroke.[ch]
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpvectors-preview.c: Additional functions to get
        information about the graphical representation of the stroke and be
        able to select anchors.

        * app/tools/gimpvectortool.c: semi-usable interface, better graphical
        representation of what is going on. Also make use of the "selected"
        property of the anhors to just display a subset of the control
        handles.
2002-12-30 16:36:01 +00:00
Simon Budig 8e64f969a2 fixed the default spacing, so that lines actually look like 1 pixel
2002-09-30  Simon Budig  <simon@gimp.org>

        * data/brushes/1circle.gbr: fixed the default spacing, so that
        lines actually look like 1 pixel lines...

        * themes/Default/images/tools/.cvsignore: Added some files.

        * app/vectors/gimpanchor.h
        * app/vectors/gimpbezierstroke.[ch]
        * app/vectors/gimpstroke.h
        * app/vectors/gimpvectors.h: Added some stuff, mostly unused
        code that otherwise would just rot on my harddisk. Mitch: I
        need to discuss the data structures with you...
2002-09-30 00:06:30 +00:00
Simon Budig 7f706974e8 app/tools/gimpdrawtool.c Added function gimp_draw_tool_draw_strokes to be
2002-02-26  Simon Budig  <simon@gimp.org>

        * app/tools/gimpdrawtool.c
        * app/tools/gimpdrawtool.h: Added function gimp_draw_tool_draw_strokes
        to be able to draw lines from a GimpCoords array.

        * app/vectors/gimpanchor.h: removed "active", since this should
        be a GUI thing.

        * app/vectors/gimpstroke.c
        * app/vectors/gimpstroke.h
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpbezierstroke.h: Implemented (and fixed API) for
        interpolation.

        * app/tools/gimpvectortool.c
        * app/tools/gimpvectortool.h: Changed accordingly, we can actually
        draw polylines now.
2002-02-26 00:58:04 +00:00
Simon Budig 29b8063356 app/vectors/gimpvectors.c Changed to a container of GimpStrokes. This will
2002-02-25  Simon Budig  <simon@gimp.org>

        * app/vectors/gimpvectors.c
        * app/vectors/gimpvectors.h: Changed to a container of
        GimpStrokes. This will enable it to contain different
        Stroke-types in one Vectors-Object (think Entry in path
        dialog)

        * app/vectors/gimpstroke.c
        * app/vectors/gimpstroke.h
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpbezierstroke.h: New Objects: A connected
        component in a vector.

        * app/vectors/gimpbezier.c
        * app/vectors/gimpbezier.h: Removed, obsoleted by gimpstroke
        and gimpbezierstroke.

        * app/tools/gimpvectortool.c
        * app/vectors/Makefile.am
        * app/vectors/vectors-types.h
        * app/vectors/gimpanchor.h: Changed accordingly.

        There is a nasty bug I am yet unable to find in the tool.
        Don't use it. For some reason a wrong function instead of
        gimp_stroke_real_anchor_get_next gets called. I have *no*
        idea, whats wrong here. I stared at the code for hours.

        If somebody has an idea I'd appreciate a hint.
2002-02-25 03:16:41 +00:00
Simon Budig a7fcc25f10 app/vectors/Makefile app/vectors/Makefile.am app/vectors/Makefile.in
2002-02-22  Simon Budig  <simon@gimp.org>

        * app/vectors/Makefile
        * app/vectors/Makefile.am
        * app/vectors/Makefile.in
        * app/vectors/gimpanchor.h
        * app/vectors/gimpbezier.c
        * app/vectors/gimpbezier.h
        * app/vectors/gimpvectors.c
        * app/vectors/gimpvectors.h
        * app/vectors/vectors-types.h: new files, the beginning
        of a new vector infrastructure for gimp.

        * configure.in
        * app/Makefile.am
        * app/core/core-types.h: changed accordingly.

        * app/tools/Makefile.am
        * app/tools/gimpvectortool.c
        * app/tools/gimpvectortool.h
        * app/tools/tools.c: New tool without practical use (yet),
        using the new infrastructure.

        to be continued...
2002-02-22 00:11:37 +00:00