METHOD FOR DISPLAYING BOX CURSORS

Abstract: The present invention is to overcome the disappearance problem of overlapping box cursors that use especially cursors consisting of lines of identical width. Accor­ ding to the invention, one of at least two box cursors is displayed as a broken line while the other is displayed as either a full line or a broken line, wherein bit positions which are usable to store in­ verted bits for the broken line of the former cursor are different from those usable to store inverted bits for the broken line of the latter cursor.

Description: The present invention relates to a method for displaying at least two box cursors in a display apparatus with a bit inverting technique. In cases where it is required to provide some processing at a desired area of an image displayed on a screen of a display apparatus, it is practiced to display a rectangular frame called a box cursor for defining the area. It is convenient to display the box cursor by inverting specific bits of those representing the image. The reason is that, by inverting again the specific bits inverted for displaying the box cursor, the box cursor can be easily removed and the original image at the position where the box cursor is displayed can be restored. Now, it is often required to display two box cursors. For example, in a case where a portion of an image in one box cursor is moved to an area within another cursor as it is or by enlarging it. Usually, two box cursors consist of sides or lines with same thickness, so that, if they overlap partially with each other, there arises such a problem that the overlapped portion is erased. That is, the bit inverting operation is performed twice for the overlapped portion, so that it becomes in a state where no bit inverting operation is performed. For example, as shown in Figure 8, it is known that an overlapped portion 83 of two box cursors 81 and 82 is erased. A prior art technique dealing with such a problem of erasure is disclosed in pages 649 - 650 of IBM Technical Disclosure Bulletin, Vol. 27, No. 18, June 1984. It is characterized in that, as shown in Figure 9, lines of two box cursors are arranged to have different thickness (width). For example, one box cursor 91 is represented by lines with thickness of one bit (pel), while the other box cursor 92 is represented by lines with thickness of two bits. Thus, even if two box cursors overlap with each other as shown and an overlapped portion is erased, a non-overlapped area 93 is left for the box cursor 92 consisting of thicker lines, so that the function for defining the region is maintained in a way. In the prior art technique using the two box cursors differing in line thickness, they are displayed in such a manner as to cause the box cursors to slightly move at or near a location where they overlap as shown in Figure 9. That is, a portion 94 of the thinner box cursor 91 overlaps the thicker box cursor 92 and is erased. Instead, a remaining portion 93 of the thicker box cursor is displayed as if it is a part of the thinner box cursor 91 to provide such impression that the latter is slightly reduced. On the contrary, if the overlapped area is near the inside of the box cursor 92, the box cursor 91 is displayed in such impression that it is slightly enlarged. If the lines for both box cursors are relatively thin, such displaying condition does not provide so much unnatural impression. However, if they are relatively thick, the unnatural impression becomes significant. Also, in the prior art technique, if the number of box cursors to be displayed simultaneously is more than two, it is required to display third and fourth box cursors in lines that are to be thicker successively. These cursors are unshapely and not practical. The invention as laid down in the claims shows in advantageous manner the elimination of the above-mentioned problems in the prior art technique, and prevents the erasure of the overlapped portion by using at least two box cursors consisting of lines of identical thickness. To this end, the method for displaying the box cursors according to the invention is characterized in that operations for inverting bits for displaying two box cursors are performed by using masks with different bit patterns. The first method of the invention comprises steps of preparing a first mask consisting of a bit pattern which includes at least one bit 0 and at least one bit 1, and a second mask consisting of a bit pattern which has complementary (or exclusive) relation with the bit pattern of said first mask, inverting bits for displaying the first box cursor by using one of said first and second masks, and inverting bits for displaying the second cursor by using the other mask. The second method of the invention comprises steps of inverting bits for displaying the first and second box cursors by using a first mask consisting of a bit pattern which includes at least one bit 0 and at least one bit 1, and a second mask consisting of a bit pattern which includes bit 1 only. In the following description the invention is described in more detail in conjunction with an embodiment shown in the drawing in which Fig. 1 is a schematic block diagram of a display apparatus for embodying the method for displaying cursors of the invention; Fig. 2 is a diagram showing a cursor in an X-Y coordinate system defined for a display screen; Fig. 3 is a view showing bit patterns for various masks; Fig. 4 is a flowchart of operation sequence according to the first method of the invention; Fig. 5 is a view illustrating two cursors displayed according to the first method; Fig. 6 is a view indicating relations between the X coordinate values and the X direction masks for two cursors; Fig. 7 is a view illustrating two cursors displayed according to the second method of the invention and Figs. 8 and 9 are views illustrating two cursors displayed according to the prior art technique, respectively. Fig. 1 shows a schematic diagram of an arrangement of a display apparatus embodying the invention. A cathode ray tube CRT display 1 and an image memory 3 are well-known means. An image basing on image data stored in the image memory 3 is displayed on a display screen 2 of the CRT display 1. Defined on the display screen 2 are a plurality of pel (picture element) points for displaying a plurality of pels (picture elements) of the image, while the image memory 3 has a plurality of bit positions at least corresponding to the pel points on the display screen 2. The display screen 2 also displays a box cursor (hereinafter called simply "cursor") as indicated by reference numeral 14. The cursor 14 is a rectangular frame for specifying a desired area of the image, the image area within the frame is selected for process such as move or enlargement. The cursor 14 is displayed according to an operation by an operator using an external apparatus, for example, a specific key on a keyboard 10. At that moment, the operator is required to provide position specifying information indicating a desired display position for the cursor 14 through the keyboard 10. The position specifying information usually includes coordinates for diagonal points a and b of the cursor 14. The cursor 14 is displayed by inverting bits at a group of bit positions in the image memory 3 corresponding to a group of pel points for displaying the cursor. The inversion of bits can be performed by an exclusive OR operation between data bits from the image memory 3 and control bits of binary one. Thus, in the circuit arrangement as shown, a controller 8 supplies an address through a line 11 to read bit for a specific bit position to a data register 4 through a line 12. On the other hand, an invert control register 5 is loaded with a control bit 1 and feeds resulting bit of the exclusive OR 6 to a register 7. A bit in the register 7 is written in the image memory 3 through a line 13 at a position where the original data bit was stored. The image memory 3 is not limited to a type performing access bit by bit, but may be of a type performing access by plural bits. In case of the latter type, it is required to load control data consisting of a plurality of bits in the invert control register 5. The invention intends to use a plurality of different masks for inverting the bits in displaying a plurality of cursors consisting of lines of identical thickness. The masks are prepared in a mask source 9. The controller 8 has functions to selectively fetch a mask and load it in the invert control register 5 as it is or after appropriate modification. The controller 8 may be realized as a microprocessor provided with microprograms for various functions. Although the invention can be applied to simultaneously displaying any number of cursors more than one, a case for displaying two cursors is employed for convenience of description. Also, it is assumed that a plurality of pel points on the display screen 2 are specified by X-Y coordinates (x, y) the origin O of which is a pel point at the upper left corner of the display screen 2. Required for embodying the first method of the invention are a plurality of basic masks consisting of bit patterns having complementary (or exclusive) relations with each other. Generally, the number of bits n constituting a mask may be equal to or larger than the number of cursors or masks to be displayed, and n ≧ 2 displaying two cursors. Therefore, masks A and B; C and D; or E and F as exemplified in Fig. 3 may be used as two basic masks. In the following, it is assumed to use the masks C and D. Generally, in the first method, the basic masks are not used as they are for inverting bits, but are required to be used after they are modified through rotation. Amount of the rotation is determined according to the coordinates of a pel point at the upper left corner a that is the reference point for a cursor to be displayed. Fig. 4 is a flowchart showing an example of operation sequence for displaying one cursor by the bit inversion accompanying such mask rotation. Now, description is made for the operation sequence in detail by referring to Figs. 2 and 4. First, in Fig. 2, it is assumed that the first cursor indicated by the reference numeral 20 is desired to be displayed. The first cursor 20 consists of sides or lines 21, 22, 23 and 24. The coordinates for pel points a and b at the upper left corner and the lower right corner are assumed to be (x1, y1) and (x2, y2), respectively. In a step 41 of Fig. 4, the mask C is selected as the basic mask for the first cursor 20 from the above-mentioned masks C and D (Fig. 3). In the next step 42, a residue Rx is obtained by dividing the X coordinate value x = x1 of the pel point a as the reference point by the number of bits n = 4 of the mask C. Then, an X direction mask is formed by rotating the bit pattern of mask C to the left by Rx (step 43). The bit inversion is performed for displaying the horizontal lines 21 and 22 of the first cursor 20 by using the X direction mask (step 44). Namely, the bit inversion is performed by sequentially reading data bits from a group of bit positions in the image memory 3 (Fig. 1) corresponding to the line 21 and by repeatedly applying the X direction mask. However, the data bits only related to bit 1 for the X direction mask is inverted. In steps 45, 46 and 47 similar to the above-mentioned steps 42, 43, and 44, process is performed for displaying vertical lines 23 and 24 of the first cursor 20. Namely, a mask in the Y direction is formed by rotating the mask C to the left by Ry bits. The Ry is a residue of y = y1. By using it, the inversion is performed for bits at bit positions corresponding to the vertical lines 23 and 24. Similarly, the second cursor is also displayed according to the operation sequence of Fig. 3. However, in this case, it is required to select the mask D (Fig. 3) as the basic mask. The operation sequence of Fig. 4 is a mere example, and the order of operation steps may be changed. For example, it is possible to execute first the steps for displaying the vertical lines and then the steps for displaying the horizontal lines. Also, it is possible to perform first the steps relating to the generation of the mask for X and Y directions followed by the steps for bit inversion for displaying the vertical and horizontal lines. Fig. 5 shows examples of the first and second cursors 20 and 30 thus displayed and a state where they are overlapped. It shows only the display of cursors ignoring the image data bits for convenience of description. Also, each small square represents one pel. And, it is assumed that the black square corresponds to bit 1 and the white square corresponds to bit 0. According to the above-mentioned method of the invention, the black pels (bit 1) of two cursors do not overlap in principle (except for those at a corner where they may overlap), and thus the overlapped lines never disappear. In the following, this is described in more detail. Fig. 6 shows the relation between X coordinate values and the X direction mask which is generated when the X coordinate values x of the pel at the upper left corner, that is the reference point for displaying each cursor (the pel point a for the first cursor shown in Fig. 1) is 4s, 4s + 1, 4s + 2 or 4s + 3, i.e. when the residue of x ÷ n is 0, 1, 2, or 3, wherein s = 0, 1, 2 .... For example, if the X coordinate value x of the reference point for the first cursor is 4s, the X direction mask has the same bit pattern of 1010 as the mask C. The X direction mask is repeatedly used for inverting bits of bit positions corresponding to sequential pel points specified by the X coordinate values after x = 4s. If the X coordinate value x of the reference point is 4s + 1, the X direction mask has a bit pattern of 0101 that is the mask C rotated to the left by one bit. It is used for processing bits of bit positions corresponding to sequential pel points specified by the X coordinate values after x = 4s + 1. Similarly, the X direction mask for the second cursor is generated as shown according to change of the reference point. As clearly seen from the relation between the X direction masks for two cursors and the X coordinate values, bit 1 of the X direction mask for the first cursor is always applied to pel points having even-numbered X coordinate values, while the bit 1 of the X direction mask for the second cursor is always applied to pel points having odd-numbered X coordinate values. Therefore, the black pels of two cursors never overlap with each other and erasure of the horizontal lines caused by the overlapping does not occur. The relation between the X coordinate values and the X direction masks shown in Fig. 5 can be applied to the relation between the Y coordinate values and the Y direction masks as it is. And, therefore, erasure of the vertical lines caused by the overlapping does not occur. According to the operation sequence of Fig. 4, performed for bits of bit positions corresponding to four corners of the cursor are two operations, that is, the operation by the X direction mask and that by the Y direction mask. To avoid such duplicated operations, it may be possible to inhibit application of the mask bit to the first and last bits in writing the vertical lines by the Y direction mask. The example of display in Fig. 5 is for such a case where both of the X and Y coordinate values of the reference point are even number and the duplication of bit processing for the corners of cursor is not inhibited. Although, in the generic example hereinabove described, the X and Y direction masks are generated by rotating the basic mask, it is possible to arrange to use the basic mask as it is without performing the rotation. Namely, the rotation becomes unnecessary by allowing to select only such pel point both the X and Y coordinate values of which are multiples of the number of bits n of the mask as the reference point corresponding to the upper left corner of the box cursor. Although the above example is for displaying two box cursors, it is possible to arrange to display more than two cursors. For example, to display three cursors, it is sufficient to use three complementary bit patterns such as the masks G, H and I of Fig. 3. Now, another embodiment is described for displaying two cursors according to the second method of the invention. Required for the embodiment of this method are a first mask consisting of a bit pattern which includes at least one bit 0 and at least one bit 1, and a second mask consisting of a bit pattern which includes at least one bit 1 only. For example, the mask F in Fig. 3 is used for the first mask, the mask J for the second mask. Fig. 7 shows two cursors 71 and 72 being displayed in this case. A portion where two cursors overlap has a pattern that is the reversed pattern of the cursor 71, but it is not completely erased, so that the function defining a region is perfectly maintained. In the case of this method, it is not required to rotate the masks F and J as the basic masks according to the coordinate of the reference point of cursor, and they are usable for inverting the bits as they are. Although, in the embodiments hereinabove described, each cursor consists of lines of thickness of one pel (bit), the invention is not limited to it, but can be applied to cursors consisting of lines of any thickness. In such case, it is sufficient to repeat the bit inversion operation to obtain any desired thickness. The invention as claimed and described enables to effectively prevent erasure of the overlapped portion of cursors even if they overlap with each other. Also, it completely eliminates the problem of shifting of the overlapped portion as encountered in the prior art by making the thickness of the lines of cursors different for every cursor, and the invention is best suitable for displaying a larger number of cursors simultaneously.

