Claims
- 1. A circuit for generating a sprite cursor with edge extension to be displayed on a video display on which an image is generated by scanning information onto the display to produce a vertical array of horizontal scan lines comprising a sequence of pixels each of which is identified by a line number of the scan line, Yscan, and its location on the scan line, Xpixel, wherein said sprite cursor is an N.times.M array of pixels which is generated by selecting a preselected signal to replace an image signal coming from a frame buffer for the appropriate pixels so that the sprite cursor appears at its desired location on the display, Scursor, Ycursor, said circuit comprising:
- A. a cursor memory for storing an N.times.M array of sprite cursor data which determines the appearance of the sprite cursor;
- B. a first counter for identifying the Yscan for the pixel to be displayed;
- C. first comparison means responsive to the first counter for comparing the Yscan of the pixel to be displayed with the Ycursor for the cursor;
- D. a decoder responsive to the first comparison means for generating a first output addressing a row of the cursor memory, wherein said first output addresses (i) the first row when, Yscan is less than Ycursor (ii) the row intersected by Yscan when Yscan is between Ycursor and Ycursor plus (N-1), inclusive, and (iii) the last row when Yscan is greater than Ycursor plus (N-1);
- E. a second counter for identifying the Xpixel of the pixel to be displayed;
- F. second comparison means responsive to the second counter for comparing the Xpixel of the pixel to be displayed to the Xcursor for the cursor;
- G. cursor output means responsive to the second comparison means for generating a cursor signal which controls the selection of the preselected signal, wherein the cursor output means receives the stored contents of the addressed row from the cursor memory and when the scan line is between Ycursor and Ycursor plus (N-1), inclusive, and Xpixel is between Xcursor and Xcursor plus (M-1), inclusive, the cursor output means generates the cursor signal for each pixel from the stored cursor data in the corresponding location of the addressed row of cursor memory;
- H. Y-extender means for causing the cursor output means to generate the cursor signal based upon the stored data in a first preselected row of the cursor memory when Yscan is less than Ycursor, and based upon the stored data in a second preselected row of the cursor memory when Yscan is greater than Ycursor plus (N-1); and
- I. X-extender means for causing the cursor output means to generate the cursor signal based upon the stored data in a first preselected column of the cursor memory when Xpixel is less than Xcursor, and based upon the stored data in a second preselected column of the cursor memory when Xpixel is greater than Xcursor plus (M-1).
- 2. A circuit for generating a sprite cursor with edge extension to be displayed on a video display on which an image is generated by scanning information onto the display to produce a vertical array of horizontal scan lines comprising a sequence of pixels each of which is identified by a line number of the scan line, Yscan, and its location on the scan line, Xpixel, wherein said sprite cursor is an N.times.M array of pixels which is generated by selecting a preselected signal to replace an image signal coming from a frame buffer for the appropriate pixels so that the sprite cursor appears at its desired location on the display, Xcursor, Ycursor, said circuit comprising:
- A. a cursor memory for storing an N.times.M array of sprite cursor data which determines the appearance of the sprite cursor;
- B. a first counter for identifying the Yscan for the pixel to be displayed;
- C. first comparison means responsive to the first counter for comparing the Yscan of the pixel to be displayed with the Ycursor for the cursor;
- D. a decoder responsive to the first comparison means for generating a first output addressing a row of the cursor memory, wherein said first output addresses (i) the first row when, Yscan is less than Ycursor (ii) the row intersected by Yscan when Yscan is between Ycursor and Ycursor plus (N-1), inclusive, and (iii) the last row when Yscan is greater than Ycursor plus (N-1);
- E. a second counter for identifying the Xpixel of the pixel to be displayed;
- F. second comparison means responsive to the second counter for comparing the Xpixel of the pixel to be displayed to the Xcursor for the cursor;
- G. cursor output means responsive to the second comparison means for generating a cursor signal which controls the selection of the preselected signal, wherein the cursor output means receives the stored contents of the addressed row from the cursor memory and when the scan line is between Ycursor and Ycursor plus (N-1), inclusive, and Xpixel is between Xcursor and Xcursor plus (M-1), inclusive, the cursor output means generates the cursor signal for each pixel from the stored cursor data in the corresponding location of the addressed row of cursor memory;
- 3. A circuit for generating a sprite cursor with edges extendable to a plurality of boundaries of a video display, an image being generated on the display by scanning information onto the display to produce a vertical array of horizontal scan lines comprising a sequence of pixels each of which being identified by a line number of the scan line, Yscan, and its location on the scan line, Xpixel, wherein said sprite cursor is an N.times.M array of pixels which is generated by selecting a preselected signal to replace an image signal coming from a frame buffer for the appropriate pixels so that the sprite cursor appears at its desired location on the display, Xcursor, Ycursor, said circuit comprising:
- A. a cursor memory for storing an N.times.M array of sprite cursor data which determines the appearance of the sprite cursor;
- B. means for generating a cursor signal from the sprite cursor data stored in the cursor memory such that, for each scan line between Ycursor and Ycursor plus (N-1), inclusive, and for each pixel on the scan line between Xcursor and Xcursor plus (M-1), inclusive, said generating means generates the cursor signal for each pixel form the cursor data stored in the corresponding location of the cursor memory and wherein said cursor signal controls the selection of the preselected signal; and
- c. control means for causing the displayed cursor to comprise a pair of intersecting elements, said control means comprising Y-extender means which controls the generating means so as to extend the top and bottom rows of the sprite cursor in the corresponding y-directions to corresponding top and bottom boundaries of the video display, and X-extender means which controls the generating means so as to extend the left and right columns of the sprite cursor in the corresponding x-directions to corresponding left and right boundaries of the video display, whereby the sprite cursor is converted to a hairline cursor.
- H. Y-extender means for causing the cursor output means to generate the cursor signal based upon the stored data in a first preselected row of the cursor memory when Yscan is less than Ycursor, and based upon the stored data in a second preselected row of the cursor memory when Yscan is greater than Ycursor plus (N-1); and
- I. X-extender means for causing the cursor output means to generate the cursor signal based upon the stored data in a first preselected column of the cursor memory when Xpixel is less than Xcursor, and based upon the stored data in a second preselected column of the cursor memory when Xpixel is greater than Xcursor plus (M-1), said Y-extender means and said X-extender means operable to form a cursor having intersecting elements, whereby a hairline cursor is formed.
- 4. A circuit for generating a sprite cursor as defined in claim 3, further comprising:
- A. first means for providing information defining a plurality of boundaries of each of a plurality of windows to be displayed simultaneously on the video display;
- B. second means for providing a cursor clip flag for each window for indicating whether a cursor can appear in the corresponding window; and
- C. cursor clipping means for causing the displayed cursor including the intersecting elements or any portion thereof to appear in only selected ones of the displayed windows by generating a cursor clip signal for controlling the cursor generating means, said cursor clip signal indicating whether the preselected signal can be sent to the pixel to be displayed, and wherein said cursor clipping means receives the boundary information from the first means to determine which window owns the pixel and receives the the cursor clip flag from the second means to determine whether the cursor clip flag corresponding to the owning window will permit a cursor signal to be sent to the pixel, whereby the generated cursor, including the intersecting elements, as displayed on the video display will appear in selected ones of the windows and not in others of the windows.
- 5. A circuit for generating a sprite cursor as defined in claim 3, wherein
- (i) the y-extender means reproduces the pattern in the rows of the sprite cursor at Ycursor and Ycursor plus (N-1) on each scan line located respectively above and below the sprite cursor, and
- (ii) the x-extender means reproduces the pattern in the columns of the sprite cursor at Xcursor and Xcursor plus (M-1) on the scan lines respectively to the left and to the right of the sprite cursor.
- 6. A cursor control circuit for clipping a cursor having a central portion and extension portions so that the cursor will appear on a video displayed image simultaneously within and extending across selected windows of a plurality of windows and not appear in others of the plurality of windows, wherein the image comprises an array of pixels and each window of the plurality of windows is defined by a corresponding set of boundaries within the array of pixels, and wherein the cursor is generated by sending a reselected signal to the display in place of an image signal from a frame buffer, said circuit comprising:
- A. first means for providing information defining the boundaries of the plurality of windows to appear on the display;
- B. second means for storing information comprising a cursor clip flag for indicating the identity of all the windows in which the cursor portions can appear; and
- C. cursor clipping means for causing the displayed cursor to appear simultaneously in the windows identified by the cursor clip flag, by generating a cursor clip signal which indicates whether the preselected signal can be sent to the pixel to be displayed, wherein said cursor clipping means uses the boundary information from the first means in determining which window owns the pixel and uses the information stored in the second means in determining whether the cursor clip flag corresponding to the owning window will permit a cursor signal to be sent to the pixel, whereby the cursor will appear simultaneously only within selected windows indicated by the cursor clip flags.
- 7. A cursor control circuit as defined in claim 6, wherein the cursor clipping means comprises:
- A. over-lapping window detector logic for generating a detection signal identifying each of the windows having boundaries which contain the pixel and conveying the information contained in the cursor clip flags for each of the identified windows; and
- B. a priority tree circuit which responds to the detection signal by selecting the owning window from the identified windows and by setting the cursor clip signal in accordance with the cursor clip flag information corresponding to the owning window.
- 8. A video workstation comprising:
- A. a video display on which a signal is scanned to produce a vertical array of horizontal scan lines comprising a sequence of pixels, each of which is identified by a line number of the scan line, Yscan, and its location on the scan line, Xpixel, said video display having top, bottom, left and right boundaries;
- B. a frame buffer which stores image data used to produce an image signal;
- C. an input device which controls the location of a sprite cursor appearing on the video display, wherein the sprite cursor appears as an N by M array of pixels and is generated by selecting for each corresponding pixel location on the display a preselected signal to replace the image signal so as to produce the sprite cursor at the desired location;
- D. a cursor memory for storing an N.times.M array of sprite cursor data which determines the appearance of the sprite cursor;
- E. means for generating a cursor signal from the sprite cursor data stored in the cursor memory such that for each scan line between Ycursor and Ycursor plus (N-1), inclusive, and for each pixel on the scan line between Xcursor and Xcursor plus (M-1), inclusive, said generating means generates the cursor signal for each pixel from the cursor data stored in the corresponding location of the cursor memory, and wherein said cursor signal controls the selection of the preselected signal;
- F. extender means for causing the shape of the displayed cursor to comprise a pair of intersecting elements, said extender means comprising Y-extender means which controls the generating means so as to extend the top and bottom rows of the sprite cursor in the corresponding y-directions to the top and bottom boundaries of the display; and X-extender means which controls the generating means so as to extend the left and right columns of the sprite cursor in the corresponding x-directions to the left and right boundaries of the display, whereby a hairline cursor is formed.
- 9. A video workstation as defined in claim 8, further
- A. a first register for storing information defining the boundaries of a plurality of windows;
- B. a second register for storing a cursor clip flag for each window for indicating whether a cursor may appear in the corresponding window; and
- C. cursor clipping means for generating a cursor clip signal which controls the cursor generating means and the extender means, wherein the cursor clip signal indicates whether the preselected signal can be sent to the pixel to be displayed, and wherein said cursor clipping means receives the boundary information from the first register to determine which window owns the pixel and receives the information stored in the second register to determine whether the cursor clip flag corresponding to the owning window will permit a cursor signal to be sent to the pixel, the cursor clipping means comprising
- (i) overlapping-window detector logic which generates a detection signal identifying each of the windows having boundaries which contain the pixel and conveying the information contained in the cursor clip flags for each of the identified windows; and
- (ii) a priority tree circuit which responds to the detection signal by selecting the owning window from the identified windows and by setting the cursor clip signal in accordance with the cursor clip flag corresponding to the owning window.
- 10. A circuit for generating a sprite cursor with edge extension on a video display on which an image is generated within a window by scanning information onto the display to produce a vertical array of horizontal scan lines comprising a sequence of pixels each of which is identified by a line number of the scan line, Yscan, and its location on the scan line, Xpixel, wherein said sprite cursor is an N.times.M array of pixels which is generated by selecting a preselected signal to replace an image signal coming from a frame buffer for the appropriate pixels so that the sprite cursor appears at its desired location on the display, Xcursor, Ycursor, said circuit comprising:
- A. a cursor memory for storing an N.times.M array of sprite cursor data which determines the appearance of the sprite cursor;
- B. means for generating a cursor signal from the sprite cursor data stored in the cursor memory such that, for each scan line between Ycursor and Ycursor plus (N-1), inclusive, and for each pixel on the scan line between Xcursor and Xcursor plus (M-1), inclusive, said generating means generates the cursor signal for each pixel form the cursor data stored in the corresponding location of the cursor memory and wherein said cursor signal controls the selection of the preselected signal;
- C. Y-extender means for controlling the generating means so as to extend the top and bottom rows of the sprite cursor across the window in the corresponding y-directions; and
- D. X-extender means for controlling the generating means so as to extend the left and right columns of the sprite cursor across the window in the corresponding x-directions.
- 11. A cursor control circuit for clipping a hairline cursor so that the cursor will appear on a video displayed image simultaneously within selected windows of a plurality of windows and not within others of the plurality of windows, wherein the image comprises an array of pixels and each window of the plurality of windows is defined by a corresponding set of boundaries within the array of pixels, and wherein the cursor is generated by sending a preselected signal to the display in place of an image signal from a frame buffer, said circuit comprising:
- A. first means for storing information defining a plurality of boundaries of each of the plurality of windows;
- B. second means for storing information comprising a cursor clip flag for indicating the identities of all the windows in which the cursor can appear; and
- C. cursor clipping means for generating a cursor clip signal which indicates whether the preselected signal can be sent to the pixel to be displayed, wherein said cursor clipping means uses the boundary information from the first means to determine which window owns the pixel and uses the information stored in the second means to determine whether the cursor clip flag corresponding to the owning window will permit a cursor signal to be sent to the pixel, whereby the cursor will appear simultaneously within selected windows indicated by the cursor clip flags, the cursor clipping means comprising
- (i) overlapping-window detector logic for generating a detection signal identifying each of the windows having boundaries which contain the pixel and conveying the information contained in the cursor clip flags for each of the identified windows; and
- (ii) a priority tree circuit which responds to the detection signal by selecting the owning window from the identified windows and by setting the cursor clip signal in accordance with the cursor clip flag information corresponding to the owning window.
RELATED APPLICATIONS
This application is a continuation of copending application Ser. No. 07/213,197, filed on June 29, 1988, now abandoned.
US Referenced Citations (6)
Number |
Name |
Date |
Kind |
3911419 |
Bates et al. |
Oct 1975 |
|
4454507 |
Srinivasan et al. |
Jun 1984 |
|
4545070 |
Miyagawa et al. |
Oct 1985 |
|
4642790 |
Minshull et al. |
Feb 1987 |
|
4670752 |
Marcoux |
Jun 1987 |
|
4710767 |
Sciacero et al. |
Dec 1987 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
213197 |
Jun 1988 |
|