WO1994027278A1 - A windowing system with independent windows of arbitrary resolution for display on multiple devices of arbitrary resolution - Google Patents

A windowing system with independent windows of arbitrary resolution for display on multiple devices of arbitrary resolution Download PDF

Info

Publication number
WO1994027278A1
WO1994027278A1 PCT/US1994/004988 US9404988W WO9427278A1 WO 1994027278 A1 WO1994027278 A1 WO 1994027278A1 US 9404988 W US9404988 W US 9404988W WO 9427278 A1 WO9427278 A1 WO 9427278A1
Authority
WO
WIPO (PCT)
Prior art keywords
window
visible region
contents
resolution
space
Prior art date
Application number
PCT/US1994/004988
Other languages
French (fr)
Inventor
Shannon Holland
Konstantin Othmer
Original Assignee
Apple Computer, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer, Inc. filed Critical Apple Computer, Inc.
Priority to DE69412479T priority Critical patent/DE69412479T2/en
Priority to AU68260/94A priority patent/AU6826094A/en
Priority to EP94916667A priority patent/EP0698266B1/en
Priority to CA002162560A priority patent/CA2162560A1/en
Priority to JP52554594A priority patent/JP3892900B2/en
Publication of WO1994027278A1 publication Critical patent/WO1994027278A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Definitions

  • the present invention relates generally to methods for displaying graphic images on a display device.
  • the present invention relates to a computer implemented method for rendering a graphic image to a display device that compensates for the resolution of the display device.
  • the present invention relates to a method for rendering a plurality of overlapping windows on a display device independent of the resolution of the display device.
  • Source space refers to the source resolution that defines an image.
  • An image is defined in terms of global and /or local coordinates of the source space.
  • the coordinate system that defines an image may either be local or global.
  • Global space refers to a global coordinate space (encompassing many other coordinate spaces) that is at source resolution.
  • Local space is a coordinate space that is contained within global space that is also at source resolution. It's coordinate space is local to a referenced point in global space.
  • the computer under user direction manipulates and edits an image by changing various parameters of the image in global and/or local coordinates. After the computer has performed all the desired manipulations on the graphic image, the image is rendered upon a display device by converting the image definition from source space into
  • Device space refers to the pixel resolution of the device upon which the image is being rendered. There may be a one to one correspondence between device space and source space (i.e., the same resolution is used in source space as in device space), however, in some cases, the source space must be mapped to device space using a mapping function that accounts for the differences in the resolutions between the source space and device space.
  • Gridding occurs when mapping an image defined in one resolution to a second different resolution. Images are conventionally defined by specifying the extents and bounds of the image in source space units of the local or global coordinate system. When the image is rendered on the display device, a region containing the image is transformed from source units of the local or global coordinate system to device units or pixels of the display device.
  • the diagram shown in Figure 1 illustrates the transformation from a source space of 72 dots per inch (dpi) to a device space of 128 dpi.
  • the rounding or truncation function determines how the gridding will take place. As shown in Figure 1, a source unit is mapped either to one device pixel of two device pixels.
  • source pixel 3 maps to a single device pixel, pixel e, while the adjacent pixel 4 maps to two device pixels f and g.
  • the source unit could be mapped to even more pixels depending on the difference between the resolution of the source space and the device space.
  • the detrimental effects of gridding become even more apparent when considering rendering a line six source units in length. As shown, if the line is drawn from pixel 1 to 6 of source space, the line has a length of 11 pixels from pixels a through k when rendered in device space. If a line of the same length is drawn at pixel 4 to 10 of source space, the length of the line in device space is 12 pixels from f-q. Therefore, the same length line in source space can have different lengths in device space depending on where the line is positioned.
  • This gridding creates problems since the size of windows and other images on the display device change size depending on their position on the display device.
  • FIG. 2A and 2B Another problem with graphics systems of the prior art is that the ownership of device pixels is dependent on whether the source space uses local or global coordinates.
  • the device pixel(s) that corresponds to a particular source pixel varies depending on whether global or local gridding is used.
  • FIGs 2A and 2B show the mapping of ten pixels of source space to seventeen device pixels for a change in resolution from 72 dpi in source space to 128 dpi in device space.
  • pixel 2 is represented by two device pixels c and d.
  • the same pixel 2 is represented by a single device pixel c.
  • Another problem with windowing systems of the prior art is the requirement that the window and its contents be re-drawn each time the window is moved.
  • the prior art must re-draw both the window border and the window contents each time the window is moved. Since windows are generally defined in local coordinates, they must be re-drawn to the coordinate grid of the display device each time the window is moved. This re-drawing process consumes much of the computers resources, and can slow down the operation of the computer. Moreover, constant display updates are displeasing for the user. Therefore, there is need for a windowing system that eliminates the overhead associated with moving a window.
  • Some graphic display methods use the origin of the window on a display device as a reference point for performing drawing operations.
  • the window maintains the same device grid independent of its location on the screen of the display device.
  • To scroll the window contents in such an environment requires that the origin of the window be moved in unison with the scrolling operation. Since the origin of the window is limited to the bounds of the coordinate space defined by the graphics system, which is typically a smaller local space, the size of the data that can be scrolled within the window is limited to graphic coordinates as boundaries. Therefore, there is a need for a method that maintains the integrity of the device grid and removes the graphic coordinates as boundaries.
  • the present invention overcomes the limitations and shortcomings of the prior art with a resolution independent windowing system.
  • the resolution independent windowing system comprises a method for performing windowing operations directly in device space for a graphics system which specifies all drawings in source space.
  • the re-sizing effects of rendering an object in different places on the coordinate grid are absorbed in the window borders, thereby allowing the window contents to be moved without re-drawing them.
  • the window borders must be re-drawn, however, the contents can simply be copied.
  • the window can be moved without re-drawing it even when the resolution of the device the window is displayed in differs from the source resolution of the rendering system.
  • window contents are drawn relative to the coordinate of the top left of the window to provide each window with its own device grid independent of the window position on the device.
  • the present invention includes: a method for displaying a window independent of the resolution of the display device; a method for rendering multiple, overlapping windows of different source resolutions on one or more arbitrary resolution devices; and a method for scrolling a finite coordinate grid independent of resolution of the display device. These methods can be used alone or in combination to greatly enhance the graphic images displayed on a display device.
  • the method for displaying a window independent of the resolution of the display device preferably comprises the step of: defining the window border in global coordinates; defining the window contents in local coordinates of source space; defining a visible region in global coordinates; mapping the window border from global coordinates to a device grid; drawing the window border on the screen; mapping a visible region from global coordinates of source space to the device grid; mapping the window contents from local coordinates of source space to the device grid; trimming the map of the window contents in device space to match the visible region in device space; and then drawing the trimmed window contents.
  • Figure 1 is a graphic representation of the prior art mapping of an image from source space to device space
  • Figure 2A is a graphic representation of the prior art mapping of an image from global source space to device space
  • Figure 2B is a graphic representation of the prior art mapping of an image from local source space to device space
  • Figures 3A and 3B are graphic representations of the mapping of source pixels to device pixels and the mapping of a window in source pixels to device pixels, respectively;
  • Figure 4 is a graphic representation of a screen display with a second window overlapping a first window;
  • Figures 5A and 5B are graphic representations of a first and a second overlapping windows mapped to source pixels and device pixels, respectively;
  • Figures 6A and 6B are graphic representations of a the second window mapped to source pixels and device pixels, respectively;
  • Figure 7 is a flow chart of the preferred method for rendering a resolution independent window in accordance with the present invention
  • Figure 8A and 8B are a flow chart of the preferred method for rendering multiple, overlapping resolution independent windows in accordance with the present invention.
  • Figure 9 is a flow chart of the preferred method for scrolling on a finite coordinate grid. - Detailed Description of the Preferred Embodiments
  • Figure 3A illustrates a portion of the source pixel grid 12 to device pixel 14 grid mapping for the horizontal pixels.
  • the source space is 72 dots per inch (dpi), and the device space is 128 dpi.
  • the mapping is the same for the vertical pixels. This is similar to the mapping shown in Figure 1.
  • most of the source pixels map to two device pixels, however, a third source pixel 16 maps to only a single device pixel 18.
  • Figure 3B illustrates a window 20 in accordance with the present invention that is defined in the source pixels grid and how it will be rendered on the screen on the device pixel grid 14.
  • the window 20 preferably includes a border 22 and contents 24 over the source space pixel grid 12.
  • the window 20 is mapped to a device space window 26 that similarly is comprised of a border 28 and contents 30.
  • the mapping to device pixel grid 14 demonstrates how the position of the window can affect its appearance.
  • the borders in particular the left side border, are generally two device pixels in width. However, as each window is moved in global coordinates, the gridding of the frame changes in device space.
  • FIG 4 illustrates a screen 32 of the display device showing a first and a second windows 34, 36.
  • the present invention advantageously reduces the effects of gridding on the windowing system for both individual windows and multiple windows overlaid upon each other.
  • the present invention achieves this result by defining each window 34, 36 as including a window border 38, window contents 40, a visible rt-gion 42 and a clip region 44.
  • the window border 38 preferably comprises the rectangular frame surrounding the window contents 40 and defines the size of the window 34, 36.
  • the border 38 is preferably defined in global coordinates of a global device grid. For example, the border 38 may be specified in 72 dpi global coordinates.
  • the window border 38 may also include a title as shown in Figure 4.
  • the window contents 40 are the image that is to be displayed.
  • the window contents 40 are preferably defined in local coordinates of local device grid relative to the global coordinates of the border 38.
  • the contents 40 may be specified in port resolution local coordinates.
  • the window border 38 is mapped to the global device grid, the window contents 40 are mapped to a local grid. This means that there may be overlap between the two grids (i.e., there may be contention for a device pixel between a content's local grid and the global grid of the window border 38).
  • the present invention eliminates this contention through a region called the visible region 42.
  • the visible region 42 is defined in global coordinates, and delineates the content pixels of a window 34, 36 that are visible.
  • Any drawing to a window's contents is clipped to this visible region 42 at the device level.
  • This means that drawing to a window 34, 36 is clipped to its visible pixels in device space using a source space global grid. Drawing to the window 34, 36 is accomplished through use of the clip region 44 by application programs.
  • the clip region 44 like the contents is specified in local coordinates, for example, in port resolution local coordinates. Because the window contents 40 are drawn relative to the port, they stay the same wherever the window 34, 36 is positioned. The difference between the gridding in the old window position and the new position is taken up in the window's borders 38.
  • the window borders 38 may change from being represented by one or two device pixels (depending on position), but the contents 40 never change.
  • the preferred method begins in step 50 by defining the window border 38 in global coordinates.
  • the method then in step 51 defines the window contents 40 in local coordinates of source space at any arbitrary window resolution.
  • the method defines the visible region 42 in global coordinates.
  • the window border 38 is mapped from global coordinates to a device grid, and the window border 38 is drawn on the screen 32.
  • step 54 the visible region 42 is mapped from global coordinates to the device grid.
  • the method then maps the window contents 40 from local coordinates of the window source space to the device grid in step 55.
  • step 56 the method trims the map of the window contents 40 in device space to match the visible region 42 in device space.
  • the window contents 40 are trimmed by identifying those device pixels outside the bounds of the visible region 42. Any such pixels are eliminated to create the trimmed window contents.
  • the trimmed window contents are then drawn on the screen in step 57, and are guaranteed to be without competition for the device pixels because both the visible region 42 and the border 38 are defined in global coordinates.
  • Figure 5A shows a first and second windows 80, 82 in source global space.
  • the second window B 82 may cover a first window A 80 as shown in Figure 5A.
  • Figure 5B show the mapping to global space of the first and second windows 80, 82 which yields a first and second device space windows 84, 86. Since each window's contents have their own coordinate grid, the left edge of window B 86 splits a pixel 88 that previously was owned by window A's contents 84. This contention for device pixel creates appearance problem for the window images.
  • the system of the present invention also includes a method for rendering multiple overlapping windows. If one window is covered by another, the present invention preferably removes the area covering window from the visible region of the window underneath. This prevents the covered window from overdrawing any pixels that the top window owns, and eliminates the problems caused by device pixel contention.
  • the method begins by defining a first and second windows in source space similar to the method for a single window.
  • the border and visible region for the first window are defined in global space.
  • the method defines the contents of the first window in local space.
  • the process defines the border and visible region for the second window in global space.
  • the contents of the second window are defined in local space in step 63.
  • the method determines which window is on top of the other in step 65.
  • the top window can be drawn as normal using similar steps as described above with reference to Figure 7.
  • the preferred method maps the border of the top window from global coordinates of source space to a device grid, and draws the border on the screen in step 65.
  • step 66 the visible region of the top window is mapped from global coordinates to the device grid.
  • the method maps the contents of the top window from local coordinates to the device grid in step 67.
  • step 68 the method trims the results of step 67 in device space to match the visible region in device space. The trimmed window contents for the top window are then drawn on the screen.
  • the method maps the border of the bottom window to the device grid. Then in step 71, the border is reduced or adjusted to remove those pixels that are overlapped by the top window. Since the borders for both window are defined in global coordinates, there will not be any contention for pixels when the two borders are drawn on the screen.
  • the visible region for the bottom window is adjusted so that the adjusted visible region 90 includes only those pixels that are not overlapped by the top window. As shown in the example of Figure 6A, when window B is moved over window A, window A's visible region 90 is reduced by the six source pixels where window B overlaps window A.
  • step 73 the adjusted visible region 90 of the bottom window is mapped to an adjusted visible device space region 92.
  • the mapping produces the device space visible region 92 that will clip any source drawing in window A to the correct device pixels. Since the adjusted visible region 90 is also defined in global coordinates, thus, any contention for pixels between the contents of the bottom window and the border of the top window is eliminated.
  • the method maps the contents of the bottom window to the device grid in step 74.
  • step 75 the contents of the bottom window in the device grid units are trimmed to match the device space units that form the adjusted visible region 92.
  • step 76 the trimmed window contents for the bottom window are drawn on the screen.
  • window B At the time window B is moved over window A, the pixels in question are owned by window A's contents. Therefore, the border for window B is re-drawn, giving it ownership of these pixels. Window A's visible region is then adjusted so that any subsequent drawing in window A is clipped to the correct pixels.
  • Figure 9 illustrates a preferred method for resolution scrolling on a finite coordinate grid.
  • drawing operations are performed relative to the origin of the window.
  • the window maintains the same device grid regardless of the window position on the device.
  • the origin To scroll window contents in the system of the present invention, the origin must be moved in unison with the scrolling operation. Because the origin is limited to the bounds of the coordinate space defined by the graphics system, the size of data that can be scrolled in the window is limited.
  • the present invention eliminates this problem and maintains the integrity of the device grid for a window. This is accomplished in the present invention with a process, that provides the correct gridding for all attached devices, even if they have different resolutions.
  • the method begins in step 100 by retrieving the source resolution in which image or contents of the window are defined. Then in step 101, the method retrieves the resolution for each device coupled to the system. Then in step 102, the amount the display is to be scrolled is input. Next in step 103, the method determines the period that the device resolutions repeat. In other words, the number of source pixels before the same point in all the device grids repeats. The period can be determined using the following equation:
  • Period Source Resolution / GCD(Source Resolution, Device 1 Resolution, Device 2 Resolution . . . Device n Resolution).
  • the method scrolls the object such that it lies on the same grid by scrolling the object in two steps. First, the object is moved an amount that is the multiple of the period, and then the origin is offset by any remaining amount the object is to be scrolled that is less than the period. Through this two part process, the gridding for the object is maintained. In step 104, the method preferably determines the amount the object is to be shifted and then shifts the object. The process moves the object either up or down (in a direction opposite to the scroll).
  • Origin adjustment amount Scroll amount MOD period, where MOD delineates the modulo function.
  • the amount the origin is to be adjusted can also be calculated by subtracting the shifted units from the scroll amount. The method then adjusts the origin by moving the origin by the origin adjustment amount in a direction opposite from the direction the object was shifted. Thus, the object will effectively be moved by the scroll amount while retaining the same gridding.
  • this method may also be applied to scrolling in the horizontal direction although only scrolling the vertical direction has been described.

Abstract

A resolution independent windowing system comprises a method for performing windowing operations directly in device space for a graphics system which specifies all drawings in coordinate space. The re-sizing effects of rendering an object in different places on the coordinate grid are absorbed in the window borders, allowing the window contents to be moved without re-drawing them. The window can be moved without re-drawing it even when the resolution of the device the window is displaced in differs from the source resolution of the rendering system. Furthermore, window contents are drawn relative to the coordinate of the top left of the window to provide each window with its own device grid independent of the window position on the device. The present invention includes: a method for displaying a window independent of the resolution of the display device; a method for rendering multiple, overlapping windows of independently arbitrary resolutions, and a method for scrolling a finite coordinate grid independent of resolution of the display device. These methods can be used alone or in combination to greatly enhance the graphic images displayed on a display device.

Description

A Windowing System with Independent Windows of Arbitrary Resolution for Display on Multiple Devices of Arbitrary Resolution
Background of the Invention 1. Field of the Invention
The present invention relates generally to methods for displaying graphic images on a display device. In particular, the present invention relates to a computer implemented method for rendering a graphic image to a display device that compensates for the resolution of the display device. Still more particularly, the present invention relates to a method for rendering a plurality of overlapping windows on a display device independent of the resolution of the display device. 2. Description of the Related Art
Present day graphic systems typically provide a "source space" that refers to the source resolution that defines an image. An image is defined in terms of global and /or local coordinates of the source space. The coordinate system that defines an image may either be local or global. "Global space" refers to a global coordinate space (encompassing many other coordinate spaces) that is at source resolution. "Local space" is a coordinate space that is contained within global space that is also at source resolution. It's coordinate space is local to a referenced point in global space. The computer under user direction manipulates and edits an image by changing various parameters of the image in global and/or local coordinates. After the computer has performed all the desired manipulations on the graphic image, the image is rendered upon a display device by converting the image definition from source space into
"device space." "Device space" refers to the pixel resolution of the device upon which the image is being rendered. There may be a one to one correspondence between device space and source space (i.e., the same resolution is used in source space as in device space), however, in some cases, the source space must be mapped to device space using a mapping function that accounts for the differences in the resolutions between the source space and device space.
One problem in rendering a graphic image to a display device is gridding. Gridding occurs when mapping an image defined in one resolution to a second different resolution. Images are conventionally defined by specifying the extents and bounds of the image in source space units of the local or global coordinate system. When the image is rendered on the display device, a region containing the image is transformed from source units of the local or global coordinate system to device units or pixels of the display device. The diagram shown in Figure 1 illustrates the transformation from a source space of 72 dots per inch (dpi) to a device space of 128 dpi. The rounding or truncation function determines how the gridding will take place. As shown in Figure 1, a source unit is mapped either to one device pixel of two device pixels. For example, source pixel 3 maps to a single device pixel, pixel e, while the adjacent pixel 4 maps to two device pixels f and g. The source unit could be mapped to even more pixels depending on the difference between the resolution of the source space and the device space. The detrimental effects of gridding become even more apparent when considering rendering a line six source units in length. As shown, if the line is drawn from pixel 1 to 6 of source space, the line has a length of 11 pixels from pixels a through k when rendered in device space. If a line of the same length is drawn at pixel 4 to 10 of source space, the length of the line in device space is 12 pixels from f-q. Therefore, the same length line in source space can have different lengths in device space depending on where the line is positioned. This gridding creates problems since the size of windows and other images on the display device change size depending on their position on the display device.
Another problem with graphics systems of the prior art is that the ownership of device pixels is dependent on whether the source space uses local or global coordinates. As illustrated in Figures 2A and 2B, the device pixel(s) that corresponds to a particular source pixel varies depending on whether global or local gridding is used. Both Figures 2A and 2B show the mapping of ten pixels of source space to seventeen device pixels for a change in resolution from 72 dpi in source space to 128 dpi in device space. In the global space of Figure 2 A, pixel 2 is represented by two device pixels c and d. However, as shown in local space of Figure 2B, the same pixel 2 is represented by a single device pixel c. The differences in ownership of device pixels is problematic because it prevents the fast transfer of images from off screen to on screen. Because of the differences, many images defined in global coordinates must be translated and processed before display on the screen. This problem of device pixel ownership being dependent on the use of local or global coordinates is particularly problematic for windowing systems. Windows often only cover a portion of the screen of the display device and are therefore their contents are defined in local coordinates. The window border is defined in global coordinates However, the screen background is in global coordinates. Thus, there is conflict over the ownership of device pixels. This conflict is heightened by the fact that the display device can and very often does present a plurality of window that overlap each other. The overlap of windows adds more competition for the ownership of pixels by two local space that have different offsets from global space. Therefore, there is need for a system and method that eliminates the problems with multiple overlapping windows and their local spaces. Another problem with windowing systems of the prior art is the requirement that the window and its contents be re-drawn each time the window is moved. The prior art must re-draw both the window border and the window contents each time the window is moved. Since windows are generally defined in local coordinates, they must be re-drawn to the coordinate grid of the display device each time the window is moved. This re-drawing process consumes much of the computers resources, and can slow down the operation of the computer. Moreover, constant display updates are displeasing for the user. Therefore, there is need for a windowing system that eliminates the overhead associated with moving a window. Some graphic display methods use the origin of the window on a display device as a reference point for performing drawing operations. The window maintains the same device grid independent of its location on the screen of the display device. To scroll the window contents in such an environment requires that the origin of the window be moved in unison with the scrolling operation. Since the origin of the window is limited to the bounds of the coordinate space defined by the graphics system, which is typically a smaller local space, the size of the data that can be scrolled within the window is limited to graphic coordinates as boundaries. Therefore, there is a need for a method that maintains the integrity of the device grid and removes the graphic coordinates as boundaries. Furthermore, when individual windows have their own gridding independent of the global grid, interactions between the windows occur since there is a question of ownership between pixels on the boundary of where the windows overlaps one and another. Therefore, there is need for methods of resolving the above gridding problems introduced by multiple origins and varying resolutions.
Summary of the Invention The present invention overcomes the limitations and shortcomings of the prior art with a resolution independent windowing system. The resolution independent windowing system comprises a method for performing windowing operations directly in device space for a graphics system which specifies all drawings in source space. The re-sizing effects of rendering an object in different places on the coordinate grid are absorbed in the window borders, thereby allowing the window contents to be moved without re-drawing them. The window borders must be re-drawn, however, the contents can simply be copied. With the present invention, the window can be moved without re-drawing it even when the resolution of the device the window is displayed in differs from the source resolution of the rendering system. Furthermore, window contents are drawn relative to the coordinate of the top left of the window to provide each window with its own device grid independent of the window position on the device. The present invention includes: a method for displaying a window independent of the resolution of the display device; a method for rendering multiple, overlapping windows of different source resolutions on one or more arbitrary resolution devices; and a method for scrolling a finite coordinate grid independent of resolution of the display device. These methods can be used alone or in combination to greatly enhance the graphic images displayed on a display device. The method for displaying a window independent of the resolution of the display device preferably comprises the step of: defining the window border in global coordinates; defining the window contents in local coordinates of source space; defining a visible region in global coordinates; mapping the window border from global coordinates to a device grid; drawing the window border on the screen; mapping a visible region from global coordinates of source space to the device grid; mapping the window contents from local coordinates of source space to the device grid; trimming the map of the window contents in device space to match the visible region in device space; and then drawing the trimmed window contents. Brief Description of the Drawings
Figure 1 is a graphic representation of the prior art mapping of an image from source space to device space;
Figure 2A is a graphic representation of the prior art mapping of an image from global source space to device space; Figure 2B is a graphic representation of the prior art mapping of an image from local source space to device space;
Figures 3A and 3B are graphic representations of the mapping of source pixels to device pixels and the mapping of a window in source pixels to device pixels, respectively; Figure 4 is a graphic representation of a screen display with a second window overlapping a first window;
Figures 5A and 5B are graphic representations of a first and a second overlapping windows mapped to source pixels and device pixels, respectively; Figures 6A and 6B are graphic representations of a the second window mapped to source pixels and device pixels, respectively;
Figure 7 is a flow chart of the preferred method for rendering a resolution independent window in accordance with the present invention; Figure 8A and 8B are a flow chart of the preferred method for rendering multiple, overlapping resolution independent windows in accordance with the present invention; and
Figure 9 is a flow chart of the preferred method for scrolling on a finite coordinate grid. - Detailed Description of the Preferred Embodiments
Referring now to Figures 3A and 3B, the manner that the present invention overcomes the effects of gridding on a windowing system is shown. For the description of the preferred embodiment of the present invention, global coordinates are defined as being at the same resolution as source space. Figure 3A illustrates a portion of the source pixel grid 12 to device pixel 14 grid mapping for the horizontal pixels. For this example, the source space is 72 dots per inch (dpi), and the device space is 128 dpi. The mapping is the same for the vertical pixels. This is similar to the mapping shown in Figure 1. As can be seen, most of the source pixels map to two device pixels, however, a third source pixel 16 maps to only a single device pixel 18. Figure 3B illustrates a window 20 in accordance with the present invention that is defined in the source pixels grid and how it will be rendered on the screen on the device pixel grid 14. The window 20 preferably includes a border 22 and contents 24 over the source space pixel grid 12. As shown, the window 20 is mapped to a device space window 26 that similarly is comprised of a border 28 and contents 30. The mapping to device pixel grid 14 demonstrates how the position of the window can affect its appearance. When the window 26 is positioned as shown in Figure 3B, the borders, in particular the left side border, are generally two device pixels in width. However, as each window is moved in global coordinates, the gridding of the frame changes in device space. If the window 26 were to be move three global pixels to the right, the left border of the window 26 would be reduced in half. As shown in Figure 3B, this gridding phenomenon is shown by the difference between the top border and the bottom border. Because of the location of the window 26, the top border is two pixels high versus the bottom border that is a single pixel high. Thus, the effects of gridding on the contents of the window are eliminated with the present invention by absorbing the effects of gridding in the borders, thereby, keeping the size and relative gridding of the contents the same regardless of the window position, and eliminating the need to re-draw them.
Referring now to Figure 4, the definition of windows in accordance with the present invention will be described. Figure 4 illustrates a screen 32 of the display device showing a first and a second windows 34, 36. The present invention advantageously reduces the effects of gridding on the windowing system for both individual windows and multiple windows overlaid upon each other. The present invention achieves this result by defining each window 34, 36 as including a window border 38, window contents 40, a visible rt-gion 42 and a clip region 44. The window border 38 preferably comprises the rectangular frame surrounding the window contents 40 and defines the size of the window 34, 36. The border 38 is preferably defined in global coordinates of a global device grid. For example, the border 38 may be specified in 72 dpi global coordinates. The window border 38 may also include a title as shown in Figure 4. The window contents 40 are the image that is to be displayed. The window contents 40 are preferably defined in local coordinates of local device grid relative to the global coordinates of the border 38. For example, the contents 40 may be specified in port resolution local coordinates. While the window border 38 is mapped to the global device grid, the window contents 40 are mapped to a local grid. This means that there may be overlap between the two grids (i.e., there may be contention for a device pixel between a content's local grid and the global grid of the window border 38). The present invention eliminates this contention through a region called the visible region 42. The visible region 42 is defined in global coordinates, and delineates the content pixels of a window 34, 36 that are visible. Any drawing to a window's contents is clipped to this visible region 42 at the device level. This means that drawing to a window 34, 36 is clipped to its visible pixels in device space using a source space global grid. Drawing to the window 34, 36 is accomplished through use of the clip region 44 by application programs. The clip region 44 like the contents is specified in local coordinates, for example, in port resolution local coordinates. Because the window contents 40 are drawn relative to the port, they stay the same wherever the window 34, 36 is positioned. The difference between the gridding in the old window position and the new position is taken up in the window's borders 38. Thus, if a window (whose bounds are specified in 72 dpi in global space) is moved on a 128 dpi monitor, the window borders 38 may change from being represented by one or two device pixels (depending on position), but the contents 40 never change. Referring now to Figure 7, the preferred method for displaying a window using system of the present invention will be described. The preferred method begins in step 50 by defining the window border 38 in global coordinates. The method then in step 51 defines the window contents 40 in local coordinates of source space at any arbitrary window resolution. In step 52, the method defines the visible region 42 in global coordinates. Then in step 53, the window border 38 is mapped from global coordinates to a device grid, and the window border 38 is drawn on the screen 32. Next in step 54, the visible region 42 is mapped from global coordinates to the device grid. The method then maps the window contents 40 from local coordinates of the window source space to the device grid in step 55. In step 56, the method trims the map of the window contents 40 in device space to match the visible region 42 in device space. The window contents 40 are trimmed by identifying those device pixels outside the bounds of the visible region 42. Any such pixels are eliminated to create the trimmed window contents. The trimmed window contents are then drawn on the screen in step 57, and are guaranteed to be without competition for the device pixels because both the visible region 42 and the border 38 are defined in global coordinates.
Referring now to Figures 5A and 5B, the gridding problem with multiple layered windows can be seen. Figure 5A shows a first and second windows 80, 82 in source global space. The second window B 82 may cover a first window A 80 as shown in Figure 5A. However, since each of the windows 80, 82 is traditionally defined in local coordinates, there may be contention for device pixels because of gridding. Figure 5B show the mapping to global space of the first and second windows 80, 82 which yields a first and second device space windows 84, 86. Since each window's contents have their own coordinate grid, the left edge of window B 86 splits a pixel 88 that previously was owned by window A's contents 84. This contention for device pixel creates appearance problem for the window images. The system of the present invention also includes a method for rendering multiple overlapping windows. If one window is covered by another, the present invention preferably removes the area covering window from the visible region of the window underneath. This prevents the covered window from overdrawing any pixels that the top window owns, and eliminates the problems caused by device pixel contention.
Referring now to Figures 8A and 8B, the preferred embodiment of the method for rendering multiple, overlapping, resolution independent windows in accordance with the present invention will be described. The method begins by defining a first and second windows in source space similar to the method for a single window. In step 60, the border and visible region for the first window are defined in global space. In step 61, the method defines the contents of the first window in local space. Next in step 62, the process defines the border and visible region for the second window in global space. The contents of the second window are defined in local space in step 63. Then the method determines which window is on top of the other in step 65. The top window can be drawn as normal using similar steps as described above with reference to Figure 7. The preferred method maps the border of the top window from global coordinates of source space to a device grid, and draws the border on the screen in step 65. Next in step 66, the visible region of the top window is mapped from global coordinates to the device grid. The method then maps the contents of the top window from local coordinates to the device grid in step 67. In step 68, the method trims the results of step 67 in device space to match the visible region in device space. The trimmed window contents for the top window are then drawn on the screen.
However, before the lower window is drawn, it must be modified or adjusted such that the portion of the window overlapped by the top window will not be drawn on the display. In step 70, the method maps the border of the bottom window to the device grid. Then in step 71, the border is reduced or adjusted to remove those pixels that are overlapped by the top window. Since the borders for both window are defined in global coordinates, there will not be any contention for pixels when the two borders are drawn on the screen. Next, in step 72, the visible region for the bottom window is adjusted so that the adjusted visible region 90 includes only those pixels that are not overlapped by the top window. As shown in the example of Figure 6A, when window B is moved over window A, window A's visible region 90 is reduced by the six source pixels where window B overlaps window A. This reduced area is the adjusted visible region 90. Then in step 73, the adjusted visible region 90 of the bottom window is mapped to an adjusted visible device space region 92. As best shown in Figure 6B, the mapping produces the device space visible region 92 that will clip any source drawing in window A to the correct device pixels. Since the adjusted visible region 90 is also defined in global coordinates, thus, any contention for pixels between the contents of the bottom window and the border of the top window is eliminated. Next, the method maps the contents of the bottom window to the device grid in step 74. In step 75, the contents of the bottom window in the device grid units are trimmed to match the device space units that form the adjusted visible region 92. Finally, in step 76, the trimmed window contents for the bottom window are drawn on the screen. At the time window B is moved over window A, the pixels in question are owned by window A's contents. Therefore, the border for window B is re-drawn, giving it ownership of these pixels. Window A's visible region is then adjusted so that any subsequent drawing in window A is clipped to the correct pixels.
Referring now to Figure 9, another method for improving windowing systems will be described. Figure 9 illustrates a preferred method for resolution scrolling on a finite coordinate grid. As noted above, drawing operations are performed relative to the origin of the window. The window maintains the same device grid regardless of the window position on the device. To scroll window contents in the system of the present invention, the origin must be moved in unison with the scrolling operation. Because the origin is limited to the bounds of the coordinate space defined by the graphics system, the size of data that can be scrolled in the window is limited. The present invention eliminates this problem and maintains the integrity of the device grid for a window. This is accomplished in the present invention with a process, that provides the correct gridding for all attached devices, even if they have different resolutions. As shown in Figure 9, the method begins in step 100 by retrieving the source resolution in which image or contents of the window are defined. Then in step 101, the method retrieves the resolution for each device coupled to the system. Then in step 102, the amount the display is to be scrolled is input. Next in step 103, the method determines the period that the device resolutions repeat. In other words, the number of source pixels before the same point in all the device grids repeats. The period can be determined using the following equation:
Period = Source Resolution / GCD(Source Resolution, Device 1 Resolution, Device 2 Resolution . . . Device n Resolution).
In this equation, GCD is the function of finding the greatest common divisor. Once the period has been determined in step 103, the method scrolls the object such that it lies on the same grid by scrolling the object in two steps. First, the object is moved an amount that is the multiple of the period, and then the origin is offset by any remaining amount the object is to be scrolled that is less than the period. Through this two part process, the gridding for the object is maintained. In step 104, the method preferably determines the amount the object is to be shifted and then shifts the object. The process moves the object either up or down (in a direction opposite to the scroll). The amount the object is to be shifted can be determined using integer division for the scroll amount / period and multiplying by the period, or by the following equation: Shifted units = period x Trunc (scroll amount / period). Once the shifted units have been calculated, the object is shifted by that value. Then in step 105, the method determines the amount by which to adjust the origin to obtain the amount of scrolling input. The amount the origin is to be adjusted is determined by solving the equation:
Origin adjustment amount = Scroll amount MOD period, where MOD delineates the modulo function. In an alternate embodiment, the amount the origin is to be adjusted can also be calculated by subtracting the shifted units from the scroll amount. The method then adjusts the origin by moving the origin by the origin adjustment amount in a direction opposite from the direction the object was shifted. Thus, the object will effectively be moved by the scroll amount while retaining the same gridding. Those skilled in the art will realize that this method may also be applied to scrolling in the horizontal direction although only scrolling the vertical direction has been described.
For example, consider a system that has a 72 dpi source space where we want to scroll the object down by 155 pixels. The system is coupled to a first monitor with a device space of 128 dpi and to a second monitor with 108 dpi resolution. The period at which the device grid repeat would be: Period = 72 / GCD(72, 128, 108) = 72 / 4 = 18.
The object would then be shifted down by:
Shifted units = 18 x Trunc (155 / 18) = 18 x 8 = 144 pixels. And finally, the origin would be adjusted upward by:
Origin adjustment amount = 155 MOD 18 = 11 pixels. While the present invention has been described with reference to certain preferred embodiments, those skilled in the art will recognize that various modifications may be provided. For example, there may be other embodiments for the method of rendering resolution independent windows in addition to those described with reference to Figures 7 and 8. These and other variations upon and modifications to the preferred embodiment are provided for by the present invention which is limited only by the following claims.

Claims

WHAT IS CLAIMED IS:
1. An system for defining and drawing windows on a display device of a computer, said system comprising a memory wherein the window and contents are stored in memory with a window border defined in global coordinates; a visible region defined in global coordinates, the visible region limited in size by the window border; and window contents defined in local coordinates of arbitrary resolution defined individually by an application using the window.
2. A method for displaying a window on a screen of a display device independent of the resolution of the display device, said screen having a device grid established according to the resolution of the display device, said method comprising the steps of: defining the window as having a border, window contents, and a visible region; mapping the window border and the visible region to a device grid; drawing the window border on the screen; mapping the window contents to the device grid; trimming the device grid map of the window contents in device space to match the visible region in device space; and drawing the trimmed window contents.
3. The method of claim 2, wherein the step of defining the window further comprises the steps of: defining the window border in global coordinates of source space; and defining the visible region in global coordinates of source space.
4. The method of claim 2, wherein the step of defining the window further comprises the step of defining the window contents in local coordinates of source space
5. The method of claim 2, wherein the step of mapping the window border translates the window border and visible region from global coordinates of source space to device grid pixels.
6. The method of claim 2, wherein the step of mapping the window contents translates the window contents from local coordinates of source space to device grid pixels.
7. The method of claim 2, wherein the step of trimming the device grid map further comprises the substeps of: identifying those device pixels outside the bounds of the visible region; and eliminating the identified device pixels from the map of the window contents to device pixels to create the trimmed window contents.
8. A method for displaying a plurality of windows on the screen of a display device independent of the resolution of the display device and the individual window resolutions, said screen having a device grid established according to the resolution of the display device, said method comprising the steps of: defining a first window; defining a second window; identifying one of the first and second windows as the top window, and the other window as the bottom window; mapping the top window to the device grid; drawing the top window on the screen of the display device; defining a visible region for contents of the bottom window in the same coordinate space as the top window; adjusting the size of the visible region by an overlap of the top window over the bottom window; mapping the visible region and the bottom window to device space; adjusting the bottom window to match the size of the visible region; and drawing the adjusted bottom window on the screen of the display device;
9. The method of claim 8, wherein the step of defining a first window comprises the steps of: defining a first window border in global coordinates of source space; defining a first visible region in global coordinates of source space; and defining a first window contents in window local coordinates of source space of any resolution.
10. The method of claim 8, wherein the step of defining a second window comprises the steps of: defining a second window border in global coordinates of source space; defining a second visible region in global coordinates of source space; and defining a second window contents in window local coordinates of source space of any resolution.
11. The method of claim 9, wherein the step of mapping the top window to the device grid comprises the steps of: mapping the border of the top window from global coordinates of source space to the device grid; mapping the visible region of the top window from global coordinates to the device grid mapping the contents of the top window from local coordinates to the device grid; and trimming in device space the device grid map of the contents of the top window to match the device grid map of visible region.
12. The method of claim 11, wherein the step of drawing the top window on the screen comprises the steps of: drawing the device grid map of the border; and drawing the trimmed device grid map of the contents of the top window.
13. The method of claim 11, wherein the step of defining a visible region for contents of the bottom window comprises the steps of: defining a bottom window border in global coordinates of source space; defining a bottom visible region in global coordinates of source space; and defining a bottom window contents in local coordinates of source space.
14. The method of claim 8, wherein the visible region for contents of the bottom window and the top window are both defined in global space.
15. The method of claim 8, wherein the step of adjusting the size of the visible region comprises the steps of: identifying the global pixels that the top window covers; determining the global pixels that the bottom window covers; and removing the global pixels that are covered by both the top window and the bottom window from the visible region.
16. The method of claim 13, wherein the step of adjusting the size of the visible region comprises the steps of: identifying the global pixels that the top window covers; determining the global pixels that visible region of the bottom window covers; removing the global pixels that are covered by both the top window and the bottom window from the visible region; determining the global pixels that the bottom window border covers; and removing the global pixels that are covered by the top window from the border of the bottom window.
17. The method of claim 13, wherein the step of mapping the visible region and the bottom window to device space comprises the step of: mapping the border of the bottom window from global coordinates of source space to the device grid; mapping the visible region of the bottom window from global coordinates to the device grid; and mapping the contents of the bottom window from local coordinates to the device grid.
18. The method of claim 13, wherein the step of adjusting the bottom window to match the size of the visible region comprises the step of: identifying the device pixels forming the bottom window; determining the device pixels forming visible region of the bottom window; and removing the device pixels that are outside the visible region.
19. A method for resolution independent scrolling on a finite coordinate grid of multiple display devices, said method comprising the steps of: retrieving the source resolution of the contents of the window; retrieving the resolution for each display device; inputting the amount the to scroll the window; determining the period that the device resolutions repeat; determining the amount the object is to be shifted and shifting the object; and determining the amount to by which to adjust the origin and adjusting the origin.
20. The method of claim 19, wherein the step of determining the period that the device resolutions repeat, comprises the step of calculating the equation:
Period = Source Resolution / GCD(Source Resolution, Device 1 Resolution, Device 2 Resolution . . . Device n
Resolution), where GCD is the greatest common divisor.
21. The method of claim 19, wherein the step of determining the amount the object is to be shifted, comprises the step of calculating the equation: Shifted units = period x Trunc (scroll amount / period).
22. The method of claim 19, wherein the step of determining the amount by which to adjust the origin, comprises the step of calculating the equation: Origin adjustment amount = Scroll amount MOD period, where MOD delineates the modulo function.
PCT/US1994/004988 1993-05-10 1994-05-05 A windowing system with independent windows of arbitrary resolution for display on multiple devices of arbitrary resolution WO1994027278A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE69412479T DE69412479T2 (en) 1993-05-10 1994-05-05 WINDOW SYSTEM WITH INDEPENDENT WINDOWS FOR ELIMINATING GRIDING EFFECTS
AU68260/94A AU6826094A (en) 1993-05-10 1994-05-05 A windowing system with independent windows of arbitrary resolution for display on multiple devices of arbitrary resolution
EP94916667A EP0698266B1 (en) 1993-05-10 1994-05-05 A windowing system with independent windows that eliminates the effects of gridding
CA002162560A CA2162560A1 (en) 1993-05-10 1994-05-05 Windowing system with independent windows for arbitrary resolution for display on multiple devices of arbitrary resolution
JP52554594A JP3892900B2 (en) 1993-05-10 1994-05-05 Window system with individual windows of arbitrary resolution for display on multiple devices of arbitrary resolution

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5963593A 1993-05-10 1993-05-10
US08/059,635 1993-05-10

Publications (1)

Publication Number Publication Date
WO1994027278A1 true WO1994027278A1 (en) 1994-11-24

Family

ID=22024249

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1994/004988 WO1994027278A1 (en) 1993-05-10 1994-05-05 A windowing system with independent windows of arbitrary resolution for display on multiple devices of arbitrary resolution

Country Status (7)

Country Link
US (1) US5517209A (en)
EP (1) EP0698266B1 (en)
JP (1) JP3892900B2 (en)
AU (1) AU6826094A (en)
CA (1) CA2162560A1 (en)
DE (1) DE69412479T2 (en)
WO (1) WO1994027278A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745759A (en) * 1994-10-14 1998-04-28 Qnx Software Systems, Ltd. Window kernel
US6373506B1 (en) 1998-07-24 2002-04-16 Nec Corporation Object alignment controller and object alignment controlling method
US6397262B1 (en) 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181443A (en) * 1991-07-01 1993-07-23 Seiko Epson Corp Computer
EP0772119A3 (en) * 1995-10-31 1997-12-29 Cirrus Logic, Inc. Automatic graphics operation
US6275266B1 (en) 1997-11-12 2001-08-14 Philips Electronics North America Corporation Apparatus and method for automatically detecting and configuring a television display for a personal computer
JP2000172243A (en) * 1998-12-09 2000-06-23 Sharp Corp Display device and display method and storage medium storing display control program
US7333071B2 (en) * 2001-05-11 2008-02-19 Xerox Corporation Methods of using mixed resolution displays
US7475356B2 (en) * 2001-05-11 2009-01-06 Xerox Corporation System utilizing mixed resolution displays
US7546540B2 (en) * 2001-05-11 2009-06-09 Xerox Corporation Methods of using mixed resolution displays
US7629945B2 (en) 2001-05-11 2009-12-08 Xerox Corporation Mixed resolution displays
JP2003108283A (en) * 2001-09-18 2003-04-11 Internatl Business Mach Corp <Ibm> Computer apparatus, display device, display control apparatus, processing method for image, processing method for changing display resolution and computer program
FR2833132B1 (en) * 2001-11-30 2004-02-13 Eastman Kodak Co METHOD FOR SELECTING AND SAVING A SUBJECT OF INTEREST IN A DIGITAL STILL IMAGE
FR2833131B1 (en) * 2001-11-30 2004-02-13 Eastman Kodak Co METHOD AND SYSTEM FOR OBTAINING THE DISPLAY OF A SUBJECT OF INTEREST IN A DIGITAL IMAGE
JP4513592B2 (en) * 2005-02-09 2010-07-28 日本電気株式会社 Computer switching device, computer switching method used therefor, and program therefor
US7890881B1 (en) * 2005-07-29 2011-02-15 Adobe Systems Incorporated Systems and methods for a fold preview
US20140075377A1 (en) * 2012-09-10 2014-03-13 Samsung Electronics Co. Ltd. Method for connecting mobile terminal and external display and apparatus implementing the same
CN102945144B (en) * 2012-10-08 2016-05-18 广东威创视讯科技股份有限公司 The method of window layout and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0105707A1 (en) * 1982-09-30 1984-04-18 International Business Machines Corporation Apparatus for scaling fascimile image data
US4712185A (en) * 1984-04-28 1987-12-08 Kabushiki Kaisha Toshiba Dot interpolation control system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4567515A (en) * 1983-04-20 1986-01-28 Measuronics Corporation Multiple image generation and analysis system
US4559533A (en) * 1983-11-03 1985-12-17 Burroughs Corporation Method of electronically moving portions of several different images on a CRT screen
US4823108A (en) * 1984-05-02 1989-04-18 Quarterdeck Office Systems Display system and memory architecture and method for displaying images in windows on a video display
JPH0766317B2 (en) * 1986-04-09 1995-07-19 株式会社日立製作所 Display control method
US4814884A (en) * 1987-10-21 1989-03-21 The United States Of America As Represented By The Secretary Of The Air Force Window generator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0105707A1 (en) * 1982-09-30 1984-04-18 International Business Machines Corporation Apparatus for scaling fascimile image data
US4712185A (en) * 1984-04-28 1987-12-08 Kabushiki Kaisha Toshiba Dot interpolation control system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
P.W.MINSCH ET AL.: "HP IVI Application Program Interface Design", HEWLETT-PACKARD JOURNAL, vol. 41, no. 5, October 1990 (1990-10-01), PALO ALTO US, pages 21 - 31 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745759A (en) * 1994-10-14 1998-04-28 Qnx Software Systems, Ltd. Window kernel
US6397262B1 (en) 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel
US6373506B1 (en) 1998-07-24 2002-04-16 Nec Corporation Object alignment controller and object alignment controlling method

Also Published As

Publication number Publication date
JPH08510074A (en) 1996-10-22
DE69412479D1 (en) 1998-09-17
DE69412479T2 (en) 1999-04-22
EP0698266A1 (en) 1996-02-28
AU6826094A (en) 1994-12-12
EP0698266B1 (en) 1998-08-12
CA2162560A1 (en) 1994-11-24
JP3892900B2 (en) 2007-03-14
US5517209A (en) 1996-05-14

Similar Documents

Publication Publication Date Title
US5517209A (en) Windowing system with independent windows of arbitrary resolution for display on multiple devices of arbitrary resolution
US5577187A (en) Method and system for tiling windows based on previous position and size
US5574836A (en) Interactive display apparatus and method with viewer position compensation
US5388202A (en) Method and apparatus for generating window borders having pictorial frame elements
EP0447095B1 (en) Workspace displays
US6359631B2 (en) Method of enabling display transparency for application programs without native transparency support
US5621904A (en) Method and apparatus for avoiding overlapped windows and a gutter space
AU2008207617B2 (en) Display updates in a windowing system using a programmable graphics processing unit
JP3321651B2 (en) Apparatus and method for providing a frame buffer memory for computer output display
US20090031247A1 (en) Active Tiled User Interface
JPH056197B2 (en)
JPS62191918A (en) Data display method and data display controller
CA2021271A1 (en) Space allocation and positioning method for screen display regions in a variable windowing system
JPH06507256A (en) Digital document enlargement display device
US20140089795A1 (en) Generating a user interface
EP1316064B1 (en) Scaling images
KR100770622B1 (en) Display controller enabling superposed display
EP0147542B1 (en) A multiple window display system
US5701138A (en) Resolution independent methods for rendering a graphic image on a display device
JPH05232915A (en) Method and device for assigning memory space
US5561755A (en) Method for multiplexing video information
JPH08292758A (en) Window display method
MXPA05003648A (en) Display screen capable of being subjected to a scroll procedure.
US6473101B1 (en) Single surface multi-view panning system and method for multiple displays
KR100768679B1 (en) User interface generation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR BY CA CH CN CZ DE DK ES FI GB GE HU JP KG KP KR KZ LK LU LV MD MG MN MW NL NO NZ PL PT RO RU SD SE SI SK TJ TT UA UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2162560

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1994916667

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1994916667

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 1994916667

Country of ref document: EP