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 0
on
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.
Calling dev.hold
when the hold level is zero increases the hold
level and inhibits graphics display. When calling dev.flush
clears all pending holds the screen display is refreshed and normal
operation is resumed.
This is implemented for the cairo-based X11
types
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.