skinWindowClass.cbClsExtra = 0;
skinWindowClass.cbWndExtra = 0;
skinWindowClass.hbrBackground = NULL;
- skinWindowClass.hCursor = LoadCursor( NULL , IDC_ARROW );
+ skinWindowClass.hCursor = LoadCursor( NULL, IDC_ARROW );
skinWindowClass.hIcon = LoadIcon( m_hInst, _T("VLC_ICON") );
skinWindowClass.hInstance = m_hInst;
}
}
+
+ // Create window class for window of VoutWindow type
+ WNDCLASS voutWindowClass;
+ voutWindowClass.style = CS_OWNDC|CS_DBLCLKS;
+ voutWindowClass.lpfnWndProc = (WNDPROC) Win32Proc;
+ voutWindowClass.lpszClassName = _T("VoutWindowClass");
+ voutWindowClass.lpszMenuName = NULL;
+ voutWindowClass.cbClsExtra = 0;
+ voutWindowClass.cbWndExtra = 0;
+ voutWindowClass.hbrBackground = (HBRUSH__*) GetStockObject( BLACK_BRUSH);
+ voutWindowClass.hCursor = LoadCursor( NULL , IDC_ARROW );
+ voutWindowClass.hIcon = LoadIcon( m_hInst, _T("VLC_ICON") );
+ voutWindowClass.hInstance = m_hInst;
+
+ // Register class and check it
+ if( !RegisterClass( &voutWindowClass ) )
+ {
+ WNDCLASS wndclass;
+
+ // Check why it failed. If it's because the class already exists
+ // then fine, otherwise return with an error.
+ if( !GetClassInfo( m_hInst, _T("VoutWindowClass"), &wndclass ) )
+ {
+ msg_Err( getIntf(), "cannot register voutWindow window class" );
+ return false;
+ }
+ }
+
// Create Window
m_hParentWindow = CreateWindowEx( WS_EX_TOOLWINDOW, _T("SkinWindowClass"),
_T("VLC media player"), WS_SYSMENU|WS_POPUP,
m_pParent( pParentWindow ), m_type ( type )
{
// Create the window
- if( pParentWindow )
+ if( type == GenericWindow::VoutWindow )
{
// Child window (for vout)
m_hWnd_parent = pParentWindow->getHandle();
m_hWnd = CreateWindowEx( WS_EX_TOOLWINDOW | WS_EX_NOPARENTNOTIFY,
- "SkinWindowClass", "default name", WS_CHILD,
+ "VoutWindowClass", "default name",
+ WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
m_hWnd_parent, 0, hInst, NULL );
}
+ else if( type == GenericWindow::FullscreenWindow )
+ {
+ // Normal window
+ m_hWnd_parent = NULL;
+ m_hWnd = CreateWindowEx( WS_EX_APPWINDOW, "SkinWindowClass",
+ "default name", WS_POPUP | WS_CLIPCHILDREN,
+ CW_USEDEFAULT, CW_USEDEFAULT,
+ CW_USEDEFAULT, CW_USEDEFAULT, m_hWnd_parent, 0, hInst, NULL );
+ }
+
else
{
// Normal window
- m_hWnd_parent = hParentWindow;
+ m_hWnd_parent = NULL;
m_hWnd = CreateWindowEx( WS_EX_TOOLWINDOW, "SkinWindowClass",
"default name", WS_POPUP | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT,
void Win32Window::show() const
{
- ShowWindow( m_hWnd, SW_SHOW );
+
+ if( m_type == GenericWindow::VoutWindow )
+ SetWindowPos( m_hWnd, HWND_BOTTOM, 0, 0, 0, 0,
+ SWP_NOMOVE | SWP_NOSIZE );
+
+ ShowWindow( m_hWnd, SW_SHOW );
}