IP Library › Granted Patent US 12,524,145
Granted Patent B2
US 12,524,145 · App. 18/440,746 · Granted Jan 13, 2026

Devices, methods, and systems for manipulating user interfaces

Inventors: Christopher D. Soli (San Francisco, CA); Daniel T. Preston (San Jose, CA); Tiffany S. Jon (San Jose, CA)
Assignee: Apple Inc.
G06F3/04883G06F3/03545G06F3/04817
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 12,524,145
App. No.
18/440,746
Granted
Jan 13, 2026
Kind
B2
Abstract

A method includes while displaying a drawing user interface, detecting an object insertion input and, in response, inserting a respective object in the drawing user interface. The method includes, while displaying the respective object, detecting a pixel erase input, and, in response, ceasing to display a first portion of the respective object without ceasing to display second and third portions of the respective object. The method includes detecting an object erase input directed to a portion of the respective object, and, in response, when the object erase input is directed to the second portion and the second portion is not connected to the third portion, ceasing to display the second portion, but not the third portion; and when the object erase input is directed to the third portion and the third portion is not connected to the second portion, ceasing to display the third portion, but not the second portion.

Claims (140)

1 . A method comprising:

at an electronic device with one or more processors, a non-transitory memory, an input device, and a display device:

displaying, via the display device, a first drawing palette at a first location within a first application interface, wherein the first drawing palette has a first appearance at the first location in which the first drawing palette includes a plurality of content manipulation affordances, the plurality of content manipulation affordances including a representation of a currently selected drawing tool concurrently displayed with one or more representations of other available drawing tools;

detecting, via the input device, a first input that corresponds to a request to move the first drawing palette within the first application interface; and

in response to detecting the first input:

in accordance with a determination that the first input corresponds to a request to move the first drawing palette to a second location within the first application interface, displaying the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input corresponds to a request to move the first drawing palette to a third location within the first application interface that is different from the second location, displaying the first drawing palette at the third location with a second appearance that is different from the first appearance, in which the first drawing palette includes a single content manipulation affordance, the single content manipulation affordance including a representation of a currently selected drawing tool, wherein the first drawing palette with the second appearance does not include representations of other drawing tools.

2 . The method of claim 1 , wherein the first location corresponds to a first location type, the method further comprising:

in accordance with a determination that the first input corresponds to a first input type, displaying the first drawing palette at the second location with the first appearance based on the first location type and the first input type; and

in accordance with a determination that the first input corresponds to a second input type that is different from the first input type, displaying the first drawing palette at the third location with the second appearance based on the first location type and the second input type.

3 . The method of claim 1 , wherein the determination that the first input corresponds to the request to move the first drawing palette to the second location includes determining that the second location corresponds to a first location type, and wherein the determination that the first input corresponds to the request to move the first drawing palette to the third location includes determining that the third location corresponds to a second location type that is different from the first location type.

4 . The method of claim 1 , further comprising:

while displaying the first drawing palette at the second location with the first appearance and having a first orientation, wherein the second location corresponds to a first location type:

detecting, via the input device, a second input that corresponds to a request to move the first drawing palette to a fourth location within the first application interface, wherein the fourth location corresponds to the first location type; and

in response to detecting the second input:

in accordance with a determination that the fourth location is on an opposite side of the display as compared with the second location, displaying the first drawing palette at the fourth location with the first appearance and having the first orientation; and

in accordance with a determination that the fourth location is not on the opposite side of the display as compared with the second location, displaying the first drawing palette at the fourth location with the first appearance and having a second orientation different from the first orientation.

5 . The method of claim 1 , further comprising, in response to detecting a second input corresponding to a drawing operation on the first application interface, ceasing to display the first drawing palette.

6 . The method of claim 1 , wherein the first appearance corresponds to the first drawing palette being in a first expanded state, and wherein the second appearance corresponds to the first drawing palette being in a condensed state.

7 . The method of claim 6 , further comprising:

while displaying the first drawing palette in the condensed state at the third location:

detecting, via the input device, a touch input directed to the first drawing palette; and

in response to detecting the touch input, displaying the first drawing palette in a second expanded state that is different from the first expanded state, wherein the first drawing palette in the second expanded state includes more representations of drawing tools than the first drawing palette in the condensed state.

8 . The method of claim 7 , further comprising:

detecting, via the input device, a second input directed to a particular content manipulation affordance within the first drawing palette in the second expanded state; and

in response to detecting the second input, setting a current editing setting associated with the first drawing palette according to the particular content manipulation affordance.

