IP Library Granted Patent US 9,383,885
Granted Patent B2
US 9,383,885 · App. 13/495,319 · Granted Jul 5, 2016

Hit testing curve-based shapes using polygons

Inventors: Nick Chiang (Redmond, WA); Justin Mason (Seattle, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F3/048
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,383,885
App. No.
13/495,319
Granted
Jul 5, 2016
Kind
B2
Abstract

Upon receiving an input comprising an area of a user interface, a user interface element associated with the area of the user interface may be identified and a polygon-based representation of the at least one user interface element may be created. If the input is determined to comprise a selection of the user interface element according to the polygon-based representation, an operation associated with the user interface element may be performed.

Claims (46)

1. A method for providing shape hit testing, the method comprising:

receiving a touch input at an area of a user interface;

identifying at least one user interface element associated with the area of the user interface being comprised of a tessellated element, wherein the tessellated element is a polygon-based shape translated from a vector graphic;

determining whether the touch input comprises a selection of the at least one user interface element according to the polygon-based shape; and

in response to determining that the touch input comprises the selection of the at least one user interface element according to the polygon-based shape, performing an operation associated with the at least one user interface element.

2. The method of claim 1 , wherein at least a portion of the at least one user interface element is displayed within the area of the user interface.

3. The method of claim 2 , wherein the at least one user interface element comprises a line.

4. The method of claim 3 , further comprising padding the line by a configurable amount of pixels.

5. The method of claim 4 , further comprising tessellating the padded line into a polygon-based shape.

6. The method of claim 5 , further comprising tessellating an area enclosed by the closed path into a polygon-based shape.

7. The method of claim 2 , wherein the at least one user interface element comprises a closed path.

8. The method of claim 2 , wherein the at least one user interface element comprises a three-dimensional shape.

9. The method of claim 8 , further comprising:

identifying an outer boundary for the three-dimensional shape; and

tessellating an area enclosed by the outer boundary into a polygon-based shape.

10. The method of claim 1 , wherein receiving the touch input at the area of the user interface wherein the area identified by the touch input includes a plurality of user interface elements in the area.

11. A system for providing shape hit testing, the system comprising:

a memory storage device; and

a processing unit coupled to the memory storage device, wherein the processing unit is operable to:

receive a touch input at an area of a user interface;

identify a plurality of user interface elements displayed at the area of the user interface, wherein each of the plurality of user interface elements are comprised of a tessellated element, wherein the tessellated element is a polygon-based shape translated from an vector graphic;

identify one of the plurality of user interface elements that comprises a target of the touch input; and

execute an operation associated with the one of the plurality of user interface elements.

12. The system of claim 11 , wherein being operative to execute the operation associated with the one of the plurality of user interface elements comprises being operative to provide a feedback to the user interface indicating that the one of the plurality of user interface elements comprises the target.

13. The system of claim 11 , wherein the plurality of user elements displayed within the area of the user interface comprises at least one user element of which only a portion of the vector-based shape is displayed within the area of the user interface.

14. The system of claim 11 , wherein being operative to identify one of the plurality of user interface elements that comprises the target of the touch input comprises being operative to rank each of the polygon-based shapes associated with the plurality of user interface elements according to a ranking criteria.

15. The system of claim 14 , wherein the ranking criteria comprises a relative area of the polygon-based shape within the area.

16. The system of claim 14 , wherein the ranking criteria comprises a distance from a center point of the area.

17. The system of claim 16 , wherein the center point of the area comprises a first point of contact of the touch input.

18. The system of claim 16 , wherein the center point of the area comprises a final point of contact of the touch input.

19. The system of claim 11 , wherein being operative to tessellate each of the plurality of user interface elements into a polygon-based shape comprises being operative to:

determine whether a hollow portion exists in the vector-based shape of at least one of the plurality of user elements; and

in response to determining that the hollow portion exists in the vector-based shape of the at least one of the plurality of user elements, create at least one cut in the vector-based shape of the at least one of the plurality of user elements.

20. A computer-readable memory storage device which stores a set of instructions which when executed performs a method for providing shape hit testing, the method executed by the set of instructions comprising:

receiving a touch input at an area of a user interface comprising a plurality of elements each comprising a vector-based shape;

identifying at least one of the plurality of elements displayed at the area of the user interface;

tessellating the at least one of the plurality of elements into a polygon-based shape, wherein tessellating the at least one of the plurality of elements comprises:

determining whether the at least one element comprises a line,

in response to determining that the at least one element comprises a line, padding the line by a configurable amount of pixels,

determining whether the at least one user interface element comprises a hollow area,

in response to determining that the at least one user interface element comprises the hollow area, creating at least one cut in the vector-based shape of the at least one of the plurality of user elements,

determining whether the at least one element comprises a three-dimensional shape, and

in response to determining that the at least one element comprises the three-dimensional shape, identifying an outer boundary for the three-dimensional shape;

determining whether the area comprises at least a subset of the plurality of elements;

in response to determining that the area comprises the subset of the plurality of elements, identifying a target of the touch input from among the subset of the plurality of elements according to a ranking criteria comprising at least one of the following: an occlusion of each of the subset of the plurality of elements, an application priority associated with each of the subset of the plurality of elements, a relative size of each of the subset of the plurality of elements within the area, a relative size of each of the subset of the plurality of elements outside the area, a relation between a plurality of fragments each associated with a single element, and a distance from a center point of the area for each of the subset of the plurality of elements; and

executing an operation associated with the target of the touch input.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2012
From: CHIANG, NICK; MASON, JUSTIN
To: MICROSOFT CORPORATION
Reel/Frame 028367/0227 →
Continuity (1)
Related Publication 20130339883A1 · Dec 19, 2013