1/*
2 *  Copyright 2010-2012 Haiku, Inc. All rights reserved.
3 *  Distributed under the terms of the MIT license.
4 *
5 *	Authors:
6 *		DarkWyrm <bpmagic@columbus.rr.com>
7 *		John Scipione <jscipione@gmail.com>
8 */
9#ifndef FAKE_SCROLL_BAR_H
10#define FAKE_SCROLL_BAR_H
11
12
13#include <Control.h>
14
15
16class FakeScrollBar : public BControl {
17public:
18							FakeScrollBar(bool drawArrows, bool doubleArrows,
19								BMessage* message);
20							~FakeScrollBar(void);
21
22	virtual	void			MouseDown(BPoint point);
23	virtual	void			MouseMoved(BPoint point, uint32 transit,
24								const BMessage *message);
25	virtual	void			MouseUp(BPoint point);
26
27	virtual	void			Draw(BRect updateRect);
28
29	virtual	void			SetValue(int32 value);
30
31			void			SetDoubleArrows(bool doubleArrows);
32			void			SetKnobStyle(uint32 knobStyle);
33
34			void			SetFromScrollBarInfo(const scroll_bar_info &info);
35
36private:
37			void			_DrawArrowButton(int32 direction, BRect r,
38								const BRect& updateRect);
39
40			bool			fDrawArrows;
41			bool			fDoubleArrows;
42			int32			fKnobStyle;
43};
44
45#endif	// FAKE_SCROLL_BAR_H
46