Claims: A method for displaying at least two box cursors consisting of lines, especially of those having identical thickness, in a display apparatus having a screen on which a plurality of picture element (pel) points are defined in a matrix fashion and a storage means comprising a plurality of bit positions corresponding to said pel points for storing plural bits representing an image to be displayed, said method comprising the steps of: a) preparing a first mask consisting of a bit pattern which includes at least one bit 0 and at least one bit 1, and a second mask consisting of a bit pattern which has complementary relation with the bit pattern of said first mask; b) inverting bits at a group of bit positions in said storage means by using one of said first and second masks, said bit positions being selected according to a first position information designating a desired display position of a first box cursor on said screen; and c) inverting bits at a group of bit positions in said storage means by using the other mask, said bit positions being selected according to a second position information designating a desired display position of a second box cursor on said screen. The method of Claim 1, wherein said step b) includes an operation for modifying said one mask according to said first position information and said step c) includes an operation for modifying said other mask according to said second position information. The method of Claim 2, wherein the number of bits in each mask is n which is an integer larger than 1 and each position information includes coordinates (x, y) of a picture element (pel) point by which a predetermined corner of each box cursor to be displayed in an X-Y coordinate system is defined with respect to said screen; said steps b) and c) including an operation for inverting bits at bit positions corresponding to lines of each box cursor in the X direction by using said mask after rotating it in a predetermined direction by a number of bits determined by a residue Rx obtained by x ÷ n and an operation for inverting bits at bit positions corresponding to lines of each box corner in the Y direction by using said mask after rotating it in a predetermined direction by a number of bits determined by a residue Ry obtained by y ÷ n. A method for displaying at least two box cursors consisting of lines, especially of those having identical thickness, in a display apparatus having a screen on which a plurality of pel points are defined in matrix fashion and a storage means comprising a plurality of bit positions corresponding to said pel points for storing plural bits representing an image to be displayed, said method comprising the steps of: a) preparing a first mask consisting of a bit pattern which includes at least one bit 0 and at least one bit 1, and a second mask consisting of a bit pattern which includes bit 1 only; b) inverting bits at a group of bit positions in said storage means by using one of said first and second masks, said bit positions being selected according to a first position information designating a desired display position of a first box cursor on said screen; and c) inverting bits at a group of bit positions in said storage means by using the other mask, said bit positions being selected according to a second position information designating a desired display position of a second box cursor on said screen.

Inventors: TOKUDA, SHIGEO
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1986
Main classification: G09G1
IPC codes: G06F3, G09G5