aboutsummaryrefslogtreecommitdiff
path: root/src/backend/winit.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-09-24 17:30:06 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-09-26 13:45:03 +0400
commitcd4f7c0378e7ce3ed14a1d1b1a1146c7a7ef33bf (patch)
treee1f594fbcb7e747aee8bcd4dba5170b32212ae66 /src/backend/winit.rs
parentc422fdab0fd19f61ee5ad73a46312d4284641f3c (diff)
downloadniri-cd4f7c0378e7ce3ed14a1d1b1a1146c7a7ef33bf.tar.gz
niri-cd4f7c0378e7ce3ed14a1d1b1a1146c7a7ef33bf.tar.bz2
niri-cd4f7c0378e7ce3ed14a1d1b1a1146c7a7ef33bf.zip
Remove LoopData
The calloop Smithay update finally lets me do this.
Diffstat (limited to 'src/backend/winit.rs')
-rw-r--r--src/backend/winit.rs25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/backend/winit.rs b/src/backend/winit.rs
index 99cfe7db..e0fbf272 100644
--- a/src/backend/winit.rs
+++ b/src/backend/winit.rs
@@ -18,9 +18,9 @@ use smithay::utils::Transform;
use smithay::wayland::dmabuf::DmabufFeedback;
use crate::config::Config;
-use crate::niri::OutputRenderElements;
+use crate::niri::{OutputRenderElements, State};
use crate::utils::get_monotonic_time;
-use crate::{LoopData, Niri};
+use crate::Niri;
pub struct Winit {
config: Rc<RefCell<Config>>,
@@ -31,7 +31,7 @@ pub struct Winit {
}
impl Winit {
- pub fn new(config: Rc<RefCell<Config>>, event_loop: LoopHandle<LoopData>) -> Self {
+ pub fn new(config: Rc<RefCell<Config>>, event_loop: LoopHandle<State>) -> Self {
let builder = WindowBuilder::new()
.with_inner_size(LogicalSize::new(1280.0, 800.0))
// .with_resizable(false)
@@ -79,10 +79,10 @@ impl Winit {
let timer = Timer::immediate();
event_loop
- .insert_source(timer, move |_, _, data| {
+ .insert_source(timer, move |_, _, state| {
let res = winit_event_loop.dispatch_new_events(|event| match event {
WinitEvent::Resized { size, .. } => {
- let winit = data.state.backend.winit();
+ let winit = state.backend.winit();
winit.output.change_current_state(
Some(Mode {
size,
@@ -92,24 +92,21 @@ impl Winit {
None,
None,
);
- data.state.niri.output_resized(winit.output.clone());
+ state.niri.output_resized(winit.output.clone());
}
- WinitEvent::Input(event) => data.state.process_input_event(event),
+ WinitEvent::Input(event) => state.process_input_event(event),
WinitEvent::Focus(_) => (),
- WinitEvent::Refresh => data
- .state
+ WinitEvent::Refresh => state
.niri
- .queue_redraw(data.state.backend.winit().output.clone()),
+ .queue_redraw(state.backend.winit().output.clone()),
});
// I want this to stop compiling if more errors are added.
#[allow(clippy::single_match)]
match res {
Err(WinitError::WindowClosed) => {
- data.state.niri.stop_signal.stop();
- data.state
- .niri
- .remove_output(&data.state.backend.winit().output);
+ state.niri.stop_signal.stop();
+ state.niri.remove_output(&state.backend.winit().output);
}
Ok(()) => (),
}