btrfs: Attempt to fix GCC2 build.
[haiku.git] / src / apps / mediaplayer / ControllerView.h
blob51469e0e1537720fcb48cc9cd99ae493c4e9eed4
1 /*
2 * Controller.cpp - Media Player for the Haiku Operating System
4 * Copyright (C) 2006 Marcus Overhagen <marcus@overhagen.de>
5 * Copyright (C) 2007 Stephan Aßmus <superstippi@gmx.de>
6 * Copyright (C) 2008-2009 Fredrik Modéen <[FirstName]@[LastName].se> (MIT ok)
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * version 2 as published by the Free Software Foundation.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 #ifndef __CONTROLLER_VIEW_H
23 #define __CONTROLLER_VIEW_H
26 #include "TransportControlGroup.h"
29 class Controller;
30 class Playlist;
31 class PlaylistObserver;
34 class ControllerView : public TransportControlGroup {
35 public:
36 ControllerView(BRect frame, Controller* controller,
37 Playlist* playlist);
38 ~ControllerView();
40 // TransportControlGroup interface
41 virtual void TogglePlaying();
42 virtual void Stop();
43 virtual void Rewind();
44 virtual void Forward();
45 virtual void SkipBackward();
46 virtual void SkipForward();
47 virtual void VolumeChanged(float value);
48 virtual void ToggleMute();
49 virtual void PositionChanged(float value);
51 private:
52 void AttachedToWindow();
53 void MessageReceived(BMessage* message);
54 void Draw(BRect updateRect);
56 // ControllerView
57 void _CheckSkippable();
59 private:
60 Controller* fController;
61 Playlist* fPlaylist;
62 PlaylistObserver* fPlaylistObserver;
65 #endif // __CONTROLLER_VIEW_H