示例#1
0
        /// <summary>
        /// Update the status, means contact for driver as well as the cursor
        /// </summary>
        /// <param name="newStatus"></param>
        /// <returns></returns>
        private InputStatus updateStatus(InputStatus newStatus)
        {
            //generate contact for virtual touch driver
            if ((currentStatus == InputStatus.UNKNOWN || currentStatus == InputStatus.CURSOR) && newStatus == InputStatus.TOUCHED)
            {
                currentContact = new HandContact(position);
            }
            else if (currentStatus == InputStatus.TOUCHED)
            {
                currentContact.Update(position, newStatus);
            }
            else
            {
                newStatus = InputStatus.CURSOR;
                if (currentContact != null)
                {
                    currentContact.Update(position, newStatus);
                }
            }

            //set cursor
            if (currentStatus != newStatus)
            {
                currentStatus = newStatus;
                cursor.setBitmap(cursorImage[(int)newStatus]);
            }
            return(newStatus);
        }