A METHOD AND APPARATUS FOR MANIPULATING GRAPHICS

Abstract: The invention provides a method and apparatus for manipulating graphics comprising, providing a first display (2a) of graphics to be manipulated, and a second display (2b) of graphics identifiers, each identifier being associated with a grouping of graphics in the first display, and providing means to enable manipulation of at least some of the identifiers in the second display to cause corresponding manipulation of graphics in the first display associated with the identifier or identifiers characterised in that means are provided to manipulate graphics in the first display such that a spatial relationship between the graphics in a first set of graphics is maintained. This enables the graphics to be more easily and speedily manipulated than would otherwise be possible.

Description: A METHOD AMD APPARATUS FOR MANIPULATING GRAPHICS This invention relates to a method and apparatus for manipulating graphics particularly, but not exclusively, for use in designing bills for charging customers for the provision of services or products. A bill is quite often the most common form of contact a company has with its customers and the appearance of the bill is therefore very important. The bill has to be easy to read and understand, and to convey a clear image of the company to its customers. In order to achieve this, the bill is frequently redesigned and in the past this has been achieved by the designer editing tables of values governing the bill printing process. A typical edit screen display is shown in Prior Art figure 1 and it comprises a table of text items having an item number for example, 1 1 100; a text descriptor, for example; "AMOUNT FOR OPERATOR CALLS"; a block width, for example, 00101 ; space before and after the block, for example, 004 and 000; and total height of the block, for example, 016. For the designer to change the bill it was necessary to edit the lines of values and then to cause a bill to be printed according to the updated values. This was a cumbersome and time consuming method and the present invention arose in an attempt to provide a more easily used method and apparatus. It is known to provide word processing packages which display the text which is to be printed eventually. These provide methods of manipulating the text, for example, by moving blocks of text from one area of the displayed document to another. Typically, movement of text is achieved by a laborious method of visually scanning the displayed document for the relevant area, highlighting it by marking the block beginning and block end using the word processor functions, visually scanning the displayed area for a desired place of insertion and then commanding the word processor to insert the text at the desired place of insertion. This process is laborious enough for short documents but when it involves a bill or other document of normal size it may require considerable time spent in scrolling the display searching for text and a suitable place of insertion. It is believed that at least one word processing package enables easier block manipulation by providing a second view of the text to be displayed in which only the outline structure is shown that is to say only block headings are displayed not the full text. The block headings may be manipulated on screen causing corresponding manipulation of the full text. Thus there is structure inherent in the second view which is changed in this operation. This view can be thought of as a logical view in that it contains the logical or order structure of the document. A change in the order of block headings in the logical view causes a re-ordering of the blocks of text in the full view. According to a first aspect of the present invention there is provided a method of manipulating graphics comprising providing a first display of graphics to be manipulated, and a second display of graphics identifiers, each identifier being associated with a grouping of graphics in the first display, and providing means to enable manipulation of at least some of the identifiers in the second display to cause corresponding manipulation of graphics in the first display associated with the identifier or identifiers, characterised in that, means are provided to manipulate graphics in the first display such that a spatial relationship between graphics in a first set of graphics is maintained as is the spatial relationship between graphics in a second set of graphics as the spatial relationship of the first and second set of graphics is varied. Conveniently, selection of an identifier in the second display results in the corresponding grouping of graphics being displayed in the first display. This enables rapid location of the grouping in a document which extends beyond the display (in the sense that not all the document can be displayed at one time), to be achieved by selection from the second display of the relevant identifier. Preferably, the corresponding grouping of graphics in centred in the first display. The displays may be shown simultaneously or alternately. By graphics it is meant text, pictures, symbols or other data, or pictorial information, or a mixture of these. According to a second aspect of the invention there is provided apparatus for manipulating graphics comprising means for associating a set of graphics identifiers with a set of graphics to be manipulated; means for displaying as a first display the set of graphics and as a second display the set of graphics identifiers; means for enabling manipulation of at least some of the graphics identifiers in the second display to cause corresponding manipulation of graphics in the first display associated with the identifier or identifiers; characterised in that the means for enabling manipulation also enables manipulation of graphics in the first display such that a spatial relationship between the graphics in a first set of graphics is maintained, as is the spatial relationship between graphics in a second set of graphics, as the spatial relationship of the first and second set of graphics is varied. A specific embodiment of the invention will now be described, by way of example only, with reference to the drawings, in which:- Figure 2 shows a bill designing system operating in accordance with the invention; Figure 3 is a schematic block diagram of the system shown in figure 2; Figure 4 is an enlarged view of a video display unit used in the system shown in figure 2; Figures 5 & 6 show parts of the display shown in figure 4; and Figures 7 & 8 are explanatory diagrams showing parts of the displays after manipulation. With reference to figure 2, a bill designing system operating in accordance with the invention comprises a computer workstation 1 of known type such as a Sun Workstation manufactured by Sun Corporation. The workstation 1 comprises a visual display unit (VDU) 2, a computer unit 3, a keyboard 4 and a mouse 5. The workstation 1 is programmed to operate in accordance with the invention by loading the program by means of the disc drives 8 located in the front face of the computer unit 3 or from an internal hard disc (not shown) located within the computer unit 3 on which the program has been installed. The manner of doing this will be well known to those versed in the art. The bill designing system is shown in schematic block diagram form in figure 3 and it can be seen to comprise a bill processor engine 7, a keyboard and mouse interface 8, a data base 9, a display driver 10 and an optional constraints database 100. The keyboard and mouse interface 8 monitors the keyboard 4 for the depression by a user of the keys and also monitors the mouse 5 for movement and actuation by the user. The monitoring is performed in a manner well known in the art and will not be described further but the user input is passed by the keyboard mouse interface 8 to the bill processing engine 7 along a databus 1 1 of a known type. The database 9 is located on the computer's hard disc drive (not shown) and can be accessed by the bill processor engine 7 by means of a databus 12 . The database 9 contains data to be displayed on the bill created by the system user. The display driver 10 drives the VDU 2 to display processed data from the bill processor engine 7. As shown in figure 4, the processed data is displayed on the VDU 2 in two display area 2a and 2b. The display areas 2a, 2b may be displayed one at a time or simultaneously as the user wishes. The first display area 2a comprises a representation of the bill being designed including all the graphics, that is, text, figures and other information that will be printed on the bill once the design has been finalised. This is shown in figure 5. The second display area 2b comprises a logical representation of the representation shown in the first display area 2a with the various text groupings displayed in tree structures as shown in figure 6. The tree structures comprise a customer tree 51 , a bill tree 52 and a logo tree 53. LOGO tree 53 has only one element a root node but the other trees are multi-element. Thus, the customer tree 51 , comprises elements NUMBER 51 a, NAME 51 b and ADDRESS 51 c and a root node CUSTOMER 60. The bill tree 52 comprises elements PERIOD 52a, RENTAL 52b, UNITS 52c, TOTAL 52d, VAT NO. 52e all branching from a root node BILL 61. From the figure it will be seen that the elements UNITS 52c and TOTAL 52d have a number of sub-elements. UNITS 52c comprises sub-elements RATE_A 52f, RATE_B 52g and DISCOUNT 52h. TOTAL 52d comprises sub-elements SUB TOTAL 52i, VAT 52j, and TOTAL PAY 52k. Each of the trees relates to a logical grouping of the text and other graphics shown in display area 2a. The LOGO tree 53 is a logical representation of a trademark 41 shown in display area 2a, in this case it is the registered trademark of British Telecommunications pic. The CUSTOMER tree 51 relates to the customer details 42 with each element relating to specific parts of the customer details 42. Element NUMBER 51 a relates to the customer number information 42a. Element NAME 51 b relates to the customer's name information 42b. ADDRESS 51 c relates to address information 42c. BILL 52 relates to the charging information 43 with the element PERIOD 52a relating to text 43a concerning the billing period. The RENTAL element 52b relates to text 43b; the UNITS element 52c relates to text 43c with the sub-element RATE_A 52f relating to information concerning the number of units used at a particular rate, text 43d of 43c; the sub-element RATE_B 52g relating to the line of text 43e describing the number of units used at another rate; the sub-element DISCOUNT 52h relating to the line of text 43f which details the discount for use above a certain threshold; and sub-element 52j relating to line of text 43g being the sub total of the cost of the units used less discount. The TOTAL element 52d of BILL 52 relates to text 43h concerning the total cost of the rental and units, with the sub-element SUB_TOTAL 52i relating to a line of text 43i (relating to the cost less VAT); sub-element VAT 52j relating to the line of text 43j the VAT element of the bill; and sub-element TOTAL_PAY 52k relating to the line of text 43k, the total due from the customer. Element VAT_NO 52e of BILL 52 relates to line of text 43I displaying the invoicing company's VAT number. A cursor 44 is generated by the display driver 10 and can be made to move, by the user, between the display areas 2a, 2b to cause the bill processor engine 7 to perform the manipulation operations under control of the keyboard 4 or mouse 5 in the following manner. (The movement being monitored by the keyboard mouse interface 8 and this information being passed on to the bill processor engine 7). Suppose the user wishes to redesign the bill shown in display area 2a by exchanging the position of the trademark 41 and the customer details 42. This is achieved by manipulation of the logical trees in display area 2b. The cursor 44 is moved into display area 2b by the user moving the mouse 5 until the cursor 44 is over CUSTOMER tree root node 60. A button on the mouse 5 is clicked to capture the tree which may then be moved, by moving the mouse, to its new position point x. The button is then released to release the tree. The LOGO tree 53 is then picked up under mouse control in a similar manner and deposited in its new position. The bill processor engine 7 simultaneously moves the customer information 42 and trademark 41 in display area 2a to produce a bill representation as shown in figure 7. Thus, the graphics in the representation displayed in display area 2a are moved en bloc by manipulation of the trees displayed in display area 2b without the need to define the blocks of graphics to be moved on the representation as in conventional bill designing systems. The graphics in the representation may also be manipulated by editing the tree structure of the display area 2b. The designer may for example wish to move the information about the units used 43c to a position between the period information 43a and the rental information 43b. In other words the units used information is to appear on the bill abovs the rental information. To do this the user moves the cursor 44 over UNITS element 52c actuates the mouse button to capture the element and its sub-elements and moves it vertically to a position between PERIOD element 52a and the RENTAL element 52b. The bill processor engine 7 simultaneously exchanges the units used information 43c and rental information 43b in the representation. Sub-elements of the logical representation can also be manipulated in a similar manner to cause re-ordering of the text shown in the representation. For example, sub-element 52f and 52g may have their position exchanged causing the line of text 43e to be displayed above the line of text 43d in display area 2a. If the user wishes to increase the information on the bill by, for example, introducing the invoicing company head office address, a tree editing function is used to enter a new tree or, in this case, a new element to the LOGO tree 53. The user places the cursor 44 over LOGO tree 53 and presses a command key on the keyboard 4 to enter a create element mode. A branch from LOGO 53 is created and the user prompted for the element name which is typed and simultaneously displayed at the new branch under logo. A user might name the element HEAD_OFFICE as shown in figure 8. The bill processor engine 7 then produces a flashing cursor beneath the trademark 41 display area 2a and displays a message requesting the user to input text. The user then inputs text via the keyboard 4 which is then simultaneously displayed adjacent the flashing cursor. When the user has finished entering the text a control key is depressed to exit the create mode and then the flashing cursor is disabled. The resulting representation is shown in figure 8b. Blocks of text in the display area 2a may be deleted by deleting an element or tree in display area 2b by entering delete mode by selection of a command key with the • cursor 44 over the relevant element or tree. If the designer wishes to vary the spacing between particular blocks of text on the bill, for example by increasing the spacing between the text " TOTAL COST UMTS USED " and the text " TOTAL FOR RENTAL & UMTS USED " he may select a move text option and move the cursor 44 to the first line of text below the separation that is to be increased. The mouse 5 is " clicked on " the line of text and the text moved downwards. When the line of text is released by releasing the button on the mouse 5, the display is refreshed such that the text above the selected line of text remains in its original position with the spacing maintained. The line of text moved is displayed at its release position and the text originally positioned below the selected text, that is to say, " VAT at 17 1 /2% £PQ Total Due £KLM VAT No. GBXYZFJK" is displayed at a new position below the selected line of text with the spacing between the lines maintained. For certain applications it may be desirable to prov degree of designer constraint, for example, the designer may wish to change the size of the text in such a way that it cause difficulty for customers to read. This may be achieved by the bill processor engine comparing the designer's input with a set of constraints stored in the optional constraints database 100. The constraints could be mandatory in that they prevent the change being made or advisory warning the designer that the change may cause certain difficulties . Messages could be displayed as appropriate. When the bill design is satisfactory, sample data may be loaded from the database 9 to change variable areas of the bill, for example, the customer details and various costs.

Claims: CLAIMS 1 . A method of manipulating graphics comprising providing a first display of graphics to be manipulated, and a second display of graphics identifiers, each identifier being associated with a grouping of graphics in the first display, and providing means to enable manipulation of at least some of the identifiers in the second display to cause corresponding manipulation of graphics in the first display associated with the identifier or identifiers, characterised in that, means are provided to manipulate graphics in the first display such that a spatial relationship between the graphics in a first set of graphics is maintained, as is the spatial relationship between graphics in a second set of graphics as the spatial relationship of the first and second set of graphics is varied. 2. A method as claimed in Claim 1 wherein the graphics identifiers in the second display are hierarchically interrelated. 3. A method as claimed in Claim 1 wherein the graphics identifiers in the second display are displayed as a tree. 4. A method as claimed in Claim 1 or 2 or 3 wherein selection of an identifier in the second display results in the corresponding grouping of graphics being displayed in the first display. 5. A method as claimed in Claim 4 wherein the corresponding grouping of graphics is centred in the first display. 6. A method as claimed in any preceding claim wherein a constraints database is provided containing a set of design constraints, the constraints database being referred to before accepting a manipulation of the graphics. 7. Apparatus for manipulating graphics comprising means for associating a set of graphics identifiers with a set of graphics to be manipulated; means for displaying as a first display the set of graphics and as a second display the set of graphics identifiers; means for enabling manipulation of at least some of the graphics identifiers in the second display to cause corresponding manipulation of graphics in the first display associated with the identifier or identifiers; characterised in that the means for enabling manipulation also enables manipulation of graphics in the first display such that a spatial relationship between the graphics in a first set of graphics is maintained, as is the spatial relationship between graphics in a second set of graphics, as the spatial relationship of the first and second set of graphics is varied. 8. Apparatus as claimed in claim 7 including means for hierarchically interrelating the graphics identifiers. 9. Apparatus as claimed in claim 8 wherein the means for displaying displays the graphics as a tree structure. 10. Apparatus as claimed in any preceding claim wherein a memory is provided which in use includes a database of design constraints the database being accessed to verify that an input manipulation does not conflict with a constraint prior to acceptance of the manipulation.

Inventors: SANDERS PAUL MAURICE, UTTON PETER COVINGTON, SANDERS, PAUL, MAURICE, UTTON, PETER, COVINGTON
Applicants: BRITISH TELECOMM, SANDERS PAUL MAURICE, UTTON PETER COVINGTON, BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY, SANDERS, PAUL, MAURICE, UTTON, PETER, COVINGTON
Application year: 1995
Main classification: G06T11
IPC codes: G06F17, G06T11