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