IP Library Granted Patent US 8,504,925
Granted Patent B1
US 8,504,925 · App. 11/475,693 · Granted Aug 6, 2013

Automated animated transitions between screens of a GUI application

Inventor: Chet S. Haase (Pleasanton, CA)
Assignee: Oracle America, Inc.
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 8,504,925
App. No.
11/475,693
Granted
Aug 6, 2013
Kind
B1
Abstract

A computer implemented method for transitioning a component between graphical user interface screens is provided. The method initiates with identifying a start state of the component within a transition panel. An end state of the component is identified within the transition panel and timer logic is triggered to periodically call a transition engine. An effects engine is called in response to the triggering and a next state of the component is rendered into an animation layer. The next state of the component is then displayed. A transition framework is also provided.

Claims (44)

1. A computer implemented method for transitioning a widget in a graphical user interface between graphical user interface screens, comprising method operations of:

identifying a start state of the widget within a transition panel;

identifying an end state of the widget within the transition panel;

triggering timer logic to periodically call a transition engine;

calling an effects engine in response to the triggering;

rendering a next state of the widget into an animation layer; and

displaying the next state of the widget.

2. The method of claim 1 , further comprising:

creating an animation container through the transition engine.

3. The method of claim 2 , further comprising:

swapping contents of the animation container with contents of an application container.

4. The method of claim 1 , wherein the method operation of identifying a start state of a widget includes,

iterating through widgets within a transition container; and

registering attributes of widgets.

5. The method of claim 1 , wherein the method operation of identifying an end state of a widget includes,

identifying a graphical user interface (GUI) designated as the end state;

registering attributes of widget of the end state GUI.

6. The method of claim 5 , further comprising:

identifying widgets that are identical between the end state and the start state.

7. The method of claim 1 , wherein the method operation of rendering a next state of the widget into an animation layer includes,

drawing an offscreen image; and

drawing a background into the offscreen image.

8. The method of claim 7 , further comprising:

drawing each widget into the offscreen image;

forcing a repaint on a JFrame to make contents of the offscreen image visible.

9. The method of claim 7 , wherein the method operation of drawing a background into the offscreen image includes,

resetting a current GUI state to a default state; and

generating a snapshot of the reset GUI in the default state.

10. The method of claim 1 , wherein the method operation of rendering a next state of the widget into an animation layer includes,

determining if a transition container is a same size as the transition panel in order to make adjustments through offsets and clipping information.

11. The method of claim 1 , further comprising:

continuing to call the transition engine until the next state matches the end state.

12. A transition framework configured to present animations between graphical user interface (GUI) screens, comprising:

a transition, system configured to communicate with an application the display of image data, the transition system including,

a transition engine configured to initiate the animations by calling timer logic;

an animation layer configured to store image data representing successive animation transitions in response to corresponding successive invocations initiated by the timer logic;

a container layer configured to store image data representing an end state of the animations; and

an effects engine in communication with the transition system, the effects engine calculating position data for widgets associated with each successive animation transition, the effects engine writing the transition data into the animation layer for display, wherein the transition system extracts both a first state of widgets within a GUI screen and an end state of widgets within the GUI screen, the first state and the end state representing limits as to the widgets of the animation transitions.

13. The transition framework of claim 12 , wherein the animation layer image data is swapped with data from an application container to display the animations.

14. The transition framework of claim 12 , wherein the transition system is further configured to take a snapshot of a current GUI state for use as background during a next state.

15. The transition framework of claim 14 , wherein the snapshot is taken after resetting the current GUI state to a default state.

16. The transition framework of claim 12 , wherein the image data of the animation layer is drawn offscreen.

17. The transition framework of claim 12 , wherein each of the successive animation transitions is compared to the end state to determine if the animations between GUI screens is complete.

18. The transition framework of claim 12 , wherein the animation layer data is rendered in an animation container which is invisible to a user until the animation container is swapped for an application container.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2006
From: HAASE, CHET S.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018046/0543 →
Continuity (2)
Provisional Application 60694485 · Jun 27, 2005
Provisional Application 60694527 · Jun 27, 2005