1 // Aseprite 2 // Copyright (C) 2001-2016 David Capello 3 // 4 // This program is distributed under the terms of 5 // the End-User License Agreement for Aseprite. 6 7 #ifndef APP_CMD_MOVE_LAYER_H_INCLUDED 8 #define APP_CMD_MOVE_LAYER_H_INCLUDED 9 #pragma once 10 11 #include "app/cmd.h" 12 #include "app/cmd/with_layer.h" 13 14 namespace app { 15 namespace cmd { 16 using namespace doc; 17 18 class MoveLayer : public Cmd { 19 public: 20 MoveLayer(Layer* layer, 21 Layer* newParent, 22 Layer* afterThis); 23 24 protected: 25 void onExecute() override; 26 void onUndo() override; 27 void onFireNotifications() override; onMemSize()28 size_t onMemSize() const override { 29 return sizeof(*this); 30 } 31 32 private: 33 WithLayer m_layer; 34 WithLayer m_oldParent, m_oldAfterThis; 35 WithLayer m_newParent, m_newAfterThis; 36 }; 37 38 } // namespace cmd 39 } // namespace app 40 41 #endif 42