IP Library Granted Patent US 7,926,072
Granted Patent B2
US 7,926,072 · App. 12/033,608 · Granted Apr 12, 2011

Application programming interface for providing native and non-native display utility

Assignee: Spring Design Co. Ltd.
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 7,926,072
App. No.
12/033,608
Granted
Apr 12, 2011
Kind
B2
Abstract

Methods for controlling complementary dual displays for use with an electronic device are presented including: receiving an input for display on a non-native display, where the input includes a native user interface (UI) input and a non-native UI input, and where the non-native display is a bistable, low frame rate display; if the input is the native UI input, sending the first native UI input to a corresponding application, processing the native UI input by the corresponding application, calling a non-native API for forwarding the processed native UI input to a non-native display driver, and sending a non-native display signal to the non-native display; receiving another native UI input for display on a native display, where the native display is a refresh-based, high frame rate display; and sending the other native UI input to the corresponding application.

Claims (60)

1. A method for controlling complementary dual displays for use with an electronic device comprising:

receiving a first input for display on a non-native display, wherein the first input includes a first native user interface (UI) input, and wherein the non-native display is a bistable, low frame rate display;

responsive to the first native UI input:

sending the first native UI input to at least one corresponding application,

processing the first native UI input by the at least one corresponding application,

calling a non-native API for forwarding a result of the processing of the first native UI input to a non-native display driver, wherein calling the non-native API comprises: invoking a communication mechanism corresponding with the non-native API to facilitate communication with the at least one corresponding application, and processing the communication mechanism by the at least one corresponding application, and

sending a non-native display signal to the non-native display;

responsive to receiving a non-native UI input:

sending the non-native UI input to a non-native UI driver,

invoking a communication mechanism corresponding with the non-native API to communicate the non-native UI input to the at least one corresponding application,

processing the non-native UI input by the at least one corresponding application,

calling the non-native API for forwarding a result of the processing of the non-native UI input to the non-native display driver, and

sending a non-native display signal to the non-native display;

receiving a second native UI input for display on a native display, wherein the native display is a refresh-based, high frame rate display;

sending the second native UI input to the at least one corresponding application; processing the second native UI input by the at least one corresponding application;

calling a native API for directing the processed second native UI input to a native display driver; and

sending a native display signal to the native display.

2. The method of claim 1 , wherein the communication mechanism is selected from the group consisting of: a command, an API call, a callback function call, a pipe, a signal, a message, a shared memory, a semaphore, a mutex, a critical section, an event, a socket, a clipboard, a message, and a message queue.

3. The method of claim 1 , wherein the first native UI input and the second native UI input correspond with a same application of the at least one corresponding application.

4. The method of claim 1 , wherein the first native UI input and the second native UI input correspond with a different application of the at least one corresponding application.

5. The method of claim 1 , wherein the non-native display includes a non-native UI, the non-native UI configured to provide at least some navigation of the at least one corresponding application, wherein the at least some navigation is enabled via the non-native API.

6. The method of claim 5 , wherein the non-native UI is further configured to provide access to a power switch for the native display while the non-native display is utilized.

7. The method of claim 5 , wherein the non-native UI is further configured to provide a video out selection for content from the native display and the non-native display.

8. The method of claim 1 , wherein the non-native API includes a plurality of functions and callbacks, the plurality of functions and callbacks selected from the group consisting of: Initialize( ) GetDisplayConfig( ) AllocateEPDWindow( ), ChangeWindow( ), CloseWindow( ), SetSyncContent( ), UpdateWindow( ), RefreshEPD( ), OnEPDKeyDown( ) OnEPDWindowChange( ), OnEPDSyncChange( ), PrintScreen( ) and OnEPDOrientChange( ).

9. The method of claim 1 , further comprising: sending the non-native display signal to at least one additional non-native display.

10. The method of claim 9 , wherein the non-native display signal includes a content window configured for moving from the non-native display to the at least one additional non-native display.

11. The method of claim 10 , wherein the non-native UI is further configured to provide selection of an active non-native display window to display a content window on the non-native display.

12. The method of claim 1 , further comprising: terminating the sending the non-native display signal to one of the non-native display and the at least one additional non-native display.

13. The method of claim 1 , wherein a non-native UI is further configured to provide a resizing function for the non-native display window.

14. The method of claim 1 , wherein the native display is selected from the group consisting of: an LCD display, a CRT display, and LED display, a PLED display, an OLED display, and a plasma display, and wherein the non-native display includes an electronic paper display (EPD).

15. The method of claim 14 , wherein the native display is configured to refresh at a rate in a range of 15 to 120 fps.

16. The method of claim 1 , wherein the non-native display includes an electronic paper display (EPD).

