Abstract:
Aspects of subject technology provide systems and methods for electronic drawing with handwriting recognition. An electronic device may include one or more processors configured to receive a modification input to an object rendered on a display, and to perform a first re-rendering of the object on the display based on the modification input. The one or more processors may further be configured to generate at least one polygon-based representation of the object based on the modification input, and to perform, based on the at least one polygon-based representation, a second re-rendering of the object on the display.
Abstract:
The subject technology provides rendering an image in a first view including a plurality of tiles, each tile comprising image data corresponding to a portion of the image. The subject technology, responsive to detecting an initiation of touch input corresponding to the image, copies the image data from the plurality of tiles to a graphical canvas. The subject technology displays the image data in the graphical canvas in a second view, the graphical canvas being overlaid over at least a portion of the rendered image. The subject technology receives input stroke data corresponding to the second view, the input stroke data being continuous with the touch input. The subject technology responsive to detecting that the touch input has ended, copies the input stroke data to the plurality of tiles of the first view. Further, The subject technology displays the input stroke data and the image in the plurality of tiles of the first view.
Abstract:
A method includes displaying an on-screen ruler in a sketch area in response to a predefined input. The on-screen ruler has a first edge and an interior portion delineated by the first edge. The method further includes, in response to detecting a first touch input directed to the first edge of the on-screen ruler, rendering a line in the sketch area in accordance with the first edge of the on-screen ruler. The method further includes, in response to detecting a second touch input directed to the first edge of the on-screen ruler, adding fill content in a first portion of the sketch area that corresponds to regions touched by the second touch input on the touch-sensitive surface and that is delineated by the first edge of the on-screen ruler, such that the first portion of the sketch area is confined by the first edge or the line.
Abstract:
Devices and methods for correcting distortion of misshapen objects in graphical object editing applications are provided. The methods may include displaying on an electronic device a graphical user interface (GUI) including a graphical object. The graphical object includes one or more controllable graphical nodes. The methods include detecting a user input via a processor of the electronic device. The user input includes a selection to reshape the graphical object. The methods further include deriving a first model of the graphical object and a second model of the reshaped graphical object, calculating an incongruence between the graphical object and the first model, deriving a third model of the reshaped graphical object based on the second model and the incongruence, and reshaping the graphical object in accordance with the second model or the third model based on a value of a second incongruence calculated between the graphical object and the third model.
Abstract:
A device implementing a system for rendering animated user input strokes includes at least one processor configured to retrieve a user-specified mapping of physical characteristics of input strokes to ink parameters, and to receive input stroke data, the input stroke data including metadata corresponding to physical characteristics of the input stroke data. The at least one processor is configured to generate, based on the user-specified mapping, a set of ink parameters from the metadata corresponding to the physical characteristics of the input stroke data, and to render, using at least a portion of the generated set of ink parameters, a stroke based on the input stroke data.
Abstract:
A method includes detecting first movement of a first contact on an on-screen ruler in a first direction around a pivot location; in response to the first movement: rotating the ruler by an angular amount according to the first movement; and when the ruler has entered a snap zone associated with a snap angle upon rotation by the first angular amount, rotating the ruler by a first adjusted amount to bring the ruler into alignment with the first snap angle; detecting second movement of the first contact in a second direction and the second movement satisfies unsnapping criteria; and in response to the second movement, rotating the ruler by a second adjusted amount to bring the ruler into alignment with the first contact.
Abstract:
A first electronic device maintains a directed acyclic graph to represent content collaboratively edited by the first device and one or more second devices of multiple collaborating devices. The first device receives one or more editing inputs from one or more devices of the multiple collaborating devices. The first device modifies the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph, traverses the directed acyclic graph in accordance with a predetermined ordering rule to obtain an object sequence, and, if a first editing input of the one or more editing inputs modifies a first existing sketch content object represented in the directed acyclic graph, updates a command sequence associated with the first existing sketch content object by merging each individual drawing command included the first editing input with a command sequence associated with the first existing sketch content object.
Abstract:
A method, comprising: receiving a plurality of handwritten strokes in an input area; in response to receiving the handwritten strokes, determining whether the handwritten strokes are a textual input or a sketch in accordance with predetermined criteria for distinguishing between handwritten textual inputs and sketch inputs; in accordance with a determination that the handwritten strokes are a textual input: generating one or more handwritten word blocks based on the handwritten strokes; and positioning the one or more handwritten word blocks in a content presentation area in accordance with first predetermined layout criteria; and in accordance with a determination that the handwritten strokes are a sketch: generating a sketch content object based on the handwritten strokes; and positioning the sketch content object in the content presentation area in accordance with second predetermined layout criteria that is distinct from the first predetermined layout criteria.
Abstract:
A method of emulating an input device. The method receives a set of data associated with a touch input. The set of data includes a set of coordinates of each data point, the force applied at each data point, and the time the data for each data point is received. The method adds several data points to the first set of data points to create a second set of data points. For each data point in the second set of data points, the method calculates a set of parameters based on the set of data associated with the data point. The method provides a subset of the calculated parameters and the data associated with a subset of the second set of data to an application to emulate the input device.
Abstract:
A first electronic device maintains a directed acyclic graph to represent content collaboratively edited by the first device and one or more second devices of multiple collaborating devices. The first device receives one or more editing inputs from one or more devices of the multiple collaborating devices. The first device modifies the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph, traverses the directed acyclic graph in accordance with a predetermined ordering rule to obtain an object sequence, and, if a first editing input of the one or more editing inputs modifies a first existing sketch content object represented in the directed acyclic graph, updates a command sequence associated with the first existing sketch content object by merging each individual drawing command included the first editing input with a command sequence associated with the first existing sketch content object.