/// <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); }