| | |
| | | func activate(window: AlignerWindow) throws -> WindowActivationResult |
| | | } |
| | | |
| | | public enum WindowCloseResult: Equatable, Sendable { |
| | | case requested |
| | | case windowNotFound |
| | | case appNotFound |
| | | case unsupported |
| | | case failed(String) |
| | | } |
| | | |
| | | public protocol WindowCloseServiceProtocol: AnyObject { |
| | | func close(window: AlignerWindow) throws -> WindowCloseResult |
| | | func close(app: AlignerApp) throws -> WindowCloseResult |
| | | } |
| | | |
| | | @MainActor |
| | | public protocol ScreenshotProviderProtocol { |
| | | func screenshot(for window: AlignerWindow) async throws -> NSImage |