diff --git a/app/assets/javascripts/player/abstract_player.js.coffee b/app/assets/javascripts/player/abstract_player.js.coffee index 48776e6..864b85b 100644 --- a/app/assets/javascripts/player/abstract_player.js.coffee +++ b/app/assets/javascripts/player/abstract_player.js.coffee @@ -14,6 +14,7 @@ class AsciiIo.AbstractPlayer hud: @options.hud rendererClass: @options.rendererClass snapshot: @options.snapshot + containerWidth: @options.containerWidth createVT: -> throw 'not implemented' diff --git a/app/assets/javascripts/player/views/player_view.js.coffee b/app/assets/javascripts/player/views/player_view.js.coffee index b4d4065..fe0b834 100644 --- a/app/assets/javascripts/player/views/player_view.js.coffee +++ b/app/assets/javascripts/player/views/player_view.js.coffee @@ -4,6 +4,7 @@ class AsciiIo.PlayerView extends Backbone.View initialize: (options) -> @createRendererView() + @setupClipping() @createHudView() if options.hud @showLoadingOverlay() @@ -17,6 +18,14 @@ class AsciiIo.PlayerView extends Backbone.View @rendererView.afterInsertedToDom() @rendererView.renderSnapshot @options.snapshot + setupClipping: -> + if @options.containerWidth + rendererWidth = @rendererView.$el.outerWidth() + min = Math.min(@options.containerWidth, rendererWidth) + @rightClipWidth = rendererWidth - min + else + @rightClipWidth = 0 + createHudView: -> @hudView = new AsciiIo.HudView(cols: @options.cols) @@ -39,14 +48,19 @@ class AsciiIo.PlayerView extends Backbone.View onSeekClicked: (percent) -> @trigger 'seek-clicked', percent + showOverlay: (html) -> + element = $(html) + element.css('margin-right': "#{@rightClipWidth}px") if @rightClipWidth + @$el.append(element) + showLoadingOverlay: -> - @$el.append('