You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, there is no way to close the window programmatically opened by Turtle::new() or Drawing::new(). We should add a fn destroy(self) method to Drawing which allows for this.
Implementation: The destroy method can send a request to the renderer process which uses EventLoopNotifier to tell the event loop to exit. (More mentoring instructions can be provided if requested.)
To-Do
Bikeshed the name. destroy() was the best I could come up with
close() only works when Drawing represents a window, but that won't always be the case
quit() might work, but it might confuse some people who expect that to end the entire process
bye() is used by the Python turtle module and some LOGO implementation, but calling drawing.bye() probably doesn't read very well...
Other suggestions are welcome!
Resolve TODO comment in examples/runtest.rs (needs to be tested on MacOS)
The window currently stays open even after process::exit because the subprocess gets orphaned when using the multiprocessed backend
To test on any platform, you can force the multiprocessed backend by changing backend.rs to contain the following:
Re-opening until this method is stabilized. We need to decide on the name (destroy is fine for now but maybe there is a better option?), and we need to expand on the docs and test the panic that occurs when you use a turtle after its drawing has been destroyed (make sure the panic message is helpful).
Currently, there is no way to close the window programmatically opened by
Turtle::new()
orDrawing::new()
. We should add afn destroy(self)
method toDrawing
which allows for this.Implementation: The
destroy
method can send a request to the renderer process which usesEventLoopNotifier
to tell the event loop to exit. (More mentoring instructions can be provided if requested.)To-Do
destroy()
was the best I could come up withclose()
only works whenDrawing
represents a window, but that won't always be the casequit()
might work, but it might confuse some people who expect that to end the entire processbye()
is used by the Python turtle module and some LOGO implementation, but callingdrawing.bye()
probably doesn't read very well...examples/runtest.rs
(needs to be tested on MacOS)process::exit
because the subprocess gets orphaned when using the multiprocessed backendbackend.rs
to contain the following:The text was updated successfully, but these errors were encountered: