neft
Version:
Universal Platform
95 lines (75 loc) • 2.56 kB
text/coffeescript
'use strict'
utils = require 'src/utils'
module.exports = (impl) ->
{bridge} = impl
{outActions, pushAction, pushItem, pushBoolean, pushInteger, pushFloat, pushString} = bridge
device = pointer = keyboard = null
bridge.listen bridge.inActions.DEVICE_PIXEL_RATIO, (reader) ->
device._pixelRatio = reader.getFloat()
return
bridge.listen bridge.inActions.DEVICE_IS_PHONE, (reader) ->
device._phone = reader.getBoolean()
return
###
Pointer
###
bridge.listen bridge.inActions.POINTER_PRESS, (reader) ->
pointer.x = reader.getFloat()
pointer.y = reader.getFloat()
device.onPointerPress.emit pointer
return
bridge.listen bridge.inActions.POINTER_RELEASE, (reader) ->
pointer.x = reader.getFloat()
pointer.y = reader.getFloat()
device.onPointerRelease.emit pointer
return
bridge.listen bridge.inActions.POINTER_MOVE, (reader) ->
pointer.x = reader.getFloat()
pointer.y = reader.getFloat()
device.onPointerMove.emit pointer
return
###
Keyboard
###
bridge.listen bridge.inActions.DEVICE_KEYBOARD_SHOW, (reader) ->
keyboard.visible = true
return
bridge.listen bridge.inActions.DEVICE_KEYBOARD_HIDE, (reader) ->
keyboard.visible = false
return
bridge.listen bridge.inActions.KEY_PRESS, (reader) ->
keyboard.key = reader.getString()
device.onKeyPress.emit keyboard
return
bridge.listen bridge.inActions.KEY_HOLD, (reader) ->
keyboard.key = reader.getString()
device.onKeyHold.emit keyboard
return
bridge.listen bridge.inActions.KEY_INPUT, (reader) ->
keyboard.text = reader.getString()
device.onKeyInput.emit keyboard
return
bridge.listen bridge.inActions.KEY_RELEASE, (reader) ->
keyboard.key = reader.getString()
device.onKeyRelease.emit keyboard
return
initDeviceNamespace: ->
device = this
pointer =
keyboard =
= false
= switch true
when utils.isAndroid
'Android'
when utils.isIOS
'iOS'
return
logDevice: (msg) ->
pushAction outActions.DEVICE_LOG
pushString msg
showDeviceKeyboard: ->
pushAction outActions.DEVICE_SHOW_KEYBOARD
return
hideDeviceKeyboard: ->
pushAction outActions.DEVICE_HIDE_KEYBOARD
return