1 /***************************************************************************** 2 * cmd_resize.hpp 3 ***************************************************************************** 4 * Copyright (C) 2003 the VideoLAN team 5 * $Id: 6e13eb7c057428bfaa3be85a75af3db7da80d89a $ 6 * 7 * Authors: Cyril Deguet <asmax@via.ecp.fr> 8 * Olivier Teulière <ipkiss@via.ecp.fr> 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License along 21 * with this program; if not, write to the Free Software Foundation, Inc., 22 * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 23 *****************************************************************************/ 24 25 #ifndef CMD_RESIZE_HPP 26 #define CMD_RESIZE_HPP 27 28 #include "cmd_generic.hpp" 29 #include <vlc_vout_window.h> 30 31 class WindowManager; 32 class GenericLayout; 33 class CtrlVideo; 34 35 36 /// Command to resize a layout 37 class CmdResize: public CmdGeneric 38 { 39 public: 40 /// Resize the given layout 41 CmdResize( intf_thread_t *pIntf, const WindowManager &rWindowManager, 42 GenericLayout &rLayout, int width, int height ); ~CmdResize()43 virtual ~CmdResize() { } 44 virtual void execute(); getType() const45 virtual std::string getType() const { return "resize"; } 46 47 private: 48 const WindowManager &m_rWindowManager; 49 GenericLayout &m_rLayout; 50 int m_width, m_height; 51 }; 52 53 54 /// Command to resize the vout window 55 class CmdResizeVout: public CmdGeneric 56 { 57 public: 58 /// Resize the given layout 59 CmdResizeVout( intf_thread_t *pIntf, vout_window_t* pWnd, 60 int width, int height ); ~CmdResizeVout()61 virtual ~CmdResizeVout() { } 62 virtual void execute(); getType() const63 virtual std::string getType() const { return "resize vout"; } 64 65 private: 66 vout_window_t* m_pWnd; 67 int m_width, m_height; 68 }; 69 70 71 /// Command to toggle Fullscreen 72 class CmdSetFullscreen: public CmdGeneric 73 { 74 public: 75 /// Resize the given layout 76 CmdSetFullscreen( intf_thread_t *pIntf, vout_window_t* pWnd, 77 bool fullscreen ); ~CmdSetFullscreen()78 virtual ~CmdSetFullscreen() { } 79 virtual void execute(); getType() const80 virtual std::string getType() const { return "toggle fullscreen"; } 81 82 private: 83 vout_window_t* m_pWnd; 84 bool m_bFullscreen; 85 }; 86 87 88 /// Command to hide mouse 89 class CmdHideMouse: public CmdGeneric 90 { 91 public: 92 /// hide the mouse 93 CmdHideMouse( intf_thread_t *pIntf, vout_window_t* pWnd, bool hide ); ~CmdHideMouse()94 virtual ~CmdHideMouse() { } 95 virtual void execute(); getType() const96 virtual std::string getType() const { return "hide mouse"; } 97 98 private: 99 vout_window_t* m_pWnd; 100 bool m_bHide; 101 }; 102 #endif 103