Claims
- 1. A method for sharing an application, the method comprising:
determining a position and a size of a non-OpenGL region of a shared application window by monitoring function calls made by the application; determining a position and a size of an OpenGL region of a shared application window by monitoring OpenGL function calls made by the application; and capturing a screen shot of an image corresponding to the non-OpenGL and the OpenGL regions of the shared application window; wherein the position and the size of the non-OpenGL region and the position and the size of the OpenGL region define a position and a size of the shared application window.
- 2. The method of claim 1 further comprising:
transmitting the position and the size of the shared application window to a viewer.
- 3. The method of claim 1 further comprising:
transmitting the screen shot to a viewer.
- 4. The method of claim 1 further comprising:
determining a position and a size of a non-shared application window by monitoring function calls made by the non-shared application; and if the non-shared application window overlaps the shared application window, determining a position and a size of an overlapping region.
- 5. The method of claim 4 further comprising:
transmitting the overlapping region to a viewer.
- 6. The method of claim 1 further comprising:
determining whether the position or the size of the shared application window has changed by monitoring function calls made by the shared application; and if the position or the size of the shared application window has changed, determining a new position and/or a new size of the shared application window.
- 7. The method of claim 1 further comprising:
periodically capturing the image corresponding to the shared application window.
- 8. The method of claim 7 further comprising:
periodically transmitting the captured image to the viewer.
- 9. A computer-readable storage medium storing a computer program executable by a computer, the computer program comprising computer instructions for:
determining a position and a size of a non-OpenGL region of a shared application window by monitoring function calls made by the application; determining a position and a size of an OpenGL region of a shared application window by monitoring OpenGL function calls made by the application; and capturing a screen shot of an image corresponding to the non-OpenGL and the OpenGL regions of the shared application window; wherein the position and the size of the non-OpenGL region and the position and the size of the OpenGL region define a position and a size of the shared application window.
- 10. The computer readable storage medium of claim 9 further comprising computer instructions for:
transmitting the position and the size the shared application window to a viewer.
- 11. The computer readable storage medium of claim 9 further comprising computer instructions for:
transmitting the screen shot to a viewer.
- 12. The computer readable storage medium of claim 9 further comprising computer instructions for:
determining a position and a size of a non-shared application window by monitoring function calls made by the non-shared application; and if the non-shared application window overlaps the shared application window, determining a position and a size of an overlapping region.
- 13. The computer readable storage medium of claim 12 further comprising computer instructions for:
transmitting the overlapping region to a viewer.
- 14. The computer readable storage medium of claim 9 further comprising computer instructions for:
determining whether the position or the size of the shared application window has changed by monitoring function calls made by the shared application; and if the position or the size of the shared application window has changed, determining a new position and/or a new size of the shared application window.
- 15. The computer readable storage medium of claim 9 further comprising computer instructions for:
periodically capturing the image corresponding to the shared application window.
- 16. The computer readable storage medium of claim 15 further comprising computer instructions for:
periodically transmitting the captured image to the viewer.
- 17. A data conferencing system comprising:
a presenter computer connected to one or more server computers via a global area network; a viewer computer connected to the one or more server computers via the global area computer network; and a computer program executable by the presenter computer, wherein the computer program comprises computer instructions for:
determining a position and a size of a non-OpenGL region of a shared application window by monitoring function calls made by the application; determining a position and a size of an OpenGL region of a shared application window by monitoring OpenGL function calls made by the application; and capturing a screen shot of an image corresponding to the non-OpenGL and the OpenGL regions of the shared application window; wherein the position and the size of the non-OpenGL region and the position and the size of the OpenGL region define a position and a size of the shared application window.
- 18. The data conferencing system of claim 17 further comprising computer instructions for:
transmitting the position and the size of the shared application window to a viewer computer.
- 19. The data conferencing system of claim 17 further comprising computer instructions for:
transmitting the screen shot to the viewer computer.
- 20. The data conferencing system of claim 17 farther comprising computer instructions for:
determining a position and a size of a non-shared application window by monitoring function calls made by the non-shared application; and if the non-shared application window overlaps the shared application window, determining a position and a size of an overlapping region.
- 21. The data conferencing system of claim 20 farther comprising computer instructions for:
transmitting the overlapping region to a viewer.
- 22. The data conferencing system of claim 17 further comprising computer instructions for:
determining whether the position or the size of the shared application window has changed by monitoring function calls made by the shared application; and if the position or the size of the shared application window has changed, determining a new position and/or a new size of the shared application window.
- 23. The data conferencing system of claim 17 further comprising computer instructions for:
periodically capturing the image corresponding to the shared application window.
- 24. The data conferencing system of claim 23 farther comprising computer instructions for:
periodically transmitting the captured image to the viewer computer.
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
[0001] This Application is related to co-pending U.S. patent application Ser. No. ______,entitled “Application Based Screen Sampling,” filed on Apr. 13, 2001 and having Attorney Docket Number M-11124 US, and U.S. patent application Ser. No. ______, entitled “Sharing DirectDraw Applications Using Application Based Screen Sampling,” filed on Apr. 13, 2001 and having Attorney Docket Number M-11127 US, both of which are incorporated herein by reference in their entirety.