17. The method of claim 16 wherein the non-native display is configured to refresh at rate of up to 15 fps.

18. The method of claim 1 , wherein the native display driver is selected from the group consisting of: a WINDOWS driver, a WINDOWS CE driver, a WINDOWS mobile driver, an APPLE iphone driver, An APPLE OS X driver, a Linux driver, a UNIX driver, and a UNIX derivative OS driver, and wherein the native API is selected from the group consisting of: a WINDOWS enabled API, a WINDOWS CE enabled API, a WINDOWS mobile enabled API, an APPLE iphone enabled API, An APPLE OS X enabled API, a Linux enabled API, a UNIX enabled API, and a UNIX derivative OS enabled API.

19. A method for controlling complementary dual displays for use with an electronic device comprising:

receiving a first input for display on a non-native display, wherein the first input includes a first native user interface (UI) input, and wherein the non-native display is a bistable, low frame rate display;

responsive to the first native UI input:

sending the first native UI input to at least one corresponding application,

processing the first native UI input by the at least one corresponding application,

calling a non-native API for forwarding a result of the processing of the first native UI input to a non-native display driver, wherein the non-native API includes a plurality of functions or callbacks, where one or more of the plurality of functions or callbacks are selected from a group consisting of: Initialize( ), GetDisplayConfig( ), AllocateEPDWindow( ), ChangeWindow( ), CloseWindow( ), SetSyncContent( ), UpdateWindow( ), RefreshEPD( ), OnEPDKeyDown( ), OnEPDWindowChange( ) OnEPDSyncChange( ), PrintScreen( ), and OnEPDOrientChange( ), and

sending a non-native display signal to the non-native display;

receiving a second native UI input for display on a native display, wherein the native display is a refresh-based, high frame rate display;

sending the second native UI input to the at least one corresponding application;

processing the second native UI input by the at least one corresponding application;

calling a native API for directing the processed second native UI input to a native display driver; and

sending a native display signal to the native display.

20. The method of claim 19 , wherein the first native UI input and the second native UI input correspond with a same application of the at least one corresponding application.

21. The method of claim 19 , wherein the first native UI input and the second native UI input correspond with a different application of the at least one corresponding application.

22. The method of claim 19 , wherein the non-native display includes a non-native UI, the non-native UI configured to provide at least some navigation of the at least one corresponding application, wherein the at least some navigation is enabled via the non-native API.

23. The method of claim 22 , wherein the non-native UI is further configured to provide access to a power switch for the native display while the non-native display is utilized.

24. The method of claim 22 , wherein the non-native UI is further configured to provide a video out selection for content from the native display and the non-native display.

25. The method of claim 19 , further comprising: sending the non-native display signal to at least one additional non-native display.

26. The method of claim 25 , wherein the non-native display signal includes a content window configured for moving from the non-native display to the at least one additional non-native display.

27. The method of claim 26 , wherein the non-native UI is further configured to provide selection of an active non-native display window to display a content window on the non-native display.

28. The method of claim 19 , further comprising: terminating the sending the non-native display signal to one of the non-native display and the at least one additional non-native display.

29. The method of claim 19 , wherein a non-native UI is further configured to provide a resizing function for the non-native display window.

30. The method of claim 19 , wherein the native display is selected from the group consisting of: an LCD display, a CRT display, and LED display, a PLED display, an OLED display, and a plasma display, and wherein the non-native display includes an electronic paper display (EPD).

31. The method of claim 30 , wherein the native display is configured to refresh at a rate in a range of 15 to 120 fps.

32. The method of claim 19 , wherein the non-native display includes an electronic paper display (EPD).

33. The method of claim 32 wherein the non-native display is configured to refresh at rate of up to 15 fps.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2018
From: TENG, ALBERT; YUAN, JACK; BIN, XIAO; LI, RICHARD; SPRING DESIGN, INC. (US); SPRING DESIGN, INC. (CAYMAN); SPRING DESIGN CO. LTD.
To: QUICKBIZ HOLDINGS LIMITED
Reel/Frame 047771/0570 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2018
From: QUICKBIZ HOLDINGS LIMITED
To: SPRING DESIGN, INC.
Reel/Frame 045637/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2011
From: SPRING DESIGN CO., LTD.
To: QUICKBIZ HOLDINGS LIMITED
Reel/Frame 027212/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2009
From: SPRINGS DESIGN, INC.
To: SPRING DESIGN CO. LTD.
Reel/Frame 023490/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2008
From: TENG, ALBERT; YUAN, JACK; BIN, XIAO
To: SPRINGS DESIGN, INC.
Reel/Frame 021017/0172 →
Continuity (2)
Provisional Application 60997255 · Oct 1, 2007
Related Publication 20090085920A1 · Apr 2, 2009