mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
layout: Implement overflow scroll support for different axes (#35414)
* layout: Add AxesScrollSensitivity to enable control of scroll in axis Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout_2013: Be compatible with AxesScrollSensitivity Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout: update struct AxesScrollSensitivity to euclid::Vector2D Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * display_list: implement From<Overflow> for ScrollSensitivity Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout: simplify and reuse scroll related logic Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout_2013: simplify and reuse scroll related logic Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout, layout_2013: revert AxesScrollSensitivity to pair struct Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout: Reimport ComputedOverflow as #35103 depends on it Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout: Add AxesOverflow to replace PhysicalVec Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout: implement scroll of viewport for different axes Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * layout: explicitly handle overflow match Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * Update components/shared/webrender/Cargo.toml Co-authored-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> --------- Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
9b3e23633d
commit
03fc54e682
12 changed files with 111 additions and 63 deletions
|
@ -9,7 +9,7 @@ use fxhash::FxHashSet;
|
|||
use style::animation::AnimationSetKey;
|
||||
use style::dom::OpaqueNode;
|
||||
use webrender_api::units;
|
||||
use webrender_traits::display_list::ScrollSensitivity;
|
||||
use webrender_traits::display_list::AxesScrollSensitivity;
|
||||
|
||||
use super::{ContainingBlockManager, Fragment, Tag};
|
||||
use crate::display_list::StackingContext;
|
||||
|
@ -38,7 +38,7 @@ pub struct FragmentTree {
|
|||
pub(crate) canvas_background: CanvasBackground,
|
||||
|
||||
/// Whether or not the root element is sensitive to scroll input events.
|
||||
pub root_scroll_sensitivity: ScrollSensitivity,
|
||||
pub root_scroll_sensitivity: AxesScrollSensitivity,
|
||||
}
|
||||
|
||||
impl FragmentTree {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue