diff options
author | 2021-10-18 15:19:04 +0700 | |
---|---|---|
committer | 2021-10-18 15:19:04 +0700 | |
commit | edea093350e1b576e2b7db50c525e7fa5c3bea9f (patch) | |
tree | bcc93c11a804d04e5842cef6c2088911fd4ef822 /native/src/widget | |
parent | 54a9a232f8110364972a8eef966b7b7477573f4f (diff) | |
download | iced-edea093350e1b576e2b7db50c525e7fa5c3bea9f.tar.gz iced-edea093350e1b576e2b7db50c525e7fa5c3bea9f.tar.bz2 iced-edea093350e1b576e2b7db50c525e7fa5c3bea9f.zip |
Move `Defaults` from `iced_graphics` to `iced_native`
Diffstat (limited to 'native/src/widget')
-rw-r--r-- | native/src/widget/button.rs | 3 | ||||
-rw-r--r-- | native/src/widget/checkbox.rs | 8 | ||||
-rw-r--r-- | native/src/widget/column.rs | 5 | ||||
-rw-r--r-- | native/src/widget/container.rs | 5 | ||||
-rw-r--r-- | native/src/widget/image.rs | 3 | ||||
-rw-r--r-- | native/src/widget/image/viewer.rs | 3 | ||||
-rw-r--r-- | native/src/widget/pane_grid.rs | 3 | ||||
-rw-r--r-- | native/src/widget/pane_grid/content.rs | 3 | ||||
-rw-r--r-- | native/src/widget/pane_grid/title_bar.rs | 3 | ||||
-rw-r--r-- | native/src/widget/pick_list.rs | 3 | ||||
-rw-r--r-- | native/src/widget/progress_bar.rs | 8 | ||||
-rw-r--r-- | native/src/widget/radio.rs | 8 | ||||
-rw-r--r-- | native/src/widget/row.rs | 5 | ||||
-rw-r--r-- | native/src/widget/rule.rs | 9 | ||||
-rw-r--r-- | native/src/widget/scrollable.rs | 6 | ||||
-rw-r--r-- | native/src/widget/slider.rs | 6 | ||||
-rw-r--r-- | native/src/widget/space.rs | 10 | ||||
-rw-r--r-- | native/src/widget/svg.rs | 11 | ||||
-rw-r--r-- | native/src/widget/text.rs | 6 | ||||
-rw-r--r-- | native/src/widget/text_input.rs | 85 | ||||
-rw-r--r-- | native/src/widget/toggler.rs | 3 | ||||
-rw-r--r-- | native/src/widget/tooltip.rs | 10 |
22 files changed, 101 insertions, 105 deletions
diff --git a/native/src/widget/button.rs b/native/src/widget/button.rs index 1c7f80ef..2aeffd03 100644 --- a/native/src/widget/button.rs +++ b/native/src/widget/button.rs @@ -5,6 +5,7 @@ use crate::event::{self, Event}; use crate::layout; use crate::mouse; use crate::overlay; +use crate::renderer; use crate::touch; use crate::{ Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle, @@ -244,7 +245,7 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs index 579e4ee3..52113322 100644 --- a/native/src/widget/checkbox.rs +++ b/native/src/widget/checkbox.rs @@ -1,15 +1,15 @@ //! Show toggle controls using checkboxes. use std::hash::Hash; -use crate::alignment::{self, Alignment}; use crate::event::{self, Event}; use crate::layout; use crate::mouse; +use crate::renderer; use crate::text; use crate::touch; use crate::{ - Clipboard, Color, Element, Hasher, Layout, Length, Point, Rectangle, Row, - Text, Widget, + Alignment, Clipboard, Color, Element, Hasher, Layout, Length, Point, + Rectangle, Row, Text, Widget, }; /// A box that can be checked. @@ -182,7 +182,7 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs index 7cf6d345..e7ce0041 100644 --- a/native/src/widget/column.rs +++ b/native/src/widget/column.rs @@ -4,6 +4,7 @@ use std::hash::Hash; use crate::event::{self, Event}; use crate::layout; use crate::overlay; +use crate::renderer; use crate::{ Alignment, Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle, Widget, @@ -165,13 +166,13 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, viewport: &Rectangle, ) { for (child, layout) in self.children.iter().zip(layout.children()) { - child.draw(renderer, defaults, layout, cursor_position, viewport); + child.draw(renderer, style, layout, cursor_position, viewport); } } diff --git a/native/src/widget/container.rs b/native/src/widget/container.rs index af40f2ab..92869873 100644 --- a/native/src/widget/container.rs +++ b/native/src/widget/container.rs @@ -5,6 +5,7 @@ use crate::alignment::{self, Alignment}; use crate::event::{self, Event}; use crate::layout; use crate::overlay; +use crate::renderer; use crate::{ Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle, Widget, @@ -175,14 +176,14 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, viewport: &Rectangle, ) { self.content.draw( renderer, - defaults, + style, layout.children().next().unwrap(), cursor_position, viewport, diff --git a/native/src/widget/image.rs b/native/src/widget/image.rs index 1607a596..b6b8dc1f 100644 --- a/native/src/widget/image.rs +++ b/native/src/widget/image.rs @@ -3,6 +3,7 @@ pub mod viewer; pub use viewer::Viewer; use crate::layout; +use crate::renderer; use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget}; use std::{ @@ -92,7 +93,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + _style: &renderer::Style, layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/image/viewer.rs b/native/src/widget/image/viewer.rs index d483ed61..63087f5f 100644 --- a/native/src/widget/image/viewer.rs +++ b/native/src/widget/image/viewer.rs @@ -3,6 +3,7 @@ use crate::event::{self, Event}; use crate::image; use crate::layout; use crate::mouse; +use crate::renderer; use crate::{ Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector, Widget, @@ -283,7 +284,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs index b4a8cdb1..1e63fdeb 100644 --- a/native/src/widget/pane_grid.rs +++ b/native/src/widget/pane_grid.rs @@ -32,6 +32,7 @@ use crate::event::{self, Event}; use crate::layout; use crate::mouse; use crate::overlay; +use crate::renderer; use crate::touch; use crate::{ Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector, @@ -475,7 +476,7 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, viewport: &Rectangle, diff --git a/native/src/widget/pane_grid/content.rs b/native/src/widget/pane_grid/content.rs index e94955f7..22b3a310 100644 --- a/native/src/widget/pane_grid/content.rs +++ b/native/src/widget/pane_grid/content.rs @@ -3,6 +3,7 @@ use crate::event::{self, Event}; use crate::layout; use crate::overlay; use crate::pane_grid::{self, TitleBar}; +use crate::renderer; use crate::{Clipboard, Element, Hasher, Layout, Point, Rectangle, Size}; /// The content of a [`Pane`]. @@ -57,7 +58,7 @@ where pub fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, viewport: &Rectangle, diff --git a/native/src/widget/pane_grid/title_bar.rs b/native/src/widget/pane_grid/title_bar.rs index 9b0b7c78..ce9249d2 100644 --- a/native/src/widget/pane_grid/title_bar.rs +++ b/native/src/widget/pane_grid/title_bar.rs @@ -3,6 +3,7 @@ use crate::event::{self, Event}; use crate::layout; use crate::overlay; use crate::pane_grid; +use crate::renderer; use crate::{ Clipboard, Element, Hasher, Layout, Padding, Point, Rectangle, Size, }; @@ -85,7 +86,7 @@ where pub fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, viewport: &Rectangle, diff --git a/native/src/widget/pick_list.rs b/native/src/widget/pick_list.rs index 73b01b01..ed688a61 100644 --- a/native/src/widget/pick_list.rs +++ b/native/src/widget/pick_list.rs @@ -5,6 +5,7 @@ use crate::layout; use crate::mouse; use crate::overlay; use crate::overlay::menu::{self, Menu}; +use crate::renderer; use crate::text; use crate::touch; use crate::{ @@ -322,7 +323,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/progress_bar.rs b/native/src/widget/progress_bar.rs index d8cf5376..98dd9989 100644 --- a/native/src/widget/progress_bar.rs +++ b/native/src/widget/progress_bar.rs @@ -1,7 +1,7 @@ //! Provide progress feedback to your users. -use crate::{ - layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget, -}; +use crate::layout; +use crate::renderer; +use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget}; use std::{hash::Hash, ops::RangeInclusive}; @@ -93,7 +93,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs index c6955079..ba9bd9aa 100644 --- a/native/src/widget/radio.rs +++ b/native/src/widget/radio.rs @@ -1,15 +1,15 @@ //! Create choices using radio buttons. use std::hash::Hash; -use crate::alignment::{self, Alignment}; use crate::event::{self, Event}; use crate::layout; use crate::mouse; +use crate::renderer; use crate::text; use crate::touch; use crate::{ - Clipboard, Color, Element, Hasher, Layout, Length, Point, Rectangle, Row, - Text, Widget, + Alignment, Clipboard, Color, Element, Hasher, Layout, Length, Point, + Rectangle, Row, Text, Widget, }; /// A circular button representing a choice. @@ -194,7 +194,7 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs index 7eb5ab55..af63c7da 100644 --- a/native/src/widget/row.rs +++ b/native/src/widget/row.rs @@ -2,6 +2,7 @@ use crate::event::{self, Event}; use crate::layout; use crate::overlay; +use crate::renderer; use crate::{ Alignment, Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle, Widget, @@ -164,13 +165,13 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, viewport: &Rectangle, ) { for (child, layout) in self.children.iter().zip(layout.children()) { - child.draw(renderer, defaults, layout, cursor_position, viewport); + child.draw(renderer, style, layout, cursor_position, viewport); } } diff --git a/native/src/widget/rule.rs b/native/src/widget/rule.rs index 1fab77bc..24c4a51a 100644 --- a/native/src/widget/rule.rs +++ b/native/src/widget/rule.rs @@ -1,11 +1,10 @@ //! Display a horizontal or vertical rule for dividing content. +use crate::layout; +use crate::renderer; +use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget}; use std::hash::Hash; -use crate::{ - layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget, -}; - /// Display a horizontal or vertical rule for dividing content. #[derive(Debug, Copy, Clone)] pub struct Rule<Renderer: self::Renderer> { @@ -68,7 +67,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index 98357928..63da539f 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -425,7 +425,7 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, @@ -452,7 +452,7 @@ where renderer.with_layer(bounds, Vector::new(0, offset), |renderer| { self.content.draw( renderer, - defaults, + style, content_layout, cursor_position, &Rectangle { @@ -502,7 +502,7 @@ where } else { self.content.draw( renderer, - defaults, + style, content_layout, cursor_position, &Rectangle { diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs index bcf811fe..7bdb72af 100644 --- a/native/src/widget/slider.rs +++ b/native/src/widget/slider.rs @@ -4,12 +4,14 @@ use crate::event::{self, Event}; use crate::layout; use crate::mouse; +use crate::renderer; use crate::touch; use crate::{ Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget, }; -use std::{hash::Hash, ops::RangeInclusive}; +use std::hash::Hash; +use std::ops::RangeInclusive; /// An horizontal bar and a handle that selects a single value from a range of /// values. @@ -246,7 +248,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/space.rs b/native/src/widget/space.rs index 9a70dab1..1bf8cd68 100644 --- a/native/src/widget/space.rs +++ b/native/src/widget/space.rs @@ -1,9 +1,9 @@ //! Distribute content vertically. -use std::hash::Hash; +use crate::layout; +use crate::renderer; +use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget}; -use crate::{ - layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget, -}; +use std::hash::Hash; /// An amount of empty space. /// @@ -62,7 +62,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/svg.rs b/native/src/widget/svg.rs index 737dd8d4..cce560cb 100644 --- a/native/src/widget/svg.rs +++ b/native/src/widget/svg.rs @@ -1,12 +1,11 @@ //! Display vector graphics in your application. use crate::layout; +use crate::renderer; use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget}; -use std::{ - hash::{Hash, Hasher as _}, - path::PathBuf, - sync::Arc, -}; +use std::hash::{Hash, Hasher as _}; +use std::path::PathBuf; +use std::sync::Arc; /// A vector graphics image. /// @@ -90,7 +89,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/text.rs b/native/src/widget/text.rs index ea1ba7ac..a2438d9c 100644 --- a/native/src/widget/text.rs +++ b/native/src/widget/text.rs @@ -135,7 +135,7 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, @@ -156,9 +156,9 @@ where renderer.fill_text(renderer::text::Section { content: &self.content, - size: self.size.map(f32::from), + size: f32::from(self.size.unwrap_or(renderer.default_size())), bounds: Rectangle { x, y, ..bounds }, - color: self.color, + color: self.color.unwrap_or(style.text_color), font: self.font, horizontal_alignment: self.horizontal_alignment, vertical_alignment: self.vertical_alignment, diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index fe95eb95..93af04d1 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -15,6 +15,7 @@ use crate::event::{self, Event}; use crate::keyboard; use crate::layout; use crate::mouse::{self, click}; +use crate::renderer; use crate::text; use crate::touch; use crate::{ @@ -158,54 +159,6 @@ where } } -impl<'a, Message, Renderer> TextInput<'a, Message, Renderer> -where - Renderer: self::Renderer, -{ - /// Draws the [`TextInput`] with the given [`Renderer`], overriding its - /// [`Value`] if provided. - pub fn draw( - &self, - renderer: &mut Renderer, - layout: Layout<'_>, - cursor_position: Point, - value: Option<&Value>, - ) { - // TODO - // let value = value.unwrap_or(&self.value); - // let bounds = layout.bounds(); - // let text_bounds = layout.children().next().unwrap().bounds(); - - // if self.is_secure { - // self::Renderer::draw( - // renderer, - // bounds, - // text_bounds, - // cursor_position, - // self.font, - // self.size.unwrap_or(renderer.default_size()), - // &self.placeholder, - // &value.secure(), - // &self.state, - // &self.style, - // ) - // } else { - // self::Renderer::draw( - // renderer, - // bounds, - // text_bounds, - // cursor_position, - // self.font, - // self.size.unwrap_or(renderer.default_size()), - // &self.placeholder, - // value, - // &self.state, - // &self.style, - // ) - // } - } -} - impl<'a, Message, Renderer> Widget<Message, Renderer> for TextInput<'a, Message, Renderer> where @@ -627,12 +580,44 @@ where fn draw( &self, renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + _style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, ) { - self.draw(renderer, layout, cursor_position, None) + + // TODO + // let value = value.unwrap_or(&self.value); + // let bounds = layout.bounds(); + // let text_bounds = layout.children().next().unwrap().bounds(); + + // if self.is_secure { + // self::Renderer::draw( + // renderer, + // bounds, + // text_bounds, + // cursor_position, + // self.font, + // self.size.unwrap_or(renderer.default_size()), + // &self.placeholder, + // &value.secure(), + // &self.state, + // &self.style, + // ) + // } else { + // self::Renderer::draw( + // renderer, + // bounds, + // text_bounds, + // cursor_position, + // self.font, + // self.size.unwrap_or(renderer.default_size()), + // &self.placeholder, + // value, + // &self.state, + // &self.style, + // ) + // } } fn hash_layout(&self, state: &mut Hasher) { diff --git a/native/src/widget/toggler.rs b/native/src/widget/toggler.rs index 4a1f1f5d..6c7fa97b 100644 --- a/native/src/widget/toggler.rs +++ b/native/src/widget/toggler.rs @@ -5,6 +5,7 @@ use crate::alignment; use crate::event; use crate::layout; use crate::mouse; +use crate::renderer; use crate::text; use crate::{ Alignment, Clipboard, Element, Event, Hasher, Layout, Length, Point, @@ -185,7 +186,7 @@ where fn draw( &self, renderer: &mut Renderer, - defaults: &Renderer::Defaults, + style: &renderer::Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, diff --git a/native/src/widget/tooltip.rs b/native/src/widget/tooltip.rs index 83d04675..496cd41e 100644 --- a/native/src/widget/tooltip.rs +++ b/native/src/widget/tooltip.rs @@ -3,12 +3,12 @@ use std::hash::Hash; use iced_core::Rectangle; +use crate::event; +use crate::layout; +use crate::renderer; use crate::widget::container; use crate::widget::text::{self, Text}; -use crate::{ - event, layout, Clipboard, Element, Event, Hasher, Layout, Length, Point, - Widget, -}; +use crate::{Clipboard, Element, Event, Hasher, Layout, Length, Point, Widget}; /// An element to display a widget over another. #[allow(missing_debug_implementations)] @@ -137,7 +137,7 @@ where fn draw( &self, _renderer: &mut Renderer, - _defaults: &Renderer::Defaults, + style: &renderer::Style, _layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, |