[GRASS5] XDRIVER and hour glass cursor while drawing?

Glynn Clements glynn.clements at virgin.net
Tue Apr 29 18:56:59 EDT 2003

Markus Neteler wrote:

> My question is if it were possible to modify the XDRIVER
> to show a hour glass cursor instead of the common arrow
> when drawing in the GRASS monitor?
> This is already implemented when the user is resizing
> the monitor (redraw event).

By "drawing", do you actually mean:

a) drawing (i.e. from the point that a drawing command is received to
the time it completes), or

b) whenever a client is connected but isn't waiting on one of the
R_get_location_with_* functions, or

c) something else?

The problem with a) is that many drawing modules actually perform
multiple drawing operations; e.g. rasters are drawn using one command
per source row. There isn't any way for the driver to know where the
larger operation begins and ends. A straightforward implementation
would turn the pointer to an hourglass/clock at the start of each row
and back to the arrow at the end of each row, which might result in a
flickering cursor. This issue doesn't apply to redraw, which has a
definite start and end.

The problem with b) is that a client might wait on other sources of
input; although that would cause XDRIVER to stop responding to X
events, as get_command() blocks (this would also rule out using timers
to solve the problems with option a) ).

Glynn Clements <glynn.clements at virgin.net>

More information about the grass-dev mailing list