UNPKG

neft

Version:

Universal Platform

112 lines (78 loc) 2.36 kB
'use strict' utils = require 'src/utils' module.exports = (impl) -> pointer = impl.pointer = require('./item/pointer') impl NOP = -> DATA = elem: null bindings: null anchors: null capturePointer: 0 childrenCapturesPointer: 0 DATA: DATA createData: impl.utils.createDataCloner DATA create: (data) -> setItemParent: (val) -> insertItemBefore: (val) -> # remove this item impl.setItemParent.call @, null @_parent = null # remove all items to the given value parent = val.parent {children} = parent tmp = [] child = val while child if child isnt @ impl.setItemParent.call child, null child._parent = null tmp.push child child = child.aboveSibling impl.setItemParent.call @, parent @_parent = parent for item in tmp impl.setItemParent.call item, parent item._parent = parent return setItemBackground: (val) -> setItemVisible: (val) -> setItemClip: (val) -> setItemWidth: (val) -> setItemHeight: (val) -> setItemX: (val) -> setItemY: (val) -> setItemScale: (val) -> setItemRotation: (val) -> setItemOpacity: (val) -> setItemLinkUri: (val) -> doItemOverlap: (item) -> a = @ b = item tmp = null x1 = a._x; y1 = a._y x2 = b._x; y2 = b._y parent1 = a while tmp = parent1._parent x1 += tmp._x y1 += tmp._y parent1 = tmp parent2 = b while tmp = parent2._parent x1 += tmp._x y1 += tmp._y parent2 = tmp parent1 is parent2 and x1 + a._width > x2 and y1 + a._height > y2 and x1 < x2 + b._width and y1 < y2 + b._height attachItemSignal: (name, signal) -> if name is 'pointer' pointer.attachItemSignal.call @, signal setItemPointerEnabled: (val) -> pointer.setItemPointerEnabled.call @, val setItemPointerDraggable: (val) -> pointer.setItemPointerDraggable.call @, val setItemPointerDragActive: (val) -> pointer.setItemPointerDragActive.call @, val setItemKeysFocus: (val) ->