Location operation conflict resolution
Location operation conflict resolution techniques are described. In these techniques, a likely user's intent is inferred by a digital image editing system to prioritize anchor points that are to be a subject of a location operation. In an example in which multiple anchor points qualify for location operations at a same time, these techniques are usable to resolve conflicts between the anchor points based on an assigned priority. In an implementation, the priority is based on selection input location with respect to an object.
1 . A method comprising:
receiving, by a processing device, a selection input involving a location operation for an object with respect to another object in a user interface;
identifying, by a processing device, a conflict in which at least two anchor points, of the object, qualify for the location operation;
detecting, by the processing device, a plurality of aspects of the object in the user interface;
determining, by the processing device, a location of the selection input of the object in the user interface with respect to the plurality of aspects;
assigning, by the processing device, a priority to the plurality of aspects based on the determining;
resolving, by the processing device, the conflict for the at least two anchor points of the object for the location based on the priority resulting in a resolved anchor point of the object;
outputting, by the processing device, a visual guide in the user interface indicating a relationship of the resolved anchor point of the object and an anchor point of the another object in the user interface as part of the location operation; and
controlling, by the processing device, performance of the location operation for the object in the user interface with respect to the another object in the user interface based on the resolving in which the resolved conflict based on the priority is maintained through the selection input and the performance of the location operation with respect to the another object.
2 . The method as described in claim 1 , wherein the plurality of aspects define a plurality of directions with respect to the object.
3 . The method as described in claim 1 , wherein the detecting the plurality of aspects is based at least in part of a boundary of the object.
4 . The method as described in claim 1 , wherein the detecting the plurality of aspects includes generating a bounding box based on the object.
5 . The method as described in claim 4 , wherein the plurality of aspects is defined based on sides and a center of the bounding box.
6 . The method as described in claim 1 , wherein the assigning the priority is based on distances between the location of the selection input and the plurality of aspects, respectively.
7 . The method as described in claim 1 , wherein the resolving the conflict based on the priority is based on distances of the at least two anchor points to respective said aspects.
8 . The method as described in claim 1 , wherein the location operation is a snapping operation, an alignment operation, or a spacing operation.
9 . The method as described in claim 1 , further comprising receiving the selection input via a cursor control device or gesture.
10 . The method as described in claim 1 , wherein the location operation causes movement of the resolved anchor point of the object with respect to the anchor point of the another object in the user interface.
11 . A computing device comprising:
a processing device; and
a computer-readable storage medium storing instructions that, responsive to execution by the processing device, causes the processing device to perform operations including:
receiving a selection input involving a location operation for an object with respect to another object in a user interface;
identifying a conflict in which at least two anchor points, of the object, qualify for the location operation;
detecting a plurality of aspects of the object in the user interface, the plurality of aspects based on a plurality of sides and a center of a bounding box of the object;
determining a location of the selection input of the object in the user interface with respect to the plurality of aspects;
assigning a priority to the plurality of aspects based on the determining;
resolving the conflict for the at least two anchor points for the location operation based on the priority resulting in a resolved anchor point of the object;
outputting a visual guide in the user interface indicating a relationship of the resolved anchor point of the object and the anchor point of the another object in the user interface as part of the location operation; and
controlling performance of the location operation for the object in the user interface with respect to the another object in the user interface based on the resolving in which the resolved conflict based on the priority is maintained through the selection input and the performance of the location operation with respect to the another object.
12 . The computing device as described in claim 11 , wherein the plurality of aspects define a plurality of directions with respect to the object.
13 . The computing device as described in claim 11 , wherein the detecting the plurality of aspects is based at least in part of a boundary of the object.
14 . The computing device as described in claim 11 , the detecting the plurality of aspects includes generating a bounding box based on the object.
15 . The computing device as described in claim 14 , wherein the plurality of aspects is defined based on sides and a center of the bounding box.
16 . The computing device as described in claim 11 , wherein the assigning the priority is based on distances between the location of the selection input and the plurality of aspects, respectively.
17 . The computing device as described in claim 11 , wherein the resolving the conflict based on the priority is based on distances of the at least two anchor points to respective said aspects.
18 . The computing device as described in claim 11 , wherein the location operation is a snapping operation, an alignment operation, or a spacing operation.
19 . One or more computer-readable storage media storing instructions that, responsive to execution by a processing device, causes the processing device to perform operations comprising:
receiving a selection input involving a location operation for an object with respect to another object in a user interface;
identifying a conflict in which at least two anchor points, of the object, qualify for the location operation;
detecting a plurality of aspects of the object in a user interface, the plurality of aspects based on a plurality of sides and a center of a bounding box of the object;
determining a location of the selection input of the object in the user interface with respect to the plurality of aspects;
assigning a priority to the plurality of aspects based on the determining;
resolving the conflict of the at least two anchor points for the location operation based on the priority resulting in a resolved anchor point of the object; and
controlling performance of the location operation for the object in the user interface based on the resolving in which the resolved conflict for the at least two anchor points is maintained based on the priority through the selection input and the performance of the location operation with respect to the another object.
20 . The one or more computer-readable storage media as described in claim 19 , wherein the location operation is a snapping operation, an alignment operation, or a spacing operation.