Method and system for flipping images in a window using overlays
First Claim
1. In a computer system including a processor, system memory, video memory and a display controller for converting a pixmap in the video memory to a display image on a display monitor and for superimposing an image at an overlay address onto the display image, a method for flipping images in a window of the display image, the method comprising:
- a) allocating a primary surface in the video memory;
b) allocating a front and back buffer in the video memory;
c) creating an overlay flipping structure including a front buffer structure and back buffer structure representing the front and back buffers, respectively;
d) storing memory locations of the front and back buffers in the front and back buffer structures, respectively;
e) controlling rendering of an overlay image into the back buffer;
in response to a request to flip the overlay flipping structure;
f) determining when to write the memory location of the back buffer into the overlay address of the display controller to avoid tearing of the overlay image;
g) writing the memory location of the back buffer into the overlay address; and
h) updating the memory locations stored in the front and back buffer structures;
i) repeating at least steps e through h to display subsequent rendered overlays in the window.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for flipping an image in a window using overlays involves creating an overlay flipping structure and using this structure to control "flipping" of an overlay image in a display device that supports overlays. A display device interface includes services to create and manipulate an overlay flipping structure including a front buffer and a back buffer. To flip in a window, an application program draws its image to the back buffer of the flipping structure while the overlay control in the display controller reads the overlay image from the front buffer. The overlay control superimposes the overlay in the front buffer with the image in the frame buffer. The display device interface controls the flipping of the overlay by determining when it can change the address of the overlay image used by the display controller without causing flipping.
-
Citations
19 Claims
-
1. In a computer system including a processor, system memory, video memory and a display controller for converting a pixmap in the video memory to a display image on a display monitor and for superimposing an image at an overlay address onto the display image, a method for flipping images in a window of the display image, the method comprising:
-
a) allocating a primary surface in the video memory; b) allocating a front and back buffer in the video memory; c) creating an overlay flipping structure including a front buffer structure and back buffer structure representing the front and back buffers, respectively; d) storing memory locations of the front and back buffers in the front and back buffer structures, respectively; e) controlling rendering of an overlay image into the back buffer; in response to a request to flip the overlay flipping structure; f) determining when to write the memory location of the back buffer into the overlay address of the display controller to avoid tearing of the overlay image; g) writing the memory location of the back buffer into the overlay address; and h) updating the memory locations stored in the front and back buffer structures; i) repeating at least steps e through h to display subsequent rendered overlays in the window. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a computer coupled to a display controller for converting a pixmap in video memory to a display image on a display monitor and for superimposing an overlay image at an overlay address onto the display image, a display device interface implemented in the computer to enable application programs or other processes to draw visible and off-screen pixmaps into the video memory, the display device interface comprising:
-
an interface function for creating an instance of a display device object to represent the display controller; the display device object including a create surface member function, the create surface member function for allocating pixel memory and for creating instances of surface objects to represent allocated regions of the pixel memory, including a primary surface object representing a display image displayed on the display monitor and an overlay surface object representing a flippable overlay image that the display controller superimposes on the display image; the overlay surface object including; a front buffer structure for storing a memory location of a front buffer in the video memory, and a back buffer structure attached to the front buffer structure, the back buffer structure for storing a memory location of a back buffer in the video memory; wherein the overlay surface object includes a flip member function for determining when to write the memory location of the back buffer into the overlay address of the display controller to avoid tearing of an overlay image, for writing the memory location of the back buffer into the overlay address; and
for updating the memory locations stored in the front and back buffer structures. - View Dependent Claims (16, 17, 18)
-
-
19. A computer readable medium on which is stored an application programming interface (API) for controlling access of application programs to a display controller that converts a pixmap in video memory to a display image on a display monitor and superimposes an image at an overlay address onto the display image,
the API comprising instructions, which when executed by the computer, perform the steps of: -
a) allocating a primary surface in the video memory; b) allocating a front and back buffer in the video memory; c) creating an overlay flipping structure including a front buffer structure and back buffer structure representing the front and back buffers, respectively; d) storing memory locations of the front and back buffers in the front and back buffer structures, respectively; e) setting a color key in the primary surface in an area bounded by the window; f) controlling rendering of an overlay image into the back buffer; in response to a request to flip the overlay flipping structure; g) determining when to write the memory location of the back buffer into the overlay address of the display controller to avoid tearing of the overlay image; h) writing the memory location of the back buffer into the overlay address; and i) updating the memory locations stored in the front and back buffer structures; j) repeating at least steps f through i to display subsequent rendered overlays in the window.
-
Specification