diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index 580e331220..5a22ebf285 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -1,6 +1,7 @@ import playbackManager from 'playbackManager'; import dom from 'dom'; import inputManager from 'inputManager'; +import mouseManager from 'mouseManager'; import datetime from 'datetime'; import itemHelper from 'itemHelper'; import mediaInfo from 'mediaInfo'; @@ -367,6 +368,7 @@ import 'css!assets/css/videoosd'; function hideOsd() { slideUpToHide(headerElement); hideMainOsdControls(); + mouseManager.hideCursor(); } function toggleOsd() { @@ -435,6 +437,7 @@ import 'css!assets/css/videoosd'; const elem = osdBottomElement; clearHideAnimationEventListeners(elem); elem.classList.add('videoOsdBottom-hidden'); + dom.addEventListener(elem, transitionEndEventName, onHideAnimationComplete, { once: true }); diff --git a/src/scripts/mouseManager.js b/src/scripts/mouseManager.js index 4fc174381a..d801d82393 100644 --- a/src/scripts/mouseManager.js +++ b/src/scripts/mouseManager.js @@ -31,6 +31,22 @@ define(['inputManager', 'focusManager', 'browser', 'layoutManager', 'events', 'd } } + function showCursor() { + if (isMouseIdle) { + isMouseIdle = false; + removeIdleClasses(); + events.trigger(self, 'mouseactive'); + } + } + + function hideCursor() { + if (!isMouseIdle) { + isMouseIdle = true; + addIdleClasses(); + events.trigger(self, 'mouseidle'); + } + } + var lastPointerMoveData; function onPointerMove(e) { var eventX = e.screenX; @@ -61,11 +77,7 @@ define(['inputManager', 'focusManager', 'browser', 'layoutManager', 'events', 'd lastMouseInputTime = new Date().getTime(); notifyApp(); - if (isMouseIdle) { - isMouseIdle = false; - removeIdleClasses(); - events.trigger(self, 'mouseactive'); - } + showCursor(); } function onPointerEnter(e) { @@ -99,9 +111,7 @@ define(['inputManager', 'focusManager', 'browser', 'layoutManager', 'events', 'd function onMouseInterval() { if (!isMouseIdle && mouseIdleTime() >= 5000) { - isMouseIdle = true; - addIdleClasses(); - events.trigger(self, 'mouseidle'); + hideCursor(); } } @@ -157,5 +167,8 @@ define(['inputManager', 'focusManager', 'browser', 'layoutManager', 'events', 'd events.on(layoutManager, 'modechange', initMouse); + self.hideCursor = hideCursor; + self.showCursor = showCursor; + return self; });