xref: /haiku/src/apps/deskbar/InlineScrollView.h (revision 32f840b7684012009c47338da6e00a202388126b)
1*32f840b7SJohn Scipione /*
2*32f840b7SJohn Scipione  * Copyright 2012, Haiku, Inc.
3*32f840b7SJohn Scipione  * Distributed under the terms of the MIT License.
4*32f840b7SJohn Scipione  *
5*32f840b7SJohn Scipione  * Authors:
6*32f840b7SJohn Scipione  *		Marc Flerackers (mflerackers@androme.be)
7*32f840b7SJohn Scipione  *		Stefano Ceccherini (stefano.ceccherini@gmail.com)
8*32f840b7SJohn Scipione  *		John Scipione (jscipione@gmail.com)
9*32f840b7SJohn Scipione  */
10*32f840b7SJohn Scipione #ifndef INLINE_SCROLL_VIEW_H
11*32f840b7SJohn Scipione #define INLINE_SCROLL_VIEW_H
12*32f840b7SJohn Scipione 
13*32f840b7SJohn Scipione 
14*32f840b7SJohn Scipione #include <View.h>
15*32f840b7SJohn Scipione 
16*32f840b7SJohn Scipione class BLayout;
17*32f840b7SJohn Scipione class ScrollArrow;
18*32f840b7SJohn Scipione class BPoint;
19*32f840b7SJohn Scipione 
20*32f840b7SJohn Scipione 
21*32f840b7SJohn Scipione class TInlineScrollView : public BView {
22*32f840b7SJohn Scipione public:
23*32f840b7SJohn Scipione 								TInlineScrollView(BRect frame, BView* target);
24*32f840b7SJohn Scipione 	virtual						~TInlineScrollView();
25*32f840b7SJohn Scipione 
26*32f840b7SJohn Scipione 	virtual	void				AttachedToWindow();
27*32f840b7SJohn Scipione 	virtual	void				DetachedFromWindow();
28*32f840b7SJohn Scipione 
29*32f840b7SJohn Scipione 				void			AttachScrollers();
30*32f840b7SJohn Scipione 				void			DetachScrollers();
31*32f840b7SJohn Scipione 				bool			HasScrollers() const;
32*32f840b7SJohn Scipione 
33*32f840b7SJohn Scipione 				void			SetSmallStep(float step);
34*32f840b7SJohn Scipione 				void			GetSteps(float* _smallStep, float* _largeStep) const;
35*32f840b7SJohn Scipione 				void			ScrollBy(const float& step);
36*32f840b7SJohn Scipione 
37*32f840b7SJohn Scipione private:
38*32f840b7SJohn Scipione 				BView*			fTarget;
39*32f840b7SJohn Scipione 				ScrollArrow*	fUpperScrollArrow;
40*32f840b7SJohn Scipione 				ScrollArrow*	fLowerScrollArrow;
41*32f840b7SJohn Scipione 
42*32f840b7SJohn Scipione 				float			fScrollStep;
43*32f840b7SJohn Scipione 				float			fValue;
44*32f840b7SJohn Scipione 				float			fLimit;
45*32f840b7SJohn Scipione };
46*32f840b7SJohn Scipione 
47*32f840b7SJohn Scipione 
48*32f840b7SJohn Scipione #endif	// INLINE_SCROLL_VIEW_H
49