`
`[19]
`
`[11] Patent Number:
`
`5,263,134
`
`
`Peal et a1.
`[45] Date of Patent:
`Nov. 16, 1993
`
`||||1|l|||||l|||1||||||||||||||||l||||||||l|||||l||||l|||l|||||||l||||ll||l
`U80052631 34A
`
`[54] METHOD AND APPARATUS FOR
`CONTROLLING COMPUTER DISPLAYS BY
`USING A TWO DIMENSIONAL SCROLL
`pm
`
`[56]
`
`[75}
`
`Inventors: Adam F. P1131. Stanford; William J.
`Fernandez, Fremont. both of Calif.
`
`[73] Assignee: Apple Computer, Inc, Chpertino,
`Calif.
`
`[21] App]. No: 922.644
`
`[22] Filed:
`
`Jul. 30, 1992
`
`Related [1.5. Application Data
`
`[63}
`
`Continuation of Ser. No. 426.872. Oct. 25, 1939. aban-
`doned'
`
`{51]
`[52]
`
`Int. Cl.5
`11.5. (:1.
`
`GOéF 3/14
`395/158; 395/157;
`395/155
`[53] Field of Search ............... 395/155. 156, 157. 158,
`395/706. 721. 724. “1'47. 750
`
`References Cited
`USI PATENT DOCUMENTS
`364/300
`4,553,413 12/1985 Schmidt 21 a1.
`-3154/513
`4.735.303 4/1933 Heckel
`
`.. 364/521
`4.352.019
`1/1959 Vinberg ml.
`
`340/106
`4.899.136 2/1990 Beard et a].
`..
`
`4.930.014 5/ 1990 McCarthy
`Sod/410
`
`4,975,690 12/1990 Torres
`340/721
`
`Primary Exomt‘ner—Phu K- Nguyen
`Attorney. Agent. or Firm—Blakely. Sokoloff, Taylor &
`Zafman
`'
`
`ABSTRACI
`{57]
`A computer program provides for the display of win-
`dow regions on a display screen whereby the content
`and size of one window region is controllable in two
`dimensions using means provided in another window
`region. A cursor device and a signal generation means is
`used to select the two-dimensional scrolling or resizing
`ofa window region. Controls are also proVided to move
`and terminate window regions. Upon termination. the
`configuration of window regions is saved on a data
`storage means for use when the window regions are
`re-displayed. Cursor movement can be restricted to the
`horizontal or vertical directions only.
`
`'
`
`48 Clsils, 9 Drawing Sheets
`
`
`
`0001
`0001
`
`TDA 1018
`TDA 1018
`CBM of U.S. Patent No. 7,676,411
`CBM of US. Patent No. 7,676,411
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 1 of 9
`
`5,263,134
`
`
`
`
`
`
`
`
`Style
`File
`Edit
`G (a
`Font
`
`First Card
`
`
`
`Figure
`
`1
`
`2 Display Screen
`
`1 Two-dimensional Scroll Palette
`
`3 Active Window
`
`Figure
`
`2
`
`0002
`0002
`
`
`
`U.S. Patent
`
`Nov. 16, 1993
`
`Sheet 2 of 9
`
`5,263,134
`
`4 Terminate Palette Area
`
`5 Move Palette Area
`
`10 Special function areas 6 Palette working area
`
`— 1
`
`2D Scroll Palette
`
`Figure
`
`3
`
`
`
`7 View Area
`
`VII/IIIIIIIIIIJIIII
`
`
`
`I.
`
`2rf
`
`iIIIIIIIIIIIIIIIIIIA
`
`
`8 Scrolling Area
`
`
`
`9 Corner regions
`
`V“‘5.I
`
`
` \\
`
`Figure 4
`
`0003
`0003
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 3 of 9
`
`5,263,134
`
`Ira-o-
`
`Figure 5
`
`0004
`0004
`
`
`I.‘~U
`
`:I'UD «I
`
`I.
`
`e f 9 h
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 4 of 9
`
`5,263,134
`
`Figure 7
`
`Start 20 Scroll
`Palette function.
`701
`
`Get Active Window and
`available iniorrnation
`dimensions. Get Location
`and status ot 2D Scroll
`Palette. Compute shape
`and configuration at
`palette.
`702
`
`703
`
`Display 2D Scroll
`Palette at saved
`location.
`
`Zoom window?
`70 4
`
`Zoom active
`
`wind me.
`7 o 5
`
`
`
`
`
`
`
`
`Get Cursor
`Move Palette?
`
`706
`
`
`position.
`710
`
`( :)
`
`Nihs
`
`Terminate
`Palette '?
`7 0 7
`
`Move Palette.
`71 1
`
`No 716
`
`Yes 717
`
`Special iunction
`selected? 71 B
`
`Process
`
`
`
`special
`function. 721
`
`Save location and status
`of 20 Scroll Palette.
`708
`
`709
`
`Remove 20 Palette
`trom display.
`
`0005
`0005
`
`
`
`Scrolling
`selected?
`8 D 8
`
`Yes 823
`
`No 316
`
`Constrained X
`
`selected? 809
`
`Yes 82?
`
`
`
`
`
`
`
`
`
`
`Yes 323
`
`Cursor in View
`area?
`803
`
`
`Yes 81?
`
`Cursor in
`scrolling
`area?
`8041
`
`Yes 819
`
`Scrolling area
`lull size?
`B D 5
`
`YES
`320
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Nov. 16,1993
`
`Sheet 5 of 9
`
`5,263,134
`
`Figure B
`
`Get Cursor position. 801
`
`
`
`Cursor in Palette?
`802
`
`No 815 G
`
`No 82"
`
`Constrain x
`coordinate.
`
`Constrein Y
`coordinlto.
`312
`
`No 826
`
`
`81 1
`
`Constrained Y
`selected?
`81 0
`
`
`
`
`
`
`Apply new origin to
`active window.
`8 14
`
`
` Display
`C
`"'5”
`
`1 . BOGsymbol
`
`
`
`Apply now posilioa to
`View area.
`
`813
`
`
`
`0006
`0006
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 6 of 9
`
`5,263,134
`
`Figure 9
`
`Yes
`932
`
`
`
`Heslze select? 918
`
`Yes
`954
`
`. m 9‘5
`
`
`
`Display
`
`Cursor
`Resize select? 91?
`
`
`symbol 4.
`
`9 09
`No 947
`
`Yes
`955
`
`Resize upper.
`924.
`
`Resize right.
`92 5
`
`Yes
`936
`
`
`Display
`Cursor
`.
`
`symbol 5.
`Reszze select? 913
`910
`
`No 9&3
`
`Yes
`933
`
`
`Resize ste'lect'!I 919
`
`
`No 949
`
`Yes
`956
`
`Rosita upper
`right.
`923
`
`Yes
`95?
`
`Resize lower.
`92 7
`
`940
`
`
` Yes
`'
`1:
`
`Resrze select. 92:)
`
`No 950
`
`Display
`Cursor
`symbol ?.
`9 1 2
`
`Yes
`958
`
`Resize lower
`rig ht.
`928
`
`'
`
`Upper only? 901
`
`No 933
`
`
`Right only? 902
`No 935
`
`Upper Flight? 903
`
`
`
`
`"a 93?
`
`Lower only? 904
`
`
`
`
`ND 939
`
`
`
`right?
`Lower
`905
`
`No 941
`
`Left only? 906
`
`No 943
`
`Upper left? 90‘?
`
`Yes
`942
`
`
`
`Flesize select? 92‘:
`
`No 951
`
`Yes
`959
`
`Resize left.
`92 9
`
`
`,
`
`Reslze select? B22
`
`No 952
`
`Yes
`960
`
`Resin upper
`tell.
`930
`
`No 945
`
`Display Cursor
`
`
`
`symbol in [lower
`.
`7
`
`
`Flesrze select. 923
`lolt].
`915
`
`No 953
`
`
`Y”
`951
`
`Resize lower
`In H.
`931
`
`0007
`0007
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 7 of 9
`
`5,263,134
`
`
`
`ax/pw - cx/iw
`ay/ph - cy/ih
`hx/pw II
`dX/IW
`by/ph - dy/ih
`
`Figure 10
`
`0008
`0008
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 8 of 9
`
`5,263,134
`
`
`
` DataStorage
`Processor
`Device
`
`
`101
`104
`
`
`
`Bus
`1 00
`
`
`
`Alphanumeric
`Cursor
`Signal
`
`Input Device
`Control
`Generation
`Device
`Device
`1 06
`107
`1 08
`
`
`Figure
`
`1 1
`
`0009
`0009
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 9 of 9
`
`5,263,134
`
`Cursor Symbol
`
`1
`
`Cursor Symbol 2
`
`Cursor Symbol 3
`
`Cursor Symbol 4
`
`Cursor Symbol 5
`
`Cursor Symbol 6
`
`Cursor Symbol 7
`
`Cursor Symbol 8
`
`Cursor Symbol 9
`
`/
`
`Cursor Symbol 10
`
`Illlllllsi
`
`cursor outside view and
`scrollino area
`
`cursor InSI-e scro my area
`
`cursor InSI-e new area an: near
`
`upper border
`cursor insane mew area an- near
`
`right border
`cursor insine View area an- near
`
`upper and right border
`cursor InSI-e VIew area ano near
`
`lower border
`cursor insr-e View area an- near
`
`_
`
`lower and right border
`
`cursor inSI-e new area an- near _
`left border
`
`cursor insi-e View area an near
`
`upper and left border
`cursor insi-e VIeW area an near
`lower and left border
`
`Figure
`
`12
`
`0010
`0010
`
`
`
`1
`
`5,263,134
`
`MOD AND APPARATUS FOR CONTROLIJNG
`COMPUTER DISPLAYS BY USING A TWO
`DIMENSIONAL SCROLL PALE'ITE
`
`This is a continuation of application Ser. No.
`07/426,812, filed Oct. 25, I989, now abandoned.
`
`BACKGROUND OF THE INVENTION
`
`(l) Field of the Invention
`This invention relates to the two-dimensional selec-
`tion of portions of a computer diaplay area and the
`two-dimensional selection of the portions of informa-
`tion to display within the selected display area. Specifi-
`cally, the field is that of interactive computer display
`control devices where a selected portion of the avail-
`able information is viewable in a selected portion of the
`display area.
`(2) Prior Art
`Information management systems are placing increas-
`ing demands on the physical resources available for
`displaying information to the user. Currently, the art in
`computer display management provides the capability
`of displaying data in rectangular portions (commonly
`referred to as windows) of a display screen. The closest
`art know to the applicant is the Finder TM interface of
`the Apple Macintosh TM computer, manufactured by
`Apple Computer, Inc. of Cupertino, Calif. Controls are
`typically provided to resize and move windows within
`the confines of the physical display boundaries. Addi—
`tional controls are also provided to shift the viewable
`ponion of information within the limits of the previ-
`ously defined window boundaries. This shifting of the
`viewable portion of the information is known as scroll-
`ing. One control means is typically provided to scroll
`the information horizontally; another control means is
`provided to scroll the data vertically. The prior art does
`not provide a means for scrolling the viewable portion
`of the information simultaneously in two dimensions
`without manipulating the display area directly. Current
`scrolling methods require the user to position the cursor
`inside of the window containing the information and to
`set the viewable region by movement of the cursor.
`This method may create problems if the information
`window is not completely viewable or the information
`for display is voluminous. Prior art also does not pro-
`vide the capability for dynamic feedback as the view-
`able portion of the data is being selected. Current win-
`dowing capabilities do not provide the means for dis-
`playing, in a separate area of the display screen, a
`graphic two-dimensional representation of the position
`and size of the portion of the available information that
`is presently viewable. Prior art typically does not allow
`windows to be sized or moved beyond the physical
`boundaries of the display area. Windows usually need to
`be within view and not hidden in order to be manipu-
`lated by the devices available in the prior art. These
`capabilities are significh for the efficient use of a lim-
`ited display area. The present invention provides these
`display management advances.
`SUMMARY OF THE INVENTION
`
`5
`
`10
`
`IS
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`This invention provides a method of and a means for
`selecting a portion of available information for display
`in a selected area of a diaplay screen. The present inven-
`tion comprises an interactive computer-controlled dis-
`play system including a bus for interconnecting system
`components, processor. a random access memory, a
`
`65
`
`0011
`0011
`
`2
`read only memory, a data storage means for storing
`data, a display device including a display screen, an
`alphanumeric input device, a cursor control device for
`interactively positioning a cursor on a display screen,
`and a signal generation device. This invention provides
`a method and means for displaying window regions on
`the display screen whereby the content and size of one
`window region ("first window region") is controlled by
`the two dimensional movement of the cursor and the
`activation of the signal generation means within another
`window region(“second window region"). The second
`window region contains predetermined areas associated
`with dilferent functions that operate upon the first win-
`dow region. As the cursor is positioned within one of
`the predetermined areas, the cursor symbol changes to
`indicate the availability of a function for resizing or
`scrolling the first window region. Another implementa-
`tion may indicate the availability of functions by chang-
`ing the diSplay of the predetermined area instead of the
`cursor symbol as the cursor moves into the predeter-
`mined area. Predetermined areas are also provided to
`move or terminate the second window region. Prede-
`termined areas can also be provided to activate special
`functions, such as a function for zooming or expanding
`the first window region or the viewable area to full size,
`a function for causing the configuration of the palette
`and the first window region to revert back to the con-
`figuration prior to the last modification, a function for
`causing the configuration of the palette and the first
`window region to be configured in a default condition
`(e.g. located in the upper left corner), or a function to
`cause the configuration of the palette and the first win-
`dow region to be set to a configuration set up and saved
`at an earlier time. As the window regions are removed
`from the display. the position and configuration of the
`window regions is saved on the data storage means in
`order to restore the window regions to the saved cori-
`figuration when redisplayed. The shape and size of the
`palette and its predetermined areas can also be com-
`puted when the palette is first activated based upon the
`size and shape of the first window region. Controls are
`also provided to constrain the movement of the cursor
`in either the horizontal or vertical direction.
`This invention provides a method and means for
`overcoming the failure of prior display systems of being
`able to manage the display area simultaneously in two
`dimensions.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. I is an illustration of a means for activating the
`two-dimensional seroll palette using a menu.
`FIG. 2 is an illustration of a display screen after the
`scroll palette has been activated.
`FIG. 3 is an illustration of the two-dimensional pal-
`ette in its initial configuration before the view area has
`been mired.
`FIG. 4 is an illustration of the palette showing the
`view and scrolling areas and the corner regions after the
`view area has been resized.
`FIG. 5 is an illustration of the palette during a two
`dimensional scrolling operation.
`FIG. 6 is an illustration of the palette during a two
`dimensional resizing operation.
`FIGS. 7, 8 and 9 are flowcharts of the representative
`computer program that implements this scheme.
`FIG. 10 is an illustration of the palette and the active
`window showing the computation of the size and posi-
`tion of the view area within the palette related to the
`
`
`
`3
`size and position of the active window within the avail»
`able data buffer.
`FIG. 11 is an illustration of the computer system
`architecture.
`FIG. 12 is a chart which shows the association be-
`tween the cursor symbol displayed and the position of
`the cursor within the palette.
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`This invention concerns two-dimensional selection
`and display of a portion of information in a portion of
`the available display area in a computer or information
`management system. The following detailed description
`describes a two-dimensional (2 D) scroll palette as a
`means for managing the available display area in this
`manner.
`
`The preferred embodiment of the present invention is
`implemented on an Apple Macintosh TM computer
`system. It is obvious to one of ordinary skill in the 811.
`however. that alternative systems may be employed. In
`general. such systems as illustrated by FIG. 11 comprise
`a bus 100 for communicating information, a processor
`101 coupled with said bus for prooessing information, a
`random access memory 102 coupled with said bus 100
`for storing information and instructions for said proces-
`sor 101, a read only memory 103 coupled with said bus
`100 for storing static information and instructions for
`said processor 101. a data storage device 104 such as a
`magnetic disk and disk drive coupled with said bus 100
`for storing information and instructions, a display de-
`vice 105 coupled to said bus 100 for displaying informa-
`tion to the computer user. an alphanumeric input device
`106 including alphanumeric and function keys coupled
`to said bus 100 for communicating informatiOn and
`command selections to said processor 101. a cursor
`control device 107 coupled to said bus for communicat-
`ing information and command selections to said proces-
`sor 101. a signal generation device 108 coupled to said
`bus 100 for communicating command selections to said
`processor 101.
`The display device 105 may be a liquid crystal device,
`cathode ray tube. or other suitable display device. The
`cursor control device 107 allows the computer user to
`dynamically signal the two dimensional movement of a
`visible symbol on a display screen of said display device
`105. Many implementations of the cursor control device
`are known in the art including trackball, mouse. joy-
`stick. or special keys on the alphanumeric input device
`106 capable of signaling movement in a given direction.
`A. 2 D scroll palette provides additional controls and
`enhancements for these windowing and cursor systems.
`These features of the present invention are described
`below. The general operation of windows or cursors is
`described only where necessary to provide a thorough
`understanding of the present
`invention since these
`methods are known to those of ordinary skill in the art.
`
`Operation of the Present Invention
`A window regiOn (window) usually is a rectangular
`portion of a computer display screen in which informa—
`tion is displayed to the user. Window regions may have
`different shapes including circular, trapezoidal. or tri-
`angular. The information may be in the form of textual.
`numerical, or graphical data. A window, for example,
`may be used to represent a single notecard within a
`stack of cards. The data displayed within the window
`represents the information written on the notecard. One
`
`5,263,134
`
`4
`well-known system for displaying such notecards is the
`Hypercard TM system distributed by Apple Computer.
`Inc. A window management system provides controls
`with which the user is able to select the size and loca-
`tion of the window within the physical boundaries of
`the display. The windowing system also provides con-
`trols for scrolling or selecting the portion of data view-
`able within the window. In the present invention, an
`additional control processing means is provided to acti-
`vate the 2 D scroll palette. That is. a processing means
`generates and displays a window region which func-
`tions as the 2 D scroll palette. Once activated. the 2 D
`scroll palette allows the user to manipulate the selected
`window and the display of information therein.
`In FIG. 1, a menu for activating a process of the
`present invention is illustrated. Menus are windows in
`which the user is presented with a list of command
`options. The user selects an option by positioning a
`cursor symbol on the desired command line 12 within
`the desired command column 11 or within the desired
`command area using a mouse, joystick, or other two-di»
`mensional cursor control device. After the cursor is
`positioned, the command is selected by the activation of
`a function key or keys associated with the cursor con-
`trol device. 135. Pat. No. 4.464,652 reissued as No.
`32,632 on Mar. 29. 1938 to inventor, William Atkinson
`and assigned to the assignee of the present application
`discloses a device suitable for use as a cursor control
`device andrneans for implementing the described menu
`control. This method of command or function selection
`is used throughout the description of the present inven-
`tion. Many other means of command activation may
`also be employed such as the entry of a special code or
`command sequence from the keyboard or numeric key—
`pad or an icon selection. An icon is small graphical
`symbol displayed to the user and identifiable as per-
`fanning some function when selected. An icon repre-
`senting the 2 D scroll palette may be selected causing
`the present invention to be initiated. The present inven-
`tion may also be activated through a software interface
`with the computer‘s operating system software or other
`application software. Using this method, the activation '
`of the 2 D scroll palette can be independent of direct
`user action.
`Upon activation, the 2 D scroll palette 1 is presented
`to the user on the display screen 2 as shown in FIG. 2.
`The palette represents a scaled-down replica of the
`entire available data area which may or may not corre-
`spond to the actual dimensions of the viewable area.
`For example. the available data represented by the pal-
`ette may consist of the information contained on a single
`notecard which is completely displayable on the display
`screen. The available data may also consist of a com-
`plete document or graphical artwork only a portion of
`which is displayable on the display screen at one time."
`The dimensions of the available data are known quanti-
`ties based on the maximum number of characters or
`pixels in the horizontal and vertical directions for the
`displayable information. These dimensions are depicted
`in FIG. 10. The width of the available data is shown as
`iw (informatiou width). The height of the available data
`is shown as iii (information height). The method for
`associating the 2 D scroll palette to the available infor-
`mation is described in the sections below.
`The palette itself may be displayed as a window. It
`may be moved to any area of the display using controls
`provided by the palette itself. The palette is usually
`displayed at the top layer of the group of nested win-
`
`5
`
`‘10
`
`15
`
`20
`
`25
`
`3D
`
`35
`
`45
`
`50
`
`55
`
`65
`
`0012
`0012
`
`
`
`5
`dows that may occupy the display screen when the
`palette is activated. If the palette is displayed at the top
`layer, it will hide whatever information is displayed at
`the same or lower window layers.
`The 2 D scroll palette is designed to operate in con-
`junction With an associated active window. Although
`many windows or data areas may be displayed on the
`display screen at one time, at least one or more windows
`are identified as the active window(s) for the purpose of
`manipulation using the 2 D scroll palette. The active
`window is used to display to the user a portion of the
`data or information available for display. Since the
`window can be resized, a portion of the information
`may not fit within the border boundaries of the active
`window; thus, a portion of the information available for
`display may not always be displayed. The dimensions
`for the available information {iw,ih described above),
`may not be the same dimensions as these for the active
`window. However, the dimensions for the active win-
`dow are also initially known values, since the active
`window exists prior to the initiation of the scroll palette
`function. Most windowing systems known in the art
`provide an association between the information avail-
`able for display and the portion of the information cur-
`rently or actively displayed in the active window. One
`method for associating displayable information to infor-
`mation currently viewable in an active window is to
`_ compute the positions of two corners of the viewable
`information within the available information. This asso-
`ciation is depicted in FIG. 10. The upper left position of 3D
`the viewable portion of information is defined by the
`offsets (cx,cy). The lower right position of the viewable
`portion of information is defined by the offsets (dx,dy).
`The size and shape of the viewable information rectan-
`gle delineated by (cx,cy) and (dx,dy) is identical to the
`size and shape of the active window. Since the dimen-
`sions of the available information and the dimensions of
`the active window are initially known values, the posi-
`tion of the viewable portion of information (cx,cy) and
`(dandy) is also a known value.
`The active window or windows may be identified by
`positioning the cursor within the window and activat-
`ing the cursor function key, by activating a special func—
`tion key, by identifying the window using its name or
`number, or other means such as a signal generation
`means. An example of a cursor function ltey or signal
`generation means in the present embodiment is a button
`located on the mouse which is pressed down to set the
`function key active. The active Window 3 is shown in
`FIG. 2. The active window is not required to be dis-
`played at the top window layer in order to be manipu-
`lated by the scroll palette. The active window may be
`hidden, displayed off-screen, or not currently displayed,
`yet still be the object of action by the scroll palette. The
`palette may also be attached to an active window such
`that movement of the active window causes corren
`
`IO
`
`15
`
`20
`
`25
`
`35
`
`45
`
`SD
`
`55
`
`5,263,134
`
`6
`ette horizontal dimension (pw in FIG. 10) is set to a
`predetermined constant value representing the maxi-
`mum size of the palette. The palette vertical dimension
`(ph in FIG. 10) is set to a value equivalent to the prede»
`termined constant value multiplied by the prOportion of
`the displayable information vertical dimension divided
`by the displayable information horizontal dimension.
`The palette initial dimension computation for a display-
`able information area with a larger horizontal dimen-
`sion is described by the following equation:
`iw=Displayable information horizontal dimension
`ih=Displayable information vertical dimension
`c= constant value representing maximum dimension
`of palette
`
`pits—flattfiw} where:
`
`ph is the computed vertical dimension of palette.
`If the displayable information vertical dimension (ih)
`is larger than the displayable information horizontal
`dimension (iw), the roles of the horizontal and vertical
`components in the above equation are reversed. Once
`this computation is completed. the dimensions of the
`palette (pw and ph) are known values retained for as
`long as the scroll palette is displayed.
`Although the scroll palette represents the available
`data area, the available data is not necessarily displayed
`within the border of the palette. The operation of the 2
`D scroll palette is not dependent upon the presence of
`any of the available data within the palette. This em-
`bodiment of the present invention is described as a pal-
`ette not containing any of the available display data;
`thus, as shown in FIG. 2, the palette I does not contain
`any of the data displayed in the active window 2. Other
`embodiments. however are conceivable. The palette
`may be displayed with a reduced scale replica of the
`viewable data displayed within the palette. A method
`for generating the reduced scale data is already well
`known in the prior art. The HypercardTM system dis»
`tributed by Apple Computer, Inc. contains the func-
`tions capable of producing a window displaying a re-
`duced scale replica of information displayable in full
`size in another window. This technology could be in-
`corporated into the present inventiou without signifi-
`cant difficulty.
`The 2 D scroll palette is comprised of several differ-
`ent regions or predetermined areas within the palette
`bounds as shown in FIGS. 3 and 6. The shaded region
`5 at the top of the palette is used to activate the function
`of moving the palette as described below. Similarly,
`controls are provided to terminate the 2 D scroll palette
`function. The palette itself provides a means for termi-
`nating the function. A small area II- at the top left-hand
`side of the palette is provided for this purpose.
`Predetermined areas 10 can also be provnled to acti-
`vate special functions, such as a function for zooming or
`expanding the first window region or the viewable area
`to full size, a function for causing the configuration of
`the palette and the first window region to revert back to
`the configuration prior to the last modification, a func-
`tion for causing the configuration of the palette and the
`first window region to be configured in a default cendi-
`tion (cg. located in the upper left corner), or a function
`to cause the configuration of the palette and the first
`window region to be set to a cenfiguration set up and
`saved at an earlier time. These special predetermined
`areas 10 are located within the 2 D scroll palette as
`depicted in FIG. 3.
`
`spending movement of the palette.
`The initial dimensions of the 2 D scroll palette as
`displayed on the display screen are computed from the
`dimensions of the displayable information to which the
`scroll palette is associated. This feature allows the shape
`of the palette to appear similar to the dimensions of the
`information that the palette represents. The computa-
`tion of initial palette dimension starts by testing for the
`larger dimension of the displayable information (iw or
`ih shown in FIG. 10). If the diaplayable information-
`horizontal dimension (iw) is larger than the displayable
`information vertical dimension (Hi), the 2 D scroll pal-
`
`60
`
`65
`
`0013
`0013
`
`
`
`7
`As shown in FIG. 4, two other regions are defined for
`function activation within the palette working area 6:
`the view area 7 used to resize the active window and the
`scrolling area 8 used to scroll the information viewable
`in the active window. Both of these regions are prede-
`termined areas. The view area is always contained
`within the working area. The view area may be resized
`to dimensions less than or equal to the dimensions of the
`working area. On initial activation, the view area is
`sized by default to the same scaled-down dimensions as
`the active window as shown in HQ ll]. The dimensions
`of the working area (pw,ph) represent the scaled-down
`dimensions of the entire set of displayable information
`computed as shown above. The dimensions of the view
`area (defined by corners (az,ay) and (bx,by)) represent
`the scaled-down dimensions of the active window.
`Thus, initially, the view area is sized to the equivalent
`dimensions of the full-size scaled dimensions of the
`active window (defined by corners (cx.cy) and (dx,dy)).
`As described above, the dimensions for the available
`information (iw,ih), the dimensions for the active win-
`dow (defined by corners (cx.cy} and (dx,dy)). and the
`dimensions for the palette working area are known or
`computed values. The view area dimensions (art,ay) and
`(baby) are computed using the equations shown below
`and depicted in FIG. 10:
`
`ex =33 W‘(cxx’t'w)
`
`uy=ph'(ry/ih)
`
`but =pu-‘Idx/t'w)
`
`by =Ph‘(dJ'/l'hl
`
`Once the above computation is completeI the dimen-
`sions of the view area are known; thus, the borders or
`outline of the view area can be diSplayed within the
`working area of the palette. 0n initial activation of the
`2 D scroll palette, the outline of the view area may not
`be visible, since it may overlay the border of the work—
`ing area as shown in FIG. 2. As the view area is reduced
`in size, the active window is reduced in an equivalent
`manner and the view area outline becomes visible as
`shown in FIGS. 5 and 6. The outline overlays the
`boundary of the view area. If the palette is terminated.
`the position and size of the view area and the position of
`the palette are saved in computer memory. If the posi-
`tion and size of the view area is changed, even while the
`palette is closed or hidden, the saved position and size
`are updated in memory such that the saved parameters
`always represent the actual position and size of the view
`area. When the palette is subsequently re-activated. the
`palette and the view area are displayed at the saved
`location and size. The size and shape of the palette can
`be computed on reactivation from the size and shape of
`the active window as described earlier.
`The scrolling area 8 is always contained within the
`view area. The size of the scrolling area is defined by
`the size of the view area less a scaled length in both the
`horizontal and vertical dimensions. A portion of the
`view area is always visible around all of its four borders.
`As the view area is resized, the scrolling area is resized
`by a like amount. The view area is not allowed to be
`reduced to such a small dimension that the scrolling
`area disappears. Initially, the scrolling area is sized to
`the dimension of the working area less the same scaled
`length in both the horizontal and vertical dimensions.
`There is no outline displayed for the scrolling area. thus,
`
`5,263 ,1 34
`
`8
`in FIG. 4. neither the shaded area nor the border of the
`scrolling area is actually displayed.
`Four corner regions 9, which are also predetermined
`areas. also exist within the view area. These regions are
`located within the view area, but outside of the scroll-
`ing area. Two adjacent borders of the corner regions
`are defined by the borders of the view area. The other
`two adjacent borders of the corner regions are defined
`by extending the scrolling area borders to meet the view
`area borders. The size and shape of the corner regions
`can also be defined as a fixed size or scaled rectangular
`area centered on the corner of the scrolling area. This
`allows the corner region to remain large enough to use
`even though the scrolling area is reduced to a small size.
`Once the 2 D scroll palette is activated, the functions
`that it provides become responsive to the movement of
`the cursor within the palette and responsive to the acti-
`vation of the cursor function key or signal generation
`means. The function performed depends upon the posi-
`tion of the cursor at the time the cursor function key is
`activated. The function selected remains active, regard-
`less of where the cursor is moved on the display screen.
`until the cursor function key is deactivated. In other
`embodiments,
`the selected function is automatically
`deselected if the cursor is moved outside of the palette.
`In this manner, the user may prevent a function from
`disturbing the configuration of information on the
`screen. This is especially useful in embodiments where
`the function selected is not actually performed until the
`cursor function key is deactivated.
`Various cursor symbols are provided to identify
`which function is selectable. When the cursor is posi-
`tioned outside of the 2 D scroll palette and the cursor
`function key was not activated within the palette, the
`cursor symbol displayed is defined by the operating
`system or other application software. In this situation,
`the control of the cursor is not under the direction of
`the present invention. If the cursor function key was
`activated within the palette,
`the cursor symbol dis-
`played is determined by the function selected and con-
`trolled by the scroll palette as long as the cursor func-
`tion key is active. This is true even if the cursor is posi-
`tioned outside of the palette after function activation.
`Within the bounds of the 2 D scroll palette,