]> git.sesse.net Git - vlc/blobdiff - modules/access/screen/screen.h
Cleanup vlc_timer_* prototypes
[vlc] / modules / access / screen / screen.h
index 519edc0016456f69096190201eab0c3aa4a3416a..28f1433dca9a2053e5d75290e129af855e36bbcd 100644 (file)
@@ -1,10 +1,11 @@
 /*****************************************************************************
  * screen.h: Screen capture module.
  *****************************************************************************
- * Copyright (C) 2004 the VideoLAN team
+ * Copyright (C) 2004-2008 the VideoLAN team
  * $Id$
  *
  * Authors: Gildas Bazin <gbazin@videolan.org>
+ *          Antoine Cellerier <dionoea at videolan dot org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #include <vlc_access.h>
 #include <vlc_demux.h>
 
-#if !defined( HAVE_WIN32 ) && !defined( HAVE_BEOS ) && !defined( HAVE_DARWIN )
+#if !defined( HAVE_BEOS ) && !defined( HAVE_DARWIN )
 #   define SCREEN_SUBSCREEN
+#   define SCREEN_MOUSE
+#endif
+
+#ifdef SCREEN_MOUSE
+#   include <vlc_image.h>
 #endif
 
 typedef struct screen_data_t screen_data_t;
@@ -41,10 +47,20 @@ struct demux_sys_t
     int i_incr;
 
 #ifdef SCREEN_SUBSCREEN
+    bool b_follow_mouse;
+    unsigned int i_screen_height;
+    unsigned int i_screen_width;
+
     unsigned int i_top;
     unsigned int i_left;
-    unsigned int i_width;
     unsigned int i_height;
+    unsigned int i_width;
+#endif
+
+#ifdef SCREEN_MOUSE
+    picture_t *p_mouse;
+    filter_t *p_blend;
+    picture_t dst;
 #endif
 
     screen_data_t *p_data;
@@ -54,3 +70,9 @@ int      screen_InitCapture ( demux_t * );
 int      screen_CloseCapture( demux_t * );
 block_t *screen_Capture( demux_t * );
 
+#ifdef SCREEN_SUBSCREEN
+void FollowMouse( demux_sys_t *, int, int );
+#endif
+#ifdef SCREEN_MOUSE
+void RenderCursor( demux_t *, int, int, uint8_t * );
+#endif