`
`US005263134A
`[11]
`Patent Number:
`[45] Date of Patent:
`
`5,263,134
`Nov. 16, 1993
`
`United States Patent [191
`Paal et al.
`
`[54] METHOD AND APPARATUS FOR
`CONTROLLING COMPUTER DISPLAYS BY
`USING A TWO DIMENSIONAL SCROLL
`PALE-[TE
`
`[75] Inventors: Adam F. Paul, Stanford; William J.
`Fernandez, Fremont, both of Calif.
`
`[73] Assignee: Apple Computer, Inc., Cupertino,
`Calif.
`
`[21] Appl. No.: 922,644
`
`[22] Filed,
`
`Jul. 30, 1992
`
`[63]
`
`Related Us. Applica?on Data
`_
`_
`Connnuanon of Ser. No. 426,872, Oct. 25, 1989, aban-
`domed‘
`
`[51] Int. Cl.5 .............................................. .. G06F 3/14
`[52] U5. c1. ....................... .. 395/158; 395/157;
`395/155
`[58] Field of Search ............. .. 395/155, 156, 157, 158,
`395/706, 721, 724, 747, 750
`
`[56]
`
`References Cited
`
`U'S' PATENT DOCUMENTS
`4,558,413 12/1985 Schmidt et al. ................... .. 364/300
`4,736,308 4/1988 Heckel ............. ..
`364/518
`4,852,019 7/1989 Vinberg et al.
`364/521
`4,899,136 2/1990 Beard et a]. . . . . . . . .
`. . . .. 340/706
`4,930,074 5/1990 McCarthy ................. .. 364/410
`4,975,690 12/1990 Torres ....................... .. 340/721
`Primary Examiner-P11" K- Nguyen
`Attorney, Agent, or Finn-Blakely, Sokoloff, Taylor &
`Zafman
`'
`ABSTRACT
`[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
`of a window region‘ Controls are also provided to move
`and terminate window regions. Upon termination, the
`con?guration 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 Claims, 9 Drawing Sheets
`
`TDA 1011
`CBM of U.S. Patent No. 6,772,132
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 1 of 9
`
`5,263,134
`
`File
`
`vEdit
`
`1/
`
`Font
`@@
`FirstCard
`Previous Card
`
`NextCard
`
`Style
`
`LastCard
`SorolilCerd {
`Figurel
`12
`
`2 Display Screen
`/
`
`l Two-dimensional Scroll Palette
`/-——3 Active Window
`aaaaaaaaaaaaaaaa
`bbbbbbbbbbbbbbbb
`CCCCCCCCCCCCCCCC
`dddddddddddddddd
`eeeeeeeeeeeeeeee
`fffffffffffffffff
`9999999999999999
`hhhhhhhhhhhhhhhh
`iiiiiiiiiiiiiiiiii
`
`Figure 2
`
`
`
`US. 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
`
`/.
`.-
`4
`/
`,
`f
`/
`;
`////////////////////./‘
`
`7 View Area
`
`8 Scrolling Area
`
`9 Corner regions
`
`Figure 4
`
`
`
`US. Patent
`
`Nov. 16,1993
`
`Sheet 3 of 9
`
`5,263,134
`
`.50
`
`55
`
`54
`
`eeeeeeee
`fffff‘ff ~
`99999999
`
`Figure 5
`
`ccccccc
`dddddd
`
`iiiiiiiiiiiil
`
`Figure 6
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 4 of 9
`
`5,263,134
`
`Start 20 Scroll
`Palette function.
`701
`
`Get Active Window and
`available information
`dimensions. Get Location
`and status of 2D Scroll
`Palette. Compute shape
`and configuration oi
`palette.
`'
`702
`
`l
`
`Display 20 Scroll
`Palette at saved
`location.
`703
`
`Figure 7
`
`NC’
`712
`
`Zoom window?
`704
`
`Yes 713
`
`+
`Zoom active
`window.
`
`705
`
`Move Palette?
`706
`
`N 715
`
`Terminate
`Palette?
`707
`
`Get 99's“
`Yes
`714 P position.
`71 O
`i
`Move Palette.
`711
`L__‘
`
`No 716
`
`Yes 717
`I
`
`Special function
`selected? 71 B
`
`No
`720
`
`Save location and status
`of 2D Scroll Palette.
`708
`
`‘
`Remove 2D Palette
`from display.
`
`Yes 719
`
`Process
`5P9¢la1721
`‘
`u?cilon
`
`
`
`US. Patent
`
`Nov. 16,1993
`
`Sheet 5 of 9
`
`5,263,134
`
`Figure 8
`
`Get Cursor position. 801.
`
`Cursor in Palette?
`802
`
`No 815 ,6)
`
`Yes 828
`
`Cursor in View
`area?
`803
`
`Yes 817
`
`Cursor in
`
`scrolling
`area?
`804
`
`Yes 819
`
`Scrolling
`selected?
`808
`
`No 816 _
`
`Yes 823
`
`Constrained X
`selected? 809
`
`Yes 827
`
`N0 _@
`
`818
`
`No 824
`
`Constrained Y
`selected?
`81 O
`
`No 826
`
`Constrain X
`coordinate.
`811
`
`Yes 825 i
`
`constrain Y
`coordinate.
`812
`+
`
`Apply new position to
`View area.
`813
`1
`
`Apply new origin to
`active window.
`814
`
`Scrolling area
`lull size?
`805
`
`Yes
`8
`
`gisp'ay
`UrsOr
`_. symbol 1.
`806
`
`No 821
`|
`
`Display
`Cursor _@
`symbol 2.
`8 07
`
`I
`
`
`
`US. Patent
`
`Nov. 16, 1993
`
`Sheet 6 of 9
`
`5,263,134
`
`Figure 9
`
`U or onl ? 901
`PP
`Y
`
`No 933
`
`.
`R m l '2
`19 any 902
`
`NO 935
`
`‘
`Upper Right? 903
`
`No 937
`
`4
`I ?
`L
`ower ony 90
`
`No 939
`
`Lower right?
`905
`
`No 941
`
`7
`it
`Le MW 905
`
`No 943
`
`Upper lelt? 907
`
`Y
`95
`I
`932
`
`Display
`Cursor
`‘ymbol 3.
`908
`
`Display
`Y
`Cursor
`as
`934 I symboi 4‘
`909
`
`Y
`"5
`936 I
`
`Display
`Cursor
`symbol 5_
`910
`
`Display
`Y
`Cursor
`9'5
`938 I symbol &
`911
`
`Display
`Y
`Cursor
`65
`940 i symbol 7_
`912
`
`Display
`Y
`Cursor
`e5
`942 ' symbol 5_
`913
`
`Display
`Cursor
`Yes
`944 I symbol 9-
`914
`
`NO 945
`
`Display Cursor
`L——D symbollgf?) (lower
`915'
`
`'
`RGSIZG select? 91B
`
`Y“ R '
`“'19 uppe" _
`954 I
`924
`
`No 946
`
`’
`
`\
`.
`Home select? 917
`
`Yes
`955 I
`
`Resizo ri ht
`9 ~
`925
`
`—D
`
`No 947
`
`_
`Resize select? 918
`
`Yes
`956 i
`
`ND 948
`
`Re _z
`si 0 upper
`right.
`926
`
`D
`
`"7
`
`>
`
`.
`Flesize select? 919
`
`Yes
`957 I
`
`Resize lower
`'
`927
`
`-D
`
`7
`
`No 949
`-
`
`.
`Resize select? 920
`'
`No 950
`
`D
`
`Yes
`958 I
`
`Resize lower
`.
`right.
`_ —D
`928
`
`D
`
`.
`Resize select? 921
`
`Yes
`959 I
`
`Resize left.
`929
`
`J’
`
`N 951
`o
`
`_
`Resrze select? 922
`
`yes
`960 I
`
`.
`Fleslzo upper
`lelt.
`93°
`
`N0 952
`
`Resize select? 923
`
`No 953
`
`Y's
`961 I
`
`.
`Resize lower
`left.
`931
`
`a
`
`"7
`
`.
`
`-.
`
`
`
`US. Patent
`
`Nov. 16,1993
`
`Sheet 7 of 9
`
`5,263,134
`
`by/ph - dy/ih
`
`ax/pw - cx/iw
`ay/ph - cy/ih
`bx/pw - dx/iw
`
`Figure 10
`
`
`
`US. Patent
`
`Nov. 16,1993
`
`Sheet 8 of 9
`
`5,263,134
`
`1 Random
`Access
`Memory
`102
`
`Read
`Only
`Memory
`103
`
`_
`
`DataStorage
`Device
`
`104
`
`Processor
`
`101
`
`Bus
`100
`
`Display
`Device
`
`105
`
`Alphanumeric
`Input Device
`
`106
`
`Cursor
`Control
`Device
`107
`
`Signal
`Generation
`Device
`108
`
`Figure 1 1
`
`
`
`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
`
`I
`
`Cursor Symbol 10
`
`\
`Q"?
`
`I
`
`7
`l
`\
`
`I
`
`cursor outside view and
`scrolling area
`cursor inside scrolling area
`
`cursor inside view area and near
`upper border
`cursor inside view area and near
`right border
`cursor inside view area and near
`upper and right border
`cursor inside view area and near
`lower border
`cursor inside view area and near
`lower and right border
`cursor inside view area and near _
`left border
`cursor inside view area and near
`upper and left border
`cursor inside view area and near
`lower and left border
`
`/
`Figure 12
`
`
`
`1
`
`METHOD AND APPARATUS FOR CONTROLLING
`COMPUTER DISPLAYS BY USING A TWO
`DIMENSIONAL SCROLL PALE'ITE
`
`This is a continuation of application Ser. No.
`07/426,872, ?led Oct. 25, 1989, now abandoned.
`
`5
`
`30
`
`35
`
`20
`
`5,263,134
`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 (“?rst 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 different functions that operate upon the ?rst 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 ?rst 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 ?rst window region or the viewable area to full size,
`a function for causing the con?guration of the palette
`and the ?rst window region to revert back to the con
`?guration prior to the last modi?cation, a function for
`causing the con?guration of the palette and the ?rst
`window region to be con?gured in a default condition
`(e.g. located in the upper left corner), or a function to
`cause the con?guration of the palette and the ?rst win
`dow region to be set to a con?guration set up and saved
`at an earlier time. As the window regions are removed
`from the display, the position and con?guration of the
`window regions is saved on the data storage means in
`order to restore the window regions to the saved con
`?guration when redisplayed. The shape and size of the
`palette and its predetermined areas can also be com
`puted when the palette is ?rst activated based upon the
`size and shape of the ?rst 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.
`
`BACKGROUND OF THE INVENTION
`(1) Field of the Invention
`This invention relates to the two-dimensional selec
`tion of portions of a computer display area and the
`two-dimensional selection of the portions of informa
`tion to display within the selected display area. Speci?
`cally, the ?eld 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
`25
`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 con?nes of the physical display boundaries. Addi
`tional controls are also provided to shift the viewable
`portion of information within the limits of the previ
`ously de?ned 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 signi?cant for the efficient use of a lim
`ited display area. The present invention provides these
`display management advances.
`SUMMARY OF THE INVENTION
`This invention provides a method of and a means for
`selecting a portion of available information for display
`in a selected area of a display 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
`
`40
`
`45
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is an illustration of a means for activating the
`two-dimensional scroll 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 con?guration before the view area has
`been resized.
`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
`
`65
`
`
`
`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.
`
`10
`
`25
`
`35
`
`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 art,
`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 processing 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.
`
`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. US. Pat. No. 4,464,652 reissued as No.
`32,632 on Mar. 29, 1988 to inventor, William Atkinson
`and assigned to the assignee of the present application
`discloses a device suitable for use as a cursor control
`device andmeans for implementing the described menu 7
`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 identi?able as per
`forming 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 l 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 (information width). The height of the available data
`is shown as ih (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
`
`50
`
`40
`
`45
`
`55
`
`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
`
`60
`
`
`
`l0
`
`15
`
`35
`
`5,263,134
`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 identi?ed 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 ?t 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 those 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
`25
`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
`30
`the viewable portion of information is de?ned by the
`offsets (cx,cy). The lower right position of the viewable
`portion of information is de?ned 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
`(dx,dy) is also a known value.
`The active window or windows may be identi?ed 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 key 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
`55
`that movement of the active window causes corre
`sponding 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
`65
`ih shown in FIG. 10). If the displayable information
`horizontal dimension (iw) is larger than the displayable
`information vertical dimension (ih), the 2 D scroll pal
`
`45
`
`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
`
`ph = c'(ih/iw) 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 1 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 Hypercard TM 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 invention without signi?
`cant dif?culty.
`_
`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 4. 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 4 at the top left-hand
`side of the palette is provided for this purpose.
`Predetermined areas 10 can also be provided to acti
`vate special functions, such as a function for zooming or
`expanding the ?rst window region or the viewable area
`to full size, a function for causing the con?guration of
`the palette and the ?rst window region to revert back to
`the con?guration prior to the last modi?cation, a func
`tion for causing the con?guration of the palette and the
`?rst window region to be con?gured in a default condi
`tion (e.g. located in the upper left corner), or a function
`to cause the con?guration of the palette and the ?rst
`window region to be set to a con?guration 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.
`
`
`
`7
`As shown in FIG. 4, two other regions are de?ned 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 FIG. 10. 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 (de?ned by corners (ax,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 (de?ned 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 (de?ned by corners (cx,cy) and (dx,dy)), and the
`dimensions for the palette working area are known or
`computed values. The view area dimensions (ax,ay) and
`(bx,by) are computed using the equations shown below
`and depicted in FIG. 10:
`
`25
`
`40
`
`20
`
`5,263,134
`8
`in FIG. 4, neither the shaded area not 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 de?ned by the borders of the view area. The other
`two adjacent borders of the corner regions are de?ned
`by extending the scrolling area borders to meet the view
`area borders. The size and shape of the corner regions
`can also be de?ned as a ?xed size or sealed rectangular
`area centered on the comer 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 con?guration 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 vare 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 de?ned 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, the cursor
`symbol displayed can be controlled by the present in
`vention. If the cursor is positioned in terminate palette
`area 4 or the move palette area 5, the cursor symbol is
`converted to a Cursor Symbol 1 without the need for
`any other signals to the display system. This symbol is
`represented in the present invention as shown in FIG.
`12. Cursor Symbol 1 is used when the cursor is located
`in all regions of the 2 D palette except within the palette
`working area 6. In some situations, Cursor Symbol 1 is
`also used within the working area as described below.
`As the cursor is moved into the working area 6, the
`cursor symbol displayed depends upon whether the
`cursor has also crossed into the view area 7 or the
`scrolling area 8