Is Apple working on a Photoshop competitor?
TweetFollow Us on Twitter

Is Apple working on a Photoshop competitor?



An Apple patent (number 20120206471) for systems, methods and computer-readable media for managing layers of graphical object data has appeared at the U.S. Patent & Trademark Office. It hints that Apple may be working on a Photoshop competitor.

Systems, methods, and computer-readable media for managing layers of graphical object data are provided. For example, a graphical display system may be configured to implicitly manage various graphical object layers. In some embodiments, any new graphical object of a first type of graphical object may be generated in a current top layer of a stack when the current top layer is associated with the first type of graphical object. However, when the current top layer of the stack is not associated with the first type of graphical object, any new graphical object of the first type of graphical object may be generated in a new top layer of the stack. Moreover, any new graphical object of a second type of graphical object may similarly be generated in a new top layer of the stack.

Here's Apple's background and summary of the invention: "Some electronic devices include a graphical display system for generating and presenting graphical objects, such as free-form drawing strokes, images, strings of text, and drawing shapes, on a display. A user of such devices may interact with the graphical display system via a user interface to create different graphical objects in different layers, which may overlap and be stacked in various orders when presented for display. However, the ways in which currently available electronic devices allow a user to manage various layers of graphical object data may be confusing or overwhelming.

"Rather than explicitly creating and managing multiple graphical object layers (e.g., via a layers list that may be presented to and manipulated by a user), a graphical display system of an electronic device may be configured to utilize an implicit layer scheme that may be less confusing and less overwhelming to a casual user. Such an implicit layer management scheme may provide an interface that may not confuse a user with a layers list or that may not put a user in a situation where he or she may try to create a first type of graphical object content when a layer that is incompatible with the first type of graphical object content has been activated.

"Therefore, a graphical display system may be configured to follow one or more rules or principles when defining, selecting, and/or managing various graphical object layers, such that the simplicity of a basic drawing space application may be combined with the flexibility and non-destructive manipulation capabilities of a more advanced layering application.

"For example, in some embodiments, a graphical display system may be configured to generate any new graphical object in the top-most layer of a layer stack presented for display to a user. Additionally or alternatively, the system may be configured to determine whether to incorporate a new graphical object into a new layer or into a pre-existing layer based on the particular type of the new graphical object and/or based on the particular type of graphical object that may be provided by the current top-most layer. That is, different types of graphical objects may be handled differently by the layer management processes of a graphical display system. d

"For example, any new non-drawing stroke graphical object may be created in a new layer and that new layer may be made the top-most layer in the layer stack. Moreover, unless the current top-most layer is a drawing stroke layer, any new drawing stroke graphical object may be created in a new layer and that new layer may be made the top-most layer. Therefore, in some embodiments, only if the current top-most layer is a drawing stroke layer, may a graphical display system be configured to create any new drawing stroke graphical object in that pre-existing current top-most layer.

"As another example of how a graphical display system may be configured such that the simplicity of a basic drawing space application may be combined with the flexibility and non-destructive manipulation capabilities of a more advanced layering application, certain types of graphical object layers may be automatically or optionally provided with certain tools, while other types of graphical object layers may not be provided with those tools. For example, each layered image graphical object may be provided with one or more control points that may be manipulated for resizing and/or moving the image graphical object layer in various ways along a workspace.

"As another example, each layered image graphical object may be provided with a toolbar that may allow a user to manipulate the graphical object layer in various other ways (e.g., by moving the layer up or down in the stack of layers, by adding another graphical object into the layer, and/or by modifying one or more properties of the graphical object of the layer).

"In some embodiments, there is provided a method for managing graphical object data. The method may include determining the type of a new graphical object to be generated, and then generating the new graphical object in response to the determination. For example, in response to determining that the new graphical object is a second type of graphical object, the method may include generating the new graphical object in a new layer and positioning the new layer at the top of a stack.

"However, in response to determining that the new graphical object is a first type of graphical object, the method may include determining if the top layer in the stack is associated with the first type of graphical object. Then, in response to determining that the top layer in the stack is associated with the first type of graphical object, the method may include generating the new graphical object in the top layer in the stack. However, in response to determining that the top layer in the stack is not associated with the first type of graphical object, the method may include generating the new graphical object in a new layer and positioning the new layer at the top of the stack.

