1// Aseprite
2// Copyright (C) 2019 Igara Studio S.A.
3// Copyright (C) 2001-2017 David Capello
4//
5// This program is distributed under the terms of
6// the End-User License Agreement for Aseprite.
7
8#ifndef APP_COMMANDS_CMD_EXPORT_SPRITE_SHEET_H_INCLUDED
9#define APP_COMMANDS_CMD_EXPORT_SPRITE_SHEET_H_INCLUDED
10#pragma once
11
12#include "app/commands/command.h"
13#include "app/commands/move_thing.h"
14
15namespace app {
16
17 class MoveMaskCommand : public Command {
18 public:
19 enum Target { Boundaries, Content };
20
21 MoveMaskCommand();
22
23 Target getTarget() const { return m_target; }
24 MoveThing getMoveThing() const { return m_moveThing; }
25 bool isWrap() const { return m_wrap; }
26
27 protected:
28 bool onNeedsParams() const override { return true; }
29 void onLoadParams(const Params& params) override;
30 bool onEnabled(Context* context) override;
31 void onExecute(Context* context) override;
32 std::string onGetFriendlyName() const override;
33
34 private:
35 Target m_target;
36 MoveThing m_moveThing;
37 bool m_wrap;
38 };
39
40} // namespace app
41
42#endif
43