@@ -30,9 +30,9 @@ use fs::Fs;
use futures::StreamExt;
use gpui::{
canvas, div, point, relative, rems, uniform_list, Action, AnyElement, AppContext,
- AsyncWindowContext, ClipboardItem, Context, Div, EventEmitter, FocusHandle, Focusable,
- FocusableView, FontStyle, FontWeight, HighlightStyle, InteractiveElement, IntoElement, Model,
- ModelContext, ParentElement, Pixels, PromptLevel, Render, SharedString,
+ AsyncWindowContext, AvailableSpace, ClipboardItem, Context, Div, EventEmitter, FocusHandle,
+ Focusable, FocusableView, FontStyle, FontWeight, HighlightStyle, InteractiveElement,
+ IntoElement, Model, ModelContext, ParentElement, Pixels, PromptLevel, Render, SharedString,
StatefulInteractiveElement, Styled, Subscription, Task, TextStyle, UniformListScrollHandle,
View, ViewContext, VisualContext, WeakModel, WeakView, WhiteSpace, WindowContext,
};
@@ -1199,9 +1199,10 @@ impl Render for AssistantPanel {
},
)
.track_scroll(scroll_handle)
+ .into_any_element()
.draw(
bounds.origin,
- bounds.size,
+ bounds.size.map(AvailableSpace::Definite),
cx,
);
})
@@ -23,17 +23,6 @@ pub trait IntoElement: Sized {
self.into_element().into_any()
}
- fn draw<T>(self, origin: Point<Pixels>, available_space: Size<T>, cx: &mut WindowContext)
- where
- T: Clone + Default + Debug + Into<AvailableSpace>,
- {
- let element = DrawableElement {
- element: Some(self.into_element()),
- phase: ElementDrawPhase::Start,
- };
- DrawableElement::draw(element, origin, available_space.map(Into::into), cx);
- }
-
fn draw_and_update_state<T, R>(
self,
origin: Point<Pixels>,
@@ -1,11 +1,11 @@
use editor::{Cursor, HighlightedRange, HighlightedRangeLine};
use gpui::{
- black, div, fill, point, px, red, relative, AnyElement, AsyncWindowContext, BorrowWindow,
- Bounds, DispatchPhase, Element, ElementId, ExternalPaths, FocusHandle, Font, FontStyle,
- FontWeight, HighlightStyle, Hsla, InteractiveElement, InteractiveElementState, Interactivity,
- IntoElement, LayoutId, Model, ModelContext, ModifiersChangedEvent, MouseButton, Pixels,
- PlatformInputHandler, Point, Rgba, ShapedLine, StatefulInteractiveElement, Styled, TextRun,
- TextStyle, TextSystem, UnderlineStyle, WhiteSpace, WindowContext,
+ black, div, fill, point, px, red, relative, AnyElement, AsyncWindowContext, AvailableSpace,
+ BorrowWindow, Bounds, DispatchPhase, Element, ElementId, ExternalPaths, FocusHandle, Font,
+ FontStyle, FontWeight, HighlightStyle, Hsla, InteractiveElement, InteractiveElementState,
+ Interactivity, IntoElement, LayoutId, Model, ModelContext, ModifiersChangedEvent, MouseButton,
+ Pixels, PlatformInputHandler, Point, Rgba, ShapedLine, StatefulInteractiveElement, Styled,
+ TextRun, TextStyle, TextSystem, UnderlineStyle, WhiteSpace, WindowContext,
};
use itertools::Itertools;
use language::CursorShape;
@@ -854,8 +854,8 @@ impl Element for TerminalElement {
});
}
- if let Some(element) = layout.hyperlink_tooltip.take() {
- element.draw(origin, bounds.size, cx)
+ if let Some(mut element) = layout.hyperlink_tooltip.take() {
+ element.draw(origin, bounds.size.map(AvailableSpace::Definite), cx)
}
});
}