1// Aseprite
2// Copyright (C) 2017 David Capello
3//
4// This program is distributed under the terms of
5// the End-User License Agreement for Aseprite.
6
7#ifndef APP_UI_EDITOR_HIT_H_INCLUDED
8#define APP_UI_EDITOR_HIT_H_INCLUDED
9#pragma once
10
11namespace doc {
12 class Slice;
13}
14
15namespace app {
16
17 // TODO Complete this class to calculate if the mouse hit any Editor
18 // element/decorator
19 class EditorHit {
20 public:
21 enum Type {
22 None,
23 SliceBounds,
24 SliceCenter,
25 };
26
27 EditorHit(Type type)
28 : m_type(type)
29 , m_border(0)
30 , m_slice(nullptr) {
31 }
32
33 Type type() const { return m_type; }
34 int border() const { return m_border; }
35 doc::Slice* slice() const { return m_slice; }
36
37 void setBorder(int border) { m_border = border; }
38 void setSlice(doc::Slice* slice) { m_slice = slice; }
39
40 private:
41 Type m_type;
42 int m_border;
43 doc::Slice* m_slice;
44 };
45
46} // namespace app
47
48#endif // APP_UI_EDITOR_HIT_H_INCLUDED
49