Patent US5850232A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5850232A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for flipping images in a window using overlays

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-04-25
•
Granted: 1998-12-15
•
Expires: 2016-04-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 G. Eric Engstrom
  • 👤 Craig G. Eisler

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:34
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/14; G09G5/36; G09G5/39; G09G5/399

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.

References Cited (Backward Citations)

US5515494A Cited
US5394523A Cited
US5455599A Cited
US5428722A Cited
US5519825A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-12-14 2002-06-15 2002-12-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-12-14 2006-06-15 2006-12-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-12-14 2010-06-15 2010-12-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag