Rename Renderer::Primitive to Renderer::Output
This commit is contained in:
parent
650d020fde
commit
8846a239cf
25 changed files with 48 additions and 48 deletions
|
|
@ -50,7 +50,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
self.widget.draw(renderer, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -120,7 +120,7 @@ where
|
|||
/// # };
|
||||
/// # pub struct Renderer;
|
||||
/// #
|
||||
/// # impl iced_native::Renderer for Renderer { type Primitive = (); }
|
||||
/// # impl iced_native::Renderer for Renderer { type Output = (); }
|
||||
/// #
|
||||
/// # impl iced_native::row::Renderer for Renderer {
|
||||
/// # fn draw<Message>(
|
||||
|
|
@ -323,7 +323,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
self.widget.draw(renderer, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -383,7 +383,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.explain(
|
||||
self.element.widget.as_ref(),
|
||||
layout,
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
//! # pub struct Renderer {}
|
||||
//! #
|
||||
//! # impl iced_native::Renderer for Renderer {
|
||||
//! # type Primitive = ();
|
||||
//! # type Output = ();
|
||||
//! # }
|
||||
//! #
|
||||
//! # impl button::Renderer for Renderer {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! Write your own renderer.
|
||||
//!
|
||||
//! You will need to implement the `Renderer` trait first. It simply contains
|
||||
//! a `Primitive` associated type.
|
||||
//! an `Output` associated type.
|
||||
//!
|
||||
//! There is no common trait to draw all the widgets. Instead, every [`Widget`]
|
||||
//! constrains its generic `Renderer` type as necessary.
|
||||
|
|
@ -27,5 +27,5 @@ pub use debugger::Debugger;
|
|||
pub use windowed::Windowed;
|
||||
|
||||
pub trait Renderer {
|
||||
type Primitive;
|
||||
type Output;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,5 +21,5 @@ pub trait Debugger: super::Renderer {
|
|||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
color: Color,
|
||||
) -> Self::Primitive;
|
||||
) -> Self::Output;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ pub trait Windowed: super::Renderer {
|
|||
|
||||
fn draw(
|
||||
&mut self,
|
||||
output: &Self::Output,
|
||||
target: &mut Self::Target,
|
||||
primitive: &Self::Primitive,
|
||||
) -> MouseCursor;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ where
|
|||
/// # pub fn new() -> Self { Renderer }
|
||||
/// # }
|
||||
/// #
|
||||
/// # impl iced_native::Renderer for Renderer { type Primitive = (); }
|
||||
/// # impl iced_native::Renderer for Renderer { type Output = (); }
|
||||
/// #
|
||||
/// # impl iced_native::column::Renderer for Renderer {
|
||||
/// # fn draw<Message>(
|
||||
|
|
@ -56,7 +56,7 @@ where
|
|||
/// # _column: &iced_native::Column<'_, Message, Self>,
|
||||
/// # _layout: iced_native::Layout<'_>,
|
||||
/// # _cursor_position: iced_native::Point,
|
||||
/// # ) -> Self::Primitive {
|
||||
/// # ) -> Self::Output {
|
||||
/// # ()
|
||||
/// # }
|
||||
/// # }
|
||||
|
|
@ -144,7 +144,7 @@ where
|
|||
/// # pub fn new() -> Self { Renderer }
|
||||
/// # }
|
||||
/// #
|
||||
/// # impl iced_native::Renderer for Renderer { type Primitive = (); }
|
||||
/// # impl iced_native::Renderer for Renderer { type Output = (); }
|
||||
/// #
|
||||
/// # impl iced_native::column::Renderer for Renderer {
|
||||
/// # fn draw<Message>(
|
||||
|
|
@ -152,7 +152,7 @@ where
|
|||
/// # _column: &iced_native::Column<'_, Message, Self>,
|
||||
/// # _layout: iced_native::Layout<'_>,
|
||||
/// # _cursor_position: iced_native::Point,
|
||||
/// # ) -> Self::Primitive {
|
||||
/// # ) -> Self::Output {
|
||||
/// # ()
|
||||
/// # }
|
||||
/// # }
|
||||
|
|
@ -242,7 +242,7 @@ where
|
|||
/// # pub fn new() -> Self { Renderer }
|
||||
/// # }
|
||||
/// #
|
||||
/// # impl iced_native::Renderer for Renderer { type Primitive = (); }
|
||||
/// # impl iced_native::Renderer for Renderer { type Output = (); }
|
||||
/// #
|
||||
/// # impl iced_native::column::Renderer for Renderer {
|
||||
/// # fn draw<Message>(
|
||||
|
|
@ -250,7 +250,7 @@ where
|
|||
/// # _column: &iced_native::Column<'_, Message, Self>,
|
||||
/// # _layout: iced_native::Layout<'_>,
|
||||
/// # _cursor_position: iced_native::Point,
|
||||
/// # ) -> Self::Primitive {
|
||||
/// # ) -> Self::Output {
|
||||
/// # ()
|
||||
/// # }
|
||||
/// # }
|
||||
|
|
@ -296,7 +296,7 @@ where
|
|||
/// // Flush rendering operations...
|
||||
/// }
|
||||
/// ```
|
||||
pub fn draw(&self, renderer: &mut Renderer) -> Renderer::Primitive {
|
||||
pub fn draw(&self, renderer: &mut Renderer) -> Renderer::Output {
|
||||
self.root.widget.draw(
|
||||
renderer,
|
||||
Layout::new(&self.layout),
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive;
|
||||
) -> Renderer::Output;
|
||||
|
||||
/// Computes the _layout_ hash of the [`Widget`].
|
||||
///
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -100,7 +100,7 @@ pub trait Renderer: crate::Renderer + Sized {
|
|||
button: &Button<'_, Message, Self>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive;
|
||||
) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Button<'a, Message, Renderer>>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ pub trait Renderer: crate::Renderer {
|
|||
checkbox: &Checkbox<Message>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive;
|
||||
) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Checkbox<Message>>
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -97,7 +97,7 @@ pub trait Renderer: crate::Renderer + Sized {
|
|||
row: &Column<'_, Message, Self>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive;
|
||||
) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Column<'a, Message, Renderer>>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
_cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout)
|
||||
}
|
||||
|
||||
|
|
@ -50,8 +50,7 @@ pub trait Renderer<I>: crate::Renderer {
|
|||
/// Draws an [`Image`].
|
||||
///
|
||||
/// [`Image`]: struct.Image.html
|
||||
fn draw(&mut self, image: &Image<I>, layout: Layout<'_>)
|
||||
-> Self::Primitive;
|
||||
fn draw(&mut self, image: &Image<I>, layout: Layout<'_>) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, I, Message, Renderer> From<Image<I>> for Element<'a, Message, Renderer>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ pub trait Renderer: crate::Renderer {
|
|||
radio: &Radio<Message>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive;
|
||||
) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Radio<Message>>
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ pub trait Renderer: crate::Renderer + Sized {
|
|||
row: &Row<'_, Message, Self>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive;
|
||||
) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Row<'a, Message, Renderer>>
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout, cursor_position)
|
||||
}
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ pub trait Renderer: crate::Renderer {
|
|||
slider: &Slider<'_, Message>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive;
|
||||
) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Slider<'a, Message>>
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ where
|
|||
renderer: &mut Renderer,
|
||||
layout: Layout<'_>,
|
||||
_cursor_position: Point,
|
||||
) -> Renderer::Primitive {
|
||||
) -> Renderer::Output {
|
||||
renderer.draw(&self, layout)
|
||||
}
|
||||
|
||||
|
|
@ -64,7 +64,7 @@ pub trait Renderer: crate::Renderer {
|
|||
/// [`Text`]: struct.Text.html
|
||||
/// [`HorizontalAlignment`]: enum.HorizontalAlignment.html
|
||||
/// [`VerticalAlignment`]: enum.VerticalAlignment.html
|
||||
fn draw(&mut self, text: &Text, layout: Layout<'_>) -> Self::Primitive;
|
||||
fn draw(&mut self, text: &Text, layout: Layout<'_>) -> Self::Output;
|
||||
}
|
||||
|
||||
impl<'a, Message, Renderer> From<Text> for Element<'a, Message, Renderer>
|
||||
|
|
|
|||
|
|
@ -100,8 +100,8 @@ impl Renderer {
|
|||
|
||||
fn draw(
|
||||
&mut self,
|
||||
target: &mut Target,
|
||||
primitive: &Primitive,
|
||||
target: &mut Target,
|
||||
) -> MouseCursor {
|
||||
log::debug!("Drawing");
|
||||
|
||||
|
|
@ -154,6 +154,7 @@ impl Renderer {
|
|||
|
||||
MouseCursor::OutOfBounds
|
||||
}
|
||||
|
||||
fn draw_primitive(&mut self, primitive: &Primitive) {
|
||||
match primitive {
|
||||
Primitive::None => {}
|
||||
|
|
@ -243,7 +244,7 @@ impl Renderer {
|
|||
|
||||
impl iced_native::Renderer for Renderer {
|
||||
// TODO: Add `MouseCursor` here (?)
|
||||
type Primitive = Primitive;
|
||||
type Output = Primitive;
|
||||
}
|
||||
|
||||
impl Windowed for Renderer {
|
||||
|
|
@ -259,10 +260,10 @@ impl Windowed for Renderer {
|
|||
|
||||
fn draw(
|
||||
&mut self,
|
||||
output: &Self::Output,
|
||||
target: &mut Target,
|
||||
primitive: &Primitive,
|
||||
) -> MouseCursor {
|
||||
self.draw(target, primitive)
|
||||
self.draw(output, target)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -273,7 +274,7 @@ impl Debugger for Renderer {
|
|||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
_color: Color,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
// TODO: Include a bordered box to display layout bounds
|
||||
widget.draw(self, layout, cursor_position)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ impl button::Renderer for Renderer {
|
|||
button: &Button<Message, Self>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
let bounds = layout.bounds();
|
||||
|
||||
Primitive::Group {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ impl checkbox::Renderer for Renderer {
|
|||
_checkbox: &Checkbox<Message>,
|
||||
_layout: Layout<'_>,
|
||||
_cursor_position: Point,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
// TODO
|
||||
Primitive::None
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ impl column::Renderer for Renderer {
|
|||
column: &Column<'_, Message, Self>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
Primitive::Group {
|
||||
primitives: column
|
||||
.children
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ impl image::Renderer<&str> for Renderer {
|
|||
&mut self,
|
||||
_image: &Image<&str>,
|
||||
_layout: Layout<'_>,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
Primitive::None
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ impl radio::Renderer for Renderer {
|
|||
_radio: &Radio<Message>,
|
||||
_layout: Layout<'_>,
|
||||
_cursor_position: Point,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
Primitive::None
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ impl row::Renderer for Renderer {
|
|||
row: &Row<'_, Message, Self>,
|
||||
layout: Layout<'_>,
|
||||
cursor_position: Point,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
Primitive::Group {
|
||||
primitives: row
|
||||
.children
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ impl slider::Renderer for Renderer {
|
|||
_slider: &Slider<Message>,
|
||||
_layout: Layout<'_>,
|
||||
_cursor_position: Point,
|
||||
) -> Self::Primitive {
|
||||
) -> Self::Output {
|
||||
Primitive::None
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ impl text::Renderer for Renderer {
|
|||
})
|
||||
}
|
||||
|
||||
fn draw(&mut self, text: &Text, layout: Layout<'_>) -> Self::Primitive {
|
||||
fn draw(&mut self, text: &Text, layout: Layout<'_>) -> Self::Output {
|
||||
Primitive::Text {
|
||||
content: text.content.clone(),
|
||||
size: f32::from(text.size.unwrap_or(20)),
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ pub trait Application {
|
|||
size = new_size;
|
||||
}
|
||||
|
||||
let new_mouse_cursor = renderer.draw(&mut target, &primitive);
|
||||
let new_mouse_cursor = renderer.draw(&primitive, &mut target);
|
||||
|
||||
if new_mouse_cursor != mouse_cursor {
|
||||
window.set_cursor_icon(conversion::mouse_cursor(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue