refactor: clean ECS queries to PendingSurfaceState
This commit is contained in:
parent
b6fe8e87cf
commit
979eab242e
2 changed files with 7 additions and 14 deletions
|
|
@ -273,7 +273,6 @@ impl SurfaceEvents {
|
||||||
target: Entity,
|
target: Entity,
|
||||||
state: &mut ServerState<C>,
|
state: &mut ServerState<C>,
|
||||||
) {
|
) {
|
||||||
let connection = &mut state.connection;
|
|
||||||
let state = &mut state.inner;
|
let state = &mut state.inner;
|
||||||
let xdg_surface::Event::Configure { serial } = event else {
|
let xdg_surface::Event::Configure { serial } = event else {
|
||||||
unreachable!();
|
unreachable!();
|
||||||
|
|
|
||||||
|
|
@ -613,22 +613,16 @@ impl<C: XConnection> ServerState<C> {
|
||||||
event.handle(target, self);
|
event.handle(target, self);
|
||||||
}
|
}
|
||||||
|
|
||||||
let query = self
|
let query = self.world.query_mut::<(&x::Window, &PendingSurfaceState)>();
|
||||||
.world
|
let iter = query
|
||||||
.query_mut::<(&PendingSurfaceState,)>()
|
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(e, _)| e)
|
.map(|(e, (win, dims))| (e, (*win, *dims)))
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
for entity in query {
|
for (entity, (win, dims)) in iter.into_iter() {
|
||||||
let dims = self
|
self.connection.set_window_dims(win, dims);
|
||||||
.world
|
self.world
|
||||||
.remove_one::<PendingSurfaceState>(entity)
|
.remove_one::<PendingSurfaceState>(entity)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let entity = self.world.entity(entity).unwrap();
|
|
||||||
let mut query = entity.query::<(&x::Window,)>();
|
|
||||||
let window = *query.get().unwrap().0;
|
|
||||||
drop(query);
|
|
||||||
self.connection.set_window_dims(window, dims);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.global_offset_updated {
|
if self.global_offset_updated {
|
||||||
|
|
@ -1534,7 +1528,7 @@ impl<S: X11Selection + 'static> InnerServerState<S> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
#[derive(Default, Debug, Copy, Clone)]
|
||||||
pub struct PendingSurfaceState {
|
pub struct PendingSurfaceState {
|
||||||
pub x: i32,
|
pub x: i32,
|
||||||
pub y: i32,
|
pub y: i32,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue