**
** \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
*
* 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'
+ * 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.
+ *
+ * 0.6: svn r2067
+ *
+ * Added "scale" link to the "BLine Width" ValueNode in svn r1872.
+ *
+ * Added "loop" link to the "Gradient Color" ValueNode in svn r1901.
*/
-#define CURRENT_CANVAS_VERSION "0.3"
+#define CURRENT_CANVAS_VERSION "0.6"
/* === T Y P E D E F S ===================================================== */
** If not found, it creates a new Canvas and returns it
** If an error occurs, it returns an empty handle
*/
- Handle surefind_canvas(const String &id);
+ Handle surefind_canvas(const String &id,String &warnings);
//! Finds a child Canvas in the Canvas with the given \a id
/*! \return If found, returns a handle to the child Canvas.
** Otherwise, returns an empty handle.
*/
- Handle find_canvas(const String &id);
+ Handle find_canvas(const String &id, String &warnings);
//! Finds a child Canvas in the Canvas with the given \a id
/*! \return If found, returns a handle to the child Canvas.
** Otherwise, returns an empty handle.
*/
- ConstHandle find_canvas(const String &id)const;
+ ConstHandle find_canvas(const String &id, String &warnings)const;
//! Sets the file path for the Canvas
//void set_file_path(const String &);
Handle clone(const GUID& deriv_guid=GUID())const;
+ void register_external_canvas(String file, Handle canvas);
+
private:
void add_group_pair(String group, etl::handle<Layer> layer);
void remove_group_pair(String group, etl::handle<Layer> layer);