1 /*****************************************************************************
2 * common.h: Windows video output header file
3 *****************************************************************************
4 * Copyright (C) 2001-2009 VLC authors and VideoLAN
6 * Authors: Gildas Bazin <gbazin@videolan.org>
7 * Damien Fouilleul <damienf@videolan.org>
8 * Martell Malone <martellmalone@gmail.com>
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU Lesser General Public License as published by
12 * the Free Software Foundation; either version 2.1 of the License, or
13 * (at your option) any later version.
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 Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public License
21 * along with this program; if not, write to the Free Software Foundation,
22 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
25 #include <vlc_vout_display.h>
27 /*****************************************************************************
28 * event_thread_t: event thread
29 *****************************************************************************/
31 typedef struct event_thread_t event_thread_t
;
33 typedef struct display_win32_area_t
35 /* Coordinates of dest images (used when blitting to display) */
36 vout_display_place_t place
;
38 } display_win32_area_t
;
40 #define RECTWidth(r) (LONG)((r).right - (r).left)
41 #define RECTHeight(r) (LONG)((r).bottom - (r).top)
43 /*****************************************************************************
44 * vout_sys_t: video output method descriptor
45 *****************************************************************************
46 * This structure is part of the video output thread descriptor.
47 * It describes the module specific properties of an output thread.
48 *****************************************************************************/
49 typedef struct vout_display_sys_win32_t
52 event_thread_t
*event
;
55 HWND hvideownd
; /* Handle of the video sub-window */
56 HWND hparent
; /* Handle of the parent window */
58 # if !defined(NDEBUG) && defined(HAVE_DXGIDEBUG_H)
59 HINSTANCE dxgidebug_dll
;
61 } vout_display_sys_win32_t
;
64 /*****************************************************************************
65 * Prototypes from common.c
66 *****************************************************************************/
68 int CommonWindowInit(vout_display_t
*, display_win32_area_t
*, vout_display_sys_win32_t
*,
69 bool projection_gestures
);
70 void CommonWindowClean(vout_display_sys_win32_t
*);
71 #endif /* !VLC_WINSTORE_APP */
72 int CommonControl(vout_display_t
*, display_win32_area_t
*, vout_display_sys_win32_t
*, int );
74 void CommonPlacePicture (vout_display_t
*, display_win32_area_t
*);
76 void CommonInit(display_win32_area_t
*);
81 void* HookWindowsSensors(vout_display_t
*, HWND
);
82 void UnhookWindowsSensors(void*);