From 21d390fa4a8a97f9d425a9903ca75e5cbb8e98e2 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 8 Sep 2023 10:20:45 -0600 Subject: [PATCH] Support overflow scroll --- crates/gpui2/src/elements/div.rs | 161 +++++++++++++++++++++++++-- crates/gpui2/src/layout_context.rs | 5 +- crates/gpui2/src/style.rs | 8 ++ crates/storybook/src/collab_panel.rs | 48 +++++--- crates/storybook/src/workspace.rs | 89 +++++++-------- 5 files changed, 236 insertions(+), 75 deletions(-) diff --git a/crates/gpui2/src/elements/div.rs b/crates/gpui2/src/elements/div.rs index acaf166fc000ca028154d936d48eff9a2fd5c2d8..162383642a865f719fa32719fce587f377dcc59a 100644 --- a/crates/gpui2/src/elements/div.rs +++ b/crates/gpui2/src/elements/div.rs @@ -1,17 +1,17 @@ -use std::cell::Cell; +use std::{cell::Cell, rc::Rc}; use crate::{ element::{AnyElement, Element, IntoElement, Layout, ParentElement}, hsla, layout_context::LayoutContext, paint_context::PaintContext, - style::{CornerRadii, Style, StyleHelpers, Styleable}, + style::{CornerRadii, Overflow, Style, StyleHelpers, Styleable}, InteractionHandlers, Interactive, }; use anyhow::Result; use gpui::{ - geometry::vector::Vector2F, - platform::{MouseButton, MouseButtonEvent, MouseMovedEvent}, + geometry::{rect::RectF, vector::Vector2F, Point}, + platform::{MouseButton, MouseButtonEvent, MouseMovedEvent, ScrollWheelEvent}, scene::{self}, LayoutId, }; @@ -23,6 +23,7 @@ pub struct Div { styles: RefinementCascade