xref: /haiku/src/apps/mediaplayer/interface/SeekSlider.h (revision 341ea11eb304738c351755be9d15ab232e4a037a)
10fc56ed5SStephan Aßmus /*
2b000c602SStephan Aßmus  * Copyright 2006-2009 Stephan Aßmus <superstippi@gmx.de>
39282400fSStephan Aßmus  * All rights reserved. Distributed under the terms of the MIT License.
40fc56ed5SStephan Aßmus  */
50fc56ed5SStephan Aßmus #ifndef SEEK_SLIDER_H
60fc56ed5SStephan Aßmus #define SEEK_SLIDER_H
70fc56ed5SStephan Aßmus 
8e663610eSStephan Aßmus 
9b000c602SStephan Aßmus #include <Slider.h>
10e663610eSStephan Aßmus #include <String.h>
11e663610eSStephan Aßmus 
120fc56ed5SStephan Aßmus 
13b000c602SStephan Aßmus class SeekSlider : public BSlider {
140fc56ed5SStephan Aßmus public:
15b000c602SStephan Aßmus 								SeekSlider(const char* name, BMessage* message,
169282400fSStephan Aßmus 									int32 minValue, int32 maxValue);
170fc56ed5SStephan Aßmus 
180fc56ed5SStephan Aßmus 	virtual						~SeekSlider();
190fc56ed5SStephan Aßmus 
20b000c602SStephan Aßmus 	// BSlider interface
21b000c602SStephan Aßmus 	virtual	status_t			Invoke(BMessage* message);
22*341ea11eSStephan Aßmus 	virtual BRect				ThumbFrame() const;
23b000c602SStephan Aßmus 	virtual void				DrawBar();
24b000c602SStephan Aßmus 	virtual	void				DrawThumb();
250fc56ed5SStephan Aßmus 	virtual	void				MouseDown(BPoint where);
260fc56ed5SStephan Aßmus 	virtual	void				MouseUp(BPoint where);
27b000c602SStephan Aßmus 	virtual	void				GetPreferredSize(float* _width,
28b000c602SStephan Aßmus 									float* _height);
29*341ea11eSStephan Aßmus 	virtual	BSize				MinSize();
30*341ea11eSStephan Aßmus 	virtual	BSize				MaxSize();
310fc56ed5SStephan Aßmus 
320fc56ed5SStephan Aßmus 	// SeekSlider
330fc56ed5SStephan Aßmus 			bool				IsTracking() const;
34e663610eSStephan Aßmus 			void				SetDisabledString(const char* string);
350fc56ed5SStephan Aßmus 
36*341ea11eSStephan Aßmus 			void				SetSymbolScale(float scale);
37*341ea11eSStephan Aßmus 
380fc56ed5SStephan Aßmus private:
390fc56ed5SStephan Aßmus 			bool				fTracking;
400fc56ed5SStephan Aßmus 			bigtime_t			fLastTrackTime;
41e663610eSStephan Aßmus 
42e663610eSStephan Aßmus 			BString				fDisabledString;
43*341ea11eSStephan Aßmus 			float				fScale;
440fc56ed5SStephan Aßmus };
450fc56ed5SStephan Aßmus 
460fc56ed5SStephan Aßmus 
470fc56ed5SStephan Aßmus #endif	//SEEK_SLIDER_H
48