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_TOTAL_FRAMES_H_INCLUDED
8 #define APP_CMD_SET_TOTAL_FRAMES_H_INCLUDED
9 #pragma once
10 
11 #include "app/cmd.h"
12 #include "app/cmd/with_sprite.h"
13 #include "doc/frame.h"
14 
15 namespace app {
16 namespace cmd {
17   using namespace doc;
18 
19   class SetTotalFrames : public Cmd
20                        , public WithSprite {
21   public:
22     SetTotalFrames(Sprite* sprite, frame_t frames);
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     frame_t m_oldFrames;
34     frame_t m_newFrames;
35   };
36 
37 } // namespace cmd
38 } // namespace app
39 
40 #endif
41