"For example, the first type of graphical object may include a drawing stroke graphical object and the second type of graphical object may include an image graphical object. In some embodiments, the method may determine that the top layer in the stack is associated with the first type of graphical object by determining that the top layer in the stack was initially generated to include an initial graphical object of the first type of graphical object. Alternatively, the method may determine that the top layer in the stack is associated with the first type of graphical object by determining that the top layer in the stack includes an existing graphical object of the first type of graphical object.

"In yet other embodiments, the method may determine that the top layer in the stack is associated with the first type of graphical object by determining that the top layer in the stack includes at least one existing graphical object and by then determining that each one of the existing graphical objects is of the first type of graphical object. The method may also include presenting the generated new graphical object in its layer on a display. In such embodiments, the method may also include removing at least one previously presented layer tool from the display. Alternatively, in response to determining that the new graphical object is the second type of graphical object, the method may also include presenting on the display at least one new layer tool that is associated with the layer of the new graphical object.

"In other embodiments, there is provided another method for managing graphical object data. The method may include presenting multiple graphical object layers in a stack on a display and receiving a selection of a first graphical object layer of the multiple graphical object layers.

"The method may also include determining if the first graphical object layer is associated with a first type of graphical object, and then enabling the first graphical object layer based on the determination. In some embodiments, the method may also include activating the first graphical object layer before the enabling, and the activating may include removing at least one previously presented layer tool from the display or visually distinguishing the first graphical object layer from the other graphical object layers on the display.

"For example, in some embodiments, the first graphical object layer may include at least one graphical object of the first type of graphical object, and, in response to determining that the first graphical object layer is associated with the first type of graphical object, the enabling may include enabling the editing of the at least one graphical object of the first type of graphical object. Alternatively, the enabling may include enabling the editing of the at least one graphical object of the first type of graphical object only in response to determining that the first graphical object layer is associated with the first type of graphical object and that the first graphical object layer is the top layer in the stack. In yet other embodiments, the first graphical object layer may include at least one graphical object, and, in response to determining that the first graphical object layer is not associated with the first type of graphical object, the enabling may include presenting on the display at least one layer tool that is associated with the first graphical object layer.

"This presenting may include at least one of enabling the first graphical object layer to be actively moved along the stack, enabling the first graphical object layer to be actively moved along the display, and enabling a new graphical object to be created in the first graphical object layer. Alternatively, the first graphical object layer may include an initial boundary, and the enabling may include enabling a new graphical object in the first graphical object layer to be created within the initial boundary or beyond the initial boundary.

"In yet other embodiments, there is provided a method for managing graphical object data that may include presenting multiple graphical object layers in a stack on a display. The method may also include receiving a selection of a first graphical object layer of the multiple graphical object layers, and the first graphical object layer may include a first graphical object.

"The method may also include creating a new graphical object in the selected first graphical object layer and then manipulating the first graphical object layer. The manipulating may include manipulating the first graphical object and the new graphical object. In some embodiments, the first graphical object may be an image graphical object and the new graphical object may be a drawing stroke graphical object.

"For example, creating the new graphical object may include re-defining a portion of the first graphical object layer that may have been previously defined by the first graphical object. In other embodiments, creating the new graphical object may include expanding a boundary of the first graphical object layer. Manipulating the first graphical object layer may also include moving the first graphical object layer along the stack, which may include moving the first graphical object and the new graphical object with the first graphical object layer along the stack.

"Alternatively, manipulating the first graphical object layer may also include moving the first graphical object layer along the display, which may include moving the first graphical object and the new graphical object with the first graphical object layer along the display. As yet another alternative, manipulating the first graphical object layer may also include resizing the first graphical object layer, which may include resizing the first graphical object and the new graphical object with the first graphical object layer.

"In still yet other embodiments, there is provided a graphical display system that may include a graphical object generating module. The graphical object generating module may receive input information defining a new graphical object to be generated, and may then determine if the new graphical object to be generated is a first type of graphical object based on the received input information.

"The graphical object generating module may also generate a new top layer in a stack and may generate the new graphical object in the new top layer when the generating module determines that the new graphical object is not of the first type. The graphical object generating module may also determine if the current top layer in the stack is associated with the first type of graphical object when the generating module determines that the new graphical object is of the first type.

