mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-11 13:10:54 +00:00
tweak drop target overlay color and make stack fully constraint children by the first child
's size
This commit is contained in:
parent
aed085b168
commit
113b7f6f97
3 changed files with 14 additions and 5 deletions
|
@ -7,6 +7,8 @@ use crate::{
|
|||
DebugContext, Element, ElementBox, LayoutContext, PaintContext, SizeConstraint,
|
||||
};
|
||||
|
||||
/// Element which renders it's children in a stack on top of each other.
|
||||
/// The first child determines the size of the others.
|
||||
#[derive(Default)]
|
||||
pub struct Stack {
|
||||
children: Vec<ElementBox>,
|
||||
|
@ -28,10 +30,16 @@ impl Element for Stack {
|
|||
cx: &mut LayoutContext,
|
||||
) -> (Vector2F, Self::LayoutState) {
|
||||
let mut size = constraint.min;
|
||||
for child in &mut self.children {
|
||||
size = size.max(child.layout(constraint, cx));
|
||||
constraint.min = size;
|
||||
let mut children = self.children.iter_mut();
|
||||
if let Some(bottom_child) = children.next() {
|
||||
size = bottom_child.layout(constraint, cx);
|
||||
constraint = SizeConstraint::strict(size);
|
||||
}
|
||||
|
||||
for child in children {
|
||||
child.layout(constraint, cx);
|
||||
}
|
||||
|
||||
(size, ())
|
||||
}
|
||||
|
||||
|
|
|
@ -126,6 +126,7 @@ pub struct OpenSharedScreen {
|
|||
pub peer_id: PeerId,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq)]
|
||||
pub struct SplitWithItem {
|
||||
from: WeakViewHandle<Pane>,
|
||||
pane_to_split: WeakViewHandle<Pane>,
|
||||
|
|
|
@ -228,8 +228,8 @@ export default function workspace(colorScheme: ColorScheme) {
|
|||
},
|
||||
},
|
||||
dropTargetOverlayColor: withOpacity(
|
||||
foreground(layer),
|
||||
0.6
|
||||
foreground(layer, "variant"),
|
||||
0.5
|
||||
),
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue