示例#1
0
        /// <inheritdoc />
        public Windows8PointerHandler(PointerDelegate addPointer, PointerDelegate updatePointer, PointerDelegate pressPointer, PointerDelegate releasePointer, PointerDelegate removePointer, PointerDelegate cancelPointer) : base(addPointer, updatePointer, pressPointer, releasePointer, removePointer, cancelPointer)
        {
            mousePool = new ObjectPool <MousePointer>(4, () => new MousePointer(this), null, resetPointer);
            penPool   = new ObjectPool <PenPointer>(2, () => new PenPointer(this), null, resetPointer);

            mousePointer = internalAddMousePointer(Vector3.zero);

            init(TOUCH_API.WIN8);
        }
示例#2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TouchHandler" /> class.
        /// </summary>
        /// <param name="addPointer">A function called when a new pointer is detected.</param>
        /// <param name="updatePointer">A function called when a pointer is moved or its parameter is updated.</param>
        /// <param name="pressPointer">A function called when a pointer touches the surface.</param>
        /// <param name="releasePointer">A function called when a pointer is lifted off.</param>
        /// <param name="removePointer">A function called when a pointer is removed.</param>
        /// <param name="cancelPointer">A function called when a pointer is cancelled.</param>
        public TouchHandler(PointerDelegate addPointer, PointerDelegate updatePointer, PointerDelegate pressPointer, PointerDelegate releasePointer, PointerDelegate removePointer, PointerDelegate cancelPointer)
        {
            this.addPointer     = addPointer;
            this.updatePointer  = updatePointer;
            this.pressPointer   = pressPointer;
            this.releasePointer = releasePointer;
            this.removePointer  = removePointer;
            this.cancelPointer  = cancelPointer;

            touchPool      = new ObjectPool <TouchPointer>(10, () => new TouchPointer(this), null, resetPointer);
            touchPool.Name = "Touch";

            updateSampler = CustomSampler.Create("[TouchScript] Update touch");
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="MouseHandler" /> class.
        /// </summary>
        /// <param name="addPointer">A function called when a new pointer is detected.</param>
        /// <param name="updatePointer">A function called when a pointer is moved or its parameter is updated.</param>
        /// <param name="pressPointer">A function called when a pointer touches the surface.</param>
        /// <param name="releasePointer">A function called when a pointer is lifted off.</param>
        /// <param name="removePointer">A function called when a pointer is removed.</param>
        /// <param name="cancelPointer">A function called when a pointer is cancelled.</param>
        public MouseHandler(PointerDelegate addPointer, PointerDelegate updatePointer, PointerDelegate pressPointer, PointerDelegate releasePointer, PointerDelegate removePointer, PointerDelegate cancelPointer)
        {
            this.addPointer     = addPointer;
            this.updatePointer  = updatePointer;
            this.pressPointer   = pressPointer;
            this.releasePointer = releasePointer;
            this.removePointer  = removePointer;
            this.cancelPointer  = cancelPointer;

            mousePool = new ObjectPool <MousePointer>(4, () => new MousePointer(this), null, resetPointer);

            mousePointPos = Input.mousePosition;
            mousePointer  = internalAddPointer(remapCoordinates(mousePointPos));

            stateMouse();
        }
示例#4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TouchHandler" /> class.
        /// </summary>
        /// <param name="input">An input source to init new pointers with.</param>
        /// <param name="addPointer">A function called when a new pointer is detected.</param>
        /// <param name="updatePointer">A function called when a pointer is moved or its parameter is updated.</param>
        /// <param name="pressPointer">A function called when a pointer touches the surface.</param>
        /// <param name="releasePointer">A function called when a pointer is lifted off.</param>
        /// <param name="removePointer">A function called when a pointer is removed.</param>
        /// <param name="cancelPointer">A function called when a pointer is cancelled.</param>
        public TouchHandler(IInputSource input, PointerDelegate addPointer, PointerDelegate updatePointer, PointerDelegate pressPointer, PointerDelegate releasePointer, PointerDelegate removePointer, PointerDelegate cancelPointer)
        {
            this.input          = input;
            this.addPointer     = addPointer;
            this.updatePointer  = updatePointer;
            this.pressPointer   = pressPointer;
            this.releasePointer = releasePointer;
            this.removePointer  = removePointer;
            this.cancelPointer  = cancelPointer;

            touchPool      = new ObjectPool <TouchPointer>(10, newPointer, null, resetPointer, "TouchHandler/Touch");
            touchPool.Name = "Touch";

#if UNITY_5_6_OR_NEWER
            updateSampler = CustomSampler.Create("[TouchScript] Update Touch");
#endif
        }
示例#5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="WindowsPointerHandler"/> class.
        /// </summary>
        /// <param name="addPointer">A function called when a new pointer is detected.</param>
        /// <param name="updatePointer">A function called when a pointer is moved or its parameter is updated.</param>
        /// <param name="pressPointer">A function called when a pointer touches the surface.</param>
        /// <param name="releasePointer">A function called when a pointer is lifted off.</param>
        /// <param name="removePointer">A function called when a pointer is removed.</param>
        /// <param name="cancelPointer">A function called when a pointer is cancelled.</param>
        public WindowsPointerHandler(PointerDelegate addPointer, PointerDelegate updatePointer, PointerDelegate pressPointer, PointerDelegate releasePointer, PointerDelegate removePointer, PointerDelegate cancelPointer)
        {
            this.addPointer     = addPointer;
            this.updatePointer  = updatePointer;
            this.pressPointer   = pressPointer;
            this.releasePointer = releasePointer;
            this.removePointer  = removePointer;
            this.cancelPointer  = cancelPointer;

            nativeLogDelegate     = nativeLog;
            nativePointerDelegate = nativePointer;

            touchPool = new ObjectPool <TouchPointer>(10, () => new TouchPointer(this), null, resetPointer);

            hMainWindow = WindowsUtils.GetActiveWindow();
            disablePressAndHold();
            setScaling();
        }
示例#6
0
 public static extern bool CallAsFunc(IntPtr ptr, Int32 lMethodNum, IntPtr value, PointerDelegate response);
示例#7
0
 public static extern bool GetParamDefValue(IntPtr ptr, Int32 lMethodNum, Int32 lParamNum, PointerDelegate response);
示例#8
0
 public static extern void GetMethodName(IntPtr ptr, Int32 lMethodNum, Int32 lMethodAlias, PointerDelegate response);
示例#9
0
 public static extern void GetPropVal(IntPtr ptr, Int32 lPropNum, PointerDelegate response);
示例#10
0
 public static extern void GetPropName(IntPtr ptr, Int32 lPropNum, Int32 lPropAlias, PointerDelegate response);
示例#11
0
 /// <inheritdoc />
 public Windows7PointerHandler(PointerDelegate addPointer, PointerDelegate updatePointer, PointerDelegate pressPointer, PointerDelegate releasePointer, PointerDelegate removePointer, PointerDelegate cancelPointer) : base(addPointer, updatePointer, pressPointer, releasePointer, removePointer, cancelPointer)
 {
     init(TOUCH_API.WIN7);
 }
示例#12
0
        public virtual void Init()
        {
            if (isCached)
            {
                return;
            }
            //
            IPointerClickHandler iPointerClick;
            IPointerDownHandler  iPointerDown;
            IPointerUpHandler    iPointerUp;
            IPointerEnterHandler iPointerEnter;
            IPointerExitHandler  iPointerExit;
            IBeginDragHandler    iBeginDrag;
            IEndDragHandler      iEndDrag;
            IDragHandler         iDrag;

            //
            MonoBehaviour[] coms = this.GetComponents <MonoBehaviour>();
            MonoBehaviour   com;

            for (int i = 0, imax = coms.Length; i < imax; ++i)
            {
                com = coms[i];
                //foreach(MonoBehaviour com in this.GetMonoBehaviours<MonoBehaviour>()){
                // <0>
                iPointerClick = com as IPointerClickHandler;
                if (iPointerClick != null)
                {
                    onPointerClick += iPointerClick.OnPointerClick;
                }
                else
                {
                    // <0>
                    iPointerDown = com as IPointerDownHandler;
                    if (iPointerDown != null)
                    {
                        onPointerDown += iPointerDown.OnPointerDown;
                    }
                    // <0>
                    iPointerUp = com as IPointerUpHandler;
                    if (iPointerUp != null)
                    {
                        onPointerUp += iPointerUp.OnPointerUp;
                    }
                }
                // <0>
                iPointerEnter = com as IPointerEnterHandler;
                if (iPointerEnter != null)
                {
                    onPointerEnter += iPointerEnter.OnPointerEnter;
                }
                // <0>
                iPointerExit = com as IPointerExitHandler;
                if (iPointerExit != null)
                {
                    onPointerExit += iPointerExit.OnPointerExit;
                }
                // <0>
                iBeginDrag = com as IBeginDragHandler;
                if (iBeginDrag != null)
                {
                    onBeginDrag += iBeginDrag.OnBeginDrag;
                }
                // <0>
                iEndDrag = com as IEndDragHandler;
                if (iEndDrag != null)
                {
                    onEndDrag += iEndDrag.OnEndDrag;
                }
                // <0>
                iDrag = com as IDragHandler;
                if (iDrag != null)
                {
                    onDrag += iDrag.OnDrag;
                }
            }
            isCached = true;
        }