**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-** Copyright (c) 2007 Chris Moore
+** Copyright (c) 2007, 2008 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
/* === M A C R O S ========================================================= */
-#define CURRENT_CANVAS_VERSION "0.2"
+/* version change history:
+ *
+ * 0.1: the original version
+ *
+ * if a waypoint goes from -179 to 179 degrees, that is a 2
+ * degree change. there's no way to express a 720 degree
+ * rotation with a single pair of waypoints
+ *
+ * 0.2: svn r1227
+ *
+ * angles no longer wrap at -180 degrees back to 180 degrees; if
+ * a waypoint goes from -179 to 179 degrees, that is a rotation
+ * of 358 degrees. loading a version 0.1 canvas will modify
+ * constant angle waypoints to that they are within 180 degrees
+ * of the previous waypoint's value
+ *
+ * the 'straight' blend method didn't used to work properly. it
+ * didn't work at all on transparent pixels in layers other than
+ * the PasteCanvas layer. for example, the examples/japan.sifz
+ * file has a red circle (straight, amount=1.0) on top of a
+ * striped conical gradient. if 'straight' was working, the
+ * conical gradient would be entirely obscured by the circle
+ * layer (even by its transparent pixels)
+ *
+ * 0.3: svn r1422
+ *
+ * the 'straight' blend method was fixed. loading a version 0.2
+ * or older canvas will replace the 'straight' blend method in
+ * non-pastecanvas layers with 'composite', unless they're
+ * completely transparent, in which case it will replace them
+ * with an 'alpha over' blend instead. Images like
+ * examples/logo.sifz use transparent straight blends to do
+ * masking, which no longer works now that 'straight' blending is
+ * fixed.
+ *
+ * Tangent lengths calculated by the "Segment Tangent" and "BLine
+ * Tangent" ValueNodes were scaled by a factor of 0.5.
+ *
+ * 0.4: svn r1856
+ *
+ * Stop scaling tangents by 0.5.
+ *
+ * 0.5: svn r1863
+ *
+ * Added "offset", "scale", and "fixed_length" links to the
+ * "BLine Tangent" ValueNode.
+ */
+
+#define CURRENT_CANVAS_VERSION "0.5"
/* === T Y P E D E F S ===================================================== */
typedef std::list<Handle> Children;
- friend void synfig::optimize_layers(Context, Canvas::Handle, bool seen_motion_blur);
+ friend void synfig::optimize_layers(Time, Context, Canvas::Handle, bool seen_motion_blur);
/*
-- ** -- D A T A -------------------------------------------------------------
virtual void get_times_vfunc(Node::time_set &set) const;
}; // END of class Canvas
-void optimize_layers(Context context, Canvas::Handle op_canvas, bool seen_motion_blur=false);
+void optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bool seen_motion_blur=false);
}; // END of namespace synfig