aboutsummaryrefslogtreecommitdiff
path: root/src/layout/workspace.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-04-15 09:10:50 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-04-17 11:31:34 +0300
commit7e253d26874e090e59e6e69f0d07b9b492534371 (patch)
tree2af07a4ae05a5126f40b46d97e87d4e382302fe9 /src/layout/workspace.rs
parent15ba2ab30033bcfa1d868d5db64e83989734cad0 (diff)
downloadniri-7e253d26874e090e59e6e69f0d07b9b492534371.tar.gz
niri-7e253d26874e090e59e6e69f0d07b9b492534371.tar.bz2
niri-7e253d26874e090e59e6e69f0d07b9b492534371.zip
layout: Don't pass scale to render unnecessarily
These parts of the layout already know their scale.
Diffstat (limited to 'src/layout/workspace.rs')
-rw-r--r--src/layout/workspace.rs22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs
index 873af715..33e594fe 100644
--- a/src/layout/workspace.rs
+++ b/src/layout/workspace.rs
@@ -9,7 +9,7 @@ use smithay::desktop::{layer_map_for_output, Window};
use smithay::output::Output;
use smithay::reexports::wayland_protocols::xdg::shell::server::xdg_toplevel;
use smithay::reexports::wayland_server::protocol::wl_surface::WlSurface;
-use smithay::utils::{Logical, Point, Rectangle, Scale, Serial, Size, Transform};
+use smithay::utils::{Logical, Point, Rectangle, Serial, Size, Transform};
use smithay::wayland::compositor::with_states;
use smithay::wayland::shell::xdg::SurfaceCachedState;
@@ -1410,23 +1410,18 @@ impl<W: LayoutElement> Workspace<W> {
target: RenderTarget,
focus_ring: bool,
) -> impl Iterator<Item = WorkspaceRenderElement<R>> {
- let scale = Scale::from(self.scale.fractional_scale());
let scrolling_focus_ring = focus_ring && !self.floating_is_active();
- let scrolling =
- self.scrolling
- .render_elements(renderer, scale, target, scrolling_focus_ring);
+ let scrolling = self
+ .scrolling
+ .render_elements(renderer, target, scrolling_focus_ring);
let scrolling = scrolling.into_iter().map(WorkspaceRenderElement::from);
let floating_focus_ring = focus_ring && self.floating_is_active();
let floating = self.is_floating_visible().then(|| {
let view_rect = Rectangle::from_size(self.view_size);
- let floating = self.floating.render_elements(
- renderer,
- view_rect,
- scale,
- target,
- floating_focus_ring,
- );
+ let floating =
+ self.floating
+ .render_elements(renderer, view_rect, target, floating_focus_ring);
floating.into_iter().map(WorkspaceRenderElement::from)
});
@@ -1446,14 +1441,13 @@ impl<W: LayoutElement> Workspace<W> {
}
pub fn store_unmap_snapshot_if_empty(&mut self, renderer: &mut GlesRenderer, window: &W::Id) {
- let output_scale = Scale::from(self.scale.fractional_scale());
let view_size = self.view_size();
for (tile, tile_pos) in self.tiles_with_render_positions_mut(false) {
if tile.window().id() == window {
let view_pos = Point::from((-tile_pos.x, -tile_pos.y));
let view_rect = Rectangle::new(view_pos, view_size);
tile.update_render_elements(false, view_rect);
- tile.store_unmap_snapshot_if_empty(renderer, output_scale);
+ tile.store_unmap_snapshot_if_empty(renderer);
return;
}
}