CA2059893A1 - Method of scrolling a display window - Google Patents
Method of scrolling a display windowInfo
- Publication number
- CA2059893A1 CA2059893A1 CA 2059893 CA2059893A CA2059893A1 CA 2059893 A1 CA2059893 A1 CA 2059893A1 CA 2059893 CA2059893 CA 2059893 CA 2059893 A CA2059893 A CA 2059893A CA 2059893 A1 CA2059893 A1 CA 2059893A1
- Authority
- CA
- Canada
- Prior art keywords
- scrolling
- rate
- window
- user
- display window
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000013459 approach Methods 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 230000001133 acceleration Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000002372 labelling Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- FYLGZBNNVGZPIW-UHFFFAOYSA-N 1-[4-(1,4-dioxa-8-azaspiro[4.5]decan-8-yl)phenyl]ethanone Chemical compound C1=CC(C(=O)C)=CC=C1N1CCC2(OCCO2)CC1 FYLGZBNNVGZPIW-UHFFFAOYSA-N 0.000 description 1
- 101100382854 Arabidopsis thaliana CCD7 gene Proteins 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 108091035710 E-box Proteins 0.000 description 1
- PIWKPBJCKXDKJR-UHFFFAOYSA-N Isoflurane Chemical compound FC(F)OC(Cl)C(F)(F)F PIWKPBJCKXDKJR-UHFFFAOYSA-N 0.000 description 1
- 241000364027 Sinoe Species 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- NCAIGTHBQTXTLR-UHFFFAOYSA-N phentermine hydrochloride Chemical compound [Cl-].CC(C)([NH3+])CC1=CC=CC=C1 NCAIGTHBQTXTLR-UHFFFAOYSA-N 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
ABSTRACT
A method of scrolling a display window which employs a continuously increasing rate of scrolling over time, such as an exponential curve.
A method of scrolling a display window which employs a continuously increasing rate of scrolling over time, such as an exponential curve.
Description
Mar~A~k~r, MS3â-1 PATENT
Appl~ Compu~r, /nc. A~tOrA~Y Dock~t No.: P42 20525 ManarliAv~nue Cup3nino, CA 9~014 METHOD OF SCROLL~G A DISPLAY WINDOW
~ACKGROUND OF THE ~VENTION
This invention relates to a method of scrolling a display window displayed on a computer screen.
Flgure 1 shows an example known in the art cf a display window with controls forscrolling the window. ~:igure 1 shows a display window as they appear on the Apple Computer, Inc. Macintosh family of computers. (Macintosh is a Registered Trademark of Apple Computer, Inc.) In Figure 1, the display window has a viewing area 10 in which text or graphicalobjects are displayed. Across the top of the window are a title bar 12, title 14, and a close box 16. Across the right side of the window are a scroll bar 20, having a scroll arrow 22 for upward scrolling, a scroll box ~4, and a scroll arrow 26 for downward scrolling. A si~e box 28 allows adjus~anent of the window size. Across the bottom of the window are a scroll bar 30 for horizontal scrolling of the ac~ive window area 10, and a size box 32 for adjusting the size of the window. Various parts of the window can be controlled or adjusted by use of a pointing dence, such as a mouse~ whichmoves a cursor on the display. A button on the mouse can be used to select or "click" on the controls or boxes of the window.
Scroll bar 20 is used to control which part of a document or object is shown in the viewing area 10. The position of ~he scroll box 24 within the scroll bar 20 represents the relative location of the portion of the document currently visible inside the viewing area 10 to the entire docwnent. As the user uses the scroll bar 20 to move the document under the viewing area 10j the position of the scroll box 24 moves correspondingly. If the doclunent can fit entirely within the viewing area 10, the scroll bars become inactive, and are not displayed.
Appl~ Compu~r, /nc. A~tOrA~Y Dock~t No.: P42 20525 ManarliAv~nue Cup3nino, CA 9~014 METHOD OF SCROLL~G A DISPLAY WINDOW
~ACKGROUND OF THE ~VENTION
This invention relates to a method of scrolling a display window displayed on a computer screen.
Flgure 1 shows an example known in the art cf a display window with controls forscrolling the window. ~:igure 1 shows a display window as they appear on the Apple Computer, Inc. Macintosh family of computers. (Macintosh is a Registered Trademark of Apple Computer, Inc.) In Figure 1, the display window has a viewing area 10 in which text or graphicalobjects are displayed. Across the top of the window are a title bar 12, title 14, and a close box 16. Across the right side of the window are a scroll bar 20, having a scroll arrow 22 for upward scrolling, a scroll box ~4, and a scroll arrow 26 for downward scrolling. A si~e box 28 allows adjus~anent of the window size. Across the bottom of the window are a scroll bar 30 for horizontal scrolling of the ac~ive window area 10, and a size box 32 for adjusting the size of the window. Various parts of the window can be controlled or adjusted by use of a pointing dence, such as a mouse~ whichmoves a cursor on the display. A button on the mouse can be used to select or "click" on the controls or boxes of the window.
Scroll bar 20 is used to control which part of a document or object is shown in the viewing area 10. The position of ~he scroll box 24 within the scroll bar 20 represents the relative location of the portion of the document currently visible inside the viewing area 10 to the entire docwnent. As the user uses the scroll bar 20 to move the document under the viewing area 10j the position of the scroll box 24 moves correspondingly. If the doclunent can fit entirely within the viewing area 10, the scroll bars become inactive, and are not displayed.
2 ~ 9 ~
MalkAak~r, MS38-1 PATENT
A~l~ Compu~r, Inc.Attorn~ Do~k~t No.: P428 20~25 MananiAwnu~
CL~parrino, CA 95014 There are three ways to move the document under the window: by sequential scrolling, page by page scrolling, and by directly positioning the scroll box.
In sequential scrolling, the user dicks on a scroll arrow 22 or 26 to see more of the document in the direction of the scroll arrow, so it moves the document in ~e opposite direction from the arrow. For example, when the user clicks the top scroll arrow 22, the document moves down, bringing the view closer to the top of the document. The scroll box 24 moves toward the arrow being clicked.
Each click in a scroll arrow 22, 26 causes movement a distance of one unit in the chosen direction, with the unit of distance being appropriate to the application: one line for a word processor, one row or column for a spreadsheet, and so on. Within a document, units should always be the same size, for smooth scrolling. Pressing and holding down on the scroll arrow causes continuous movement in its direction.
In page by page scrolling, clicking the mouse anywhere in the gray area of the scroll bar advances the docum.ent in steps window by window through the document.
The scroll box, and the document view, move toward the plaoe where the user dicked. Clicking below the scroll box, ~or example, brings the user ~e next window toward the bottom of the document. Pressing in the gray area of the scroll bar 20 keeps windows flipping by until the user releases the mouse button, or until thelocation of the scroll box ~4 catches up to the location of the pointer. Each window is the height or width of the window, minus one unit overlap (where a unit is the distance the view scrolls when the scroll arrow is clicked once).
In both the above schemes, the user moves ~he document incrementally until it's in the proper position under the window; as the document moves, the scroll box 24 moves accordingly. The user can also move the document directly to any position simply by moving the scroll box 24 to the corresponding posi~on in the scroll bar 20.
~ directly positioning the scroll box 24, the user drags it along the scroll bar 20; an outline of the scroll box 24 follows the pointer. When the mouse button is released, the soll box 24 jumps to the position last held by the outline, and the document 2 ~
Aak~r, MS38 1 PATENT
ApplQ GomputQr~ Inc.Atlom~ Dock~t No.: P428 20525 MarianiAv~nue c~nino, CA 9~014 jumps to the position corresponding to the new position of the SCTOII box 24.
When sequential or page by page scrolling is used, two methods of controlling the speed of the scrolling of the display window are known:
(1). Scrolling speed is set to a constant rate. However, this may be too fast for fine positioning of a document in the window, and be too slow for traversing a long distance in a long document.
(2). Employ a linear acceleration of scrolling over time. Scrolling begins at a slow rate, which is suitable for ane positioning, and the scrolling rate increases as the scrolling continues. Eventually a ma~cimum rate is reached at which a long distance in a long document can be traversed in a timely manner. However with a linear acceleration it can take a signi~icant period of time to transition from the minimum starting speed to the maximum ending speed, since the differences between these rates can be quite large. In fact, it is desirable that the differences between these rates be quite large, providing the least possible rate for fine positioning, and the maximum rate ~rhich can be sustained by the computer for the maximum rate.
Neither of these methods of controlling the speed of ~e scrolling of the displaywindow have proven to be entirely satisfactory, and other methods of incorporating additional "speed controls" have also proven to be clumsy and unsatisfactory.
SUMMARY OF THE INVENTION
This invention provides a method of scrolling a display window displayed on a computer screen. Scrolling begins at a minimum value suitable for fine positioning. The rate of scrolling automatically accelerates as the user continues a scroll, at a continually increasing rate (e.g., exponential ). The rate of scrolling quickly reaches a maximum value suitable for travel over long distances. The transition between the minimum and maximurn values of scroll speed occurs ` quickly compared to linear acceleration, and occurs without abrupt changes in speed 2 ~
Aak~r, MS 38-l PA7EN7 Appl~ Comput~, Inc. A~rn~y Dock~ No.: P42B
20~i25 MananiAvenu~
Cupenino, CA 95014 which disturb the user's control of the scrolling operation.
The method of this invention is implemented by having a scrollable display window on a computer screen, with scrolling controlled by a user-activated pointing device. The initiation of scrolling by the user is detected and scrolling is established at a deflned minimum rate V(M~). The passage of time from the initiation of scrolling is measured, and if scrolling is still activated, the rate of scrolling is increasecl at a continuously increasing rate (such as exponential), until a defined maximum scrolling rate V(MAX) is reached.
BRI~ DESCRlPrION OF THE DRAWINGS
Flgure 1 shows an example known in the art of a display window with controls forscrolling the window.
Figure 2 shows a graphical representation of methods of automatically increasingscrolling speed over time.
DETAILED DESCRI~rION
Figure 2 shows a graphical representation of methods of automatically increasingscrolling speed over time. The vertical axis measures scrolling rate V from a minimum rate V(MrN) suitable for fine positioning in individual unit steps, to amaximum rate V(MAX) which can be supported by the computer and is suitable ~r travel over long scrolling distances. The horizontal axis measures time T from the beginning of a scrolling operation.
In Figure 2, curve L shows the scrolling rate for a known method which employs alinear acceleration of scrolling over time. Scrolling begins at V(MIN) and increases linearly over time to V(MAX), reaching V(MAX) at a time T(L).
h~X Aak~r, MS 38-1 PATENT
~ Comput~r, Inc.Attom~y Dock~ No.: P428 20525 Marian;Av~nu~
C~rtino, CA 950r4 In Figure 2, curve E shows the scrolling rate for a method in accordance with this invention which employs a continuously increasing rate of scrolling over time, such as an exponential curve. Scroll;ng begins at V(MIN) and increases exponentially over time to V(MAX3, reaching V(MAX) at a time T(E~.
Note that T(E? is less than T(L), therefore the method of this invention reaches the maximum scrolling rate without as great a delay to the user, and ~ereby allows traveling long distances in a long document in less time.
~ote also, for fine positioning, that curve E remains at low scrolling rates for a longer period of time than curve L, making fine posi~ioning easier for a greaterpeliod of time with the method of this invention.
While in the preferred embodiment uses an exponential increase in the rate of solling, other steeply curved increasing functions can also be used, as well as other methods of approximating such curves, as by piece-wise approximation. In particular, for digital computer systems, a digitally quantized approximation to the curves may be simpler to implement. In other embodiments, analog circuitry can easily generate exponential and other waveforms by the charging of resistor-capacitor combinations by fixed or varying applied voltages.
In a further embodiment, as the scrolling rate approaches V(MAX), the rate of increase can be slowed, so as to merge smoothly into the maximum rate V(MAX).
This would tend to make curve E look more "S" - shaped as in curve S of Figure 2.
Tl~is prevents an abrupt stop to the rate of acceleration which could be disturbing to the user.
,, In another embodiment, the scroll distance is in :reased over time, i.e., the scrolling begins by scrolling the window in small unit steps or increments at first, and the size of the steps is continuously increased as scrolling continues. This embodiment could be illustrated by the curves of Figure 2 by labeling the vertical axis to measure scroll distance per step.
.
Mar~ Aak~r, MS 38-l PATEM
14ople Comput~r, IncAt/OM~ DOCk~t NO.: P428 2a525 MarianiAv~nue C~rtino, CA 95014 In yet another embodiment, the contents of the window are updated at a defined maximum time interval, and this interval is decreased at a continuously increasing rate as scrolling is continued. This embodiment could be illustrated by the curves of Figure 2 by labeling the vertical axis to measure an update time interval which decreases in the upward direction of the vertical scale.
Note that these last two embodiments are directly based upon the basic definition of velocity (or rate), namely, distance over time. In order to change the velocity of scrolling perceived by the user, the method must either alter the apparent distance traveled, or the apparent time between updates, o~ both.
Table I shows the programming instructions for implementing automatic control ofscrolling speed in accordance with this invention. These instruction are writtenfrom the standpoint of system software, that is to say, independent of the mechanism that produces the actual scrolling (either software or hardware). These instructions use elapsed time sinoe the start of scrolling to determine the appropriate time to delay until it is time to scroll the next increment. The instructions, variables, constants, and conunents provided in Table I may be of relevance only to programming for the Apple Maantosh family of computers.
Those skilled in the art may wish to refer to "Inside Macintosh, Volumes I - V"
published by Addison-Wesley Publishing Company, Inc., Copyright 1985 -1990, for reference in interpreting the instructions of Table I. Other useful references may be the "Macintosh Programmer's Workshop Assembler Reference Manual (Revision 3.0)" published by Apple Programmer's and Developer's Association, APDA
#M002LL/A, Copyright 1988, and the 'l~otorola M68000 8-, 16-, 32-Bit Microprocessor's Programmer's Reference Manual" published by Prentice Hall, Copyright 1986.
These and other embodiments and implementations will be apparent to a person skilled in the art from a consideration of the specification, drawings, and claims. It is intended that the scope of the invention be limited only by the scope of the following claims.
2~$~3 : FUNCTIUI Sc~ollDol~ylst~TIc~ c~onTlcks: LONCINT i;cmsVislblo: INTI:CLR): os~:r~
: -~t~Tlcks Is thc tlmq ~ho 9c~olllnq st~rted usuIlly l~om thc mou~c dtun ~vc . .~c~lonTlcks Is ~lo ~imc th.~t beqan thls p~r~lcula~ sc~oll ~c~lon.
: ItcmsVislblo Is the numbor o~ Items vlslblo In the 11st O 1( unkno~ln.
Scrol IDelay sdFrdmc RECORD O
returnAddross DS. L
ItemsVlslble DS W
~e~lon~lcks DS L
st~rtTlcks DS. L
result DS.II
ENDR
f IrstY lue EQU 12 Number of tlcks to beqln ~Ith.
Kno~lnEndV~lUo EQU 3 ; llumber of tlcks to end vlth, vhen ~he 11st sl2~ Is kno--n.
Unkno~mEndV~lue EQU D ; Nu~ber o~ tlcks to end ~Ith ~hen ~he 11st sl2e ls unkno-rn.
Dee~yV~luQ EQU lûO - ~l~e to dec~y rom StartV~lue to EndV~lue.
Kno~nCon~t EQU Dec~yValue ~ (FlrstV~ltlo- Kno~nEndV~lue) Unkno~mConst EQU DecayV~luo ~ ~FIrstV~lue - Unkno~-nEndV luel : Oleul~te tho tlme to ~lt untll. EndV~lue Is the number ol tlcks to end ~ Ith: Kno~nEndV~lue ; It th~ Ilst sl2e Is kno~n, llnkno~nEndV~lue l unkno~1n. the equ~tlon Is:
Dec~yV~luo : D l~y - ~ctlonTlcks ~ EndV~lua ~ -- --------------------- ---------------~~~---~-~~~~~~~
Dec~yV~lue t~ctlonTleks - st~rtTleks) ~ -------------------______ FlrstValue - EndVdlue I~ITH sdFr~tJe CLR.~t result ~SP~ : No e~ror.
Tsr.w ltet~svlslblo~sp) ; l~no~l the nur~ber of Items vlslble?
BEQ.S ~unkno~m : No, sklp thls part.
MOVEO.L ~Kno~nEndV~lue, DO EndValua - llnownEndV~lue MOVEQ.L IKno~nConst, D1 For ~peed BRA.S ~calcDel~y ~unkno~m MOVEQ.L lUnkno~nEndV~lu~, DO ; EndV~lue - Dnkno~/nEndV~lue MOVEQ.L ~Unkno~mConst, Dl ; For spted ~e~lcDel~y ~IOVE.L ~etlonSlckstSP), D2 ADD.L D2, DO ; Dû - ~etlonSleks i EndV~lue l~DD.L D2, Dl ; Dec~yV~lue SUB.L ~t~rtTl~ks tSP~, Dl ; Dl ~ l~lctlrmTl~ks - st~rt~lcks) ~ ---------------------~~ FlrstV~lue - EndV~lue MOVEQ.L Dec~yvdlue~ D2 DIW Dl, D2 EXS.L D2 ; To-~ the rer~lnder t~ssume quotlent C 32767) ADD.L D2, Dû Nol- everythlnq'r ln D0 ; ~e ne~d to loop untll DO <- TlckCount~) or the ~ouse button Comes up.
MOVE.L Dû, -~SP) S~ve th~ tl~De on the st~ck.
~loopDel~y SUBQ.L ~2, SP
StlllDo~n ; Mouse ~tlll do~n?
TST.B ~SP~ 1 BEQ.S ~endDel~y ; No, got out.
SUBQ.L ~, SP
_Tlel~Count IIOVE.L (SP~ ~, DO
CMP.L ~SPI, D0 ; Slr~d out?
BLO.S ItloopDel~y ; ~lo, try ~I-In.
~oneDel~y MOVE.L return~ddress~ ~SPI, st~rtTleks~1 tSP) LE~ st~rtTleks~ ~SP~, SP ; Cle~n up the stack Ir~me.
RTS
ENDI~ITII
TABI,E I.
MalkAak~r, MS38-1 PATENT
A~l~ Compu~r, Inc.Attorn~ Do~k~t No.: P428 20~25 MananiAwnu~
CL~parrino, CA 95014 There are three ways to move the document under the window: by sequential scrolling, page by page scrolling, and by directly positioning the scroll box.
In sequential scrolling, the user dicks on a scroll arrow 22 or 26 to see more of the document in the direction of the scroll arrow, so it moves the document in ~e opposite direction from the arrow. For example, when the user clicks the top scroll arrow 22, the document moves down, bringing the view closer to the top of the document. The scroll box 24 moves toward the arrow being clicked.
Each click in a scroll arrow 22, 26 causes movement a distance of one unit in the chosen direction, with the unit of distance being appropriate to the application: one line for a word processor, one row or column for a spreadsheet, and so on. Within a document, units should always be the same size, for smooth scrolling. Pressing and holding down on the scroll arrow causes continuous movement in its direction.
In page by page scrolling, clicking the mouse anywhere in the gray area of the scroll bar advances the docum.ent in steps window by window through the document.
The scroll box, and the document view, move toward the plaoe where the user dicked. Clicking below the scroll box, ~or example, brings the user ~e next window toward the bottom of the document. Pressing in the gray area of the scroll bar 20 keeps windows flipping by until the user releases the mouse button, or until thelocation of the scroll box ~4 catches up to the location of the pointer. Each window is the height or width of the window, minus one unit overlap (where a unit is the distance the view scrolls when the scroll arrow is clicked once).
In both the above schemes, the user moves ~he document incrementally until it's in the proper position under the window; as the document moves, the scroll box 24 moves accordingly. The user can also move the document directly to any position simply by moving the scroll box 24 to the corresponding posi~on in the scroll bar 20.
~ directly positioning the scroll box 24, the user drags it along the scroll bar 20; an outline of the scroll box 24 follows the pointer. When the mouse button is released, the soll box 24 jumps to the position last held by the outline, and the document 2 ~
Aak~r, MS38 1 PATENT
ApplQ GomputQr~ Inc.Atlom~ Dock~t No.: P428 20525 MarianiAv~nue c~nino, CA 9~014 jumps to the position corresponding to the new position of the SCTOII box 24.
When sequential or page by page scrolling is used, two methods of controlling the speed of the scrolling of the display window are known:
(1). Scrolling speed is set to a constant rate. However, this may be too fast for fine positioning of a document in the window, and be too slow for traversing a long distance in a long document.
(2). Employ a linear acceleration of scrolling over time. Scrolling begins at a slow rate, which is suitable for ane positioning, and the scrolling rate increases as the scrolling continues. Eventually a ma~cimum rate is reached at which a long distance in a long document can be traversed in a timely manner. However with a linear acceleration it can take a signi~icant period of time to transition from the minimum starting speed to the maximum ending speed, since the differences between these rates can be quite large. In fact, it is desirable that the differences between these rates be quite large, providing the least possible rate for fine positioning, and the maximum rate ~rhich can be sustained by the computer for the maximum rate.
Neither of these methods of controlling the speed of ~e scrolling of the displaywindow have proven to be entirely satisfactory, and other methods of incorporating additional "speed controls" have also proven to be clumsy and unsatisfactory.
SUMMARY OF THE INVENTION
This invention provides a method of scrolling a display window displayed on a computer screen. Scrolling begins at a minimum value suitable for fine positioning. The rate of scrolling automatically accelerates as the user continues a scroll, at a continually increasing rate (e.g., exponential ). The rate of scrolling quickly reaches a maximum value suitable for travel over long distances. The transition between the minimum and maximurn values of scroll speed occurs ` quickly compared to linear acceleration, and occurs without abrupt changes in speed 2 ~
Aak~r, MS 38-l PA7EN7 Appl~ Comput~, Inc. A~rn~y Dock~ No.: P42B
20~i25 MananiAvenu~
Cupenino, CA 95014 which disturb the user's control of the scrolling operation.
The method of this invention is implemented by having a scrollable display window on a computer screen, with scrolling controlled by a user-activated pointing device. The initiation of scrolling by the user is detected and scrolling is established at a deflned minimum rate V(M~). The passage of time from the initiation of scrolling is measured, and if scrolling is still activated, the rate of scrolling is increasecl at a continuously increasing rate (such as exponential), until a defined maximum scrolling rate V(MAX) is reached.
BRI~ DESCRlPrION OF THE DRAWINGS
Flgure 1 shows an example known in the art of a display window with controls forscrolling the window.
Figure 2 shows a graphical representation of methods of automatically increasingscrolling speed over time.
DETAILED DESCRI~rION
Figure 2 shows a graphical representation of methods of automatically increasingscrolling speed over time. The vertical axis measures scrolling rate V from a minimum rate V(MrN) suitable for fine positioning in individual unit steps, to amaximum rate V(MAX) which can be supported by the computer and is suitable ~r travel over long scrolling distances. The horizontal axis measures time T from the beginning of a scrolling operation.
In Figure 2, curve L shows the scrolling rate for a known method which employs alinear acceleration of scrolling over time. Scrolling begins at V(MIN) and increases linearly over time to V(MAX), reaching V(MAX) at a time T(L).
h~X Aak~r, MS 38-1 PATENT
~ Comput~r, Inc.Attom~y Dock~ No.: P428 20525 Marian;Av~nu~
C~rtino, CA 950r4 In Figure 2, curve E shows the scrolling rate for a method in accordance with this invention which employs a continuously increasing rate of scrolling over time, such as an exponential curve. Scroll;ng begins at V(MIN) and increases exponentially over time to V(MAX3, reaching V(MAX) at a time T(E~.
Note that T(E? is less than T(L), therefore the method of this invention reaches the maximum scrolling rate without as great a delay to the user, and ~ereby allows traveling long distances in a long document in less time.
~ote also, for fine positioning, that curve E remains at low scrolling rates for a longer period of time than curve L, making fine posi~ioning easier for a greaterpeliod of time with the method of this invention.
While in the preferred embodiment uses an exponential increase in the rate of solling, other steeply curved increasing functions can also be used, as well as other methods of approximating such curves, as by piece-wise approximation. In particular, for digital computer systems, a digitally quantized approximation to the curves may be simpler to implement. In other embodiments, analog circuitry can easily generate exponential and other waveforms by the charging of resistor-capacitor combinations by fixed or varying applied voltages.
In a further embodiment, as the scrolling rate approaches V(MAX), the rate of increase can be slowed, so as to merge smoothly into the maximum rate V(MAX).
This would tend to make curve E look more "S" - shaped as in curve S of Figure 2.
Tl~is prevents an abrupt stop to the rate of acceleration which could be disturbing to the user.
,, In another embodiment, the scroll distance is in :reased over time, i.e., the scrolling begins by scrolling the window in small unit steps or increments at first, and the size of the steps is continuously increased as scrolling continues. This embodiment could be illustrated by the curves of Figure 2 by labeling the vertical axis to measure scroll distance per step.
.
Mar~ Aak~r, MS 38-l PATEM
14ople Comput~r, IncAt/OM~ DOCk~t NO.: P428 2a525 MarianiAv~nue C~rtino, CA 95014 In yet another embodiment, the contents of the window are updated at a defined maximum time interval, and this interval is decreased at a continuously increasing rate as scrolling is continued. This embodiment could be illustrated by the curves of Figure 2 by labeling the vertical axis to measure an update time interval which decreases in the upward direction of the vertical scale.
Note that these last two embodiments are directly based upon the basic definition of velocity (or rate), namely, distance over time. In order to change the velocity of scrolling perceived by the user, the method must either alter the apparent distance traveled, or the apparent time between updates, o~ both.
Table I shows the programming instructions for implementing automatic control ofscrolling speed in accordance with this invention. These instruction are writtenfrom the standpoint of system software, that is to say, independent of the mechanism that produces the actual scrolling (either software or hardware). These instructions use elapsed time sinoe the start of scrolling to determine the appropriate time to delay until it is time to scroll the next increment. The instructions, variables, constants, and conunents provided in Table I may be of relevance only to programming for the Apple Maantosh family of computers.
Those skilled in the art may wish to refer to "Inside Macintosh, Volumes I - V"
published by Addison-Wesley Publishing Company, Inc., Copyright 1985 -1990, for reference in interpreting the instructions of Table I. Other useful references may be the "Macintosh Programmer's Workshop Assembler Reference Manual (Revision 3.0)" published by Apple Programmer's and Developer's Association, APDA
#M002LL/A, Copyright 1988, and the 'l~otorola M68000 8-, 16-, 32-Bit Microprocessor's Programmer's Reference Manual" published by Prentice Hall, Copyright 1986.
These and other embodiments and implementations will be apparent to a person skilled in the art from a consideration of the specification, drawings, and claims. It is intended that the scope of the invention be limited only by the scope of the following claims.
2~$~3 : FUNCTIUI Sc~ollDol~ylst~TIc~ c~onTlcks: LONCINT i;cmsVislblo: INTI:CLR): os~:r~
: -~t~Tlcks Is thc tlmq ~ho 9c~olllnq st~rted usuIlly l~om thc mou~c dtun ~vc . .~c~lonTlcks Is ~lo ~imc th.~t beqan thls p~r~lcula~ sc~oll ~c~lon.
: ItcmsVislblo Is the numbor o~ Items vlslblo In the 11st O 1( unkno~ln.
Scrol IDelay sdFrdmc RECORD O
returnAddross DS. L
ItemsVlslble DS W
~e~lon~lcks DS L
st~rtTlcks DS. L
result DS.II
ENDR
f IrstY lue EQU 12 Number of tlcks to beqln ~Ith.
Kno~lnEndV~lUo EQU 3 ; llumber of tlcks to end vlth, vhen ~he 11st sl2~ Is kno--n.
Unkno~mEndV~lue EQU D ; Nu~ber o~ tlcks to end ~Ith ~hen ~he 11st sl2e ls unkno-rn.
Dee~yV~luQ EQU lûO - ~l~e to dec~y rom StartV~lue to EndV~lue.
Kno~nCon~t EQU Dec~yValue ~ (FlrstV~ltlo- Kno~nEndV~lue) Unkno~mConst EQU DecayV~luo ~ ~FIrstV~lue - Unkno~-nEndV luel : Oleul~te tho tlme to ~lt untll. EndV~lue Is the number ol tlcks to end ~ Ith: Kno~nEndV~lue ; It th~ Ilst sl2e Is kno~n, llnkno~nEndV~lue l unkno~1n. the equ~tlon Is:
Dec~yV~luo : D l~y - ~ctlonTlcks ~ EndV~lua ~ -- --------------------- ---------------~~~---~-~~~~~~~
Dec~yV~lue t~ctlonTleks - st~rtTleks) ~ -------------------______ FlrstValue - EndVdlue I~ITH sdFr~tJe CLR.~t result ~SP~ : No e~ror.
Tsr.w ltet~svlslblo~sp) ; l~no~l the nur~ber of Items vlslble?
BEQ.S ~unkno~m : No, sklp thls part.
MOVEO.L ~Kno~nEndV~lue, DO EndValua - llnownEndV~lue MOVEQ.L IKno~nConst, D1 For ~peed BRA.S ~calcDel~y ~unkno~m MOVEQ.L lUnkno~nEndV~lu~, DO ; EndV~lue - Dnkno~/nEndV~lue MOVEQ.L ~Unkno~mConst, Dl ; For spted ~e~lcDel~y ~IOVE.L ~etlonSlckstSP), D2 ADD.L D2, DO ; Dû - ~etlonSleks i EndV~lue l~DD.L D2, Dl ; Dec~yV~lue SUB.L ~t~rtTl~ks tSP~, Dl ; Dl ~ l~lctlrmTl~ks - st~rt~lcks) ~ ---------------------~~ FlrstV~lue - EndV~lue MOVEQ.L Dec~yvdlue~ D2 DIW Dl, D2 EXS.L D2 ; To-~ the rer~lnder t~ssume quotlent C 32767) ADD.L D2, Dû Nol- everythlnq'r ln D0 ; ~e ne~d to loop untll DO <- TlckCount~) or the ~ouse button Comes up.
MOVE.L Dû, -~SP) S~ve th~ tl~De on the st~ck.
~loopDel~y SUBQ.L ~2, SP
StlllDo~n ; Mouse ~tlll do~n?
TST.B ~SP~ 1 BEQ.S ~endDel~y ; No, got out.
SUBQ.L ~, SP
_Tlel~Count IIOVE.L (SP~ ~, DO
CMP.L ~SPI, D0 ; Slr~d out?
BLO.S ItloopDel~y ; ~lo, try ~I-In.
~oneDel~y MOVE.L return~ddress~ ~SPI, st~rtTleks~1 tSP) LE~ st~rtTleks~ ~SP~, SP ; Cle~n up the stack Ir~me.
RTS
ENDI~ITII
TABI,E I.
Claims (5)
1. A method of scrolling a display window displayed on a computer screen, with scrolling controlled by a user-activated pointing device, said method comprising:
detecting the initiation of scrolling by the user;
establishing scrolling of the window at a defined minimum rate (V(MIN));
measuring the duration of time since the initiation of scrolling, and if scrolling is still activated, increasing the rate of scrolling at a continuously increasing rate with the passage of time until a defined maximum rate (V(MAX)) is reached.
detecting the initiation of scrolling by the user;
establishing scrolling of the window at a defined minimum rate (V(MIN));
measuring the duration of time since the initiation of scrolling, and if scrolling is still activated, increasing the rate of scrolling at a continuously increasing rate with the passage of time until a defined maximum rate (V(MAX)) is reached.
2. A method of scrolling a display window as in claim 1 wherein the increasing the rate of scrolling at a continuously increasing rate describes an exponential curve.
3. A method of scrolling a display window as in claim 1 wherein as the rate of scrolling approaches the defined maximum rate (V(MAX)), the rate of increase is slowed to merge smoothly into the defined maximum rate (V(MAX)).
4. A method of scrolling a display window displayed on a computer screen, with scrolling controlled by a user-activated pointing device, said method comprising:
detecting the initiation of scrolling by the user;
establishing scrolling of the window at a defined minimum increment of distance;
Mark Aaker,MS 38-1 PATENT
Apple Computer,Inc.
20525 Mariani Avenue Attorney Docket No: P428 measuring the duration of time since the initiation of scrolling; and if scrolling is still activated, increasing the increment of distance used in scrolling at a continuously increasing rate with the passage of time until a defined maximum increment of distance is reached.
detecting the initiation of scrolling by the user;
establishing scrolling of the window at a defined minimum increment of distance;
Mark Aaker,MS 38-1 PATENT
Apple Computer,Inc.
20525 Mariani Avenue Attorney Docket No: P428 measuring the duration of time since the initiation of scrolling; and if scrolling is still activated, increasing the increment of distance used in scrolling at a continuously increasing rate with the passage of time until a defined maximum increment of distance is reached.
5. A method of scrolling a display window displayed on a computer screen, with scrolling controlled by a user-activated pointing device, said method comprising:
detecting the irutiation of scrolling by the user;
establishing scrolling of the window by updating the contents of the window at adefined maximum time interval;
measuring the duration of time since the initiation of scrolling, and if scrolling is still activated, decreasing the time interval of updating the window at a continuously increasing rate with the passage of time until a defined minimum time interval is reached.
detecting the irutiation of scrolling by the user;
establishing scrolling of the window by updating the contents of the window at adefined maximum time interval;
measuring the duration of time since the initiation of scrolling, and if scrolling is still activated, decreasing the time interval of updating the window at a continuously increasing rate with the passage of time until a defined minimum time interval is reached.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US667,994 | 1984-11-05 | ||
| US66799491A | 1991-03-12 | 1991-03-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CA2059893A1 true CA2059893A1 (en) | 1992-09-13 |
Family
ID=24680544
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CA 2059893 Abandoned CA2059893A1 (en) | 1991-03-12 | 1992-01-27 | Method of scrolling a display window |
Country Status (1)
| Country | Link |
|---|---|
| CA (1) | CA2059893A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5864330A (en) * | 1993-06-29 | 1999-01-26 | International Business Machines Corp. | Method and apparatus for providing a two-dimensional position-sensitive scroll icon in a data processing system user interface |
-
1992
- 1992-01-27 CA CA 2059893 patent/CA2059893A1/en not_active Abandoned
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5864330A (en) * | 1993-06-29 | 1999-01-26 | International Business Machines Corp. | Method and apparatus for providing a two-dimensional position-sensitive scroll icon in a data processing system user interface |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7170491B2 (en) | Accelerated scrolling | |
| US7714840B2 (en) | Positional scrolling | |
| US6486896B1 (en) | Scalable scroll controller | |
| US5872566A (en) | Graphical user interface method and system that provides an inertial slider within a scroll bar | |
| KR100971452B1 (en) | Touch-screen image scrolling system and method | |
| US6778195B2 (en) | Zooming controller | |
| US5398044A (en) | Method of and an arrangement for controlling the cursor movement on a graphical display | |
| US5374942A (en) | Mouse and method for concurrent cursor position and scrolling control | |
| US20030117380A1 (en) | Method of inputting a numerical value using a touch panel and input apparatus thereof | |
| EP3035167A1 (en) | Computer input device with smart scroll | |
| EP1380945A3 (en) | Method and system for flexible time-based control of application appearance and behaviour | |
| EP0987649A3 (en) | Touch-sensitive tablet | |
| EP0539599A4 (en) | ||
| EP1035464A3 (en) | selection navigator | |
| EP0829799A3 (en) | Wall computer module | |
| JPS63206827A (en) | Display scroll method | |
| US20040085294A1 (en) | Method for operating a haptic interface unit | |
| CA2059893A1 (en) | Method of scrolling a display window | |
| EP0795837A1 (en) | User pointing device with touch sensing pads for selection and pressure input | |
| US20020036657A1 (en) | User interface | |
| CA2429660A1 (en) | Field control method and system | |
| FI20186071A1 (en) | A user interface and a method to operate a user interface | |
| JP2763836B2 (en) | Sentence processing device and method for changing format of sentence processing device | |
| JPH05224873A (en) | Image display device | |
| JPH0439721A (en) | Movement control method for cursor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FZDE | Dead |