X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftags%2Fsynfig_0_61_07%2Fsrc%2Fsynfig%2Floadcanvas.h;fp=synfig-core%2Ftags%2Fsynfig_0_61_07%2Fsrc%2Fsynfig%2Floadcanvas.h;h=0000000000000000000000000000000000000000;hb=6fa8f2f38d4b0b35f8539bf94e27ae27015c7689;hp=465b879ef89fda6d5813cff2558111c803ec270e;hpb=47fce282611fbba1044921d22ca887f9b53ad91a;p=synfig.git diff --git a/synfig-core/tags/synfig_0_61_07/src/synfig/loadcanvas.h b/synfig-core/tags/synfig_0_61_07/src/synfig/loadcanvas.h deleted file mode 100644 index 465b879..0000000 --- a/synfig-core/tags/synfig_0_61_07/src/synfig/loadcanvas.h +++ /dev/null @@ -1,185 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file loadcanvas.h -** \brief writeme -** -** $Id$ -** -** \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 -** published by the Free Software Foundation; either version 2 of -** the License, or (at your option) any later version. -** -** This package is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -** General Public License for more details. -** \endlegal -*/ -/* ========================================================================= */ - -/* === S T A R T =========================================================== */ - -#ifndef __SYNFIG_LOADCANVAS_H -#define __SYNFIG_LOADCANVAS_H - -/* === H E A D E R S ======================================================= */ - -#include "string.h" -#include "canvas.h" -#include "valuenode.h" -#include "vector.h" -#include "value.h" -#include "valuenode_subtract.h" -#include "valuenode_animated.h" -#include "valuenode_composite.h" -#include "valuenode_dynamiclist.h" -#include "keyframe.h" -#include "guid.h" - -/* === M A C R O S ========================================================= */ - -/* === T Y P E D E F S ===================================================== */ - -/* === C L A S S E S & S T R U C T S ======================================= */ - -namespace xmlpp { class Node; class Element; }; - -namespace synfig { - -/*! \class CanvasParser -** \todo writeme -*/ -class CanvasParser -{ - /* - -- ** -- D A T A ------------------------------------------------------------- - */ - -private: - - int max_warnings_; - - int total_warnings_; - - int total_errors_; - - bool allow_errors_; - - String filename; - - String path; - - GUID guid_; - - /* - -- ** -- C O N S T R U C T O R S --------------------------------------------- - */ - -public: - - CanvasParser(): - max_warnings_ (1000), - total_warnings_ (0), - total_errors_ (0), - allow_errors_ (false) - { } - - /* - -- ** -- M E M B E R F U N C T I O N S ------------------------------------- - */ - -public: - - //! \todo writeme - CanvasParser &set_allow_errors(bool x) { allow_errors_=x; return *this; } - - //! Sets the maximum number of warnings before a fatal error is thrown - CanvasParser &set_max_warnings(int i) { max_warnings_=i; return *this; } - - //! Returns the maximum number of warnings before a fatal_error is thrown - int get_max_warnings() { return max_warnings_; } - - //! Returns the number of errors in the last parse - int error_count()const { return total_errors_; } - - //! Returns the number of warnings in the last parse - int warning_count()const { return total_warnings_; } - - void set_path(const synfig::String& x) { path=x; } - - const synfig::String& get_path()const { return path; } - - //! \todo writeme - Canvas::Handle parse_from_file(const String &filename); - - Canvas::Handle parse_from_file_as(const String &filename,const String &as); - - //! \todo writeme - Canvas::Handle parse_from_string(const String &data); - -private: - - // Error/Warning handling functions - - void error(xmlpp::Node *node,const String &text); - void fatal_error(xmlpp::Node *node,const String &text); - void warning(xmlpp::Node *node,const String &text); - void error_unexpected_element(xmlpp::Node *node,const String &got, const String &expected); - void error_unexpected_element(xmlpp::Node *node,const String &got); - - // Parsing Functions - - Canvas::Handle parse_canvas(xmlpp::Element *node,Canvas::Handle parent=0,bool inline_=false, String path="."); - void parse_canvas_defs(xmlpp::Element *node,Canvas::Handle canvas); - etl::handle parse_layer(xmlpp::Element *node,Canvas::Handle canvas); - ValueBase parse_value(xmlpp::Element *node,Canvas::Handle canvas); - etl::handle parse_value_node(xmlpp::Element *node,Canvas::Handle canvas); - - // ValueBase Parsing Functions - - Real parse_real(xmlpp::Element *node); - Time parse_time(xmlpp::Element *node,Canvas::Handle canvas); - int parse_integer(xmlpp::Element *node); - Vector parse_vector(xmlpp::Element *node); - Color parse_color(xmlpp::Element *node); - Angle parse_angle(xmlpp::Element *node); - String parse_string(xmlpp::Element *node); - bool parse_bool(xmlpp::Element *node); - Segment parse_segment(xmlpp::Element *node); - ValueBase parse_list(xmlpp::Element *node,Canvas::Handle canvas); - Gradient parse_gradient(xmlpp::Element *node); - BLinePoint parse_bline_point(xmlpp::Element *node); - - Keyframe parse_keyframe(xmlpp::Element *node,Canvas::Handle canvas); - - // ValueNode Parsing Functions - - etl::handle parse_animated(xmlpp::Element *node,Canvas::Handle canvas); - etl::handle parse_subtract(xmlpp::Element *node,Canvas::Handle canvas); - etl::handle parse_linkable_value_node(xmlpp::Element *node,Canvas::Handle canvas); - etl::handle parse_composite(xmlpp::Element *node,Canvas::Handle canvas); - etl::handle parse_dynamic_list(xmlpp::Element *node,Canvas::Handle canvas); - -}; // END of CanvasParser - -/* === E X T E R N S ======================================================= */ - -//! Loads a canvas from \a filename -/*! \return The Canvas's handle on success, an empty handle on failure */ -extern Canvas::Handle open_canvas(const String &filename); -extern Canvas::Handle open_canvas_as(const String &filename,const String &as); - -//! Retrieves a Canvas from a string in XML format -extern Canvas::Handle string_to_canvas(const String &data); - -std::map >& get_open_canvas_map(); - -}; // END of namespace synfig - -/* === E N D =============================================================== */ - -#endif