
@c %start of fragment

@deftp Class <clutter-behaviour-bspline>
Derives from @code{<clutter-scriptable>}, @code{<clutter-behaviour>}.

This class defines no direct slots.

@end deftp

@defop Signal <clutter-behaviour-bspline> knot-reached  (arg0@tie{}@code{<clutter-knot>})
This signal is emitted at the end of each frame.

Since 0.2

@end defop

@deffn Function clutter-behaviour-bspline-new  (alpha@tie{}@code{<clutter-alpha>}) (knots@tie{}@code{<clutter-knot>}) (n_knots@tie{}@code{unsigned-int}) @result{}@tie{} (ret@tie{}@code{<clutter-behaviour>})
Creates a new bezier spline behaviour. You can use this behaviour to drive
actors along the bezier spline, described by the @var{knots} control points.

Bspline is defined by 3n + 1 points, n >=1; any trailing points passed into this
function are stored internally and used during any subsequent
clutter_behaviour_bspline_append_* operations.

@table @var
@item alpha
a @code{<clutter-alpha>}, or @samp{@code{#f}}

@item knots
a list of @code{<clutter-knots>} representing individual control points

@item n-knots
the number of control points

@item ret
a @code{<clutter-behaviour>}

@end table

Since 0.4

@end deffn

@deffn Function clutter-behaviour-bspline-truncate  (self@tie{}@code{<clutter-behaviour-bspline>}) (offset@tie{}@code{unsigned-int})
@deffnx Method truncate
Truncates the bezier spline at the control point; if the control point at offset
is not one of the on-curve points, the bspline will be truncated at the nearest
preceeding on-curve point.

@table @var
@item bs
a @code{<clutter-behaviour-bspline>}

@item offset
offset of control where the bspline should be truncated

@end table

Since 0.4

@end deffn

@deffn Function clutter-behaviour-bspline-join  (self@tie{}@code{<clutter-behaviour-bspline>}) (bs2@tie{}@code{<clutter-behaviour-bspline>})
@deffnx Method join
Joins a copy of bezier spline bs2 onto the end of bezier spline bs1; bs2 is not
modified.

@table @var
@item bs1
a @code{<clutter-behaviour-bspline>}

@item bs2
a @code{<clutter-behaviour-bspline>}

@end table

Since 0.4

@end deffn

@deffn Function clutter-behaviour-bspline-split  (self@tie{}@code{<clutter-behaviour-bspline>}) (offset@tie{}@code{unsigned-int}) @result{}@tie{} (ret@tie{}@code{<clutter-behaviour>})
@deffnx Method split
Splits a bezier spline into two at the control point at offset; if the control
point at offset is not one of the on-curve bezier points, the bspline will be
split at the nearest on-curve point before the offset. The original bspline is
shortened appropriately.

@table @var
@item bs
a @code{<clutter-behaviour-bspline>}

@item offset
an offset of the control point at which to split the spline.

@item ret
new ClutterBehaviourBspline.

@end table

Since 0.4

@end deffn

@deffn Function clutter-behaviour-bspline-clear  (self@tie{}@code{<clutter-behaviour-bspline>})
@deffnx Method clear
Empties a bspline.

@table @var
@item bs
a @code{<clutter-behaviour-bspline>}

@end table

Since 0.4

@end deffn

@deffn Function clutter-behaviour-bspline-adjust  (self@tie{}@code{<clutter-behaviour-bspline>}) (offset@tie{}@code{unsigned-int}) (knot@tie{}@code{<clutter-knot>})
@deffnx Method adjust
Change the coordinaces of control point at index to those represented by the
knot.

@table @var
@item bs
a @code{<clutter-behaviour-bspline>}

@item offset
an index of control point to ajdust

@item knot
a @code{<clutter-knot>} with new coordinances for the control point.

@end table

Since 0.4

@end deffn


@c %end of fragment
