2020-02-28 13:34:34 +11:00
|
|
|
//! A module to house the traits used throughout this window
|
|
|
|
//! module. There's a few different ones, and it's just... cleaner, if
|
|
|
|
//! it's organized here.
|
|
|
|
|
2020-03-20 14:07:44 +11:00
|
|
|
use crate::window::Window;
|
2020-02-28 13:34:34 +11:00
|
|
|
|
|
|
|
/// Lifecycle events for anything that `impl Window`'s. These map to the standard Cocoa
|
|
|
|
/// lifecycle methods, but mix in a few extra things to handle offering configuration tools
|
|
|
|
/// in lieu of subclasses.
|
2020-03-20 14:07:44 +11:00
|
|
|
pub trait WindowDelegate {
|
2020-02-28 13:34:34 +11:00
|
|
|
/// Fires when this window has loaded in memory, and is about to display. This is a good point
|
|
|
|
/// to set up your views and what not.
|
|
|
|
///
|
|
|
|
/// If you're coming from the web, you can think of this as `DOMContentLoaded`.
|
2020-03-20 14:07:44 +11:00
|
|
|
fn did_load(&mut self, _window: Window) {}
|
2020-02-28 13:34:34 +11:00
|
|
|
|
|
|
|
/// Fires when a window is going to close. You might opt to, say, clean up things here -
|
|
|
|
/// perhaps you have a long running task, or something that should be removed.
|
|
|
|
fn will_close(&self) {}
|
|
|
|
|
|
|
|
/// Fired when the window is about to move.
|
|
|
|
fn will_move(&self) {}
|
|
|
|
|
|
|
|
/// Fired after the window has moved.
|
|
|
|
fn did_move(&self) {}
|
|
|
|
|
|
|
|
/// Fired when the window changes screens - you might find this useful for certain scenarios,
|
|
|
|
/// such as rendering in retina vs non-retina environments.
|
|
|
|
fn did_change_screen(&self) {}
|
|
|
|
|
2020-03-26 13:57:47 +11:00
|
|
|
/// Fired when the window profile changes screens - you might find this useful for certain scenarios,
|
|
|
|
/// such as rendering in retina vs non-retina environments.
|
|
|
|
fn did_change_screen_profile(&self) {}
|
|
|
|
|
|
|
|
/// Fired when the window backing properties change - you might find this useful for certain scenarios,
|
|
|
|
/// such as rendering in retina vs non-retina environments. It's rare to need this though.
|
|
|
|
fn did_change_backing_properties(&self) {}
|
|
|
|
|
2020-02-28 13:34:34 +11:00
|
|
|
/// Fires when this window is about to become the key window.
|
|
|
|
fn did_become_key(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window is about to resign key window status.
|
|
|
|
fn did_resign_key(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window is about to become the main window.
|
|
|
|
fn did_become_main(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window is about to resign main status.
|
|
|
|
fn did_resign_main(&self) {}
|
|
|
|
|
|
|
|
/// Fires when the window is about to miniaturize (e.g, to the Dock).
|
|
|
|
fn will_miniaturize(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window miniaturized (e.g, to the Dock).
|
|
|
|
fn did_miniaturize(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window de-miniaturized (e.g, from the Dock).
|
|
|
|
fn did_deminiaturize(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window is about to go full screen.
|
|
|
|
fn will_enter_fullscreen(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window entered full screen.
|
|
|
|
fn did_enter_fullscreen(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window is about to exit full screen.
|
|
|
|
fn will_exit_fullscreen(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window exited full screen.
|
|
|
|
fn did_exit_fullscreen(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window failed to enter full screen.
|
|
|
|
fn did_fail_to_enter_fullscreen(&self) {}
|
|
|
|
|
|
|
|
/// Fires when this window failed to exit full screen.
|
|
|
|
fn did_fail_to_exit_fullscreen(&self) {}
|
|
|
|
}
|