9 . The method of claim 1 , further comprising:

while displaying the first drawing palette at the second location or the third location:

detecting, via the input device, a tap input directed to the first drawing palette; and

in response to detecting the tap input, moving the first drawing palette to the first location.

10 . The method of claim 1 , further comprising:

in accordance with a determination that the first input satisfies a first distance threshold, determining that the first input corresponds to the request to move the first drawing palette to the second location and displaying the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input does not satisfy the first distance threshold, displaying the first drawing palette at the first location with the first appearance.

11 . The method of claim 1 , further comprising:

in accordance with a determination that the first input satisfies a velocity threshold, determining that the first input corresponds to the request to move the first drawing palette to the second location and displaying the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input does not satisfy the velocity threshold, displaying the first drawing palette at the first location with the first appearance.

12 . The method of claim 1 , further comprising:

displaying, via the display device, a second application interface concurrently with the first application interface, wherein the second application interface includes a second drawing palette;

in accordance with a determination that the first application interface has a respective dimensional characteristic that does not satisfy a threshold size, setting the first drawing palette as unmovable within the first application interface, and setting the second drawing palette as movable within the second application interface;

detecting, via the input device, a second input; and

in response to detecting the second input:

in accordance with a determination the second input corresponds to a request to move the first drawing palette to a fourth location within the first application interface, maintaining a current position of the first drawing palette; and

in accordance with a determination the second input corresponds to a request to move the second drawing palette to a fifth location within the second application interface, moving the second drawing palette to the fifth location.

13 . The method of claim 12 , further comprising:

detecting, via the input device, a third input directed to the first application interface; and

in response to detecting the third input, deemphasizing the second drawing palette relative to content displayed on a canvas of the second application interface.

14 . An electronic device comprising:

an input device;

a display device;

non-transitory memory; and

one or more processors configured to:

display, via the display device, a first drawing palette at a first location within a first application interface, wherein the first drawing palette has a first appearance at the first location in which the first drawing palette includes a plurality of content manipulation affordances, the plurality of content manipulation affordances including a representation of a currently selected drawing tool concurrently displayed with one or more representations of other available drawing tools;

detect, via the input device, a first input that corresponds to a request to move the first drawing palette within the first application interface; and

in response to detecting the first input:

in accordance with a determination that the first input corresponds to a request to move the first drawing palette to a second location within the first application interface, display the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input corresponds to a request to move the first drawing palette to a third location within the first application interface that is different from the second location, display the first drawing palette at the third location with a second appearance that is different from the first appearance, in which the first drawing palette includes a single content manipulation affordance, the single content manipulation affordance including a representation of a currently selected drawing tool, wherein the first drawing palette with the second appearance does not include representations of other drawing tools.

15 . The electronic device of claim 14 , wherein the first location corresponds to a first location type, the one or more processors further configured to:

in accordance with a determination that the first input corresponds to a first input type, display the first drawing palette at the second location with the first appearance based on the first location type and the first input type; and

in accordance with a determination that the first input corresponds to a second input type that is different from the first input type, display the first drawing palette at the third location with the second appearance based on the first location type and the second input type.

16 . The electronic device of claim 14 , wherein the determination that the first input corresponds to the request to move the first drawing palette to the second location includes determining that the second location corresponds to a first location type, and wherein the determination that the first input corresponds to the request to move the first drawing palette to the third location includes determining that the third location corresponds to a second location type that is different from the first location type.

17 . The electronic device of claim 14 , wherein the one or more processors are further configured to:

while displaying the first drawing palette at the second location with the first appearance and having a first orientation, wherein the second location corresponds to a first location type:

detect, via the input device, a second input that corresponds to a request to move the first drawing palette to a fourth location within the first application interface, wherein the fourth location corresponds to the first location type; and

in response to detecting the second input:

in accordance with a determination that the fourth location is on an opposite side of the display as compared with the second location, display the first drawing palette at the fourth location with the first appearance and having the first orientation; and

in accordance with a determination that the fourth location is not on the opposite side of the display as compared with the second location, display the first drawing palette at the fourth location with the first appearance and having a second orientation different from the first orientation.

18 . The electronic device of claim 14 , wherein the one or more processors are further configured to, in response to detecting a second input corresponding to a drawing operation on the first application interface, cease to display the first drawing palette.

19 . A non-transitory computer readable storage medium storing one or more programs which, when executed by an electronic device with one or more processors, an input device, and a display device, cause the electronic device to:

display, via the display device, a first drawing palette at a first location within a first application interface, wherein the first drawing palette has a first appearance at the first location in which the first drawing palette includes a plurality of content manipulation affordances, the plurality of content manipulation affordances including a representation of a currently selected drawing tool concurrently displayed with one or more representations of other available drawing tools;

detect, via the input device, a first input that corresponds to a request to move the first drawing palette within the first application interface; and

in response to detecting the first input:

in accordance with a determination that the first input corresponds to a request to move the first drawing palette to a second location within the first application interface, display the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input corresponds to a request to move the first drawing palette to a third location within the first application interface that is different from the second location, display the first drawing palette at the third location with a second appearance that is different from the first appearance, in which the first drawing palette includes a single content manipulation affordance, the single content manipulation affordance including a representation of a currently selected drawing tool, wherein the first drawing palette with the second appearance does not included representations of other drawing tools.

20 . The electronic device of claim 14 , wherein the first appearance corresponds to the first drawing palette being in a first expanded state, and wherein the second appearance corresponds to the first drawing palette being in a condensed state.

21 . The electronic device of claim 20 , wherein the one or more processors are further configured to:

while displaying the first drawing palette in the condensed state at the third location:

detect, via the input device, a touch input directed to the first drawing palette; and

in response to detecting the touch input, display the first drawing palette in a second expanded state that is different from the first expanded state, wherein the first drawing palette in the second expanded state includes more representations of drawing tools than the first drawing palette in the condensed state.

22 . The electronic device of claim 21 , wherein the one or more processors are further configured to:

detect, via the input device, a second input directed to a particular content manipulation affordance within the first drawing palette in the second expanded state; and

in response to detecting the second input, set a current editing setting associated with the first drawing palette according to the particular content manipulation affordance.

23 . The electronic device of claim 14 , wherein the one or more processors are further configured to:

while displaying the first drawing palette at the second location or the third location:

detect, via the input device, a tap input directed to the first drawing palette; and

in response to detecting the tap input, move the first drawing palette to the first location.

24 . The electronic device of claim 14 , wherein the one or more processors are further configured to:

in accordance with a determination that the first input satisfies a first distance threshold, determine that the first input corresponds to the request to move the first drawing palette to the second location and display the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input does not satisfy the first distance threshold, display the first drawing palette at the first location with the first appearance.

25 . The electronic device of claim 14 , wherein the one or more processors are further configured to:

in accordance with a determination that the first input satisfies a velocity threshold, determine that the first input corresponds to the request to move the first drawing palette to the second location and display the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input does not satisfy the velocity threshold, display the first drawing palette at the first location with the first appearance.

26 . The electronic device of claim 14 , wherein the one or more processors are further configured to:

display, via the display device, a second application interface concurrently with the first application interface, wherein the second application interface includes a second drawing palette;

in accordance with a determination that the first application interface has a respective dimensional characteristic that does not satisfy a threshold size, set the first drawing palette as unmovable within the first application interface, and set the second drawing palette as movable within the second application interface;

detect, via the input device, a second input; and

in response to detecting the second input:

in accordance with a determination the second input corresponds to a request to move the first drawing palette to a fourth location within the first application interface, maintain a current position of the first drawing palette; and

in accordance with a determination the second input corresponds to a request to move the second drawing palette to a fifth location within the second application interface, move the second drawing palette to the fifth location.

27 . The electronic device of claim 26 , wherein the one or more processors are further configured to:

detect, via the input device, a third input directed to the first application interface; and

in response to detecting the third input, deemphasize the second drawing palette relative to content displayed on a canvas of the second application interface.

28 . The non-transitory computer readable storage medium of claim 19 , wherein the first location corresponds to a first location type, the one or more programs, when executed, further cause the electronic device to:

in accordance with a determination that the first input corresponds to a first input type, display the first drawing palette at the second location with the first appearance based on the first location type and the first input type; and

in accordance with a determination that the first input corresponds to a second input type that is different from the first input type, display the first drawing palette at the third location with the second appearance based on the first location type and the second input type.

29 . The non-transitory computer readable storage medium of claim 19 , wherein the determination that the first input corresponds to the request to move the first drawing palette to the second location includes determining that the second location corresponds to a first location type, and wherein the determination that the first input corresponds to the request to move the first drawing palette to the third location includes determining that the third location corresponds to a second location type that is different from the first location type.

30 . The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs, when executed, further cause the electronic device to:

while displaying the first drawing palette at the second location with the first appearance and having a first orientation, wherein the second location corresponds to a first location type:

