An object-oriented window manager provides coordination between window displays generated by separate application programs by computing and storing the visible area of each application window each time displayed windows are changed. Each application program directly communicates with the screen buffer memory in order to redraw portions of the screen corresponding to its display area using the visible area computed by the window manager. Each application program communicates with the object-oriented window manager by creating a window object which provides flexible display capabilities that are transparent to the application program. Several techniques are used to decrease the visible area computation time. First, as mentioned above a copy of the visible area is stored or "cached" in each window object. This copy can be used if the application program needs to redraw the window area and the visible area has not been changed. In addition, the window manager computes the visible area of each application window utilizing a routine that assumes that only a single window has been changed and compares the new visible area of the window to the old visible area to obtain the change area. This change area is then used to recompute the visible area of all windows which lie behind the changed window.
New varieties of child window controls are provided as system resources that application programs may exploit. The preferred embodiment of the present invention provides a dynamic link library (DLL) for implementing the new child window controls as part of an operating system. The new child window controls include a header bar control for providing header bars in application programs. The new controls also include a hot key control that allows a user to view and edit hot key combinations. The new controls further include a tab control for establishing tabs that differentiate amongst pages in user interfaces provided by application programs. An image list data type is defined and functions are provided for manipulating the image list data type. Image lists include multiple like-sized images that are stored efficiently in a single bitmap.
Output from an application or other program running in a windowing environment is redirected from the application to a bit map where it can be further manipulated prior to being displayed on the screen. A style bit is associated with each window from applications which are to be so redirected. Further parameters are associated with display of the window to provide position and size information and to provide special effects. Some special effects, such as transparency are identified by an alpha value, which enables further programs to manipulate the window in its associated bit map to make it appear transparent. One or more application program interfaces (APIs) provide the ability to specify the transparency, positioning, color key, size and other attributes as well as whether or not the window is redirected. This API may be utilized by the application to apply special effects to its windows., It may be used via a user interface to allow the user to select a desired window to redirect. It may be used by another application to create new UI by applying geometrical transforms to the visual bits in the redirection bitmap provided by the system.
At least one basic program and an auxiliary program run on a computer and collaborate with the computer via an operating system, with windows being displayed on a viewing device allocated to the computer. The auxiliary program determines a basic window pointer on the basis of an identifier that is characteristic of the at least one basic program, the location and size of the basic window on the viewing device being able to be set via the basic window pointer. The auxiliary program, based on this pointer, sets the location and size of the basic window to values determined by the auxiliary program.
New varieties of child window controls are provided as system resources that application programs may exploit. The preferred embodiment of the present invention provides a dynamic link library (DLL) for implementing the new child window controls as part of an operating system. The new child window controls include a header bar control for providing header bars in application programs. The new controls also include a hot key control that allows a user to view and edit hot key combinations. The new controls further include a tab control for establishing tabs that differentiate amongst pages in user interfaces provided by application programs. An image list data type is defined and functions are provided for manipulating the image list data type. Image lists include multiple like-sized images that are stored efficiently in a single bitmap.
A method and apparatus for allowing several applications to share a single video overlay resource via multiplexing are disclosed. The multiplexing is accomplished from the application end through a multiplexing abstraction layer provided to the developers of end applications as an application program interface. Through the application program interface, each applications may, at any time, request, release, or modify the attributes of the video overlay device such as picture quality, tuning, source, etc. The application program interface provides all basic functionality of the hardware as accessible through other means including normal operating system support and device driver services.