]> git.sesse.net Git - vlc/blob - modules/gui/skins2/macosx/macosx_window.hpp
Set a non compressed format in aes3 decoder at open.
[vlc] / modules / gui / skins2 / macosx / macosx_window.hpp
1 /*****************************************************************************
2  * macosx_window.hpp
3  *****************************************************************************
4  * Copyright (C) 2003 the VideoLAN team
5  * $Id$
6  *
7  * Authors: Cyril Deguet     <asmax@via.ecp.fr>
8  *
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.
13  *
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.
18  *
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  *****************************************************************************/
23
24 #ifndef MACOSX_WINDOW_HPP
25 #define MACOSX_WINDOW_HPP
26
27 #include "../src/os_window.hpp"
28 #include <Carbon/Carbon.h>
29
30 class MacOSXDisplay;
31 class MacOSXDragDrop;
32
33
34 /// MacOSX implementation of OSWindow
35 class MacOSXWindow: public OSWindow
36 {
37 public:
38     MacOSXWindow( intf_thread_t *pIntf, GenericWindow &rWindow,
39                   bool dragDrop, bool playOnDrop,
40                   MacOSXWindow *pParentWindow );
41
42     virtual ~MacOSXWindow();
43
44     // Show the window
45     virtual void show( int left, int top ) const;
46
47     // Hide the window
48     virtual void hide() const;
49
50     /// Move the window
51     virtual void moveResize( int left, int top,
52                              int width, int height ) const;
53
54     /// Bring the window on top
55     virtual void raise() const;
56
57     /// Set the opacity of the window (0 = transparent, 255 = opaque)
58     virtual void setOpacity( uint8_t value ) const;
59
60     /// Toggle the window on top
61     virtual void toggleOnTop( bool onTop ) const;
62
63     /// Get the Carbon window handle
64     WindowRef getWindowRef() const { return m_win; };
65
66 private:
67     /// Parent window
68     MacOSXWindow *m_pParent;
69     /// Indicates whether the window handles drag&drop events
70     bool m_dragDrop;
71     /// Carbon Window object
72     WindowRef m_win;
73 };
74
75
76 #endif