* vout_directx.h: Windows DirectX video output header file
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: vout_directx.h,v 1.3 2002/01/27 22:14:52 gbazin Exp $
+ * $Id: vout_directx.h,v 1.7 2002/06/01 12:31:58 sam Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
* This structure is part of the video output thread descriptor.
* It describes the DirectX specific properties of an output thread.
*****************************************************************************/
-typedef struct vout_sys_s
+struct vout_sys_s
{
LPDIRECTDRAW2 p_ddobject; /* DirectDraw object */
HBRUSH hbrush; /* window backgound brush (color) */
HWND hwnd; /* Handle of the main window */
- boolean_t b_using_overlay; /* Are we using an overlay surface */
+ vlc_bool_t b_using_overlay; /* Are we using an overlay surface */
+ vlc_bool_t b_use_sysmem; /* Should we use system memory for surfaces */
+ vlc_bool_t b_hw_yuv; /* Should we use hardware YUV->RGB conversions */
/* size of the display */
RECT rect_display;
int i_rgb_colorkey; /* colorkey in RGB used by the overlay */
int i_colorkey; /* colorkey used by the overlay */
- boolean_t b_cursor;
+ volatile u16 i_changes; /* changes made to the video display */
- u16 i_changes; /* changes made to the video display */
-
- boolean_t b_cursor_autohidden;
- mtime_t i_lastmoved;
+ /* Mouse */
+ volatile vlc_bool_t b_cursor_hidden;
+ volatile mtime_t i_lastmoved;
vlc_thread_t event_thread_id; /* event thread */
vlc_mutex_t event_thread_lock; /* lock for the event thread */
vlc_cond_t event_thread_wait;
- int i_event_thread_status; /* DirectXEventThread status */
- boolean_t b_event_thread_die; /* flag to kill the event thread */
-
-} vout_sys_t;
+ volatile int i_event_thread_status; /* DirectXEventThread status */
+ volatile vlc_bool_t b_event_thread_die; /* flag to kill the event thread */
+};
/*****************************************************************************
* picture_sys_t: direct buffer method descriptor
* This structure is part of the picture descriptor, it describes the
* DirectX specific properties of a direct buffer.
*****************************************************************************/
-typedef struct picture_sys_s
+struct picture_sys_s
{
LPDIRECTDRAWSURFACE3 p_surface;
DDSURFACEDESC ddsd;
LPDIRECTDRAWSURFACE3 p_front_surface;
-
-} picture_sys_t;
+};
/*****************************************************************************
* Prototypes from vout_directx.c
*****************************************************************************/
void DirectXEventThread ( vout_thread_t *p_vout );
void DirectXUpdateOverlay( vout_thread_t *p_vout );
+
+/*****************************************************************************
+ * Constants
+ *****************************************************************************/
+#define WM_VLC_HIDE_MOUSE WM_APP