This gives a way to hold/flush output on certain on-screen devices, and is ignored by other devices.
dev.hold(level = 1L) dev.flush(level = 1L)
Integer >= 0. The amount by which to change the hold level. Negative values will be silently replaced by zero.
The current level after the change, invisibly. This is
devices where hold levels are not supported.
Devices which implement this maintain a stack of hold levels: calling
dev.hold increases the level and
dev.flush decreases it.
dev.hold when the hold level is zero increases the hold
level and inhibits graphics display. When calling
clears all pending holds the screen display is refreshed and normal
operation is resumed.
This is implemented for the cairo-based
with buffering. When the hold level is positive the ‘watch’
cursor is set on the device's window.
It is available on the
quartz device on macOS.
This is implemented for the
windows device with
buffering selected (the default). When the hold level is positive the
‘busy’ cursor is set on the device's window.