X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fsynfigstudio_0_61_07_rc1%2Fsrc%2Fsynfigapp%2Factions%2Flayermove.h;fp=synfig-studio%2Ftags%2Fsynfigstudio_0_61_07_rc1%2Fsrc%2Fsynfigapp%2Factions%2Flayermove.h;h=db02c8ee805ee06317fd04dc7d4b079ab0beae44;hb=e9077d5c0858c23469cc10d6aeb8ad1d6d86caae;hp=0000000000000000000000000000000000000000;hpb=7d32b486bfe48032fdb52fbb3b6f144a6ce7e63e;p=synfig.git diff --git a/synfig-studio/tags/synfigstudio_0_61_07_rc1/src/synfigapp/actions/layermove.h b/synfig-studio/tags/synfigstudio_0_61_07_rc1/src/synfigapp/actions/layermove.h new file mode 100644 index 0000000..db02c8e --- /dev/null +++ b/synfig-studio/tags/synfigstudio_0_61_07_rc1/src/synfigapp/actions/layermove.h @@ -0,0 +1,79 @@ +/* === S Y N F I G ========================================================= */ +/*! \file layermove.h +** \brief Template File +** +** $Id$ +** +** \legal +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** +** 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_APP_ACTION_LAYERMOVE_H +#define __SYNFIG_APP_ACTION_LAYERMOVE_H + +/* === H E A D E R S ======================================================= */ + +#include +#include + +/* === 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 synfigapp { + +class Instance; + +namespace Action { + +class LayerMove : + public Undoable, + public CanvasSpecific +{ +private: + + synfig::Layer::Handle layer; + int old_index; + int new_index; + + synfig::Canvas::Handle src_canvas; + synfig::Canvas::Handle dest_canvas; + +public: + + LayerMove(); + + static ParamVocab get_param_vocab(); + static bool is_candidate(const ParamList &x); + + virtual bool set_param(const synfig::String& name, const Param &); + virtual bool is_ready()const; + + virtual void perform(); + virtual void undo(); + + ACTION_MODULE_EXT +}; + +}; // END of namespace action +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif