`
`[19]
`
`5,666,552
`*Sep. 9, 1997
`Greyson et al.
`[45] Date of Patent:
`
`[11] Patent Number:
`
`USOO5666552A
`
`[54] METHOD AND APPARATUS FOR THE
`MANIPULATION OF TEXT ON A
`COMPUTER DISPLAY SCREEN
`
`[75]
`
`Inventors: Ann M. Greyson, Sunnyvale; Jeffrey
`D. Hokit, Mountain View; Marjory
`Kaptanoglu, San Carlos; Annette M.
`Wagner, La Honda; Stephen P. Capps.
`Redwood City, all of Calif.
`
`[73] Assignee: Apple Computer, Inc., Cupertino.
`Calif.
`
`Microsoft Corporation, Microsoft Word:Using Microsoft
`Word, version 5.0, 1989, pp. 69, 88-93.
`
`Microsoft lVndows User’s Guide; version 3.0; 1990; pp.
`273-279, 296-301.
`
`“Notebook Tabs as Target Location for Drag/Drop Opera-
`tions”, IB, vol. 35, No. 7, Dec. 1992.
`
`Screen Dumps from Microsoft Windows V 3.1, Microsoft
`Corporation 1985-1992 (14 pages).
`
`(List continued on next page.) '
`
`[* ] Notice:
`
`The term of this patent shall not extend
`beyond the expiration date of Pat. No.
`5,442,742.
`
`Primary Examiner—Joseph H. Feild
`Attomey, Agent, or Fimi-Blakely, Sokolofi, Taylor &
`Zafman
`
`[21] Appl. No.: 457,053
`
`[22] Filed:
`
`Jim. 1, 1995
`
`Related U.S. Application Data
`
`[63] Continuation of Ser. No. 137,375, Oct. 14, 1993, Pat. No.
`5,442,742, which is a continuation of Ser. No. 632,313, Dec.
`21, 1990, abandoned.
`
`Int. Cl.6 ...................................................... G06F 17/24
`[51]
`[52] U.S. Cl. ............................................. 395/802; 345/157
`[58] Field of Search ..................................... 395/144-148,
`395/ 155-157, 792-793, 802, 803, 779-780,
`782; 364/4191, 419.17; 345/156, 157
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`1/1982 Thornburg .............................. 340/709
`4,313,113
`4,484,302 11/1984 Cason et al.
`.
`.. 364/900
`4,555,775 ll/1985 Pike .............
`364/900
`
`8/1987 Agarwal .................................. 364/200
`4,688,167
`
`(List continued on next page.)
`OTHER PUBLICATIONS
`
`Microsoft Corporation, Microsoft & Windows Paint User’s
`Guide version 2.0, 1987, pp. 8-10, 44-45.
`Microsoft Corporation, Micmsoft & Windows Write User’s
`Guide, version 2.0, 1987, pp. 60-65.
`
`[57]
`
`ABSTRACT
`
`A means and method for directly manipulating text on a
`computer display screen. A selected block of text is first
`identified for manipulation. After being identified,
`the
`selected block of text is highlighted on the display screen
`using contrasting colors or a reverse video. A text manipu-
`lation handle associated with the selected text block is
`displayed. The user may then directly manipulate the
`selected text block by positioning a cursor within the text
`manipulation handle and activating a signal generation
`device. When this occurs, the selected text block may be
`moved around the display screen while remaining Visible
`using the cursor control device as long as the signal gen-
`eration device remains active. A shadow image and insertion
`marker associated with the selected text block is displayed
`while the selected text block is moveable. A cutting or
`copying operation may be selected when the signal genera-
`tion device is activated. The cutting operation removes the
`selected text block from the available text leaving a blank
`area at its original position. The copying operation retains
`the original selected text block in its previous position in the
`available text. When the signal generation device is
`deactivated. the selected text block is inserted or pasted into
`the available text at the position indicated by the insertion
`marker. The available text is then reformatted to achieve
`continuity in the lines of available text.
`
`23 Claims, 6 Drawing Sheets
`
`215
`
`it's not a questionmhere he grips it,
`
`it's a simple
`of weight-ratios
`a five-ounce bird could not hold a
`one-pound coconut. Lookl,;l'o maintain a
`/.-
`matter
`214 J
`212
`
`21 1
`
`1
`
`GOOGLE 1020
`
`GOOGLE 1020
`
`1
`
`
`
`5,666,552
`
`Page 2
`
`.. 395/164
`.. 345/199
`.. 395/159
`...................... .. 395/146
`
`
`
`5,371,851 12/1994 Pieper et al.
`5,400,057
`3/1995 Y .............
`5,422,993
`6/1995 Fllgming .........
`5,442,742
`3/1995 Greyson eta].
`
`OTHER PUBLICATIONS
`
`mP
`uter Education Course
`Future Enterpfises Inc.,AMicroco
`for: U.S. Department of Commerce “Student Workbook for
`Quattro P1-0 3_0.__ConcePts and Basic Uses,”
`Pages)
`Apple Computer, Inc., “Inside Macintosh, vol. VI,” Table of
`C°“t9“‘S’ 5‘? ‘h‘°“gh.5‘117 (1991)-
`_
`Jeffrey M. Richter, Windows 3.1: Developer’s Guide. 2cd
`Edition, M &TBooks,ADivision of M &T Publishing, Inc.
`(1992). PP- 541-577 (Chapter 9).
`56
`_
`Chg? -P6%°113d’. Wmdi-LVS 3'1 Hello f1°:l:me.TypeifiOLE’
`E, Farew to Real Mo e, Microso Sys-
`an
`asler
`I
`81
`1 6 N
`S
`/O 1991
`17 26
`Eelgrs
`°1‘:{mR~1‘;1°'
`~
`°° 5E °P-
`“L
`~PP'
`a1:
`ey
`‘c ter. “Drop verything: How to M 6 our
`e
`.
`Application Accept & Source Drag—and—Drop Files,”
`Microsoft Systems Journal, vol. 7, No. 3, May/Jun. 1992,
`pp_ 19_30_
`Microsoft Windows User’s Guide, Version 3.0, 1990; PD.
`272 279 296_301
`_
`’
`'
`Technical Disclosure Bulletin for Windows V 5.1, Word-
`Perfect Corporation, 1991 (16 pages).
`
`U.S. PATENT DOCUMEN'I'S
`4,698,624 10/1937 Barker at 81-
`-
`4:698/625 10/1937 M¢C9ski11 --------
`4,720,703
`1/1988 Schnarel, Jr. et al.
`4,780,883 10/1988 O’Connor et a1.
`4,831,556
`S/1989 Oono .............
`4,862,376
`8/1989 Feniter et a1.
`4,363,765
`9/1989 Diefendonf
`4,905,135
`.............
`4,922,414
`5/1990 Holloway et a1.
`H
`:4‘
`hét
`....... 395/700
`.....
`1/1992 Dysart eta].
`5,079,695
`395/159
`s/1992 naming ex -.11,
`5,140,577
`395/157
`5,157,763 10/1992 Peters et a1.
`..
`340/724
`5,196,838
`3/1993 Meier et al.
`......
`364/419
`5,202,828
`4/1993 Vertelney et al.
`395/159
`5,214,756
`5/1993 Franklin et al.
`..
`.
`395/157
`5,226,117
`7/1993 Miklos ..........
`395/700
`5,226,163
`7/1993 Kaxsh et al.
`395/155
`5,228,123
`7/1993 Hcckel
`..........
`345/173
`5,260,697
`11/1993 Barrett et al.
`.
`395/159
`5,287,448
`2/1994 Nicol et al.
`395/157
`5,301,268
`4/1994 Takeda ......
`395/159
`5’305’435
`4/1994 Br°“s°n
`395/159
`..
`5,333,256
`7/1994 Greenetal.
`395/161
`5,339,392
`8/1994 Risberg at al.
`364/419
`5,341,293
`3/1994 Venaney e131,
`5,371,844 12/1994 Andrew et a1.
`......................... 395/155
`
`
`
`340/709
`340/709
`340/709
`....... 375/7
`364/521
`364/468
`364/521
`
`...
`.. 395/400
`
`2
`
`
`
`mef.aPQMU
`
`192:9mamm
`
`W9
`
`.m1W
`
`6
`
`255:666,5
`
`SE:
`
`R:2:mg
`
`H2&5
`
`S2:meNS.2:
`
`
`
`
`
`aoufioaowEcwmm8_>oQMOHEOUSE50u_h..E:§:&<8_>uQ»£%_Q
`
`
`
`
`
`
`oogomoo_>oQE9:3
`
`
`
`
`
`
`®0«>0QOMQHOHWdwdnxmfifioumufiuvwwmDUO<.EOUGNMHuommoooum
`
`bofiouzbonsfi
`
`
`
`
`
`
`
`
`
`
`
`3
`
`
`
`
`U.S. Patent
`
`Sep. 9, 1997
`
`Sheet 2 of 6
`
`5,666,552
`
`Figure 23
`
`it's not a question of where he grips it,
`it's a simple matter of weight-ratios
`a five-ounce bird could not hold a
`
`one-pound coconut. Look! To maintain a
`
`Figure
`
`°
`Flgure 2c
`
`Figure 2d
`
`210
`
`211
`f 212
`it's not a qugtiongvhere he grips it,
`
`it's a simple matter of weight-ratios
`a five-o
`cé‘bird c
`Id not hold a
`one-po nd coconut. Look! To maintain a
`
`214
`
`213
`
`21 O
`
`215
`r
`it's not a question ‘of where he grips it,
`it's a simple
`of weight-ratios
`
`a five-ounce bird could not hold a
`one-pound coconut. Look!,§l’o maintain a
`/"
`"\-211
`matter
`214 /
`\/--213
`212
`i
`
`210
`
`it's not a question of where he grips it,
`it's a simple of weight-ratios
`a five-ounce
`bird could not hold a one-pound coconut.
`Look! matter To maintain a
`
`212
`
`211 .
`
`4
`
`
`
`U.S. Patent
`
`Sep. 9, 1997
`
`Sheet 3 of 6
`
`5,666,552
`
`Figure 2e
`
`210
`
`216
`r
`it's not a questionflvhere he grips it,
`
`it's a simple matter of weight-ratios
`a five-ounce bird could not hold a
`
`one-pound coconut. Look!,\To maintain a
`214‘ matterrX"'2“
`J
`\/-213
`212
`
`Figure
`
`.
`Flgllre
`
`it's not a question of where he grips it,
`
`it's a simple matter of weight-ratios
`a five-ounce bird could not hold a
`
`one-pound coconut. Look! matterTo
`maintain a
`212
`211
`
`210
`
`it's not a question of where he grips it,
`it's a simple matter of weight-ratios
`212
`\ a five-ounce bird could not hold a
`one-pound coconut. Look! To maintain a
`
`/A 21{1
`
`214
`
`K213
`
`Figure 2h
`
`'
`'
`Flgure 21
`
`210
`
`12
`f
`it's not a question of here he grips it, F
`
`211
`
`it's a simple matter of ne-pound coconut
`a five-ounce bird
`u
`not hold a
`
`one-pound cocon t. Look! To maintain a
`
`214
`
`213
`
`210
`
`212
`
`}11
`f X
`it's not a question 0 wt are he grips it,
`it's a simple matter of one-pound coconut
`
`a five-ounce bird could not
`weight-ratios
`hold a one-pound coconut. Look! To
`maintain a
`
`5
`
`
`
`U.S. Patent
`
`Sep. 9, 1997
`
`Sheet 4 of 6
`
`5,666,552
`
`
`
`Start Direct Text
`
`Manipulation function
`
`301
`
`
`302
`
`Receive a text block
`
`selection. Highlight
`selectedtextblock.
`
`
`
` Draw a text
`manipulation handle
`
`adjacent to selected
`
`text block.
`303
`
`
`
`
`is the Cursor located within
`
`the text manipulation handle?
`304
`
`
`Yes — 306
`
`Display Direct Text
`Manipulation cursor
`symbol.
`
`307
`
`Figure 3
`
`6
`
`
`
`U.S. Patent
`
`Sep. 9, 1997
`
`Sheet 5 of 6
`
`5,666,552
`
`40 1
`
`is Signal GenerationDevice active?
`
`
`
`Yes - 403
`
`
`
`
`Cache the selected text block along witl1 a rectangle which
`will enclose the selected text block.
`411
`
`
`
` is Copy operation requested?
`
`408
`
`
`No - 410
`
`Erase selected text block from the True Buffer.
`404
`
`
`
`Save the current location ofthe region occupied by the directly '
`manipulated selected text block and the shadow, text manipulation
`
`405
`handle, insertion marker, and a portion ofthe available text.
`
`
`
`
`
` Compute the union ofthe the region occupied by the directly manipulated
`
`
`
`
`
`selected text block, the shadow, text manipulation handle, insertion
`marker and a portion of the available text at its new location with the
`region occupied, by the directly manipulated selectedtext block, the
`shadow, text manipulation handle, insertion marker, and a portion of the
`available text at its previous location (initially, the previous location is an
`empty image). This union is denoted the union image.
`406
`
`
`
`
`
`
`
`
`
`
`
`
`Copy the area corresponding to the union image from the True Buffer
`to the Scratch Buffer. This will erase the selected text block, the
`shadow, text manipulation handle, and insertion marker from where it
`was previously drawn.
`407
`
`
`
`7
`
`
`
`U.S. Patent
`
`Sep. 9, 1997
`
`Sheet 6 of 6
`
`5,666,552
`
`
`
`
`
`Using the cached selected text block and rectangle,
`generate an image of the selected text block with
`associated shadow. Store image in the Scratch Buffer
`at the current location of the selectedtext block.
`501
`
`
`
`
`
`
`
`
`Draw an insertion marker (i.e. caret" symbol) in the
`Scratch Buffer at a location between the characters
`where the selected text block will be pasted when the
`signal generation device is deactivated.
`502
`
`
`
`
`
`Draw the image in the Scratch
`Buffer to the display screen.
`503
`
`
`
`is Signal Generation Device
`active?
`504
`
`
`
`
` Generate and display an image of the displayed page
`
`oftext with the selected text block merged in at the
`
`last position indicated by the caret (") symbol.
`
`
`Reformat the available text with newly inserted text.
`
`
`Remove caret symbol and selected text block shadow.
`
`
`507
`
`Yes-511
`
`Figure 5
`
`8
`
`
`
`1
`METHOD AND APPARATUS FOR THE
`MANIPULATION OF TEXT ON A
`COMPUTER DISPLAY SCREEN
`
`This is a continuation of application Ser. No. 08/137.375,
`filed Oct. 14. 1993. U.S. Pat. No. 5,442,742, patented Aug.
`15, 1995. which is a continuation of application Ser. No.
`07/632,318, filed Dec. 12, 1990, abandoned.
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`
`The present invention relates to user interfaces for com-
`puter display systems. Specifically. the present invention
`relates to the direct manipulation of text on a computer
`display screen.
`2. Prior Art
`
`Modern interactive computer systems have become very
`popular for use in word processing. With the development of
`more powerful and faster computer hardware, these state-
`of-the-art computers are capable of processing greater
`amounts of data in a shorter amount of time. Similarly. ever
`more sophisticated and powerful software systems are being
`developed to run on these high powered computers.
`Specifically, word processing software has become a com-
`mon component in most any computer system. A goal in the
`design and development of these word processing software
`applications has been to design the most powerful system
`possible while maintaining an understandable and easy-to-
`use user interface.
`
`Word processing software user interfaces employing a
`“what you see is what you get” (i.e. WYSIWYG) philosophy
`have gained a great deal of popularity among computer
`users. One reason for this popularity is that users prefer to
`see a visual result of the functions and operations they apply
`to a particular document or text region of the display screen.
`This visual reinforcement is an important aspect of any
`software package assisting a user in generating or manipu-
`lating text. Often, a user is not sure exactly what result to
`expect from the application of a particular command or
`operation; yet lmowing the exact form of the results is
`_ important in determining whether or not the operation
`should be performed at all.
`Prior art computer systems employ various methods for
`implementing user interfaces with a WYSIWYG philoso-
`phy. Specifically, several systems provide commands for
`cutting (i.e. removing), copying, and pasting (i.e. inserting)
`blocks of text in a computer system environment or a
`particular document using a highly visual and manipulable
`user interface methodology. Two examples of such prior art
`systems are the Finder” interface of the Apple Macintosh”
`computer, developed by Apple Computer. Inc. of Cupertino,
`Calif. and Microsoft Word”, developed by Microsoft, Inc.
`of Redmond, Wash. Both these and other computer-based
`systems employ a text manipulation technique whereby a
`block of text is first identified for manipulation using a series
`of keyboard keystrokes or using a cursor control device for
`positioning a cursor (i.e. pointer) symbol on the display
`screen. A computer mouse or trackball device may be used
`as a cursor control device. The identified (i.e. selected) block
`of text is typically indicated on the display screen in a
`contrasting color or reverse video.
`Once selected. Various operations may be applied to the
`selected block of text in these prior art systems. Two such
`operations most commonly used are: (1) the cut or remove
`operation and (2) the copy operation. When the cut operation
`is invoked, the selected block of text is typically deleted
`
`5,666,552
`
`2
`
`from the display screen and the remaining unselected por-
`tions of text from the text region or document are reformat-
`ted to fill the blank area left by the deleted block of text. In
`addition to being removed from the display screen, the
`deleted text is typically transferred to a memory buffer or
`temporary disk file neither of which is visible to the user on
`the display screen. In the Apple Macintosh” computer, this
`temporary buffer is called a clipboard or clipboard file. Other
`systems may use a diiferent terminology; but. a temporary
`storage buffer not visible to the user typically exists in these
`systems.
`When the copy operation is invoked for a selected block
`of text, the selected block of text is copied to the clipboard,
`but remains in position within the document. Thus. an
`invisible copy of the selected text is maintained within the
`clipboard or temporary holding buffer in a manner similar to
`the cut operation.
`Other derivative forms of the cut and copy operations may
`exist in the prior art, but the steps described above generally
`apply to the prior art systems. For example, a block of text
`may first be selected. The user may then choose to insert new
`text into the position occupied by the selected text. If the
`user begins to insert new text by typing characters on a
`keyboard coupled to the computer system, prior art systems
`typically perform an implied cut or remove text operation on
`the selected text prior to insertion of the new text. This
`implied cut operates in the same manner as the cut operation
`described above. That is,
`the selected block of text is
`removed from the display screen and transferred to the
`invisible clipboard.
`"
`In addition to cut and copy operations, prior art systems
`typically provide a means for pasting (i.e. inserting) previ-
`ously cut or copied text into a new position within a
`document or a text region on the display screen. The typical
`prior art pasting operation is performed by first identifying
`an insertion position within a document or text region where
`the insertion will be applied This insertion position identi-
`fication may be performed using keyboard key strokes or the
`cursor control device (i.e. mouse). Prior art systems typi-
`cally indicate the identified insertion position by means of a
`small visual symbol displayed on the display screen at the
`paste position. Once this position is identified, the user then
`invokes a paste or insert command. On invocation of the
`paste command, the current contents of the clipboard or
`temporary holding buffer are transferred to the document or
`text region starting at the insertion position. The other
`unselected portions of text are reformatted to make room for
`the newly pasted block of text. The pasted block of text is
`thus transferred from the invisible clipboard or temporary
`holding buffer to the indicated insertion position. Once the
`paste operation is complete, the user is able to View the result
`of the operation on the display screen. Unfortunately, the
`user is not given the opportunity to view the block of text in
`the clipboard prior to the completion of the paste operation.
`While some prior art systems provide a means for viewing
`the clipboard or holding bulfer, this viewing involves acti-
`vating a separate set of controls and often may obscure a
`portion of the display screen while the clipboard is being
`viewed In addition, full text formatting of the block of text
`in the clipboard is lost while viewing the clipboard.
`Other prior art systems outside of the computer-based
`word processing environment are designed for drawing
`graphics images and text on a computer display screen, One
`such prior art system is MacDrawTM developed by Apple
`Computer, Inc., Cupertino, Calif. These prior art drawing
`systems provide a means for inserting and manipulating
`blocks of text; however, these systems typically treat each
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`9
`
`
`
`5 ,66_6,552
`
`3
`block of text as a separate entity or object Since each text
`object is separate,
`the capability to reformat an entire
`document is lost. For example, one block of text cannot be
`conveniently merged into another block with the corre-
`sponding line justification and word wrap operations being
`performed as in a word processing environment. In addition,
`drawing systems often impose size restrictions on the num-
`ber of characters inserted into a particular text object.
`Thus, a means for the direct manipulation of text is
`needed. It is, therefore, an object of the present invention to
`provide a means for directly manipulating text in a way that
`provides effective visual feedback for the user. It is a further
`object of the present invention to provide a direct text
`manipulation method requiring fewer user control activa-
`tions thereby simplifying the user interface. These and other
`objectives and features of the present invention will be
`discussed in more detail in the sections that follow.
`
`SUMMARY OF THE INVENTION
`
`The present invention provides a means and method for
`directly manipulating text on a computer display screen. The
`text manipulated using the present invention includes alpha-
`numeric characters, purely numeric characters, special sym-
`bols or other images displayable on a computer controlled
`display screen. The present invention comprises an interac-
`tive computer display system including a bus for intercon-
`necting systems components, a processor, processing logic,
`a random access memory, a display device including a
`display screen, a cursor control device for interactively
`positioning a cursor (i.e. pointer) on a display screen, a
`signal generation device for signalling command selections
`and, optionally, a read only memory, a data storage means
`for storing data and an alphanumeric input device. The
`present invention provides a means and a method for iden-
`tifying a block of text that is visible anywhere on a display
`screen and subsequently manipulating the selected text. The
`manipulation of the selected block of text is carried out
`whfle the selected block of text is visible to the user. In
`addition, fewer control activations are required to directly
`manipulate text in the manner described. Several operations
`may be performed on text using the techniques of the present
`invention including cutting (i.e. removing) text, copying
`text, or pasting (i.e. inserting) text.
`When a block of text is selected, a small visual text
`manipulation handle symbol appears on one edge of the
`selected block of text. The user can then position a cursor
`control device or mouse within the handle and subsequently
`activate a signal generation device or mouse button. The
`combination of these operations allows the user to logically
`pick up and visually move the selected block of text any-
`where around the display screen, while the unselected por-
`tion of text remains stationary. A visual representation of this
`moving block of text is presented to the user. If the selected
`block is too large to be conveniently moved and displayed
`in its entirety, only a portion is visually displayed. A shadow
`image is displayed under the selected block of text to aid the
`illusion that the selected block is being picked up. On
`picldng up the selected block of text, a copy operation may
`be invoked by activating a key on the keyboard. When the
`copy operation is invoked, a copy of the selected block of
`text is retained in its initial position before it is moved. If the
`copy operation is not invoked,
`the cutting operation is
`assumed. The cutting operation removes the selected block
`of text from its initial position on the display screen leaving
`a blank area in the document or text region where the
`selected text was originally located. When the selected block
`of text is logically picked up, another visual symbol
`
`4
`(insertion or caret symbol) appears in the unselected text
`indicating the location at which the selected block of text
`will be inserted or pasted when the user initiates the pasting
`operation. Using the insertion marker, the user can identify
`a position within the document or text region where the
`selected block of text is to be pasted. Once the desired
`insertion position is identified, the user simply releases the
`signal generation device or reactivates it thereby causing the
`selected block of text to be pasted into the identified inser-
`tion position. The remaining unselected portions of text in
`the document or text region are reformatted to make room
`for the inserted block of text thus maintaining continuity of
`the lines of text within the document. The blank area from
`which the selected block of text was removed is filled in as
`the surrounding text is refonnatted.
`Thus, the present invention provides a means for directly
`and visually cutting, copying, and pasting a block of text.
`This invention provides a method and a means for over-
`coming the failure of prior text manipulation systems of
`being able to directly and visually manipulate text on a
`computer display screen.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`10
`
`20
`
`25
`
`FIG. 1 is an illustration of the computer system architec-
`ture
`
`FIGS. 2a—2i illustrate the operation of the preferred
`embodiment on an arbitrary set of text displayable on a
`display device.
`FIGS. 3-5 are processing flow diagrams of the processing
`logic of the present invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EIVIBODINIENT
`
`The present invention provides a means and a method for
`directly manipulating text on a computer display screen. The
`text directly manipulated using the present invention
`includes alphanumeric characters, purely numeric
`characters, special symbols or other images displayable on
`a computer controlled display screen. The following detailed
`description describes a preferred embodiment of the direct
`text manipulation device and technique of the present inven-
`tion. In the following description, numerous specific details
`are set forth in order to provide a thorough understanding of
`the present invention. In other instances, well known tech-
`niques and structures have not been shown in detail in order
`to not unnecessarily obscure the present invention.
`The preferred embodiment of the present invention is
`implemented on an Apple Macintoshm computer system. It
`will be apparent to those with ordinary skill in the art,
`however,
`that alternative computer systems may be
`employed. In general, such computer systems, as illustrated
`by FIG. 1, comprises 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 processor 101, a display device 105
`coupled to said bus 100 for displaying information to a
`computer user, a cursor control device 107 coupled to said
`bus for communicating information and command selec-
`tions to said processor 101, and a signal generation device
`108 coupled to said bus 100 for communicating command
`selections to said processor 101. Optionally, said computer
`systems may include 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
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`10
`
`10
`
`
`
`5,666,552
`
`5
`
`storing information and instructions, and 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.
`The display device 105 may be a liquid crystal device,
`cathode ray tube, or other suitable display device. Color or
`gray scale display systems provide a better representation of
`me layering and shadowing effects of the present invention.
`The cursor control device 107 is a pointing device allowing
`the computer user to dynamically signal the two or three
`dimensional movement of a visible symbol (i.e. cursor) on
`the display screen of said display device 105. Many imple-
`mentations of the cursor control device are well known in
`
`the art including trackball. mouse, joy stick, or special keys
`on the alphanumeric input device 106 capable of signalling
`movement in a given direction.
`Similarly, signal generation device 108 may be imple-
`mented as a button or switch located on or near the cursor
`control device 107. The physical proximity of cursor control
`device 107 and signal generation device 108 allows a user to
`manipulate both devices simultaneously with one hand. The
`signal generation device may be operated between two
`control states: an active control state and an inactive control
`state. The signal generation device is active when in the
`active control state and deactivated when manipulated to the
`inactive control state.
`
`OPERATION OF THE PREFERRED
`EMBODIMENT
`
`The processing logic of the preferred embodiment is
`operably disposed within random access memory 102 and,
`executed by processor 101 of the computer system described
`above. The processing logic of the present invention may
`equivalently be disposed in read-only memory 103 or other
`memory means accessible to processor 101 for execution.
`This processing logic can be a separately compiled or loaded
`entity or incorporated as a part of a larger word processing
`system. In either case, a means for activating the processing
`logic of the present invention may be performed using
`techniques well known to those of ordinary skill in the art
`Once activated, the processing logic of the present invention
`operates in the manner described below.
`In a Word processing environment, the user of a computer
`system is involved with the insertion, editing, and manipu-
`lation of text. This text manipulation may be in the context
`of a document that is being edited or a region of text on the
`display screen that is being manipulated. In either case, a
`user of the present invention will encounter a set of available
`or manipulable text that is displayed or displayable on the
`display screen. An example of such a display of text is
`illustrated in FIG. 2a. As shown in FIG. 2a, an arbitrary set
`of available text 210 comprising multiple lines of alphanu-
`meric characters provides a word processing environment
`most illustrative for describing the operation of the present
`invention. It will be apparent to those skilled in the art that
`the methods of the present invenfion may be used in other
`computing environments. For example, a set of available
`text may equivalently comprise a single line of text, a set of
`purely numeric characters, a set of special characters or
`other displayable symbols. In addition, character formats for
`non—English languages may also be configured with the
`present invention. As described below, the present invention
`provides means for cutting, copying, and pasting selected
`portions of text of the set of available text 210.
`Initially, the user will be able to position a cursor symbol
`anywhere within available text 210. Once the user has
`
`10
`
`20
`
`25
`
`30
`
`35
`
`6
`positioned the cursor at the desired position, the signal
`generation device may be activated. The
`activation of
`the signal generation device defines an initial selection point
`within the available text 210. Subsequent movement of the
`cursor control device while the signal generation device is
`active will cause a selection region to be defined between the
`initial selection point and the current position of the cursor.
`Ifthe available text is English, Roman-based text, or another
`row—oriented text format, this selection region identifies a
`block of text typically defined in terms of character positions
`extending from the initial selection point to the end of the
`current line then to the left-most character of the next line
`and on down the page from left to right until reaching the
`current cursor position. For non-English text, a column-
`oriented text format, or other text format,
`the selection
`region may be defined in a different manner. The initial
`selection point and the current position of the cursor will be
`' sufficient to define the bounds of the selection region using
`most any text format. When the signal generation device is
`deactivated,
`the cmsor position where the deactivation
`occurred becomes the final selection position. The region
`defined between the initial selection point and the final
`selection point becomes the text region denoting the selected
`text block. The presence and location of the selected text
`block may be visually indicated by highlighting the selected
`text block region either in a contrasting color or in a reverse
`video image. Techniques for selecting and displaying a
`selected block of text in this manner are well lmown to those
`of ordinary skill in the art
`Once a text block is selected, the operation of the present
`invention comes into play. Referring to FIG. 2b, an arbitrary
`set of available text 210 is again shown. A selected block of
`text 211 selected and highlighted in the manner described
`above is also shown. The additional components provided
`by the operation of the present invention include:
`text
`manipulation handle 212, selected block shadow 213, and
`insertion marker 214. The operational characteristics of
`these components of the preferred embodiment of the
`present invention are described in the following sections.
`When a block of text is selected by a user, the processing
`logic of the present invention highlights the selected text
`block and displays a text manipulation handle 212. Text
`manipulation handle 212 is a region on the display screen
`associated with the selected text block 211 and used to
`directly manipulate the selected text block 211. In the
`preferred embodiment,
`text manipulation handle 212 is
`displayed on the display screen by the processing logic of
`the present invention as a small translucent rectangular
`shaded region adjacent to selected text block 211 as shown
`in FIGS. 21) through 2i. It will be apparent to those skilled
`in the art that text manipulation handle 212 may be displayed
`in alternative and equivalent ways.
`Once a block of text is selected and text manipulation
`handle 212 is displayed on the display screen, the user is free
`to move the cursor anywhere on the display screen. When
`the user moves the cursor symbol within the region defined
`by text manipulation handle 212, the processing logic of the
`present invention causes the displayed cursor symbol to be
`changed to a symbol specifically associated with the direct
`manipulation of text. This direct text manipulation cursor
`symbol provides the user with a visual indication that the
`selected text block 211 assoc