US5680152A - Method and apparatus for navigating multiple independent windowed images - Google Patents
Method and apparatus for navigating multiple independent windowed images Download PDFInfo
- Publication number
- US5680152A US5680152A US08/627,650 US62765096A US5680152A US 5680152 A US5680152 A US 5680152A US 62765096 A US62765096 A US 62765096A US 5680152 A US5680152 A US 5680152A
- Authority
- US
- United States
- Prior art keywords
- window
- image
- indicator
- level
- displayed
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Definitions
- the present invention relates to the field of user interfaces for computers, and more particularly to a method and apparatus for navigating multiple windowed images that may be used to provide an improved graphical user interface for computer systems.
- a user interface typically consists of computer hardware such as a computer display screen, a keyboard, and a mouse, as well as computer software that interprets a user's keyboard and mouse input and provides the images shown on the computer display screen.
- Two categories of user interfaces are text-based user interfaces and graphical user interfaces.
- text-based user interfaces communications between a user and a computer typically consist of written words and messages.
- User input to the computer with a basic text-based interface consists of text messages and commands typed on the keyboard, and computer output to the user consists of text messages displayed on the computer display screen.
- More "user friendly" text based interfaces provide additional features such as pull-down command menus and mouse input that make it easier for a user to enter text-based commands.
- GUI graphical user interface
- a typical graphical user interface provides features such as pull-down menus and pictorial representations called “icons” that allow the user to perform many computer operations simply by using a mouse to point and click on an appropriate icon or menu displayed on the computer display screen.
- Graphical user interfaces typically also feature “windows.”
- a “window” is a portion of a display screen that is dedicated to a particular purpose.
- Two common examples of operating systems that provide windowing graphical user interfaces are Microsoft WindowsTM and the Apple MacintoshTM operating systems.
- a GUI that utilizes "windows” typically divides the display screen into movable, resizable, rectangular windows. Each window may be dedicated to a different file or program, or a single program may use multiple windows to display information in different ways.
- a property commonly associated with a window is the ability to "scroll" or “pan” the window.
- Scrolling or panning is used when the item displayed in a window, for example a graphic image in a drawing program or a document in a word processing program, is too large to be displayed in the window all at the same time.
- the window can often be "scrolled” or “panned” to a new position relative to the underlying image or document such that the window shows portions of the underlying image or document that previously were outside of the portion shown in the window.
- the term “scrolling” shall be used herein to refer to both scrolling and panning.
- a means typically provided to a user to allow the user to scroll a window are “scroll bars.”
- a scroll bar typically consists of an image of a bar that is displayed along one side of the window.
- a box that indicates the position of the window with respect to the underlying image or document is displayed on the bar. The box can be “dragged” along the bar by a mouse. The new position of the box indicates the new position of the window in relation to the underlying image. After the box is dragged to the new position and released, the image shown in the window is replaced with an image corresponding to the window's new position.
- Two scroll bars are commonly used: a vertical scroll bar alongside one of the sides of the window for scrolling the image shown in the window in a vertical direction and a horizontal scroll bar along the top or bottom of the window for scrolling the image in a horizontal direction.
- the scroll bars thus allow the user to navigate the image or document underlying the window.
- FIG. 1 shows a typical prior art display screen P100 containing two windows P110 and P120.
- Window P110 is for a word-processing program. It shows a portion P115 of a written document showing different printer fonts and sizes.
- Window P120 is for a painting program. It shows a portion P125 of a bitmapped image of a locomotive.
- Window P110 has a vertical scroll bar P130 with a scroll box P135 along its right hand side, and a horizontal scroll bar P140 with a scroll box P145 along its bottom.
- Window P120 has a vertical scroll bar P150 with a scroll box P155 along its right hand side, and a horizontal scroll bar P160 with a scroll box P165 along its bottom.
- FIG. 2 shows how moving the scroll boxes along the scroll bars for a window moves the position of the window with respect to the underlying image or document.
- vertical scroll box P135 of window P110 has been dragged vertically downwards from its position in FIG. 1. Accordingly, window P110 has been moved to a position further down the document shown in window P110.
- Horizontal scroll box P145 of window P110 has also been dragged a distance to the right along horizontal scroll bar 140, scrolling window P110 to the right.
- horizontal scroll box P165 of window P120 has been dragged a distance to the right along horizontal scroll bar 160, scrolling window P120 to the right as well.
- FIG. 2 shows the painting program window P120 of FIG. 2 with the zoom mode activated and the window as a whole resized to a larger size. Because the image displayed is magnified, window P120 in FIG. 3 only shows a portion of the image displayed in window P120 of FIG. 2. Rectangle P200 shown in outline form in window P120 in FIG. 2 represents the portion of the image shown in window P120 of FIG. 2 that is displayed magnified in window P120 of FIG. 3. As shown in FIG.
- window P120 in addition to showing the magnified image in its main display area, also includes a small auxiliary window P300 in its upper left-hand corner.
- Auxiliary window P300 shows an unmagnified view of the same portion of the image shown in magnified form in the main display area of window P120.
- the prior art program shown in FIG. 3 shows the same image in two windows, but at different scales.
- window P120 of FIG. 3 incorporates scroll bars P150 and P160 and scroll boxes P155 and P165, respectively, that can be used to control the position of window 120 with respect to the underlying image.
- Auxiliary window P300 does not have separate scroll bars. Instead, scroll bars P150 and P160 of window P120 are used to scroll both window P120 and auxiliary window P300.
- scrolling of window P120 and auxiliary window P300 is accomplished as follows. As a scroll box in a scroll bar is dragged by a mouse to a new location, the auxiliary window P300 scrolls in real time. That is, as the scroll box is dragged, auxiliary window P300 scrolls to follow the movement of the scroll box.
- FIG. 4 shows the images displayed in window P120 and auxiliary window P300 after the scroll boxes P155 and P165 have been moved from their position in FIG. 3.
- Rectangle P210 shown in outline form in FIG. 2 represents the position of windows P120 and P300 in FIG. 4.
- the window navigation scheme of the prior art shown in FIGS. 1 and 2, in which each window shows an independent image, does not provide any coordination between the scrolling of one window and the other. Each window must be scrolled independently.
- scroll bars P150 and P160 control the scrolling of both window P120 and auxiliary window P300.
- the images shown in windows P120 and P300 are not separate, independent images, but are the same image shown at different magnification scales.
- windows P120 and P300 do not scroll in a coordinated manner: auxiliary window P300 scrolls in real time with movement of the scroll boxes, while window P120 only jumps from the initial position to a final position.
- the prior art does not provide a method by which multiple, independent images may be navigated in a convenient, coordinated manner.
- the present invention comprises a method and apparatus for navigating multiple independent windowed images on a computer display screen of a computer system.
- the images may be of arbitrary size and shape, although a rectangular shape is typically used.
- a relationship is defined between the coordinates of points in one image and the coordinates of points in each of the other images.
- Each image is an independent entity, although its content may be thematically related to the content of other windows.
- Each image is typically a bitmap.
- a window displaying all or a portion of each image is displayed on a display screen.
- a cursor may be moved into the window for any of the images.
- Graphic objects and items may optionally be "drag-and-dropped" into any window.
- two windows are displayed.
- One window shows an image that is the same size as the window, such that the window displays the entire image.
- This window may be referred to as a "first level” window.
- a second window displays an image that is larger than the window, such that the window only displays a portion of the underlying image at a time.
- This window may be referred to as a "second level” window.
- the image for each window is independent of the image in the other window--that is, each image is stored as a separate image, although the images may be related in terms of what is shown in the images, or the images may even be separate copies of the same image.
- the first level window displays an "indicator" that represents the position of the second level window relative to the second level window image.
- the indicator of the present invention is movable in two dimensions about the first level window. For example, if the second level window is positioned such that it shows the central portion of its underlying image, the indicator would be positioned in the center of the first level window. If the second level window is positioned such the it shows the lower right hand corner of the underlying image, the indicator would be positioned in the lower right hand corner of the first level window. Examples of indicators that may be used include, but are not limited to, icons, cursors, wire frame boxes, and highlighting.
- the indicator in the first level window can be used to navigate the second level window image.
- the indicator is moved, for example by dragging it with a mouse, from one location to another in the first level window.
- the position of the second level window with respect to its underlying image changes such that the position of the second level window with respect to its underlying image corresponds in a relative manner to the position of the indicator with respect to the first level image shown in the first level window.
- a variety of other means may be used to change the indicator's position with respect to the first level window. For example, in one embodiment of the invention, "clicking" on any location of the first level window with a mouse repositions the indicator at the location clicked.
- the present invention may be also be used with multiple levels of windows.
- a hierarchy of windows is used, with each lower level window being navigable by means of an indicator in the next higher level window.
- graphic objects or items may be added by a user to any window, with corresponding graphic objects or items automatically being added to the other windows.
- the present invention may be implemented by appropriate software running in a general purpose computer system comprising a central processing unit, a keyboard, internal memory, a mouse, and a computer display.
- the present invention may also be implemented in dedicated or special purpose computer systems, such as bank teller machines and reservations systems, and in other systems comprising display means, such as television sets, navigational devices, video games, motion simulators, and the like.
- FIG. 1 shows a display screen displaying two windows of the prior art.
- FIG. 2 shows the display screen of FIG. 1 after the prior art windows of FIG. 1 have been scrolled to new positions relative to the underlying image and document.
- FIG. 3 shows one of the prior art windows of FIG. 2 resized to a larger size that displays an image in magnified form.
- FIG. 4 shows the prior art window of FIG. 3 scrolled to a new position relative to the underlying image.
- FIG. 5 shows the relationship between windows and underlying images in an embodiment of the present invention having two windows.
- FIG. 6 shows the effect of changing the position of an indicator in one window on the portion of the image displayed in a second window for the embodiment shown in FIG. 5.
- FIG. 7 shows the effect of changing the position of an indicator in one window on the portions of the image displayed in a second window for an embodiment of the invention incorporating smooth scrolling.
- FIG. 8 shows the proportional relationship between the position of an indicator in one window with the position of a second window with respect to its underlying image in one embodiment of the present invention.
- FIG. 9 shows how moving the indicator of FIG. 8 to a new location changes the corresponding position of the second window with respect to its underlying image.
- FIG. 10 shows an embodiment of the present invention with three windows.
- FIG. 11 shows a flow chart for one embodiment of the present invention.
- FIG. 12 shows an embodiment of the present invention in which data items may be added to images shown in windows.
- FIG. 5 illustrates an embodiment of the present invention with two windows and two underlying images.
- window 500 and window 505 are displayed on a computer display screen 520.
- Display screen 520 may be any kind of display screen, including but not limited to a cathode ray tube ("CRT") display, a liquid crystal display (“LCD”), a fluorescent display, and a projected display.
- Window 500 is associated with image 510.
- Window 505 is associated with image 515.
- window 500 displays all of image 510, while window 505 shows only a portion of image 515.
- Window 500 contains a rectangular "indicator" 530 that indicates the relative position of the portion of image 515 shown in window 505 with respect to image 515 as a whole. This portion of image 515 is indicated by rectangle 525.
- Window 500 may be referred to as a "first level window.”
- Window 505 may be referred to as a "second level window.”
- Indicator 530 allows a user to navigate second level window 505 about underlying image 515.
- the position of indicator 530 relative to first level window 500 corresponds to the position of second level window 505 with respect to image 515.
- By changing the position of indicator 530 relative to first level window 500 the position of the portion of image 515 shown in second level window 505 changes in a corresponding manner.
- a variety of means may be used to change the position of indicator 530. Examples include "dragging" indicator 530 with a mouse, or positioning a cursor at a desired position for indicator 530 and clicking a mouse button, causing indicator 530 to move to the new desired location.
- FIG. 6 shows how when indicator 530 is moved from its former position 600 along the direction indicated by arrow 615, the position of rectangle 525, representing the portion of image 515 displayed in second level window 505, moves from its original location 610 in the direction indicated by arrow 625 in a similar manner.
- FIG. 8 shows how the size and position of indicator 530 in first level window 500 of the embodiment of the invention shown in FIG. 5 is related to the size and relative position of the portion 525 of image 515 shown in second level window 505.
- image 515 has a height "H2” and a width "W2.”
- Rectangle 525 which represents the portion of image 515 displayed in second level window 505, has a height "H3” and a width "W3.”
- the center 810 of rectangle 525 is located a horizontal distance "x2 i " and a vertical distance "y2 i " from a reference point 815 at the lower left corner of image 515.
- first level window 500 containing indicator 530.
- first level window 500 has a height "H1” and a width "W1.”
- Indicator 530 has a height "H4,” a width "W4,” and a center 800 located a horizontal distance “x1 i " and a vertical distance "y1 i " from a reference point 820 located at the lower left corner of first level window 500.
- the ratio of each horizontal distance and dimension with respect to image 515 to the corresponding horizontal distance and dimension with respect to first level window 500 is set to a constant k 1 that is equal to ratio of the width "W2" of image 515 to the width "W1" of first level window 500.
- k 1 W2/W1.
- the ratio of each vertical distance and dimension with respect to image 515 to the corresponding vertical distance and dimension with respect to first level window 500 is set to a constant k 2 that is equal to ratio of the height "H2" of image 515 to the height "H1" of first level window 500.
- k 2 H2/H1.
- the coordinates (x2, y2) of any point in image 515 are related to the coordinates (x1, y1) of any point in first level window 500 by the following functions (a) and (b):
- Functions (a) and (b) thus define the coordinates of any point in image 515 in terms of the coordinates of any point in first level window 500 for the embodiment shown in FIG. 8. Because first level window 500 displays the entire image 510, defining the coordinates of points in image 515 in terms of the coordinates of points in window 500 is equivalent to defining coordinates of points in image 515 in terms of coordinates of points in image 510. In the more general case, where a higher level window does not display all of the underlying image, it may be desirable to define points in a lower level window in terms of points in the image underlying the higher level window rather that the higher level window itself.
- Functions (a) and (b) describe an essentially linear relationship between the coordinates of a point in first level image 510 and a point in second level image 515. In other embodiments, there may be a different functional relationship between second level image 515 and first level image 500. Any functional relationship that provides a definite functional relationship between a point in a higher level image and a point in a lower level image may be used with the present invention. A general statement of such a function is:
- P 1 is a point in an upper level image
- P 2 is a corresponding point in a lower level image
- the functions relating the images to each other may have many parts and be quite complex.
- the images need not be rectangular as in the embodiment of FIG. 6, and need not all have the same general shape.
- one image may be rectangular, while another is circular or oval, or each may have a completely irregular shape. All that is required is that the relationship between points in one image and points in another is somehow defined.
- functions (a) and (b) can be used to determine a distance D2 between two points (x2 f , y2 f ) and (x2 i , y2 i ) in image 515 based on the coordinates of the two corresponding points (x1 f , y1 f ) and (x1 i , y1 i ) in first level window 500:
- equation (c) reduces to:
- D1 x the horizontal distance between the corresponding points in first level window 500.
- equation (c) reduces to:
- D1 y the vertical distance between the corresponding points in first level window 500.
- image 515 is a bitmap having a width W2 of 800 pixels and a height H2 of 720 pixels
- first level window 500 has a width W1 of 400 pixels and a height H1 of 240 pixels
- rectangle 525 (which corresponds to the size to second level window 505) has a width W3 of 400 pixels and a height H3 of 240 pixels.
- An indicator with dimensions of 200 pixels wide by 80 pixels high in first level window 500 therefore has the same size relative to first level window 500 as the portion of image 515 shown in window 505 and represented by rectangle 525 has to image 515 as a whole.
- the size of indicator 530 is proportional to the size of the portion of image 515 shown in second level window 505
- any indicator that has a reference point associated with it that corresponds to a reference point associated with the window for which the position of the indicator determines the portion of image displayed can be used with the present invention.
- the portion of image 515 shown in second level window 505 is determined from the coordinates of the center 800 of indicator 530.
- the center 800 is therefore the reference point for indicator 530.
- the coordinates (x1 i , y1 i ) of center 800 for the initial position of indicator 530 shown in FIG. 8 are (140, 100) (units in pixels)
- the corresponding coordinates (x2 i , y2 i ) of the center 810 of rectangle 525 can be calculated from the coordinates of the center 800 of indicator 530 using the functions (a) and (b) listed above:
- the coordinates of center 810 of rectangle 525 are therefore (280, 300).
- FIG. 9 shows the position of indicator 530 in first level window 500 after it has been moved from its position in FIG. 8 in the manner shown in FIG. 6.
- the coordinates of the center 800 of indicator 530 are (x1 f , y1 f ).
- the coordinates (x2 f , y2 f ) of the center 810 of rectangle 525 corresponding to the new location of indicator 530 can again be calculated from the coordinates of the center 800 of indicator 530 using the functions (a) and (b). If, for example, the new coordinates of the center 800 of indicator 530 are (300, 200), the new coordinates of center 810 of rectangle 525, are:
- the portion of image 515 located in rectangle 525 at the new location may be determined so that it may be displayed in second level window 505.
- FIG. 7 shows an example of an embodiment in which an intermediate portion 700 of image 515 is displayed between the initial portion of image 515 indicated by the outline 610 and the portion indicated by the final position of rectangle 525.
- the transition from the initial portion of image 515 shown in window 505 to the final portion of image 515 shown in window 505 will have a jerky appearance.
- the number and position of the intermediate portions displayed may be determined in a variety of ways, and may depend on factors such as the distance the indicator is moved in the first level window, the ratio of the size of the first level window to the second level window, whether the indicator is moved by dragging it or by clicking on a new location, and on a trade-off between the increase in the smoothness of scrolling associated with increasing numbers of intermediate portions and the decrease in response time associated with increased overhead resulting from such increasing numbers of intermediate portions displayed.
- one or more intermediate portions of the image 515 is displayed in second level window 505 for each change in position of center 800 of indicator 530 in window 500 that is equal to a predetermined increment, or for each change in the position of center 810 of rectangle 525 with respect to image 515 that is equal to a predetermined increment.
- a predetermined increment For example, for the embodiment shown in FIGS. 8 and 9 described above in which the first level window 500 has dimensions of 400 by 240 pixels, an increment of size 20 pixels for the movement of the center 800 of indicator 530 may be selected.
- the center 800 of indicator 530 moved from an original location (140,100) to a final location (300, 200). The total distance moved by center 800 is:
- an increment smaller than one pixel is used.
- An example of such an embodiment is one in which the second level image is several times the size of the first level image.
- moving one pixel in the first level window is equivalent to moving several pixels with respect to the second level image. Accordingly, for each pixel the indicator is moved in the first level window, it may be desirable to display several intermediate positions of the second level window with respect to the second level image. If, for example, it is desired to display four intermediate positions for the second level window for each one pixel moved by the first level indicator, the equivalent specified increment is one-quarter pixel.
- indicator 530 can be moved from one location to another are by positioning a mouse cursor at the desired location of the center 800 of indicator 530 and clicking a mouse button (in which case, depending on the specific implementation, indicator 530 "jumps" in a single step or moves smoothly in a straight line to the new location) or by clicking on and dragging indicator 530 with a mouse.
- clicking on the indicator causes indicator 530 to be centered around the position of the cursor when the mouse when clicked, and dragging the mouse drags the center 800 of indicator 530 to a new location.
- the position of the mouse which represents the position of the center 800 of indicator 530
- the position of the mouse is monitored.
- the center 800 of indicator 530 is moved an increment equal to the specified increment (or a specified multiple of the increments, if the increment is less than one pixel)
- the position of the center 800 of indicator 530 is recorded, and the corresponding position of the center 810 of rectangle 525 for each intermediate position is calculated using the functions that define the relationship between points in window 500 and points in image 515.
- These calculated positions of center 810 of rectangle 525 are then used to determine the portions of image 515 to be displayed in window 505, and those portions are sequentially displayed.
- the number and location of portions of image 515 to be displayed in second level window 505 may be determined by identifying a straight line path (which is coextensive with arrow 615 in FIG. 7) between the initial and final positions, determining points along that path located at increments equal to the specified increment, and then determining the portions of image 515 corresponding to the incremental points along the path in the same manner as for the dragging mode.
- Other methods for determining intermediate portions of 515 to be displayed in second level window 505 may also be used. As in the other examples, the smaller the specified increment, the greater the number of intermediate positions, and the smoother the scrolling.
- FIG. 10 shows an embodiment of the present invention incorporating a third level window 1000 and a third level image 1005, in addition first and second level windows 500 and 505, respectively, and first and second level images 510 and 515, respectively.
- Third level image 1005 is stored independently of first and second level images 510 and 515, though it may be related to image 510 and/or image 515 in theme and content.
- third level image 1005 is larger than either second level image 515 or first level image 510, while third level window 1000 is the same size as windows 500 and 505.
- all images and windows may be of arbitrary size and shape.
- the embodiment of FIG. 10 includes a second indicator 1015 located in window 505.
- indicator 530 may be referred to as a "first level indicator” and indicator 1015 may be referred to as a "second level indicator.”
- Second level indicator 1015 is used to determine the portion of image 1005 that is displayed in window 1000 in a manner similar to the manner that first level indicator 530 is used to determine the portion of image 515 that is displayed in second level window 505.
- first level indicator 530 a first reference point that is used to define a corresponding point in second level image 515 that is used to determine the portion of image 515 that is displayed in second level window 505.
- this first reference point is the center 800 of first level indicator 530, and it determines the portion of second level image 515 displayed in second level window 505 by defining a point 810 in image 515 that represents the position of the center 1020 of second level window 505 with respect to second level image 515.
- second level indicator 1015 a second reference point that is used to define a corresponding point in third level third level image 1005 that is used to determine the portion of image 1005 that is displayed in third level window 1000.
- this second reference point is the center 1025 of second level indicator 1015, and it determines the portion of third level image 1005 displayed in third level window 1000 by defining a point 1040 in image 1005 that represents the position of the center 1030 of third level window 1000 with respect to third level image 1005.
- First level indicator 530 and second level indicator 1015 may be used to navigate images 515 and 1005 as follows.
- First level indicator may be moved by means of a mouse in the manner described for the two window embodiment of FIG. 5.
- First level indicator As first level indicator is moved, its position with respect to a fixed reference point in first level window 500 is monitored. Any point in window 500 may be used as a fixed reference point.
- the lower right-hand corner of first level window 500 was used as the fixed reference point to determine the position of center 800 of indicator 530.
- the center 1050 of first level window 500 is used.
- the position of center 800 of first level indicator 530 with respect to first level window 500 at any time may be viewed as a vector V1 with its tail at the center 1050 of window 500 and its head at the center 800 of indicator 530.
- Second level indicator 1015 may be moved with respect to second level window 505 in the same manner that first level indicator 530 may be moved with respect to first level window 500. As second level indicator is moved, its position with respect to a reference point in second level window 505 is monitored. An example of a reference point that may be used is center 1020 of second level window 505. The position of center 1025 of second level indicator 1015 with respect to second level window 505 at any time may be viewed as a vector V2 with its tail at the center 1020 of second level window 505 and its head at the center 1025 of second level indicator 1015.
- the portion of second level image 515 displayed in second level window 505 may be determined from vector V1.
- vector V1' is calculated.
- Vector V1' represents a vector whose tail is at the center 1060 of second level image 515 and whose head is at the center 810 of rectangle 525 that indicates the portion of image 515 that is displayed in second level window 505.
- Vector V1 thus defines the portion of image 515 that is displayed in second level window 505.
- the portion of third level image 1005 displayed in second level window 1000 may be determined in a similar manner from vectors V1' and V2.
- Vector V1' represents the offset of center 1020 of second level window 505 from the center of second level image 515.
- Vector V2 represents the offset of the center 1025 of second level indicator 1015 from the center 1020 of second level window 505.
- the sum V3 of V1' and V2 therefore represents the offset of the center 1025 of second level indicator 1015 from the center of image 515.
- the portion of third level image 1005 displayed in third level window 1000 may be determined from vector V3 the same way that the portion of second level image 515 displayed in second level window 505 is determined from vector V1.
- vector V3' is calculated.
- Vector V3' represents a vector whose tail is at the center 1065 of third level image 1005 and whose head is at the center 1040 of rectangle 1010 that indicates the portion of image 1005 that is displayed in third level window 1000.
- Vector V3, the sum of vectors V1' and V2, thus defines the portion of image 1005 that is displayed in third level window 1000.
- moving first level indicator 530 with respect to first level window 500 causes the portion of image 515 displayed in second level window 505 to change, but does not change the relative position of second level indicator 1015 with respect to second level window 505.
- moving first level indicator 530 changes vector V1, but does not cause a change in vector V2.
- Vector V2 is changed when second level indicator 1015 is moved within second level window 505.
- moving first level indicator 530 may cause a change in the relative position of second level indicator 1015.
- the system may be designed such that whenever first level indicator 530 is moved, second level indicator 1015 is centered in second level window 505.
- first level image 510 is displayed in first level window 500.
- first level indicator 530 is therefore constrained to move only within first level window 500. Attempting to move first level indicator 530 beyond a boundary of window 500 causes first level indicator 530 simply to abut the boundary.
- Second level image 515 is larger than second level window 505.
- Second level indicator 1015 cannot therefore be positioned over any desired portion of second level image 515 if indicator 1015 is constrained to remain only within the boundaries of second level window 505.
- second level indicator 1015 may be dragged across the boundaries of second level window 505. Doing so causes second level window 505 to scroll at a predetermined rate with respect to second level image 515 in a direction perpendicular to the boundary across which second level indicator 1015 has been moved. For example, if second level indicator 1015 is moved across the left boundary of second level window 505, second level window 505 scrolls to the left across second level image 515.
- the position of center 1020 of second level window 505 with respect to second level image 515 changes. Accordingly, the position of first level indicator 530 with respect to first level window 500 needs to be changed to correspond to the new location of the center 1020 of second level window 505. That may be accomplished by determining vector V1' for the new location of center 1020, and by means of the function defining the relationship between points in images 510 and 515 determining the vector V1 that identifies the corresponding location of first level indicator 530 with respect to first level window 500. The portion of third level image displayed in third level window 1000 may then be determined from vectors V1' and V2 as described above.
- the windows that show portions of images as determined from the position of the indicator may dynamically scroll as the indicator is moved, may jump from an initial to a final image portion, and/or may show intermediate portions between initial and final image portions.
- the portions of second level image displayed in second level window 505 are scrolled dynamically as first level indicator 530 is moved, while for the same movement of first level indicator 530, only portions of third level image 1005 corresponding to initial and final positions of first level indicator 530 are displayed in window 1005.
- the portions of third level image 1005 displayed in third level window 1000 are scrolled dynamically as second level indicator 1015 is moved.
- a window such as third level window 1000 in FIG. 10, that does not itself have an indicator, but that can be scrolled by moving an indicator in a higher level window (such as second level indicator 1015), may also be scrolled by dragging the window itself.
- clicking a mouse in the window creates a "handle" by which the window can be dragged.
- any higher level windows and indicators are repositioned to correspond to the dragged window's new location.
- FIG. 11 is a flow chart showing the steps used in one embodiment of the current invention featuring multiple indicators and multiple images.
- the cursor position and mouse button status are monitored.
- further action is taken if the mouse button is depressed. Otherwise, the monitoring of the cursor position and mouse button status continues at block 1100.
- the cursor position and status continues to be monitored at block 1100. If the cursor is positioned over a window with an indicator when the mouse button is depressed, the position of the cursor with respect to a reference point of the window (such as the center of the window as in the embodiment of FIG. 10) is determined at block 1115. Next, at block 1120, the positions of the other windows with respect to their underlying images, corresponding to the new relative position of the cursor, are determined based on the functions that define the relations between points in the images underlying the various windows.
- the other windows are scrolled to the new positions determined at block 1120 by displaying intermediate portions of the underlying images as described with respect to the embodiment of FIG. 7 above.
- the indicator in the window in which the cursor is positioned is moved to correspond to the new cursor position.
- the mouse button is depressed, the cursor is in a window with an indicator, and all windows and the indicator have been repositioned to correspond to the cursor position.
- the cursor position and mouse button status are again monitored.
- any active timer (any timer that is still running or any timer that has expired but has not been cleared, as described in more detail below) is cleared at block 1185.
- decision block 1150 it is determined whether the new cursor position is outside the boundaries of the window. If it is not, the new cursor position is determined at block 1115, and from there the process continues as described above.
- a timer is started at block 1190 and the cursor position and mouse button is again monitored beginning at block 1135.
- the timer ensures that actions that result from dragging the cursor outside of the window are initiated only if the cursor remains at rest outside the window with the mouse button pressed for a predetermined period of time. In one embodiment of the invention, this period of time is 20 milliseconds.
- this period of time is 20 milliseconds.
- the window is a scrollable window
- the window is scrolled a predetermined increment in the direction corresponding to the cursor position at block 1170.
- the rate at which the window is scrolled depends upon how far the cursor is moved outside of the window.
- Such scrolling requires that positions of the indicator(s) in other window(s) that indicate the position of the scrolled window must be changed to account for the scrolling of the window.
- the new corresponding positions of the other indicator(s) is determined at block 1175, and the indicators are moved to the new positions at block 1180.
- the timer is restarted at block 1182, and the corresponding positions of the other windows are then determined at block 1120 as before.
- the cursor position and mouse button status are again monitored at block 1135.
- any active timers are cleared at block 1142, and the process begins anew at block 1100. If the mouse button remains depressed but the cursor is moved, any active timers are cleared at block 1185 and the process resumes at block 1150.
- the window will continue to scroll the predetermined increment for every cycle of the timer.
- the scrolling process begins again at decision block 1155.
- the images are stored in a computer system's RAM memory so as to be rapidly available. Since, however, the present invention is intended to be used with images including very large bitmaps (on the order of millions of pixels in size), system memory size limitations may prevent all images from being stored in RAM memory in uncompressed form. Accordingly, in certain embodiments of the invention, the images are compressed, using any of a variety of well known compression methodologies. The images are stored in compressed form, and are incrementally decompressed as required as the portion of an image displayed in a window is changed.
- An additional feature of certain embodiments of the present invention is the ability to paste items into any of the displayed windows. For any item pasted into any window, a corresponding item is added to the images for the other windows in the corresponding location.
- the graphical representations of the items in each window are independent, and may be, but need not be, similar in appearance to the corresponding items in the other windows.
- An item may be nothing more than a graphic image or a string of text, or it may have additional items associated with it such as text or image data.
- FIG. 12 shows an example of a two window embodiment of the present invention that includes the feature of pasted items.
- FIG. 12 shows a display screen 1200 containing a first level window 1205 and a second level window 1210.
- First level window shows a seating chart for the passenger compartment of an airplane.
- Second level window 1210 shows a portion of a second level image comprising a larger scale image of a seating chart for the same airplane.
- First level indicator 1215 depicted as a rectangular frame, is used to select the portion of the second level image that is displayed in second level window 1210.
- indicator 1215 extends the full height of first level window 1205. Accordingly, first level indicator 1215 is constrained to move only to the left or the right. Moving first level indicator to the right or the left in first level window 1205 causes the portion of second level image displayed in second level window 1210 to scroll in the manner described above for the embodiments of the invention shown in FIGS. 5 to 10.
- Display screen 1200 contains an item window 1220 that allows a user to select any of displayed items with a mouse or other means and "drag and drop" the selected item into either of first or second level windows 1205 and 1210, respectively.
- the two items available in the item window 1220 of the embodiment shown in FIG. 12 are a "Meal" item 1225 indicated by an icon in the shape of a dish and a "Special Help" item 1230 indicated by an icon in the shape of a first aid cross.
- Meal item 1225 may be used to indicate a seat at which a passenger requires a special meal.
- Special help item 1230 may be used to indicate a seat at which a passenger requires special assistance of some kind.
- two items have been placed in the portion of the second level image displayed in second level window 1210: a "Meal” item 1235 and a "Help" item 1240.
- second level window 1210 the same icons are used to indicate an item as are shown in item window 1220.
- placing an item in second level window causes a corresponding item to be placed in first level window 1205.
- different icons are used in first level window 1205 to indicate an item than in second level window 1210.
- a simple "x" is used to mark the location of any item, regardless of whether it is a "Meal” item or a "Help" item.
- first level window 1205 corresponds to "Meal” item 1235 in second level window 1210
- x in first level window 1205 corresponds to "Help” item 1240 in second level window 1210.
- Three other items are shown in first level window 1205. Corresponding items would be displayed in second level window 1210 if first level indicator were moved to the locations of these other items in first level window 1205.
- the present invention allows data, in the form of text, graphics, video, sound or other form to be associated with a displayed item.
- the data associated with an item may be displayed by selecting the icon for the item displayed in second level window 1210.
- Various methods of selecting the item such as "clicking" with a mouse may be used. Selecting an item in second level window 1210 causes an "active item” indicator to be displayed at the item selected and an item data window to be displayed on display screen 1200.
- FIG. 12 shows the display screen 1200 after "Meal" item 1235 has been selected with a mouse.
- active item indicator 1255 (consisting in this embodiment in a rectangular frame drawn in dotted lines) is displayed around item 1235 in second level window 1210, and item data window 1260 is displayed to the right of second level window 1210 at a predetermined position.
- the purpose of active item indicator 1255 is to indicate to the user with which item the data displayed in item data window 1260 is associated.
- the purpose of item data window 1260 is to display the data associated with the selected item.
- the data associated with "Meal” item 1235 is the text: "Meal Details: Low Fat Vegetarian.”
- item data window 1260 may provide a menu or other control means to allow a user to select which data the user desires to access.
- Upon such other data being accessed it may be displayed in the same or in a separate window, or, in the case of sound data, may be played over a computer speaker or sound board.
- a user may be allowed to enter or edit data in a item data window that is to be associated with an item.
- some or all of the data associated with an item may be displayed in a read-only manner.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
(a): x2=(k.sub.1)(x1)
(b): y2=(k.sub.2)(y1)
P.sub.2 =f(P.sub.1)
(c): D2=SQRT (x2.sub.f -x2.sub.i).sup.2 +(y2.sub.f -y2.sub.i).sup.2 !=SQRT k.sub.1.sup.2 (x1.sub.f -x1.sub.i).sup.2 +k.sub.2.sup.2 (y1.sub.f -y1.sub.i).sup.2 !
(d) D2.sub.x =SQRT k.sub.1.sup.2 (x1.sub.f -x1.sub.i).sup.2 !=k.sub.1 (x1.sub.f -x1.sub.i)=k.sub.1 D1.sub.x
(e) D2.sub.y =SQRT k.sub.2.sup.2 (y1.sub.f -y1.sub.i).sup.2 !=k.sub.2 (y1.sub.f -y1.sub.i)=k.sub.2 D1.sub.y
k.sub.1 =W2/W1=800/400=2
k.sub.2 =H2/H1=720/240=3
W3=D2.sub.x =k.sub.1 D1.sub.x =k.sub.1 (W4)
W4=W3/k.sub.1 =400/2=200 pixels.
H3=D2.sub.y =k.sub.2 D1.sub.y =k.sub.2 (H4)
H4=H3/k.sub.2 =240/3=80 pixels.
x2.sub.i =k.sub.1 x1.sub.i =(2)(140)=280 pixels
y2.sub.i =k.sub.2 y1.sub.i =(3)(100)=300 pixels
x2.sub.f =k.sub.1 x1.sub.f =(2)(300)=600 pixels
y2.sub.f =k.sub.2 y1.sub.f =(3)(200)=600 pixels
SQRT (300-140).sup.2 +(200-100).sup.2 !=188.67
P.sub.2 =f.sub.1 (P.sub.1)
P.sub.3 =f.sub.2 (P.sub.2).
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/627,650 US5680152A (en) | 1994-08-29 | 1996-04-04 | Method and apparatus for navigating multiple independent windowed images |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/298,215 US5621430A (en) | 1994-08-29 | 1994-08-29 | Method and apparatus for navigating multiple independent windowed images |
US08/627,650 US5680152A (en) | 1994-08-29 | 1996-04-04 | Method and apparatus for navigating multiple independent windowed images |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/298,215 Continuation US5621430A (en) | 1994-08-29 | 1994-08-29 | Method and apparatus for navigating multiple independent windowed images |
Publications (1)
Publication Number | Publication Date |
---|---|
US5680152A true US5680152A (en) | 1997-10-21 |
Family
ID=23149533
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/298,215 Expired - Lifetime US5621430A (en) | 1994-08-29 | 1994-08-29 | Method and apparatus for navigating multiple independent windowed images |
US08/627,650 Expired - Lifetime US5680152A (en) | 1994-08-29 | 1996-04-04 | Method and apparatus for navigating multiple independent windowed images |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/298,215 Expired - Lifetime US5621430A (en) | 1994-08-29 | 1994-08-29 | Method and apparatus for navigating multiple independent windowed images |
Country Status (1)
Country | Link |
---|---|
US (2) | US5621430A (en) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926806A (en) * | 1996-10-18 | 1999-07-20 | Apple Computer, Inc. | Method and system for displaying related information from a database |
US6069606A (en) * | 1997-05-15 | 2000-05-30 | Sony Corporation | Display of multiple images based on a temporal relationship among them with various operations available to a user as a function of the image size |
US6211855B1 (en) * | 1996-08-27 | 2001-04-03 | Samsung Electronics Co, Ltd. | Technique for controlling screen size of monitor adapted to GUI environment |
WO2001038965A2 (en) * | 1999-11-24 | 2001-05-31 | Stentor, Inc. | User interface for a medical informatics system |
US6271854B1 (en) * | 1997-12-15 | 2001-08-07 | Intel Corporation | Method and apparatus for facilitating navigation in three-dimensional graphic scenes |
US6317140B1 (en) * | 1999-08-02 | 2001-11-13 | Hewlett-Packard Company | Displaying interactive bitmap images within a display space |
US6326957B1 (en) * | 1999-01-29 | 2001-12-04 | International Business Machines Corporation | System and method for displaying page information in a personal digital notepad |
US6434578B1 (en) * | 1996-06-26 | 2002-08-13 | Microsoft Corporation | Generating instruction sequences using independently executable pane renderers |
US20020171667A1 (en) * | 2001-05-15 | 2002-11-21 | Motorola, Inc. | Method and apparatus for processing data including an image for presentation on a display |
US20020175933A1 (en) * | 2001-05-08 | 2002-11-28 | Sami Ronkainen | Method and arrangement for providing an expanded desktop |
US6661426B1 (en) | 1999-09-25 | 2003-12-09 | Koninklijke Philips Electronics N.V. | User interface generation |
US20040222996A1 (en) * | 2002-03-26 | 2004-11-11 | Imagination Technologies Limited. | Display list compression for a tiled 3-D rendering system |
US20050151884A1 (en) * | 2004-01-08 | 2005-07-14 | Samsung Electronics Co., Ltd. | Automatic zoom apparatus and method for playing dynamic images |
US7015976B1 (en) * | 2000-08-07 | 2006-03-21 | Ati International Srl | Automatic panning of digital content while zoomed |
US7058901B1 (en) | 2002-10-29 | 2006-06-06 | Koninklijke Philips Electronics N.V. | Methods and apparatus for controlling the display of medical images |
US20060250358A1 (en) * | 2005-05-04 | 2006-11-09 | Hillcrest Laboratories, Inc. | Methods and systems for scrolling and pointing in user interfaces |
US20060256118A1 (en) * | 2005-05-13 | 2006-11-16 | Tomokazu Kake | Image processing device, image processing method and information storage medium |
US20080235339A1 (en) * | 2007-02-22 | 2008-09-25 | Snipitron, Llc | Subject matter resource website |
US20090030748A1 (en) * | 1999-04-22 | 2009-01-29 | Richard Arthur Halavais | Individual seat selection ticketing and reservation system |
US20090202179A1 (en) * | 2008-02-13 | 2009-08-13 | General Electric Company | method and system for providing region based image modification |
US7890498B1 (en) | 2001-11-26 | 2011-02-15 | Koninklijke Philips Electronics N.V. | User interface for a medical informatics system that incorporates an examination timeline |
US10409453B2 (en) * | 2014-05-23 | 2019-09-10 | Microsoft Technology Licensing, Llc | Group selection initiated from a single item |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09128192A (en) * | 1995-10-26 | 1997-05-16 | Brother Ind Ltd | Multi-screen display controller |
US6466928B1 (en) * | 1996-12-31 | 2002-10-15 | Nortel Networks Limited | Method and apparatus for idea development and evaluation |
US6396487B1 (en) * | 1998-03-23 | 2002-05-28 | International Business Machines Corporation | User interface enhancement for windows-based operating systems |
US8042063B1 (en) | 1999-04-19 | 2011-10-18 | Catherine Lin-Hendel | Dynamic array presentation and multiple selection of digitally stored objects and corresponding link tokens for simultaneous presentation |
US7542920B1 (en) * | 1999-07-30 | 2009-06-02 | Catherine Lin-Hendel | System for interactive computer-assisted on-line auctions |
US7574381B1 (en) * | 1999-08-06 | 2009-08-11 | Catherine Lin-Hendel | System and method for constructing and displaying active virtual reality cyber malls, show rooms, galleries, stores, museums, and objects within |
US6781069B2 (en) * | 2000-12-27 | 2004-08-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual interaction with physical documents |
US7308653B2 (en) * | 2001-01-20 | 2007-12-11 | Catherine Lin-Hendel | Automated scrolling of browser content and automated activation of browser links |
JP3977310B2 (en) * | 2003-10-03 | 2007-09-19 | キヤノン株式会社 | Image display apparatus, method and program |
US20050225635A1 (en) * | 2004-04-09 | 2005-10-13 | The United States Of America As Represented By The Secretary Of The Army | Video based security system |
US9071870B2 (en) * | 2004-12-08 | 2015-06-30 | Nokia Technologies Oy | System and method for viewing digital visual content on a device |
JP4653561B2 (en) * | 2005-05-31 | 2011-03-16 | 株式会社東芝 | Information processing apparatus and display control method |
US8910073B2 (en) * | 2007-11-26 | 2014-12-09 | Qualcomm Incorporated | Enhancing visual continuity in scrolling operations |
US20100259464A1 (en) | 2009-04-14 | 2010-10-14 | Jae Young Chang | Terminal and controlling method thereof |
WO2012023789A2 (en) * | 2010-08-17 | 2012-02-23 | 엘지전자 주식회사 | Apparatus and method for receiving digital broadcasting signal |
JP5927845B2 (en) * | 2011-11-01 | 2016-06-01 | セイコーエプソン株式会社 | Display device, display device control method, and program |
CN103164103B (en) * | 2011-12-15 | 2017-03-08 | 腾讯科技(深圳)有限公司 | Method for exhibiting data and device |
US9190017B2 (en) | 2013-01-02 | 2015-11-17 | International Business Machines Corporation | Proportional pointer transition between multiple display devices |
US20150317071A1 (en) * | 2014-05-05 | 2015-11-05 | Peter N. Moore | Method and Computer-Readable Medium for Cueing the Display of Active Content to an Audience |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4744046A (en) * | 1984-11-02 | 1988-05-10 | Zenith Electronics Corporation | Video display terminal with paging and scrolling |
US5263134A (en) * | 1989-10-25 | 1993-11-16 | Apple Computer, Inc. | Method and apparatus for controlling computer displays by using a two dimensional scroll palette |
-
1994
- 1994-08-29 US US08/298,215 patent/US5621430A/en not_active Expired - Lifetime
-
1996
- 1996-04-04 US US08/627,650 patent/US5680152A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4744046A (en) * | 1984-11-02 | 1988-05-10 | Zenith Electronics Corporation | Video display terminal with paging and scrolling |
US5263134A (en) * | 1989-10-25 | 1993-11-16 | Apple Computer, Inc. | Method and apparatus for controlling computer displays by using a two dimensional scroll palette |
Cited By (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751778B1 (en) | 1996-06-26 | 2004-06-15 | Microsoft Corporation | Information server systems and methods of rendering information pages |
US6434578B1 (en) * | 1996-06-26 | 2002-08-13 | Microsoft Corporation | Generating instruction sequences using independently executable pane renderers |
US6631498B1 (en) | 1996-06-26 | 2003-10-07 | Microsoft Corporation | Adaptive rendering of hypermedia documents |
US6626958B1 (en) | 1996-06-26 | 2003-09-30 | Microsoft Corporation | Adaptive rendering of hypermedia documents |
US6211855B1 (en) * | 1996-08-27 | 2001-04-03 | Samsung Electronics Co, Ltd. | Technique for controlling screen size of monitor adapted to GUI environment |
US6101493A (en) * | 1996-10-18 | 2000-08-08 | Apple Computer, Inc. | Method and system for displaying related information from a database |
US5926806A (en) * | 1996-10-18 | 1999-07-20 | Apple Computer, Inc. | Method and system for displaying related information from a database |
USRE40645E1 (en) * | 1996-10-18 | 2009-03-03 | Apple Inc. | Method and system for displaying related information from a database |
US6570582B1 (en) | 1997-05-15 | 2003-05-27 | Sony Corporation | Display of multiple images based on a temporal relationship among them with various operations available to a user as a function of the image size |
US6069606A (en) * | 1997-05-15 | 2000-05-30 | Sony Corporation | Display of multiple images based on a temporal relationship among them with various operations available to a user as a function of the image size |
US6271854B1 (en) * | 1997-12-15 | 2001-08-07 | Intel Corporation | Method and apparatus for facilitating navigation in three-dimensional graphic scenes |
US6326957B1 (en) * | 1999-01-29 | 2001-12-04 | International Business Machines Corporation | System and method for displaying page information in a personal digital notepad |
US7664663B2 (en) | 1999-04-22 | 2010-02-16 | Ceats, Inc. | System and method for displaying airline seats |
US7885839B2 (en) | 1999-04-22 | 2011-02-08 | Ceats, Inc. | User interface for displaying travel information |
US8775223B2 (en) | 1999-04-22 | 2014-07-08 | Ceats, Inc. | System and method for managing seat reservations |
US8355937B2 (en) | 1999-04-22 | 2013-01-15 | Ceats, Inc. | System and method for managing seat reservations |
US8244561B2 (en) | 1999-04-22 | 2012-08-14 | Ceats, Inc. | System and method for selecting and reserving airline seats |
US8239225B2 (en) | 1999-04-22 | 2012-08-07 | Ceats, Inc. | System and method for selection of airline seats and payment verification |
US8229774B2 (en) | 1999-04-22 | 2012-07-24 | Ceats, Inc. | System and method for arbitrating the selection and reserving of airline seats |
US8219448B2 (en) | 1999-04-22 | 2012-07-10 | Ceats, Inc. | System and method for managing airline seat reservations |
US7881954B2 (en) | 1999-04-22 | 2011-02-01 | Ceats, Inc. | System and method for managing seat reservations |
US7881953B2 (en) | 1999-04-22 | 2011-02-01 | Ceats, Inc. | System and method for selecting and reserving airline seats |
US7685009B2 (en) | 1999-04-22 | 2010-03-23 | Ceats, Inc. | Individual location selection and reservation system |
US20100036689A1 (en) * | 1999-04-22 | 2010-02-11 | Ceats, Inc. | System and method for managing airline seat reservations |
US7660728B2 (en) | 1999-04-22 | 2010-02-09 | Ceats, Inc. | System and method for selecting and reserving airline seats |
US7660729B2 (en) | 1999-04-22 | 2010-02-09 | Ceats, Inc. | System and method for selecting and reserving airline seats |
US7660727B2 (en) | 1999-04-22 | 2010-02-09 | Ceats, Inc. | System and method for selecting and reserving rooms at a venue |
US20090030748A1 (en) * | 1999-04-22 | 2009-01-29 | Richard Arthur Halavais | Individual seat selection ticketing and reservation system |
US7657449B2 (en) | 1999-04-22 | 2010-02-02 | Ceats, Inc. | System and method for selecting and reserving time slots for an appointment |
US20090083086A1 (en) * | 1999-04-22 | 2009-03-26 | Richard Arthur Halavais | System and method for selecting and reserving airline seats |
US7548870B2 (en) | 1999-04-22 | 2009-06-16 | Ceats, Inc. | System and method for selecting and reserving airline seats |
US7640178B2 (en) | 1999-04-22 | 2009-12-29 | Ceats, Inc. | System and method for selecting and reserving seats using a touch screen device |
US20090204451A1 (en) * | 1999-04-22 | 2009-08-13 | Richard Arthur Halavais | System and method for selecting and reserving rooms at a venue |
US20090204450A1 (en) * | 1999-04-22 | 2009-08-13 | Richard Arthur Halavais | System and method for selecting and reserving time slots for an appointment |
US20090240536A1 (en) * | 1999-04-22 | 2009-09-24 | Richard Arthur Halavais | System and method for selecting and reserving airline seats |
US20090254384A1 (en) * | 1999-04-22 | 2009-10-08 | Richard Arthur Halavais | System and method for selecting and reserving airline seats |
US20090254385A1 (en) * | 1999-04-22 | 2009-10-08 | Richard Arthur Halavais | System and method for displaying airline seats |
US20090259498A1 (en) * | 1999-04-22 | 2009-10-15 | Richard Arthur Halavais | System and method for selecting and reserving seats using a touch screen device |
US20090276251A1 (en) * | 1999-04-22 | 2009-11-05 | Richard Arthur Halavais | System and method for selecting and reserving airline seats |
US6317140B1 (en) * | 1999-08-02 | 2001-11-13 | Hewlett-Packard Company | Displaying interactive bitmap images within a display space |
US6661426B1 (en) | 1999-09-25 | 2003-12-09 | Koninklijke Philips Electronics N.V. | User interface generation |
WO2001038965A2 (en) * | 1999-11-24 | 2001-05-31 | Stentor, Inc. | User interface for a medical informatics system |
US6734880B2 (en) | 1999-11-24 | 2004-05-11 | Stentor, Inc. | User interface for a medical informatics systems |
WO2001038965A3 (en) * | 1999-11-24 | 2002-06-06 | Stentor Inc | User interface for a medical informatics system |
US7015976B1 (en) * | 2000-08-07 | 2006-03-21 | Ati International Srl | Automatic panning of digital content while zoomed |
US20020175933A1 (en) * | 2001-05-08 | 2002-11-28 | Sami Ronkainen | Method and arrangement for providing an expanded desktop |
US7103841B2 (en) | 2001-05-08 | 2006-09-05 | Nokia Corporation | Method and arrangement for providing an expanded desktop |
US20020171667A1 (en) * | 2001-05-15 | 2002-11-21 | Motorola, Inc. | Method and apparatus for processing data including an image for presentation on a display |
US7890498B1 (en) | 2001-11-26 | 2011-02-15 | Koninklijke Philips Electronics N.V. | User interface for a medical informatics system that incorporates an examination timeline |
US20040222996A1 (en) * | 2002-03-26 | 2004-11-11 | Imagination Technologies Limited. | Display list compression for a tiled 3-D rendering system |
US7058901B1 (en) | 2002-10-29 | 2006-06-06 | Koninklijke Philips Electronics N.V. | Methods and apparatus for controlling the display of medical images |
US20050151884A1 (en) * | 2004-01-08 | 2005-07-14 | Samsung Electronics Co., Ltd. | Automatic zoom apparatus and method for playing dynamic images |
US7432984B2 (en) * | 2004-01-08 | 2008-10-07 | Samsung Electronics Co., Ltd. | Automatic zoom apparatus and method for playing dynamic images |
US20060250358A1 (en) * | 2005-05-04 | 2006-11-09 | Hillcrest Laboratories, Inc. | Methods and systems for scrolling and pointing in user interfaces |
US8935630B2 (en) * | 2005-05-04 | 2015-01-13 | Hillcrest Laboratories, Inc. | Methods and systems for scrolling and pointing in user interfaces |
US8049757B2 (en) * | 2005-05-13 | 2011-11-01 | Sony Computer Entertainment Inc. | Image processing device, image processing method and information storage medium |
US20060256118A1 (en) * | 2005-05-13 | 2006-11-16 | Tomokazu Kake | Image processing device, image processing method and information storage medium |
US8570330B2 (en) | 2005-05-13 | 2013-10-29 | Sony Corporation | Image processing device, image processing method and information storage medium |
US20080235339A1 (en) * | 2007-02-22 | 2008-09-25 | Snipitron, Llc | Subject matter resource website |
US20090202179A1 (en) * | 2008-02-13 | 2009-08-13 | General Electric Company | method and system for providing region based image modification |
US10409453B2 (en) * | 2014-05-23 | 2019-09-10 | Microsoft Technology Licensing, Llc | Group selection initiated from a single item |
Also Published As
Publication number | Publication date |
---|---|
US5621430A (en) | 1997-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5680152A (en) | Method and apparatus for navigating multiple independent windowed images | |
US5187776A (en) | Image editor zoom function | |
EP0632362B1 (en) | Method and apparatus for providing a two-dimensional position-sensitive scroll icon in a data processing system user interface | |
US5655094A (en) | Pop up scroll bar | |
US5986657A (en) | Method and apparatus for incorporating expandable and collapsible options in a graphical user interface | |
EP0694829B1 (en) | A method and apparatus for visualization of database search results | |
US7155682B2 (en) | Method and system for automatically resizing and repositioning windows in response to changes in display | |
US5491781A (en) | Method and apparatus for displaying a graphic image | |
US5497454A (en) | System for presenting alternate views of a computer window environment | |
US6587128B2 (en) | Method for displaying hidden objects by varying the transparency of overlapping objects | |
US5333247A (en) | Scrolling tool for text and graphics in a display system | |
US5790819A (en) | Mechanism for fine-grained and coarse-grained control of zooming in a display of a one-dimensional data set | |
US7555731B2 (en) | System and method of navigating and creating electronic hierarchical documents | |
US5874936A (en) | Method and apparatus for automatic scrolling by remote control | |
WO1998014903A9 (en) | Hypermedia authoring and publishing system | |
WO1998014903A2 (en) | Hypermedia authoring and publishing system | |
EP0537097A1 (en) | Method and system for incrementally changing window size on a display | |
US5900872A (en) | Method and apparatus for controlling the tracking of movable control elements in a graphical user interface | |
US6396487B1 (en) | User interface enhancement for windows-based operating systems | |
JP3705826B2 (en) | Virtual three-dimensional window display control method | |
JPH06203136A (en) | Selective operation method of data collection display and data processing system | |
JPS6232527A (en) | Display picture control system | |
JPH06175815A (en) | Re-mapping region for input-device pointer on computer display | |
US5995984A (en) | Apparatus and method for zoom-in entry of an element in a table | |
JP2000172398A (en) | Interface control for performing switching among display areas on display device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TRELLIX CORPORATION, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SOFTWARE GARDEN, INC.;REEL/FRAME:008545/0855 Effective date: 19970521 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
SULP | Surcharge for late payment | ||
AS | Assignment |
Owner name: INTERLAND, INC., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TRELLIX CORPORATION;REEL/FRAME:015896/0046 Effective date: 20041015 |
|
AS | Assignment |
Owner name: SOFTWARE GARDEN, INC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BRICKLIN, DANIEL S.;REEL/FRAME:015931/0370 Effective date: 19940826 |
|
AS | Assignment |
Owner name: INTERLAND, INC., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TRELLIX CORPORATION;REEL/FRAME:015942/0863 Effective date: 20041015 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: WEB.COM, INC., GEORGIA Free format text: MERGER;ASSIGNOR:INTERLAND, INC.;REEL/FRAME:017718/0545 Effective date: 20060310 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: AUGUSTA ACQUISITION SUB, INC., FLORIDA Free format text: MERGER;ASSIGNOR:WEB.COM, INC.;REEL/FRAME:024785/0574 Effective date: 20070928 |
|
AS | Assignment |
Owner name: WEB.COM HOLDING COMPANY, INC., FLORIDA Free format text: CHANGE OF NAME;ASSIGNOR:AUGUSTA ACQUISITION SUB, INC.;REEL/FRAME:024794/0310 Effective date: 20071009 |
|
AS | Assignment |
Owner name: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT, CAN Free format text: SECURITY AGREEMENT;ASSIGNOR:WEB.COM HOLDING COMPANY, INC.;REEL/FRAME:024804/0530 Effective date: 20100730 |
|
AS | Assignment |
Owner name: WEB.COM HOLDING COMPANY, INC., FLORIDA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT;REEL/FRAME:027158/0495 Effective date: 20111027 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:WEB.COM HOLDING COMPANY, INC.;REEL/FRAME:027608/0350 Effective date: 20111027 Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:WEB.COM HOLDING COMPANY, INC.;REEL/FRAME:027608/0268 Effective date: 20111027 |
|
AS | Assignment |
Owner name: WEB.COM HOLDING COMPANY, INC., FLORIDA Free format text: RELEASE OF GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS PREVIOUSLY RECORDED AT REEL/FRAME (027608/0350);ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:034080/0347 Effective date: 20140909 Owner name: WEB.COM HOLDING COMPANY, INC., FLORIDA Free format text: RELEASE OF GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS PREVIOUSLY RECORDED AT REEL/FRAME (027608/0268);ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:034080/0201 Effective date: 20140909 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: SECURITY INTEREST;ASSIGNOR:WEB.COM HOLDING COMPANY, INC.;REEL/FRAME:034061/0361 Effective date: 20140909 |
|
AS | Assignment |
Owner name: WEB.COM HOLDING COMPANY, INC., FLORIDA Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (034061/0361);ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:047215/0538 Effective date: 20181011 |