1/*
2 * Copyright 2003-2010, Haiku, Inc. All Rights Reserved.
3 * Copyright 2004-2005 yellowTAB GmbH. All Rights Reserverd.
4 * Copyright 2006 Bernd Korz. All Rights Reserved
5 * Distributed under the terms of the MIT License.
6 *
7 * Authors:
8 *		Fernando Francisco de Oliveira
9 *		Michael Wilber
10 *		Michael Pfeiffer
11 *		yellowTAB GmbH
12 *		Bernd Korz
13 *		Stephan Aßmus <superstippi@gmx.de>
14 */
15#ifndef SELECTION_BOX_H
16#define SELECTION_BOX_H
17
18
19#include <View.h>
20
21class ShowImageView;
22
23
24class SelectionBox {
25public:
26								SelectionBox();
27								~SelectionBox();
28
29			void				SetBounds(ShowImageView* view, BRect bounds);
30			BRect				Bounds() const;
31
32			void				MouseDown(ShowImageView* view, BPoint where);
33			void				MouseMoved(ShowImageView* view, BPoint where);
34			void				MouseUp(ShowImageView* view, BPoint where);
35
36			void				Animate();
37			void				Draw(ShowImageView* view,
38									const BRect& updateRect) const;
39
40private:
41			void				_InitPatterns();
42
43			BRect				_RectInView(ShowImageView* view) const;
44
45private:
46			BRect				fBounds;
47
48			// Use patterns to simulate marching ants for selection.
49			pattern				fPatternUp;
50			pattern				fPatternDown;
51			pattern				fPatternLeft;
52			pattern				fPatternRight;
53};
54
55#endif	// SELECTION_BOX_H
56