On macOS, set resize increments only for live resize
Closes #2684 for macOS.
This commit is contained in:
parent
265152355e
commit
82df9531f4
3 changed files with 46 additions and 16 deletions
|
|
@ -3,7 +3,7 @@
|
|||
use std::ptr;
|
||||
|
||||
use objc2::declare::{Ivar, IvarDrop};
|
||||
use objc2::foundation::{NSArray, NSObject, NSString};
|
||||
use objc2::foundation::{NSArray, NSObject, NSSize, NSString};
|
||||
use objc2::rc::{autoreleasepool, Id, Shared};
|
||||
use objc2::runtime::Object;
|
||||
use objc2::{class, declare_class, msg_send, msg_send_id, sel, ClassType};
|
||||
|
|
@ -117,6 +117,23 @@ declare_class!(
|
|||
self.emit_move_event();
|
||||
}
|
||||
|
||||
#[sel(windowWillStartLiveResize:)]
|
||||
fn window_will_start_live_resize(&mut self, _: Option<&Object>) {
|
||||
trace_scope!("windowWillStartLiveResize:");
|
||||
|
||||
let increments = self
|
||||
.window
|
||||
.lock_shared_state("window_will_enter_fullscreen")
|
||||
.resize_increments;
|
||||
self.window.set_resize_increments_inner(increments);
|
||||
}
|
||||
|
||||
#[sel(windowDidEndLiveResize:)]
|
||||
fn window_did_end_live_resize(&mut self, _: Option<&Object>) {
|
||||
trace_scope!("windowDidEndLiveResize:");
|
||||
self.window.set_resize_increments_inner(NSSize::new(1., 1.));
|
||||
}
|
||||
|
||||
// This won't be triggered if the move was part of a resize.
|
||||
#[sel(windowDidMove:)]
|
||||
fn window_did_move(&mut self, _: Option<&Object>) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue