app,app/internal/window: [macOS] add app.Window.Close for closing a window

Recently support was added for multiple top-level windows. Add support
for closing those windows.

macOS only; all others stubbed out.

Signed-off-by: Larry Clapp <larry@theclapp.org>
This commit is contained in:
Larry Clapp
2020-06-17 09:10:48 -04:00
committed by Elias Naur
parent 7f836fa627
commit 602d54dc5e
10 changed files with 49 additions and 0 deletions
+11
View File
@@ -208,6 +208,17 @@ func (w *Window) WriteClipboard(s string) {
})
}
// Close the window. The window's event loop should exit when it receives
// system.DestroyEvent.
//
// Currently, only the macOS driver implements this functionality, all others
// are stubbed.
func (w *Window) Close() {
w.driverDo(func() {
w.driver.Close()
})
}
// driverDo calls f as soon as the window has a valid driver attached,
// or does nothing if the window is destroyed while waiting.
func (w *Window) driverDo(f func()) {