1 /* 2 * Copyright 2005, Jérôme Duval. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Inspired by SoundCapture from Be newsletter (Media Kit Basics: Consumers and Producers) 6 */ 7 #ifndef VOLUMESLIDER_H 8 #define VOLUMESLIDER_H 9 10 #include <Control.h> 11 #include <Bitmap.h> 12 #include <Box.h> 13 #include <SoundPlayer.h> 14 15 class VolumeSlider : public BControl 16 { 17 public: 18 VolumeSlider(BRect rect, const char* title, uint32 resizeFlags); 19 ~VolumeSlider(); 20 virtual void Draw(BRect); 21 virtual void MouseMoved(BPoint point, uint32 transit, const BMessage *message); 22 virtual void MouseUp(BPoint point); 23 virtual void MouseDown(BPoint point); 24 void SetSoundPlayer(BSoundPlayer *player); 25 private: 26 void _UpdateVolume(BPoint point); 27 28 BBitmap fLeftBitmap, fRightBitmap, fButtonBitmap; 29 float fRight; 30 float fVolume; 31 BSoundPlayer *fSoundPlayer; 32 }; 33 34 class SpeakerView : public BBox 35 { 36 public: 37 SpeakerView(BRect rect, uint32 resizeFlags); 38 ~SpeakerView(); 39 void Draw(BRect updateRect); 40 41 private: 42 BBitmap fSpeakerBitmap; 43 }; 44 45 #endif 46