Improved naming

openid
Marcin Kulik 12 years ago
parent 8b7f733606
commit d99cd115fc

@ -4,6 +4,7 @@
//= require_tree ./player/views/renderers
//= require player/views/hud_view
//= require player/views/player_view
//= require player/workers/worker
//= require player/workers/worker_object_proxy
//= require player/workers/worker_proxy
//= require player/brush
//= require_tree ./models

@ -43,15 +43,15 @@ class AsciiIo.PlayerView extends Backbone.View
@bindEvents()
if @options.autoPlay
@movie.play()
@movie.call 'play'
else
@showToggleOverlay()
createMainWorker: ->
@worker = new AsciiIo.Worker(window.mainWorkerPath)
@workerProxy = new AsciiIo.WorkerProxy(window.mainWorkerPath)
setupMainWorker: ->
@worker.init
@workerProxy.init
timing: @model.get 'stdout_timing_data'
stdout_data: @model.get 'stdout_data'
duration: @model.get 'duration'
@ -60,8 +60,8 @@ class AsciiIo.PlayerView extends Backbone.View
cols: @options.cols
lines: @options.lines
@movie = @worker.getProxy 'movie'
@vt = @worker.getProxy 'vt'
@movie = @workerProxy.getObjectProxy 'movie'
@vt = @workerProxy.getObjectProxy 'vt'
bindEvents: ->
@movie.on 'started', => @$el.addClass 'playing'
@ -87,9 +87,10 @@ class AsciiIo.PlayerView extends Backbone.View
@vt.on 'cursor:show', => @rendererView.showCursor true
@vt.on 'cursor:hide', => @rendererView.showCursor false
<<<<<<< HEAD
if @options.hud
@hudView.on 'play-click', => @movie.call 'togglePlay'
@hudView.on 'seek-click', (percent) => @movie.seek(percent)
@hudView.on 'seek-click', (percent) => @movie.call 'seek', percent
if @options.benchmark
@movie.on 'started', =>

@ -1,3 +1,5 @@
console = {
log: function(t) { postMessage({ log: t }); }
log: function(t) {
postMessage({ message: 'log', text: t });
}
};

@ -1,24 +1,25 @@
vt = undefined
movie = undefined
@onmessage = (e) =>
addEventListener 'message', (e) =>
d = e.data
if d.objectName
switch d.objectName
when 'vt'
vt[d.method](d.args...)
switch d.message
when 'init'
@initialize d.options
when 'movie'
movie[d.method](d.args...)
when 'call'
switch d.objectName
when 'vt'
vt[d.method](d.args...)
else if d.cmd
switch d.cmd
when 'init'
initialize d.options
when 'movie'
movie[d.method](d.args...)
initialize = (options) ->
@initialize = (options) ->
vt = new AsciiIo.VT options.cols, options.lines
vt.on 'all', (event, args...) ->
postMessage evt: event, src: 'vt', args: args

@ -1,32 +0,0 @@
class AsciiIo.Worker
constructor: (url) ->
@webWorker = new window.Worker(url)
@webWorker.addEventListener 'message', @onMessage
init: (options) ->
@webWorker.postMessage
cmd: 'init'
options: options
getProxy: (objectName) ->
new AsciiIo.WorkerProxy(@webWorker, objectName)
onMessage: (e) =>
if e.data.log
console.log "log message from worker: #{e.data.log}"
class AsciiIo.WorkerProxy
constructor: (@webWorker, @objectName) ->
_.extend(this, Backbone.Events)
@webWorker.addEventListener 'message', @onMessage
onMessage: (e) =>
if e.data.evt and e.data.src == @objectName
@trigger e.data.evt, e.data.args...
call: (method, args...) ->
@webWorker.postMessage
objectName: @objectName
method: method
args: args

@ -0,0 +1,15 @@
class AsciiIo.WorkerObjectProxy
constructor: (@webWorker, @objectName) ->
_.extend(this, Backbone.Events)
@webWorker.addEventListener 'message', @onMessage
onMessage: (e) =>
if e.data.evt and e.data.src == @objectName
@trigger e.data.evt, e.data.args...
call: (method, args...) ->
@webWorker.postMessage
message: 'call'
objectName: @objectName
method: method
args: args

@ -0,0 +1,16 @@
class AsciiIo.WorkerProxy
constructor: (url) ->
@webWorker = new window.Worker(url)
@webWorker.addEventListener 'message', @onMessage
init: (options) ->
@webWorker.postMessage
message: 'init'
options: options
getObjectProxy: (objectName) ->
new AsciiIo.WorkerObjectProxy(@webWorker, objectName)
onMessage: (e) =>
if e.data.message == 'log'
console.log e.data.text
Loading…
Cancel
Save