UNPKG

neft

Version:

Universal Platform

52 lines (40 loc) 1.56 kB
'use strict' utils = require 'src/utils' assert = require 'src/assert' module.exports = (impl) -> {bridge} = impl {outActions, pushAction, pushItem, pushBoolean, pushInteger, pushFloat, pushString} = bridge createPointerListener = (action) -> (event) -> pushAction action pushItem @ pushFloat event.x pushFloat event.y return onPointerPress = createPointerListener outActions.ON_NATIVE_ITEM_POINTER_PRESS onPointerRelease = createPointerListener outActions.ON_NATIVE_ITEM_POINTER_RELEASE onPointerMove = createPointerListener outActions.ON_NATIVE_ITEM_POINTER_MOVE bridge.listen bridge.inActions.NATIVE_ITEM_WIDTH, (reader) -> item = bridge.getItemFromReader reader oldVal = item.width item._width = reader.getFloat() item.onWidthChange.emit oldVal return bridge.listen bridge.inActions.NATIVE_ITEM_HEIGHT, (reader) -> item = bridge.getItemFromReader reader oldVal = item.height item._height = reader.getFloat() item.onHeightChange.emit oldVal return DATA = {} DATA: DATA createData: impl.utils.createDataCloner 'Item', DATA create: (data) -> if data.id is 0 pushAction outActions.CREATE_NATIVE_ITEM pushString @constructor.__name__ data.id = bridge.getId this @pointer.onPress onPointerPress, @ @pointer.onRelease onPointerRelease, @ @pointer.onMove onPointerMove, @ return