IP Library Granted Patent US 10,331,319
Granted Patent B2
US 10,331,319 · App. 15/197,547 · Granted Jun 25, 2019

Objects alignment and distribution layout

Inventors: Robert Christopher Travis (San Francisco, CA); Tomas Krcha (San Francisco, CA); Narciso Batacan Jaramillo (Piedmont, CA); Talin Chris Wadsworth (Castro Valley, CA); Sylvain Pierre Galineau (Seattle, WA); Lawrence Hsu (San Mateo, CA); Anirudh Sasikumar (Dublin, CA)
Assignee: Adobe Inc.
G06F3/04845G06F3/0489G06F3/04883
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 10,331,319
App. No.
15/197,547
Granted
Jun 25, 2019
Kind
B2
Abstract

In embodiments of objects alignment and distribution layout, an object layout interface includes objects displayed for selection and manipulation. A layout algorithm receives a reposition input for a selected object in the object layout interface, and determines a distribution layout and/or an alignment layout of the objects. The layout algorithm positions the selected object equidistant between at least two of the objects or at a distance from a closest one of the objects, the distance being an equivalent distance of a space between the at least two objects. The space between the objects is displayed as positive space that visually indicates the equidistance between the objects. Alternatively or in addition, the layout algorithm positions the selected object in alignment with multiple objects, and an alignment indication, such as an edge line and/or a distance measurement, is displayed for each instance of the selected object being aligned with the multiple objects.

Claims (60)

1. A method of objects alignment and distribution layout in an object layout interface as implemented in a digital environment performed by a layout module implemented at least partially in hardware of a computing device, the method comprising:

displaying the object layout interface that includes objects displayed for selection and manipulation;

receiving a reposition input that repositions a selected object in the object layout interface;

determining a distribution layout of the objects based on the reposition input of the selected object;

positioning, based on the determined distribution layout of the objects, the selected object equidistant between at least two of the objects or at a distance from a closest one of the objects, the distance being an equivalent distance of a space between the at least two objects; and

displaying the space between the selected object and the at least two objects as positive space that visually indicates the equidistance between the selected object and the at least two objects.

2. The method as recited in claim 1 , further comprising:

displaying a distance measurement that numerically indicates the equidistance between the selected object and the at least two objects.

3. The method as recited in claim 1 , wherein said receiving the reposition input as one or more keyboard arrow keys inputs, and the method further comprising:

displaying a distribution indication of the space between the selected object and the at least two objects based on a keyboard arrow key input that positions the selected object the equidistance between the at least two objects or at the distance from the closest object.

4. The method as recited in claim 1 , wherein the positioning includes moving the selected object the equidistance between the at least two objects or at the distance from the closest object subsequent to the received reposition input.

5. The method as recited in claim 4 , wherein said moving the selected object not more than a predefined number of pixels subsequent to the received reposition input.

6. The method as recited in claim 1 , further comprising:

determining an alignment layout of the objects based on the reposition input of the selected object, wherein at least one edge of the selected object is aligned with an edge of at least one of the other objects; and

wherein the alignment layout is determined subsequent to the distribution layout, the selected object being distributed and then edge-aligned with the at least one other object.

7. The method as recited in claim 6 , wherein:

the edges of an object include vertical edges, a vertical center, horizontal edges, and a horizontal center of the object; and

the selected object is edge-aligned with the at least one other object based on any one or more of the edges of the selected object being aligned with any one or more of the edges of the at least one other object.

8. The method as recited in claim 1 , further comprising:

receiving a group reposition input that repositions a selected object group of the objects displayed in the object layout interface;

determining the distribution layout of the selected object group based on the group reposition input of the selected object group; and

positioning, based on the determined distribution layout of the objects, the selected object group equidistant between at least two non selected objects or at the distance from a closest one of the non-selected objects, wherein the space between the selected object group and the at least two non-selected objects is displayed as the positive space.

9. The method as recited in claim 1 , further comprising:

displaying an additional object layout interface that includes additional objects displayed for selection and manipulation; and

said determining the distribution layout of the objects based on the reposition input of the selected object within the object layout interface only, disregarding distribution with the additional objects displayed in the additional object layout interface.

10. A method of objects alignment and distribution layout in an object layout interface as implemented in a digital environment performed by a layout module implemented at least partially in hardware of a computing device, the method comprising:

