Refine API design: desktopCapturer.getSources.

This commit is contained in:
Haojian Wu 2015-10-06 14:34:54 +08:00
parent 36c0ad7fda
commit dcb457e76e
7 changed files with 124 additions and 194 deletions

View file

@ -1,19 +1,10 @@
ipc = require 'ipc'
remote = require 'remote'
NativeImage = require 'native-image'
EventEmitter = require('events').EventEmitter
desktopCapturer = new EventEmitter
getSources = (options, callback) ->
ipc.send 'ATOM_BROWSER_DESKTOP_CAPTURER_GET_SOURCES', options
ipc.once 'ATOM_REDNERER_DESKTOP_CAPTURER_RESULT', (sources) ->
callback ({id: source.id, name: source.name, thumbnail: NativeImage.createFromDataUrl source.thumbnail} for source in sources)
desktopCapturer.startUpdating = (args) ->
ipc.send 'ATOM_BROWSER_DESKTOP_CAPTURER_START_UPDATING', args
desktopCapturer.stopUpdating = () ->
ipc.send 'ATOM_BROWSER_DESKTOP_CAPTURER_STOP_UPDATING'
ipc.on 'ATOM_RENDERER_DESKTOP_CAPTURER', (event_name, id, name, thumbnail) ->
if not thumbnail
return desktopCapturer.emit event_name, id, name
desktopCapturer.emit event_name, id, name, NativeImage.createFromDataUrl thumbnail
module.exports = desktopCapturer
module.exports =
getSources: getSources