From b64c66bad58f0627077260e4e69e93cdd21440d8 Mon Sep 17 00:00:00 2001 From: rlx <0x0073@0x2620.org> Date: Mon, 17 Jan 2011 22:52:25 +0000 Subject: [PATCH] make large timeline work in player view --- build/js/ox.ui.js | 88 +++++++++++++++++++++++++---------------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/build/js/ox.ui.js b/build/js/ox.ui.js index 69119344..c5b5ff95 100644 --- a/build/js/ox.ui.js +++ b/build/js/ox.ui.js @@ -12014,7 +12014,7 @@ requires type: 'image' }) .bindEvent({ - click: toggleMute + click: self.$video.toggleMute }), size: new Ox.Button({ id: 'size', @@ -12057,15 +12057,20 @@ requires large: new Ox.LargeTimeline({ duration: self.options.duration, videoId: self.options.videoId, - width: self.options.width - 40 + width: getTimelineWidth() }) .css({ top: '4px' + }) + .bindEvent({ + change: function(event, data) { + self.$video.position(data.position); + } }), small: new Ox.SmallTimeline({ duration: self.options.duration, videoId: self.options.videoId, - width: self.options.width - 40 + width: getTimelineWidth() }) .css({ top: '80px' @@ -12090,7 +12095,7 @@ requires orientation: 'vertical' }) .bindEvent({ - resize: resizeVideo + resize: resizePanel }); self.$annotations = new Ox.Element() @@ -12118,13 +12123,20 @@ requires }); function getPlayerHeight() { - return self.options.height - 1 - - self.options.showControls * 104; + return self.options.height - + self.options.showControls * 104 - 1; } function getPlayerWidth() { - return self.options.width - 1 - - self.options.showAnnotations * self.options.annotationsSize; + return self.options.width - + self.options.showAnnotations * + self.options.annotationsSize - 1; + } + + function getTimelineWidth() { + return self.options.width - + self.options.showAnnotations * + self.options.annotationsSize - 40 } function getVideoCSS() { @@ -12133,25 +12145,6 @@ requires ratio = width / height, videoRatio = self.options.videoWidth / self.options.videoHeight, isWide = ratio < videoRatio; - self.$annotations && self.$annotations.html($('
').html(JSON.stringify(self.options.videoSize == 'fit' ? { - foo: width, - bar: height, - width: (isWide ? width : Math.round(height * videoRatio)) + 'px', - height: (isWide ? Math.round(width / videoRatio) : height) + 'px', - margin: 'auto' - } : { - foo: width, - bar: height, - width: (isWide ? Math.round(height * videoRatio) : width) + 'px', - height: (isWide ? height : Math.round(width / videoRatio)) + 'px', - margin: [ - isWide ? '0' : Math.floor((height - width / videoRatio) / 2) + 'px', - isWide ? Math.ceil((width - height * videoRatio) / 2) + 'px' : '0', - isWide ? '0' : Math.ceil((height - width / videoRatio) / 2) + 'px', - isWide ? Math.floor((width - height * videoRatio) / 2) + 'px' : '0' - ].join(' ') - })).css({width: '150px'})); - return self.options.videoSize == 'fit' ? { position: 'absolute', left: 0, @@ -12181,8 +12174,10 @@ requires } - function playing() { - + function playing(event, data) { + self.$timeline.large.options({ + position: data.position + }); } function playInToOut() { @@ -12191,23 +12186,41 @@ requires function resizeAnnotations(event, data) { self.options.annotationsSize = data; - resizeVideo(); + resizeVideoAndControls(); } function resizeendAnnotations(event, data) { self.options.annotationsSize = data; - resizeVideo(); that.triggerEvent('change', { annotationsSize: self.options.annotationsSize }); } + function resizeControls() { + self.$timeline.large.options({ + width: getTimelineWidth() + }); + self.$timeline.small.options({ + width: getTimelineWidth() + }); + } + function resizeElement(event, data) { // called on browser toggle self.options.height = data; resizeVideo(); } + function resizePanel(event, data) { + // called on annotations toggle + resizeVideoAndControls(); + } + + function resizeVideoAndControls() { + resizeVideo(); + resizeControls(); + } + function resizeVideo() { self.videoCSS = getVideoCSS(); self.$video.css(self.videoCSS); @@ -12227,18 +12240,9 @@ requires }); } - function toggleMute() { - - } - - function togglePlay() { - - } - function toggleSize() { self.options.videoSize = self.options.videoSize == 'fit' ? 'fill' : 'fit'; - self.videoCSS = getVideoCSS() - self.$video.css(self.videoCSS); + resizeVideo(); that.triggerEvent('change', { videoSize: self.options.videoSize }); @@ -12248,7 +12252,7 @@ requires if (key == 'height') { resizeVideo(); } else if (key == 'width') { - resizeVideo(); + resizeVideoAndControls(); } }