Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
211 words
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.
Claim 2
Dependent Claim
211 words
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.
Claim 3
Dependent Claim
22 words
The method of claim 1 further including: setting a color key in the primary surface in an area bounded by the window.
Claim 4
Dependent Claim
30 words
The method of claim 1 further including: monitoring size of the window in the display image; and updating size of the front and back buffers when the window changes size.
Claim 5
Dependent Claim
23 words
The method of claim 3 further including: setting a color key in the area bounded by the window when the window changes size.
Claim 6
Dependent Claim
33 words
The method of claim 1 further including: monitoring the position of the window in the display image; and updating position of the overlay image in the primary surface when the window changes position.
Claim 7
Dependent Claim
23 words
The method of claim 5 further including: setting a color key in the area bounded by the window when the window changes position.
Claim 8
Dependent Claim
50 words
The method of claim 1 wherein step e includes receiving an Application Programming Interface (API) request from an application program in the computer to bit block transfer or lock a region in the back buffer; and in response, preventing another application from modifying the overlay image in the back buffer.
Claim 9
Dependent Claim
21 words
The method of claim 1 wherein step i comprises swapping the memory locations stored in the front and back buffer structures.
Claim 10
Dependent Claim
35 words
The method of claim 8 wherein the flip request comprises invoking a flip member function of the instance of the surface object; and wherein executing the flip request comprises executing steps f, g, and h.
Claim 11
Dependent Claim
48 words
The method of claim 1 further including: creating a display device object representing the display controller; and wherein the step c comprises invoking a create surface member function of the display device object to create an instance of a surface object including the front and back buffer structures.
Claim 12
Dependent Claim
43 words
The method of claim 1 including: in response to the request to flip the overlay flipping structure, determining whether an application is performing a bit block transfer to or has a lock for a memory region in either the front or back buffers.
Claim 13
Dependent Claim
30 words
The method of claim 1 including: in response to the request to flip the overlay flipping structure, determining whether a previous request to flip the overlay flipping structure is complete.
Claim 14
Dependent Claim
29 words
The method of claim 12 including: in response to the request to flip the overlay flipping structure, determining whether a refresh period has elapsed since the previous flip request.
Claim 15
Dependent Claim
58 words
The method of claim 12 including: in response to the request to flip the overlay flipping structure, reading a current position of the scan line and determining whether the current position of the scan line is less than a position of the scan line at the time of the previous flip request, and if so, performing step g.
Claim 16
Dependent Claim
265 words
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.
Claim 17
Dependent Claim
265 words
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.
Claim 18
Dependent Claim
35 words
The display device interface of claim 15 wherein the overlay surface object includes a set color key member function for setting the color key for a region in the display image bounded by a window.
Claim 19
Dependent Claim
27 words
The display device interface of claim 16 wherein the overlay surface object includes a update overlay function for changing the size of the front and back buffers.
Claim 20
Dependent Claim
29 words
The display device interface of claim 16 wherein the overlay surface object includes a set overlay function for setting the position of the overlay image in the primary surface.
Claim 21
Dependent Claim
232 words
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.
Claim 22
Dependent Claim
232 words
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.