detect, via the input device, a second input that corresponds to a request to move the first drawing palette to a fourth location within the first application interface, wherein the fourth location corresponds to the first location type; and

in response to detecting the second input:

in accordance with a determination that the fourth location is on an opposite side of the display as compared with the second location, display the first drawing palette at the fourth location with the first appearance and having the first orientation; and

in accordance with a determination that the fourth location is not on the opposite side of the display as compared with the second location, display the first drawing palette at the fourth location with the first appearance and having a second orientation different from the first orientation.

31 . The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs, when executed, further cause the electronic device to, in response to detecting a second input corresponding to a drawing operation on the first application interface, cease to display the first drawing palette.

32 . The non-transitory computer readable storage medium of claim 19 , wherein the first appearance corresponds to the first drawing palette being in a first expanded state, and wherein the second appearance corresponds to the first drawing palette being in a condensed state.

33 . The non-transitory computer readable storage medium of claim 32 , wherein the one or more programs, when executed, further cause the electronic device to:

while displaying the first drawing palette in the condensed state at the third location:

detect, via the input device, a touch input directed to the first drawing palette; and

in response to detecting the touch input, display the first drawing palette in a second expanded state that is different from the first expanded state, wherein the first drawing palette in the second expanded state includes more representations of drawing tools than the first drawing palette in the condensed state.

34 . The non-transitory computer readable storage medium of claim 33 , wherein the one or more programs, when executed, further cause the electronic device to:

detect, via the input device, a second input directed to a particular content manipulation affordance within the first drawing palette in the second expanded state; and

in response to detecting the second input, set a current editing setting associated with the first drawing palette according to the particular content manipulation affordance.

35 . The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs, when executed, further cause the electronic device to:

while displaying the first drawing palette at the second location or the third location:

detect, via the input device, a tap input directed to the first drawing palette; and

in response to detecting the tap input, move the first drawing palette to the first location.

36 . The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs, when executed, further cause the electronic device to:

in accordance with a determination that the first input satisfies a first distance threshold, determine that the first input corresponds to the request to move the first drawing palette to the second location and display the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input does not satisfy the first distance threshold, display the first drawing palette at the first location with the first appearance.

37 . The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs, when executed, further cause the electronic device to:

in accordance with a determination that the first input satisfies a velocity threshold, determine that the first input corresponds to the request to move the first drawing palette to the second location and display the first drawing palette at the second location with the first appearance; and

in accordance with a determination that the first input does not satisfy the velocity threshold, display the first drawing palette at the first location with the first appearance.

38 . The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs, when executed, further cause the electronic device to:

display, via the display device, a second application interface concurrently with the first application interface, wherein the second application interface includes a second drawing palette;

in accordance with a determination that the first application interface has a respective dimensional characteristic that does not satisfy a threshold size, set the first drawing palette as unmovable within the first application interface, and set the second drawing palette as movable within the second application interface;

detect, via the input device, a second input; and

in response to detecting the second input:

in accordance with a determination the second input corresponds to a request to move the first drawing palette to a fourth location within the first application interface, maintain a current position of the first drawing palette; and

in accordance with a determination the second input corresponds to a request to move the second drawing palette to a fifth location within the second application interface, move the second drawing palette to the fifth location.

39 . The non-transitory computer readable storage medium of claim 38 , wherein the one or more programs, when executed, further cause the electronic device to:

detect, via the input device, a third input directed to the first application interface; and

in response to detecting the third input, deemphasize the second drawing palette relative to content displayed on a canvas of the second application interface.

