ObjectARX provides an input point manager class, AcEdInputPointManager. One input point manager is instantiated for each active document in AutoCAD.
The following function returns the input point manager for a document:
virtual AcEdInputPointManager * AcApDocument::inputPointManager() const;
The input point manager registers and deregisters input point filters, input point monitors, and input context reactors. The input point manager also enables and disables system-generated cursor graphics, so that custom cursor graphics can be drawn.
AcEdInputPointManager provides a function, disableSystemCursorGraphics(), that disables the system cursor. ObjectARX maintains a count of the calls to disable the system cursor for each document, so if your application invokes disableSystemCursorGraphics() multiple times, it should invoke enableSystemCursorGraphics() the same number of times to restore the system cursor.
Disabling the system cursor graphics should be done sparingly, usually only when an application-defined command is prompting for user input. You must provide custom cursor graphics if you disable the system cursor graphics.
The function disableSystemCursorGraphics() disables the system cursor only when an input point monitor or filter provides its own cursor. This means that under normal conditions (forced entity picking is turned off), the system cursor is disabled only during point acquisition and entity selection. When forced entity picking is turned on, the system cursor is completely disabled even if there is no command active.
The input point manager also allows forced entity picking, which is the ability to track what is under the cursor during the quiescent command state. Forced entity picking can be enabled under the following conditions:
Finally, the input point manager contains a function, mouseHasMoved(), that input point filters and monitors can call to determine whether there is another digitizer event pending. If there is a digitizer event pending, the filter or monitor should return from its callback as soon as possible, without doing any further calculations, to avoid cursor lags.