Add more docs

Nathan Sobo created

Change summary

crates/gpui2/src/element.rs | 6 ++++++
1 file changed, 6 insertions(+)

Detailed changes

crates/gpui2/src/element.rs 🔗

@@ -125,12 +125,18 @@ pub trait IntoElement: Sized {
     }
 }
 
+/// A trait that all [View] types must implement.
+/// This trait tells the framework how a particular type is displayed on screen.
+/// For any type `V` implementing `Render`, you can create a `View<V>` handle, which can be used as an element in another view or as the root of a window.
 pub trait Render: 'static + Sized {
     type Output: IntoElement;
 
+    /// Describes how this type is displayed on screen.
     fn render(&mut self, cx: &mut ViewContext<Self>) -> Self::Output;
 }
 
+/// You can derive [IntoElement] on any type that implements this trait.
+/// It is used to allow views to be expressed in terms of abstract data.
 pub trait RenderOnce: 'static {
     type Output: IntoElement;