IP Library Granted Patent US 9,881,404
Granted Patent B2
US 9,881,404 · App. 14/664,809 · Granted Jan 30, 2018

Manipulating graphical objects

Inventor: Benjamin N. Dilts (Spanish Fork, UT)
Assignee: LUCID SOFTWARE, INC.
G06T11/60G06F3/0486G06F3/04812G06F17/30882G06F17/30896G09G5/377G06F3/0482G06T11/206G09G2340/12
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 9,881,404
App. No.
14/664,809
Granted
Jan 30, 2018
Kind
B2
Abstract

In one example, a method for rendering graphical objects on a display includes rendering each of a plurality of graphical objects within respective layers. The plurality of graphical objects includes first, second and third graphical objects. The second graphical object is directly linked to the first graphical object and the third graphical object is directly linked to the second graphical object. The method additionally includes receiving user input manipulating one of the graphical objects in a manner that affects a directly linked graphical object. The method additionally includes re-rendering the manipulated graphical object and the directly linked graphical object without re-rendering graphical objects that are not directly linked to the manipulated graphical object.

Claims (32)

1. A method of representing and rendering graphical objects, the method comprising:

separating information for rendering a graphical object into a plurality of sets defining attributes of the graphical object, the graphical object configured to render within a local graphics context of a layer;

creating the layer at a particular position of a viewport having a global graphics context defining a global coordinate frame;

translating and scaling the local graphics context to match the global graphics context;

rendering the graphical object at the particular position of the viewport within the layer using the global coordinate frame, wherein rendering the graphical object comprises separately rendering the attributes of the graphical object defined by the plurality of sets;

caching the separately rendered attributes of the graphical object defined by the plurality of sets; and

in response to receiving user input modifying a particular attribute defined by a particular set re-rendering the particular attribute defined by the particular set without re-rendering other attributes defined by other sets included in the plurality of sets.

2. The method of claim 1 , wherein the plurality of sets include a set defining an outline of the graphical object and wherein a size of the layer is larger than the defined outline of the graphical object.

3. The method of claim 2 , wherein the set defining an outline of the graphical object defines one or more of a color of a line making up the outline, a weight of the line making up the outline, a gradient of the line making up the outline, a shape of an area bounded by the outline, a fill color of the area bounded by the outline or a transparency level of the fill color.

4. The method of claim 1 , wherein the plurality of sets include a set defining a rich text area of the graphical object.

5. The method of claim 4 , wherein the set defining a rich text area of the graphical object defines one or more of a bounding box within which rich text is rendered or a canonical representation of the rich text.

6. The method of claim 5 , wherein the canonical representation of the rich text comprises an Extensible Markup Language (“XML”) representation of the rich text.

7. The method of claim 4 , further comprising:

translating the canonical representation to rich text;

receiving user input effective to edit the rich text through a rich-text editor; and

translating the edited rich text to an edited canonical representation.

8. A non-transitory computer-readable storage medium having instructions stored thereon that are executable by a computing device to perform operations comprising:

separating information for rendering a graphical object into a plurality of sets defining attributes of the graphical object, the graphical object configured to render within a local graphics context of a layer;

creating the layer at a particular position of a viewport having a global graphics context defining a global coordinate frame;

translating and scaling the local graphics context to match the global graphics context;

rendering the graphical object at the particular position of the viewport within the layer using the global coordinate frame, wherein rendering the graphical object comprises separately rendering the attributes of the graphical object defined by the plurality of sets;

caching the separately rendered attributes of the graphical object defined by the plurality of sets; and

in response to receiving user input modifying a particular attribute defined by a particular set re-rendering the particular attribute defined by the particular set without re-rendering other attributes defined by other sets included in the plurality of sets.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the plurality of sets include a set defining an outline of the graphical object and wherein a size of the layer is larger than the defined outline of the graphical object.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the set defining an outline of the graphical object defines one or more of a color of a line making up the outline, a weight of the line making up the outline, a gradient of the line making up the outline, a shape of an area bounded by the outline, a fill color of the area bounded by the outline or a transparency level of the fill color.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the plurality of sets include a set defining a rich text area of the graphical object.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the set defining a rich text area of the graphical object defines one or more of a bounding box within which rich text is rendered or a canonical representation of the rich text.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the canonical representation of the rich text comprises an Extensible Markup Language (“XML”) representation of the rich text.

14. The non-transitory computer-readable storage medium of claim 11 , the operations further comprising:

translating the canonical representation to rich text;

receiving user input effective to edit the rich text through a rich-text editor; and

translating the edited rich text to an edited canonical representation.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY, AS SUCCESSOR ADMINISTRATIVE AGENT
To: LUCID SOFTWARE INC.
Reel/Frame 069406/0037 →
SECURITY INTEREST Recorded Apr 26, 2022
From: LUCID SOFTWARE INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059731/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2015
From: DILTS, BENJAMIN N.
To: LUCIDCHART, LLC
Reel/Frame 035261/0474 →
CHANGE OF NAME Recorded Mar 26, 2015
From: LUCIDCHART, LLC
To: LUCID SOFTWARE, INC.
Reel/Frame 035296/0444 →
Continuity (2)
Continuation 12896664 · Oct 1, 2010
Related Publication 20150193957A1 · Jul 9, 2015