Add example images to widget docs

This commit is contained in:
Héctor Ramón Jiménez 2019-08-30 01:42:22 +02:00
parent 23d4d20e57
commit e84e0b876c
5 changed files with 25 additions and 24 deletions

View file

@ -36,6 +36,8 @@ use std::hash::Hash;
/// Button::new(state, "Click me!") /// Button::new(state, "Click me!")
/// .on_press(Message::ButtonClicked); /// .on_press(Message::ButtonClicked);
/// ``` /// ```
///
/// ![Button drawn by Coffee's renderer](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/button.png?raw=true)
pub struct Button<'a, Message> { pub struct Button<'a, Message> {
state: &'a mut State, state: &'a mut State,
label: String, label: String,

View file

@ -24,24 +24,19 @@ use crate::{
/// #[derive(Debug, Clone, Copy)] /// #[derive(Debug, Clone, Copy)]
/// pub enum Color { /// pub enum Color {
/// Black, /// Black,
/// White,
/// }
///
/// impl Default for Color {
/// fn default() -> Color {
/// Color::Black
/// }
/// } /// }
/// ///
/// pub enum Message { /// pub enum Message {
/// CheckboxToggled(bool), /// CheckboxToggled(bool),
/// } /// }
/// ///
/// fn some_checkbox(is_checked: bool) -> Checkbox<Color, Message> { /// let is_checked = true;
/// Checkbox::new(is_checked, "Toggle me!", Message::CheckboxToggled) ///
/// .label_color(Color::White) /// Checkbox::new(is_checked, "Toggle me!", Message::CheckboxToggled)
/// } /// .label_color(Color::Black);
/// ``` /// ```
///
/// ![Checkbox drawn by Coffee's renderer](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/checkbox.png?raw=true)
pub struct Checkbox<Color, Message> { pub struct Checkbox<Color, Message> {
is_checked: bool, is_checked: bool,
on_toggle: Box<dyn Fn(bool) -> Message>, on_toggle: Box<dyn Fn(bool) -> Message>,
@ -98,7 +93,7 @@ impl<Color, Message> Checkbox<Color, Message> {
impl<Color, Message, Renderer> Widget<Message, Renderer> impl<Color, Message, Renderer> Widget<Message, Renderer>
for Checkbox<Color, Message> for Checkbox<Color, Message>
where where
Color: 'static + Copy + Default + std::fmt::Debug, Color: 'static + Copy + std::fmt::Debug,
Renderer: self::Renderer + text::Renderer<Color>, Renderer: self::Renderer + text::Renderer<Color>,
{ {
fn node(&self, renderer: &Renderer) -> Node { fn node(&self, renderer: &Renderer) -> Node {

View file

@ -25,12 +25,6 @@ use std::hash::Hash;
/// Black, /// Black,
/// } /// }
/// ///
/// impl Default for Color {
/// fn default() -> Color {
/// Color::Black
/// }
/// }
///
/// #[derive(Debug, Clone, Copy, PartialEq, Eq)] /// #[derive(Debug, Clone, Copy, PartialEq, Eq)]
/// pub enum Choice { /// pub enum Choice {
/// A, /// A,
@ -44,11 +38,14 @@ use std::hash::Hash;
/// ///
/// let selected_choice = Some(Choice::A); /// let selected_choice = Some(Choice::A);
/// ///
/// Radio::<Color, Message>::new(Choice::A, "This is A", selected_choice, Message::RadioSelected) /// Radio::new(Choice::A, "This is A", selected_choice, Message::RadioSelected)
/// .label_color(Color::Black);
///
/// Radio::new(Choice::B, "This is B", selected_choice, Message::RadioSelected)
/// .label_color(Color::Black); /// .label_color(Color::Black);
/// ``` /// ```
/// ///
/// ![Checkbox drawn by the built-in renderer in Coffee](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/radio.png?raw=true) /// ![Radio buttons drawn by Coffee's renderer](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/radio.png?raw=true)
pub struct Radio<Color, Message> { pub struct Radio<Color, Message> {
is_selected: bool, is_selected: bool,
on_click: Message, on_click: Message,
@ -108,7 +105,7 @@ impl<Color, Message> Radio<Color, Message> {
impl<Color, Message, Renderer> Widget<Message, Renderer> impl<Color, Message, Renderer> Widget<Message, Renderer>
for Radio<Color, Message> for Radio<Color, Message>
where where
Color: 'static + Copy + Default + std::fmt::Debug, Color: 'static + Copy + std::fmt::Debug,
Renderer: self::Renderer + text::Renderer<Color>, Renderer: self::Renderer + text::Renderer<Color>,
Message: Copy + std::fmt::Debug, Message: Copy + std::fmt::Debug,
{ {
@ -205,7 +202,7 @@ pub trait Renderer {
impl<'a, Color, Message, Renderer> From<Radio<Color, Message>> impl<'a, Color, Message, Renderer> From<Radio<Color, Message>>
for Element<'a, Message, Renderer> for Element<'a, Message, Renderer>
where where
Color: 'static + Copy + Default + std::fmt::Debug, Color: 'static + Copy + std::fmt::Debug,
Renderer: self::Renderer + text::Renderer<Color>, Renderer: self::Renderer + text::Renderer<Color>,
Message: 'static + Copy + std::fmt::Debug, Message: 'static + Copy + std::fmt::Debug,
{ {

View file

@ -38,6 +38,8 @@ use crate::{
/// ///
/// Slider::new(state, 0.0..=100.0, value, Message::SliderChanged); /// Slider::new(state, 0.0..=100.0, value, Message::SliderChanged);
/// ``` /// ```
///
/// ![Slider drawn by Coffee's renderer](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/slider.png?raw=true)
pub struct Slider<'a, Message> { pub struct Slider<'a, Message> {
state: &'a mut State, state: &'a mut State,
range: RangeInclusive<f32>, range: RangeInclusive<f32>,

View file

@ -18,9 +18,14 @@ use std::hash::Hash;
/// ``` /// ```
/// use iced::Text; /// use iced::Text;
/// ///
/// Text::<(f32, f32, f32)>::new("I <3 iced!") /// #[derive(Debug, Clone, Copy)]
/// pub enum Color {
/// Black,
/// }
///
/// Text::new("I <3 iced!")
/// .size(40) /// .size(40)
/// .color((0.0, 0.0, 1.0)); /// .color(Color::Black);
/// ``` /// ```
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct Text<Color> { pub struct Text<Color> {