Continuity (4)
Continuation 16843019 · Apr 8, 2020
Provisional Application 62855801 · May 31, 2019
Provisional Application 62843827 · May 6, 2019
Related Publication 20240184442A1 · Jun 6, 2024
References Cited (64)
US 5757371A · Oran · 1998 [cited by examiner]
US 5956020A · D'Amico et al. · 1999 [cited by applicant]
US 6323846B1 · Westerman et al. · 2001 [cited by applicant]
US 6570557B1 · Westerman et al. · 2003 [cited by applicant]
US 6677932B1 · Westerman · 2004 [cited by applicant]
US 6728784B1 · Mattaway · 2004 [cited by examiner]
US 7614008B2 · Ording · 2009 [cited by applicant]
US 7633076B2 · Huppi et al. · 2009 [cited by applicant]
US 7653883B2 · Hotelling et al. · 2010 [cited by applicant]
US 7657849B2 · Chaudhri et al. · 2010 [cited by applicant]
US 7663607B2 · Hotelling et al. · 2010 [cited by applicant]
US 7844914B2 · Andre et al. · 2010 [cited by applicant]
US 7957762B2 · Herz et al. · 2011 [cited by applicant]
US 8006002B2 · Kalayjian et al. · 2011 [cited by applicant]
US 8239784B2 · Hotelling et al. · 2012 [cited by applicant]
US 8279180B2 · Hotelling et al. · 2012 [cited by applicant]
US 8381135B2 · Hotelling et al. · 2013 [cited by applicant]
US 8479122B2 · Hotelling et al. · 2013 [cited by applicant]
US 9256356B2 · Nojima · 2016 [cited by examiner]
US 9348458B2 · Hotelling et al. · 2016 [cited by applicant]
US 9360994B2 · Moore · 2016 [cited by examiner]
US 9477403B2 · Dowd et al. · 2016 [cited by applicant]
US 9916017B2 · Liang et al. · 2018 [cited by applicant]
US 9933937B2 · Lemay et al. · 2018 [cited by applicant]
US 10289269B2 · Yao · 2019 [cited by examiner]
US 10832454B1 · Liu et al. · 2020 [cited by applicant]
US 11209975B2 · Andrews et al. · 2021 [cited by applicant]
US 11714520B2 · Hwang · 2023 [cited by examiner]
US 20020015024A1 · Westerman et al. · 2002 [cited by applicant]
US 20050190059A1 · Wehrenberg · 2005 [cited by applicant]
US 20060017692A1 · Wehrenberg et al. · 2006 [cited by applicant]
US 20060033724A1 · Chaudhri et al. · 2006 [cited by applicant]
US 20060197753A1 · Hotelling · 2006 [cited by applicant]
US 20110126129A1 · Nagahara et al. · 2011 [cited by applicant]
US 20110199297A1 · Antonyuk et al. · 2011 [cited by applicant]
US 20120054667A1 · Beykpour · 2012 [cited by examiner]
US 20120216150A1 · Wernecke · 2012 [cited by applicant]
US 20130167086A1 · Kim et al. · 2013 [cited by applicant]
US 20130346924A1 · Morrill et al. · 2013 [cited by applicant]
US 20140187318A1 · Gallizzi et al. · 2014 [cited by applicant]
US 20140250398A1 · Andrews et al. · 2014 [cited by applicant]
US 20150169069A1 · Lo et al. · 2015 [cited by applicant]
US 20160098186A1 · Sugiura · 2016 [cited by applicant]
US 20160357358A1 · Forster et al. · 2016 [cited by applicant]
US 20170364248A1 · Tran et al. · 2017 [cited by applicant]
US 20180150200A1 · Uenohara et al. · 2018 [cited by applicant]
US 20180349020A1 · Jon et al. · 2018 [cited by applicant]
US 20200356250A1 · Soli et al. · 2020 [cited by applicant]
CN 102566862A · 2012 [cited by applicant]
CN 107533368A · 2018 [cited by applicant]
CN 107690613A · 2018 [cited by applicant]
EP 2763020A1 · 2014 [cited by applicant]
WO 2013169849A2 · 2013 [cited by applicant]
WO 2014105276A1 · 2014 [cited by applicant]
Communication Pursuant to Rule 164(2)(b) and Article 92(3) EPC dated Feb. 14, 2024, EP Application No. 20722191.2, pp. 1-11. [cited by applicant]
International Preliminary Report on Patentability for PCT/US2018/023484 mailed Dec. 3, 2019, pp. 1-12. [cited by applicant]
Katherine Ulrich, Macromedia Flash MX for Windows and Macintosh: Visual QuickStart Guide, Published May 30, 2002, Peachpit Press, Chapter having section“Using the Eraser Tool with Multiple Shapes” (Year: 2002). [cited by applicant]
Steve Johnson, “Adobe Photoshop CS5 on Demand,” May 2010, Que, ISBN-13: 978-0-7897-4447-0, ISBN-10: 0-7897-4447-3 (Year: 2010). [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 16/843,019, mailed on Nov. 15, 2023, 12 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 16/843,019, mailed on Dec. 24, 2021, 13 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 16/843,019, mailed on Feb. 9, 2023, 14 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 16/843,019, mailed on Jul. 22, 2022, 14 pages. [cited by applicant]
European Search Report received for European Patent Application No. 20722191.2, mailed on Feb. 14, 2024, 4 pages. [cited by applicant]
International Search Report received for PCT Patent Application No. PCT/US2020/027652, mailed on Sep. 9, 2020, 5 pages. [cited by applicant]