Unify scrolling viewport presentation ownership

This commit is contained in:
Samuel Onoja committed 2026-10-07 08:44:40 +01:00
1 parent 4a9880eaad
commit a00f1c6f3a
12 files changed
+894 -316

No files matched your search

+6 -4
View File
@@ -14,9 +14,12 @@ mod prediction;
mod presentation_dependencies;
pub(crate) use prediction::FrameScene;
mod lifecycle;
mod viewport;
mod window_registry;
mod windows;
use viewport::ViewportPresentation;
use std::collections::{HashMap, HashSet};
use std::error::Error;
use std::ffi::OsString;
@@ -146,6 +149,7 @@ impl SlideOffset {
}
}
#[derive(Clone, PartialEq)]
struct FocusSwipe {
workspace: WorkspaceId,
from: WindowId,
@@ -444,11 +448,10 @@ pub struct Ferese {
pub(crate) pending_logout: Option<u32>,
pub(crate) logout_query: Option<u32>,
pub(crate) logout_owner: Option<ObjectId>,
viewport_animations: HashMap<WorkspaceId, AnimatedValue>,
viewports: HashMap<WorkspaceId, ViewportPresentation>,
presentation_dependencies: presentation_dependencies::PresentationDependencies,
#[cfg(feature = "resize-metrics")]
pub(crate) resize_metrics: crate::resize_metrics::ResizeMetrics,
focus_swipe: Option<FocusSwipe>,
workspace_slides: HashMap<OutputId, WorkspaceSlide>,
workspace_slide_offsets: HashMap<WorkspaceId, (f64, f64)>,
pub focused_window: Option<WindowId>,
@@ -721,11 +724,10 @@ impl Ferese {
pending_logout: None,
logout_query: None,
logout_owner: None,
viewport_animations: HashMap::new(),
viewports: HashMap::new(),
presentation_dependencies: Default::default(),
#[cfg(feature = "resize-metrics")]
resize_metrics: crate::resize_metrics::ResizeMetrics::default(),
focus_swipe: None,
workspace_slides: HashMap::new(),
workspace_slide_offsets: HashMap::new(),
focused_window: None,