1 /*****************************************************************************
3 *****************************************************************************
4 * Copyright (C) 2010 the VideoLAN team
7 * Author: Erwan Tulou <erwan10 At videolan Dot Org>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22 *****************************************************************************/
24 #ifndef FSC_WINDOW_HPP
25 #define FSC_WINDOW_HPP
27 #include "../src/top_window.hpp"
28 #include "../commands/cmd_generic.hpp"
32 /// Class for the fullscreen controller
33 class FscWindow: public TopWindow
36 FscWindow( intf_thread_t *pIntf, int left, int top,
37 WindowManager &rWindowManager,
38 bool dragDrop, bool playOnDrop, bool visible );
42 virtual void processEvent( EvtLeave &rEvtLeave );
43 virtual void processEvent( EvtMotion &rEvtMotion );
45 /// Method called when fullscreen indicator changes
46 virtual void onUpdate( Subject<VarBool> &rVariable , void* );
48 /// Action when window is shown
49 virtual void innerShow();
51 /// Action when window is hidden
52 virtual void innerHide();
54 /// Action when mouse moved
55 virtual void onMouseMoved();
57 /// Action for each transition of fading out
58 virtual void onTimerExpired();
60 /// Relocate fsc into new area
61 virtual void moveTo( int x, int y, int width, int height );
64 /// Timer for fsc fading-out
66 /// number of transitions when fading out
68 /// opacity set by user
73 /// Callback for the timer
74 DEFINE_CALLBACK( FscWindow, FscHide )