]> git.sesse.net Git - vlc/blobdiff - include/vlc_filter.h
Support .3gp in interface open dialogs
[vlc] / include / vlc_filter.h
index c03c1e5c76e108f08258b12a4ad646c6bc685087..dd5cc299cbf2e5d4f54097cb9672bbf572447fe5 100644 (file)
@@ -101,13 +101,18 @@ struct filter_t
 
         struct
         {
-            subpicture_t * (*pf_filter) ( filter_t *, mtime_t );
-            subpicture_t * (*pf_buffer_new) ( filter_t * );
-            void        (*pf_buffer_del) ( filter_t *, subpicture_t * );
+            subpicture_t * (*pf_filter)    ( filter_t *, mtime_t );
+            subpicture_t * (*pf_buffer_new)( filter_t * );
+            void           (*pf_buffer_del)( filter_t *, subpicture_t * );
+            int            (*pf_mouse)     ( filter_t *,
+                                             const vlc_mouse_t *p_old,
+                                             const vlc_mouse_t *p_new,
+                                             const video_format_t * );
         } sub;
 #define pf_sub_filter      u.sub.pf_filter
 #define pf_sub_buffer_new  u.sub.pf_buffer_new
 #define pf_sub_buffer_del  u.sub.pf_buffer_del
+#define pf_sub_mouse       u.sub.pf_mouse
 
         struct
         {
@@ -265,8 +270,8 @@ typedef struct filter_chain_t filter_chain_t;
  * \param p_buffer_allocation_data pointer to private allocation data
  * \return pointer to a filter chain
  */
-VLC_EXPORT( filter_chain_t *, __filter_chain_New, ( vlc_object_t *, const char *, bool, int (*)( filter_t *, void * ), void (*)( filter_t * ), void *  ) );
-#define filter_chain_New( a, b, c, d, e, f ) __filter_chain_New( VLC_OBJECT( a ), b, c, d, e, f )
+VLC_EXPORT( filter_chain_t *, filter_chain_New, ( vlc_object_t *, const char *, bool, int (*)( filter_t *, void * ), void (*)( filter_t * ), void *  ) );
+#define filter_chain_New( a, b, c, d, e, f ) filter_chain_New( VLC_OBJECT( a ), b, c, d, e, f )
 
 /**
  * Delete filter chain will delete all filters in the chain and free all
@@ -370,5 +375,12 @@ VLC_EXPORT( void, filter_chain_SubFilter, ( filter_chain_t *, mtime_t ) );
  */
 VLC_EXPORT( int, filter_chain_MouseFilter, ( filter_chain_t *, vlc_mouse_t *, const vlc_mouse_t * ) );
 
+/**
+ * Inform the filter chain of mouse state.
+ *
+ * It makes sense only for a sub filter chain.
+ */
+VLC_EXPORT( int, filter_chain_MouseEvent, ( filter_chain_t *, const vlc_mouse_t *, const video_format_t * ) );
+
 #endif /* _VLC_FILTER_H */