Refine more about desktop capturer API.
* Simplify the coffeescript code. * Add more options in desktopCapturer.startUpdating.
This commit is contained in:
parent
1e69ef79de
commit
36c0ad7fda
8 changed files with 104 additions and 84 deletions
|
@ -5,18 +5,15 @@ NativeImage = require 'native-image'
|
|||
EventEmitter = require('events').EventEmitter
|
||||
desktopCapturer = new EventEmitter
|
||||
|
||||
# Tells main process the renderer is requiring 'desktop-capture' module.
|
||||
ipc.sendSync 'ATOM_BROWSER_DESKTOP_CAPTURER_REQUIRED'
|
||||
|
||||
desktopCapturer.startUpdating = (args) ->
|
||||
ipc.send 'ATOM_BROWSER_DESKTOP_CAPTURER_START_UPDATING', args
|
||||
|
||||
desktopCapturer.stopUpdating = () ->
|
||||
ipc.send 'ATOM_BROWSER_DESKTOP_CAPTURER_STOP_UPDATING'
|
||||
|
||||
for event_name in ['source-added', 'source-removed', 'source-name-changed', "source-thumbnail-changed"]
|
||||
do (event_name) ->
|
||||
ipc.on event_name, (source) ->
|
||||
desktopCapturer.emit event_name, { id: source.id, name: source.name, thumbnail: NativeImage.createFromDataUrl source.dataUrl }
|
||||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue