contrib: cargo: use cargo/vendored-openssl if needed
[vlc.git] / modules / video_output / win32 / common.h
blob4df23573c2dc24c4bea2e7ece3c29e3eac816bf2
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;
37 bool place_changed;
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
51 /* */
52 event_thread_t *event;
54 /* */
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;
60 # endif
61 } vout_display_sys_win32_t;
64 /*****************************************************************************
65 * Prototypes from common.c
66 *****************************************************************************/
67 #if !VLC_WINSTORE_APP
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 *);
78 # ifdef __cplusplus
79 extern "C" {
80 # endif
81 void* HookWindowsSensors(vout_display_t*, HWND);
82 void UnhookWindowsSensors(void*);
83 # ifdef __cplusplus
85 # endif