Sprite cursor with edge extension and clipping
First Claim
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×
- 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×
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 Assignments
0 Petitions
Accused Products
Abstract
A circuit for generating an N by M pixel sprite cursor having edge extension features which are clipped to only appear in preselected windows on a video display. The circuit provides edge extension by extending the pattern appearing in the pixels located along the four edges of the sprite cursor towards the corresponding boundaries of the display. The circuit clips the cursor to preselected windows by determining on a pixel-by pixel basis which window owns the pixel to be displayed and whether the window will permit a cursor to appear in it.
-
Citations
11 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×
- 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×
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).
- 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;
-
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×
- 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×
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;
- 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;
-
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×
- 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×
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. - View Dependent Claims (4, 5)
- 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;
-
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. - View Dependent Claims (7)
-
-
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×
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. - View Dependent Claims (9)
-
-
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×
- 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×
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.
- 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;
-
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.
-
Specification