]> git.sesse.net Git - vlc/blobdiff - src/video_output/display.c
Use var_Inherit* instead of var_CreateGet*.
[vlc] / src / video_output / display.c
index af73be86988c14da809cd7d64e8dab2efc7b0cde..600fedf846fdfd95e45144944ce378ce44956ad7 100644 (file)
@@ -34,6 +34,7 @@
 #include <vlc_vout_display.h>
 #include <vlc_vout.h>
 #include <vlc_block.h>
+#include <vlc_modules.h>
 
 #include <libvlc.h>
 
@@ -286,8 +287,8 @@ struct vout_display_owner_sys_t {
     } sar_initial;
 
     /* */
-    int  width_saved;
-    int  height_saved;
+    unsigned width_saved;
+    unsigned height_saved;
 
     struct {
         unsigned num;
@@ -466,15 +467,12 @@ static void VoutDisplayEventMouse(vout_display_t *vd, int event, va_list args)
     case VOUT_DISPLAY_EVENT_MOUSE_MOVED: {
         const int x = (int)va_arg(args, int);
         const int y = (int)va_arg(args, int);
-        if (x != osys->mouse.state.i_x || y != osys->mouse.state.i_y) {
-            //msg_Dbg(vd, "VoutDisplayEvent 'mouse' @%d,%d", x, y);
 
-            m.i_x = x;
-            m.i_y = y;
-            m.b_double_click = false;
-        } else {
-            is_ignored = true;
-        }
+        //msg_Dbg(vd, "VoutDisplayEvent 'mouse' @%d,%d", x, y);
+
+        m.i_x = x;
+        m.i_y = y;
+        m.b_double_click = false;
         break;
     }
     case VOUT_DISPLAY_EVENT_MOUSE_PRESSED:
@@ -786,7 +784,7 @@ void vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures)
 
     if (hide_mouse) {
         if (!vd->info.has_hide_mouse) {
-            msg_Dbg(vd, "auto hidding mouse");
+            msg_Dbg(vd, "auto hiding mouse");
             vout_display_Control(vd, VOUT_DISPLAY_HIDE_MOUSE);
         }
         vout_SendEventMouseHidden(osys->vout);
@@ -1563,18 +1561,20 @@ vout_display_t *vout_NewSplitter(vout_thread_t *vout,
 #include "vout_internal.h"
 void vout_SendDisplayEventMouse(vout_thread_t *vout, const vlc_mouse_t *m)
 {
-    vlc_mouse_t tmp;
+    vlc_mouse_t tmp1, tmp2;
 
     /* The check on p_spu is needed as long as ALLOW_DUMMY_VOUT is defined */
     if (vout->p->p_spu && spu_ProcessMouse( vout->p->p_spu, m, &vout->p->display.vd->source))
         return;
 
-    vlc_mutex_lock( &vout->p->vfilter_lock );
-    if (vout->p->vfilter_chain) {
-        if (!filter_chain_MouseFilter(vout->p->vfilter_chain, &tmp, m))
-            m = &tmp;
+    vlc_mutex_lock( &vout->p->filter.lock );
+    if (vout->p->filter.chain_static && vout->p->filter.chain_interactive) {
+        if (!filter_chain_MouseFilter(vout->p->filter.chain_interactive, &tmp1, m))
+            m = &tmp1;
+        if (!filter_chain_MouseFilter(vout->p->filter.chain_static,      &tmp2, m))
+            m = &tmp2;
     }
-    vlc_mutex_unlock( &vout->p->vfilter_lock );
+    vlc_mutex_unlock( &vout->p->filter.lock );
 
     if (vlc_mouse_HasMoved(&vout->p->mouse, m)) {
         vout_SendEventMouseMoved(vout, m->i_x, m->i_y);
@@ -1607,14 +1607,15 @@ static void DummyVoutSendDisplayEventMouse(vout_thread_t *vout, vlc_mouse_t *fal
 
     if (!vout->p) {
         p.mouse = *fallback;
-        vlc_mutex_init(&p.vfilter_lock);
-        p.vfilter_chain = NULL;
+        vlc_mutex_init(&p.filter.lock);
+        p.filter.chain_static = NULL;
+        p.filter.chain_interactive = NULL;
         p.p_spu = NULL;
         vout->p = &p;
     }
     vout_SendDisplayEventMouse(vout, m);
     if (vout->p == &p) {
-        vlc_mutex_destroy(&p.vfilter_lock);
+        vlc_mutex_destroy(&p.filter.lock);
         *fallback = p.mouse;
         vout->p = NULL;
     }