X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fsavecanvas.cpp;h=0b4468dca14ca5b1d9ec02b84f1f49125cb83dc6;hb=c3e45b84cbe115d9a8d216f1ce99d06fdd49ccca;hp=cb47847f0d981600f59cb21785ff3f64873f6ce7;hpb=fe852ad9c0a418d34cc1356b30c6fb146d189ad9;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/savecanvas.cpp b/synfig-core/trunk/src/synfig/savecanvas.cpp index cb47847..0b4468d 100644 --- a/synfig-core/trunk/src/synfig/savecanvas.cpp +++ b/synfig-core/trunk/src/synfig/savecanvas.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 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 @@ -57,6 +58,10 @@ #include "gradient.h" #include +extern "C" { +#include +} + #endif /* === U S I N G =========================================================== */ @@ -96,7 +101,7 @@ xmlpp::Element* encode_real(xmlpp::Element* root,Real v) return root; } -xmlpp::Element* encode_time(xmlpp::Element* root,Time t, float fps=0) +xmlpp::Element* encode_time(xmlpp::Element* root,Time t, float /*fps*/=0) { root->set_name("time"); //root->set_attribute("value",t.get_string(fps)); @@ -296,7 +301,7 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa waypoint_node->set_attribute("before","constant"); break; case INTERPOLATION_TCB: - // This is the default value, so don't add a new attribute + waypoint_node->set_attribute("before","auto"); break; default: error("Unknown waypoint type for \"before\" attribute"); @@ -317,10 +322,10 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa waypoint_node->set_attribute("after","constant"); break; case INTERPOLATION_TCB: - // This is the default value, so don't add a new attribute + waypoint_node->set_attribute("after","auto"); break; default: - error("Unknown waypoint type for \"before\" attribute"); + error("Unknown waypoint type for \"after\" attribute"); } if(iter->get_tension()!=0.0) @@ -631,7 +636,7 @@ xmlpp::Element* encode_canvas(xmlpp::Element* root,Canvas::ConstHandle canvas) root->set_name("canvas"); if(canvas->is_root()) - root->set_attribute("version","0.1"); + root->set_attribute("version",canvas->get_version()); if(!canvas->get_id().empty() && !canvas->is_root() && !canvas->is_inline()) root->set_attribute("id",canvas->get_id()); @@ -739,6 +744,11 @@ synfig::save_canvas(const String &filename, Canvas::ConstHandle canvas) synfig::String tmp_filename(filename+".TMP"); + if (filename_extension(filename) == ".sifz") + xmlSetCompressMode(9); + else + xmlSetCompressMode(0); + try { assert(canvas);