"Then, the graphical object generating module may generate the new graphical object in the current top layer when the generating module determines that the current top layer is associated with the first type of graphical object. Alternatively, the graphical object generating module may generate a new top layer in the stack and may generate the new graphical object in the new top layer when the generating module determines that the current top layer is not associated with the first type of graphical object. The graphical display system may also include a graphical processing module that may render the generated new graphical object in its layer on a display.

"In still yet other embodiments, there is provided computer-readable media for controlling an electronic device, that may include computer-readable code recorded thereon for generating any new graphical object of a first type of graphical object in a current top layer of a stack when the current top layer is associated with the first type of graphical object, generating any new graphical object of the first type of graphical object in a new top layer of the stack when the current top layer of the stack is not associated with the first type of graphical object, and generating any new graphical object of a second type of graphical object in a new top layer of the stack."

The inventors are Matthew Jacob Sarnoff and Conrad R. Carlen.

 
AAPL
$121.27
Apple Inc.
-1.10
GOOG
$630.79
Google Inc.
-1.80
MSFT
$47.04
Microsoft Corporation
+0.16
MacNews Search:
Community Search:
view counter

view counter
view counter
view counter
view counter
view counter
view counter

Gallery Doctor (Photography)
Gallery Doctor 1.0 Device: iOS iPhone Category: Photography Price: $2.99, Version: 1.0 (iTunes) Description: Free up valuable iCloud and iPhone storage with Gallery Doctor, the only iPhone cleaner that automatically identifies the unwanted photos on your device.What can Gallery Doctor do you for you? | Read more »
You Against Me (Games)
You Against Me 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: A simple game… You. Me. Claim, steal, lock, score, win! | Read more »
Yep, it's True - Angry Birds 2 is O...
The not exactly rumors were true and the birds are back. Angry Birds 2 has come to the App Store and the world will... well I suppose it'll still be the same, but now we have more bird-flinging options! [Read more] | Read more »
You Could Design Your Own Card for Chain...
If you've ever wanted to create your own item, weapon, trap, or even monster for Chainsaw Warrior: Lords of the Night, this is your chance. Auroch Digital is currently holding a contest so that fans can fight to the death (not really) to see which design will make the cut (no pun intended). [Read more] | Read more »
Bitcoin Billionaire is Going Back in Tim...
If you thought you managed to buy everything there is to buy in Bitcoin Billionaire and make all the money, well you though wrong. Those of you who made it far enough might remember investing in time travel - and it looks like that investment is finally going to accomplish something. [Read more] | Read more »
Domino Drop (Games)
Domino Drop 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Domino Drop is a delightful new puzzle game with dominos and gravity!Learn how to play it in a minute, master it day by day.Your mind will be challenged.Your soul will be calmed.Features:- 3 unique game modes- 12 pleasant music... | Read more »
OPERATION DRACULA (Games)
OPERATION DRACULA 1.0.1 Device: iOS Universal Category: Games Price: $5.99, Version: 1.0.1 (iTunes) Description: 25% off launch sale!!!'Could prove to be one of the most accurate representations of the Japanese bullet hell shmup outside of Japan' - Touch Arcade'Massive screen-sized bosses who spew more bullets than you can count.'-... | Read more »
Race The Sun (Games)
Race The Sun 1.01 Device: iOS iPhone Category: Games Price: $4.99, Version: 1.01 (iTunes) Description: You are a solar craft. The sun is your death timer. Hurtle towards the sunset at breakneck speed in a futile race against time. Delay the inevitable by catching energy boosts which reverse the setting sun - if only for a moment. | Read more »
Tap Delay (Music)
Tap Delay 1.0.0 Device: iOS Universal Category: Music Price: $4.99, Version: 1.0.0 (iTunes) Description: Back in the “old days”, producers and engineers created delay and echo effects using tape machines. Tap Delay combines the warm sound of vintage tape echo machines with a modern, step sequencer-like tapped delay engine which... | Read more »
This Week at 148Apps: July 20-24, 2015
July is Heating Up With 148Apps How do you know what apps are worth your time and money? Just look to the review team at 148Apps. We sort through the chaos and find the apps you're looking for. The ones we love become Editor’s Choice, standing out above the many good apps and games with something just a little bit more to offer. Take a look at... | Read more »
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.