displaying the object layout interface that includes objects displayed for selection and manipulation;

receiving a reposition input that repositions a selected object in the object layout interface;

determining an alignment layout of the objects based on the reposition input of the selected object;

positioning the selected object in alignment with multiple ones of the objects based on the determined alignment layout of the objects, at least one edge of the selected object being aligned along an axis with an edge of each of the multiple objects; and

displaying an alignment indication for each instance of the selected object being aligned with the edge of each of the multiple objects, at least one of the alignment indications indicating an alignment of a border edge of the selected object being aligned with a vertical center or a horizontal center of one of the multiple objects.

11. The method as recited in claim 10 , wherein:

the alignment indication for each instance of object alignment is an edge line extending along the axis of the at least one edge of the selected object and the aligned edge of each of the multiple objects; and

the method further comprising minimizing display items on the object layout interface by combining overlapping ones of the edge lines.

12. The method as recited in claim 10 , wherein the alignment indication for each instance of object alignment is a distance measurement that numerically indicates a distance between the selected object and each of the multiple objects along the axis of the aligned edges of the respective objects.

13. The method as recited in claim 10 , wherein:

the alignment indication for each instance of object alignment is an edge line extending along the axis of the at least one edge of the selected object and the aligned edge of each of the multiple objects; and

the alignment indication including a distance measurement that numerically indicates a distance between the selected object and each of the multiple objects along the axis of the aligned edges of the respective objects.

14. The method as recited in claim 10 , wherein:

the edges of an object include vertical edges, a vertical center, horizontal edges, and a horizontal center of the object;

the border edge of the selected object is one of the vertical edges or one of the horizontal edges of the selected object; and

the selected object is edge-aligned with the multiple objects based on any one or more of the edges of the selected object being aligned with any one or more of the edges of the multiple objects.

15. The method as recited in claim 10 , wherein said receiving the reposition input as one or more keyboard arrow key inputs, and the method further comprising:

displaying the alignment indication for each instance of the selected object being aligned with the multiple objects based on a keyboard arrow key input that positions the selected object into the alignment layout with the multiple objects.

16. The method as recited in claim 10 , wherein the positioning includes moving the selected object into the alignment layout with the multiple objects subsequent to the received reposition input.

17. The method as recited in claim 16 , wherein said moving the selected object not more than a predefined number of pixels subsequent to the received reposition input.

18. The method as recited in claim 10 , further comprising:

displaying an additional object layout interface that includes additional objects displayed for selection and manipulation; and

said determining the alignment layout of the objects based on the reposition input of the selected object within the object layout interface only, disregarding alignment with the additional objects displayed in the additional object layout interface.

19. A computing device implemented for objects alignment and distribution layout in an object layout interface, the computing device comprising:

a display device configured to display the object layout interface that includes objects displayed for selection and manipulation;

a memory and processor system configured to execute a layout algorithm as a computer application that is implemented to:

receive a reposition input that repositions a selected object in the object layout interface;

determine a distribution layout of the objects based on the reposition input of the selected object;

position, based on the determined distribution layout of the objects, the selected object equidistant between at least two of the objects or at a distance from a closest one of the objects, the distance being an equivalent distance of a space between the at least two objects; and

display the space between the selected object and the at least two objects as positive space that visually indicates the equidistance between the selected object and the at least two objects.

20. The computing device as recited in claim 19 , wherein the layout algorithm is further implemented to:

determine an alignment layout of the objects based on the reposition input of the selected object;

further position the selected object in alignment with the multiple ones of the objects based on the determined alignment layout of the objects, at least one edge of the selected object being aligned along an axis with an edge of each of the multiple objects; and

display alignment indications for each instance of the selected object being aligned with the edge of each of the multiple objects.

Assignments (2)
CHANGE OF NAME Recorded Jan 18, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048097/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2016
From: TRAVIS, ROBERT CHRISTOPHER; KRCHA, TOMAS; JARAMILLO, NARCISO BATACAN; WADSWORTH, TALIN CHRIS; GALINEAU, SYLVAIN PIERRE; HSU, LAWRENCE; SASIKUMAR, ANIRUDH
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 039269/0072 →
Continuity (1)
Related Publication 20180004401A1 · Jan 4, 2018
Cited By (4)
US 1,113,404 US 12,193,581 US 12,349,817 US 12,376,691