Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Graphic Cursor Positioning

IP.com Disclosure Number: IPCOM000099554D
Original Publication Date: 1990-Feb-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 4 page(s) / 149K

Publishing Venue

IBM

Related People

Bonnor, HR: AUTHOR [+3]

Abstract

Described is a novel method of positioning control of a graphics cursor when the cursor is partially off the edge of the screen. It provides the ability to display a chosen rectangular portion of the cursor image on top of any part of the main image. This portion always contains the bottom right-hand pel of the complete cursor image, as illustrated in the figure. The scheme is implemented in straightforward code supported by minimal hardware which replaces larger amounts of conventional hardware required for cursor wrapping and cursor starting during line blanking. Greater flexibility and control is exercised by the software.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 42% of the total text.

Graphic Cursor Positioning

       Described is a novel method of positioning control of a
graphics cursor when the cursor is partially off the edge of the
screen.  It provides the ability to display a chosen rectangular
portion of the cursor image on top of any part of the main image.
This portion always contains the bottom right-hand pel of the
complete cursor image, as illustrated in the  figure.  The scheme is
implemented in straightforward code supported by minimal hardware
which replaces larger amounts of conventional hardware required for
cursor wrapping and cursor starting during line blanking.  Greater
flexibility and control is exercised by the software.

      In this article a graphic cursor means a small rectangular
image (typically up to 64 x 64 pels in size) which is displayed on
the screen of a VDU.  The image logically overlays the main image on
the VDU.  Its position can be controlled by the application and is
usually made to depend on the movements of a pointing device such as
a mouse.  It is used to select portions of the main image for
processing by the application often to the precision of one pel.

      Because the cursor is two-dimensional, one particular pel of
the image of the cursor is chosen to be the one which selects a pel
of the main image.  This pel is sometimes referred to as the "hot
point".  In general, it is necessary to be able to position the hot
point on any pel of the main image which means that it is necessary
to be able to position part of the cursor image outside the area of
the main image, to cope with the selection of pels which are on or
near the edge of the main image.  This usually means that the part of
the cursor which is outside the edges of the main image is not
displayed.  The main image is usually surrounded by a border area of
a uniform color, into which images may not intrude.

      It is convenient for the controlling hardware of the cursor
display if its position on the main image is defined by coordinates
of the top left-hand pel of the cursor.  That is because left-hand
pels of the cursor are the first to be displayed on each line.  No
particular difficulties arise when the cursor overlaps either the
bottom or right- hand edges of the main image.  The coordinates of
the start of the cursor are on the main image; cursor display can
start normally and be curtailed by the occurrence of line or frame
blanking.

      The situation is not straightforward when the cursor overlaps
either the top or the left-hand edges of the main image, because the
display of the cursor must apparently be started off the main image.
The coordinate system used for the main image pels may not cater for
pels outside the main picture, and care must be taken to avoid "wrap-
around" of the cursor onto the other side of the screen.  This is
particularly liable to happen if the line blanking time is less than
the time taken to display the cursor on a line. One solution would be...