Rename Renderer::Primitive to Renderer::Output

This commit is contained in:
Héctor Ramón Jiménez 2019-10-11 22:15:39 +02:00
parent 650d020fde
commit 8846a239cf
25 changed files with 48 additions and 48 deletions

View file

@ -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,

View file

@ -83,7 +83,7 @@
//! # pub struct Renderer {}
//! #
//! # impl iced_native::Renderer for Renderer {
//! # type Primitive = ();
//! # type Output = ();
//! # }
//! #
//! # impl button::Renderer for Renderer {

View file

@ -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;
}

View file

@ -21,5 +21,5 @@ pub trait Debugger: super::Renderer {
layout: Layout<'_>,
cursor_position: Point,
color: Color,
) -> Self::Primitive;
) -> Self::Output;
}

View file

@ -11,7 +11,7 @@ pub trait Windowed: super::Renderer {
fn draw(
&mut self,
output: &Self::Output,
target: &mut Self::Target,
primitive: &Self::Primitive,
) -> MouseCursor;
}

View file

@ -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),

View file

@ -77,7 +77,7 @@ where
renderer: &mut Renderer,
layout: Layout<'_>,
cursor_position: Point,
) -> Renderer::Primitive;
) -> Renderer::Output;
/// Computes the _layout_ hash of the [`Widget`].
///

View file

@ -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>>

View file

@ -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>>

View file

@ -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>>

View file

@ -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>

View file

@ -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>>

View file

@ -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>>

View file

@ -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>>

View file

@ -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>

View file

@ -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)
}

View file

@ -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 {

View file

@ -11,7 +11,7 @@ impl checkbox::Renderer for Renderer {
_checkbox: &Checkbox<Message>,
_layout: Layout<'_>,
_cursor_position: Point,
) -> Self::Primitive {
) -> Self::Output {
// TODO
Primitive::None
}

View file

@ -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

View file

@ -10,7 +10,7 @@ impl image::Renderer<&str> for Renderer {
&mut self,
_image: &Image<&str>,
_layout: Layout<'_>,
) -> Self::Primitive {
) -> Self::Output {
Primitive::None
}
}

View file

@ -11,7 +11,7 @@ impl radio::Renderer for Renderer {
_radio: &Radio<Message>,
_layout: Layout<'_>,
_cursor_position: Point,
) -> Self::Primitive {
) -> Self::Output {
Primitive::None
}
}

View file

@ -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

View file

@ -11,7 +11,7 @@ impl slider::Renderer for Renderer {
_slider: &Slider<Message>,
_layout: Layout<'_>,
_cursor_position: Point,
) -> Self::Primitive {
) -> Self::Output {
Primitive::None
}
}

View file

@ -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)),

View file

@ -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(