demux: avi: invalidate skipped chunks
[vlc.git] / modules / video_output / win32 / events.h
blob883d769c28a3df6f831907e7b097d01466302aad
1 /*****************************************************************************
2 * events.h: Windows video output header file
3 *****************************************************************************
4 * Copyright (C) 2001-2009 VLC authors and VideoLAN
5 * $Id$
7 * Authors: Gildas Bazin <gbazin@videolan.org>
8 * Damien Fouilleul <damienf@videolan.org>
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_window.h>
27 /**
28 * HWNDs manager.
30 typedef struct event_thread_t event_thread_t;
32 typedef struct {
33 bool use_desktop; /* direct3d */
34 bool use_overlay; /* directdraw */
35 int x;
36 int y;
37 unsigned width;
38 unsigned height;
39 } event_cfg_t;
41 typedef struct {
42 vout_window_t *parent_window;
43 HWND hparent;
44 HWND hwnd;
45 HWND hvideownd;
46 HWND hfswnd;
47 } event_hwnd_t;
49 event_thread_t *EventThreadCreate( vout_display_t *);
50 void EventThreadDestroy( event_thread_t * );
51 int EventThreadStart( event_thread_t *, event_hwnd_t *, const event_cfg_t * );
52 void EventThreadStop( event_thread_t * );
54 void EventThreadMouseHide( event_thread_t * );
55 void EventThreadUpdateTitle( event_thread_t *, const char *psz_fallback );
56 int EventThreadGetWindowStyle( event_thread_t * );
57 void EventThreadUpdateWindowPosition( event_thread_t *, bool *pb_moved, bool *pb_resized,
58 int x, int y, unsigned w, unsigned h );
59 void EventThreadUpdateSourceAndPlace( event_thread_t *p_event,
60 const video_format_t *p_source,
61 const vout_display_place_t *p_place );
62 void EventThreadUseOverlay( event_thread_t *, bool b_used );
63 bool EventThreadGetAndResetHasMoved( event_thread_t * );