1 // Aseprite
2 // Copyright (C) 2001-2015  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_SET_FRAME_TAG_RANGE_H_INCLUDED
8 #define APP_CMD_SET_FRAME_TAG_RANGE_H_INCLUDED
9 #pragma once
10 
11 #include "app/cmd.h"
12 #include "app/cmd/with_frame_tag.h"
13 #include "doc/frame.h"
14 
15 namespace app {
16 namespace cmd {
17   using namespace doc;
18 
19   class SetFrameTagRange : public Cmd
20                          , public WithFrameTag {
21   public:
22     SetFrameTagRange(FrameTag* tag, frame_t from, frame_t to);
23 
24   protected:
25     void onExecute() override;
26     void onUndo() override;
onMemSize()27     size_t onMemSize() const override {
28       return sizeof(*this);
29     }
30 
31   private:
32     frame_t m_oldFrom, m_oldTo;
33     frame_t m_newFrom, m_newTo;
34   };
35 
36 } // namespace cmd
37 } // namespace app
38 
39 #endif
40