feat: 🎉 add show-pointer for Screenshot and ScreenshotScreen

This commit is contained in:
Toby Bridle
2025-03-09 20:55:30 +00:00
committed by Ivan Molodetskikh
parent 87b6c12625
commit 47dd338340
7 changed files with 72 additions and 29 deletions
+9 -4
View File
@@ -1538,7 +1538,7 @@ impl State {
self.niri.output_management_state.notify_changes(new_config);
}
pub fn open_screenshot_ui(&mut self) {
pub fn open_screenshot_ui(&mut self, show_pointer: bool) {
if self.niri.is_locked() || self.niri.screenshot_ui.is_open() {
return;
}
@@ -1570,7 +1570,7 @@ impl State {
self.backend.with_primary_renderer(|renderer| {
self.niri
.screenshot_ui
.open(renderer, screenshots, default_output)
.open(renderer, screenshots, default_output, show_pointer)
});
self.niri
@@ -4701,6 +4701,7 @@ impl Niri {
renderer: &mut GlesRenderer,
output: &Output,
write_to_disk: bool,
include_pointer: bool,
) -> anyhow::Result<()> {
let _span = tracy_client::span!("Niri::screenshot");
@@ -4711,8 +4712,12 @@ impl Niri {
let size = transform.transform_size(size);
let scale = Scale::from(output.current_scale().fractional_scale());
let elements =
self.render::<GlesRenderer>(renderer, output, true, RenderTarget::ScreenCapture);
let elements = self.render::<GlesRenderer>(
renderer,
output,
include_pointer,
RenderTarget::ScreenCapture,
);
let elements = elements.iter().rev();
let pixels = render_to_vec(
renderer,