This function usually involves removing the previous cursor from the window and drawing the new cursor, if visible, according to the presentation space information. The new cursor (if visible) is positioned and clipped according to this information and the window's cell-buffer origin and size.
The cursor is drawn as an Exclusive-OR bar. Its new position, size, and shape are saved by the handling routine in the VioPresentationSpace. Only one cursor can be visible on the screen at any time and it must be in the window with the input focus. This requirement is enforced by the operating system for VIO functions but not for AVIO. The AVIO application must alter the visibility of the cursor when changing input focus. When the text cursor collides with an AVIO and VIO drawing, the presentation driver must remove and redraw the cursor around the alphanumeric updates.
Note: GreBitblt copies everything including the cursor.
The presentation driver can assume that the values in the RowOrgLatch and CursorWidth fields of the VioPresentationSpace structure parallel the WindowOriginRow and TextCursorWidth, respectively.