summaryrefslogtreecommitdiffstats
path: root/native/src/element.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--native/src/element.rs (renamed from src/element.rs)44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/element.rs b/native/src/element.rs
index 70d06f42..dd5ce621 100644
--- a/src/element.rs
+++ b/native/src/element.rs
@@ -1,7 +1,7 @@
use stretch::{geometry, result};
use crate::{
- renderer, Event, Hasher, Layout, MouseCursor, Node, Point, Widget,
+ renderer, Color, Event, Hasher, Layout, MouseCursor, Node, Point, Widget,
};
/// A generic [`Widget`].
@@ -87,7 +87,7 @@ impl<'a, Message, Renderer> Element<'a, Message, Renderer> {
///
/// ```
/// # mod counter {
- /// # use iced::{button, Button};
+ /// # use iced_native::{button, Button};
/// #
/// # #[derive(Debug, Clone, Copy)]
/// # pub enum Message {}
@@ -101,19 +101,21 @@ impl<'a, Message, Renderer> Element<'a, Message, Renderer> {
/// # }
/// #
/// # mod iced_wgpu {
- /// # use iced::{
- /// # button, MouseCursor, Node, Point, Rectangle, Style,
+ /// # use iced_native::{
+ /// # button, Button, MouseCursor, Node, Point, Rectangle, Style, Layout
/// # };
/// # pub struct Renderer;
/// #
/// # impl button::Renderer for Renderer {
- /// # fn draw(
+ /// # fn node<Message>(&self, _button: &Button<'_, Message>) -> Node {
+ /// # Node::new(Style::default())
+ /// # }
+ /// #
+ /// # fn draw<Message>(
/// # &mut self,
+ /// # _button: &Button<'_, Message>,
+ /// # _layout: Layout<'_>,
/// # _cursor_position: Point,
- /// # _bounds: Rectangle,
- /// # _state: &button::State,
- /// # _label: &str,
- /// # _class: button::Class,
/// # ) -> MouseCursor {
/// # MouseCursor::OutOfBounds
/// # }
@@ -130,7 +132,7 @@ impl<'a, Message, Renderer> Element<'a, Message, Renderer> {
/// # pub enum Message {
/// # Counter(usize, counter::Message)
/// # }
- /// use iced::{Element, Row};
+ /// use iced_native::{Element, Row};
/// use iced_wgpu::Renderer;
///
/// impl ManyCounters {
@@ -210,20 +212,23 @@ impl<'a, Message, Renderer> Element<'a, Message, Renderer> {
///
/// [`Element`]: struct.Element.html
/// [`Renderer`]: trait.Renderer.html
- pub fn explain(
+ pub fn explain<C: Into<Color>>(
self,
- color: Renderer::Color,
+ color: C,
) -> Element<'a, Message, Renderer>
where
Message: 'static,
Renderer: 'a + renderer::Debugger,
{
Element {
- widget: Box::new(Explain::new(self, color)),
+ widget: Box::new(Explain::new(self, color.into())),
}
}
- pub(crate) fn compute_layout(&self, renderer: &Renderer) -> result::Layout {
+ pub(crate) fn compute_layout(
+ &self,
+ renderer: &mut Renderer,
+ ) -> result::Layout {
let node = self.widget.node(renderer);
node.0.compute_layout(geometry::Size::undefined()).unwrap()
@@ -264,7 +269,7 @@ impl<'a, A, B, Renderer> Widget<B, Renderer> for Map<'a, A, B, Renderer>
where
A: Copy,
{
- fn node(&self, renderer: &Renderer) -> Node {
+ fn node(&self, renderer: &mut Renderer) -> Node {
self.widget.node(renderer)
}
@@ -306,7 +311,7 @@ where
struct Explain<'a, Message, Renderer: renderer::Debugger> {
element: Element<'a, Message, Renderer>,
- color: Renderer::Color,
+ color: Color,
}
impl<'a, Message, Renderer> std::fmt::Debug for Explain<'a, Message, Renderer>
@@ -324,10 +329,7 @@ impl<'a, Message, Renderer> Explain<'a, Message, Renderer>
where
Renderer: renderer::Debugger,
{
- fn new(
- element: Element<'a, Message, Renderer>,
- color: Renderer::Color,
- ) -> Self {
+ fn new(element: Element<'a, Message, Renderer>, color: Color) -> Self {
Explain { element, color }
}
}
@@ -337,7 +339,7 @@ impl<'a, Message, Renderer> Widget<Message, Renderer>
where
Renderer: renderer::Debugger,
{
- fn node(&self, renderer: &Renderer) -> Node {
+ fn node(&self, renderer: &mut Renderer) -> Node {
self.element.widget.node(renderer)
}