summaryrefslogtreecommitdiffstats
path: root/native/src/widget/toggler.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-14 16:07:22 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-14 16:07:22 +0700
commit03b34931383e701c39c653a7662a616fe21a0947 (patch)
tree8c0773d50b615dbc62210db8919ecb97ca912bd9 /native/src/widget/toggler.rs
parent3aae45c1913e6a6f60b009f19d00d10add7ad11e (diff)
downloadiced-03b34931383e701c39c653a7662a616fe21a0947.tar.gz
iced-03b34931383e701c39c653a7662a616fe21a0947.tar.bz2
iced-03b34931383e701c39c653a7662a616fe21a0947.zip
Remove trait-specific draw logic in `iced_native`
Diffstat (limited to 'native/src/widget/toggler.rs')
-rw-r--r--native/src/widget/toggler.rs88
1 files changed, 31 insertions, 57 deletions
diff --git a/native/src/widget/toggler.rs b/native/src/widget/toggler.rs
index c624be4c..4a1f1f5d 100644
--- a/native/src/widget/toggler.rs
+++ b/native/src/widget/toggler.rs
@@ -5,7 +5,6 @@ use crate::alignment;
use crate::event;
use crate::layout;
use crate::mouse;
-use crate::row;
use crate::text;
use crate::{
Alignment, Clipboard, Element, Event, Hasher, Layout, Length, Point,
@@ -119,7 +118,7 @@ impl<Message, Renderer: self::Renderer + text::Renderer>
impl<Message, Renderer> Widget<Message, Renderer> for Toggler<Message, Renderer>
where
- Renderer: self::Renderer + text::Renderer + row::Renderer,
+ Renderer: self::Renderer + text::Renderer,
{
fn width(&self) -> Length {
self.width
@@ -190,43 +189,35 @@ where
layout: Layout<'_>,
cursor_position: Point,
_viewport: &Rectangle,
- ) -> Renderer::Output {
- let bounds = layout.bounds();
- let mut children = layout.children();
-
- let label = match &self.label {
- Some(label) => {
- let label_layout = children.next().unwrap();
-
- Some(text::Renderer::draw(
- renderer,
- defaults,
- label_layout.bounds(),
- &label,
- self.text_size.unwrap_or(renderer.default_size()),
- self.font,
- None,
- self.text_alignment,
- alignment::Vertical::Center,
- ))
- }
-
- None => None,
- };
-
- let toggler_layout = children.next().unwrap();
- let toggler_bounds = toggler_layout.bounds();
-
- let is_mouse_over = bounds.contains(cursor_position);
-
- self::Renderer::draw(
- renderer,
- toggler_bounds,
- self.is_active,
- is_mouse_over,
- label,
- &self.style,
- )
+ ) {
+ // TODO
+ // let bounds = layout.bounds();
+ // let mut children = layout.children();
+
+ // let label = match &self.label {
+ // Some(label) => {
+ // let label_layout = children.next().unwrap();
+
+ // Some(text::Renderer::draw(
+ // renderer,
+ // defaults,
+ // label_layout.bounds(),
+ // &label,
+ // self.text_size.unwrap_or(renderer.default_size()),
+ // self.font,
+ // None,
+ // self.text_alignment,
+ // alignment::Vertical::Center,
+ // ))
+ // }
+
+ // None => None,
+ // };
+
+ // let toggler_layout = children.next().unwrap();
+ // let toggler_bounds = toggler_layout.bounds();
+
+ // let is_mouse_over = bounds.contains(cursor_position);
}
fn hash_layout(&self, state: &mut Hasher) {
@@ -249,29 +240,12 @@ pub trait Renderer: crate::Renderer {
/// The default size of a [`Toggler`].
const DEFAULT_SIZE: u16;
-
- /// Draws a [`Toggler`].
- ///
- /// It receives:
- /// * the bounds of the [`Toggler`]
- /// * whether the [`Toggler`] is activated or not
- /// * whether the mouse is over the [`Toggler`] or not
- /// * the drawn label of the [`Toggler`]
- /// * the style of the [`Toggler`]
- fn draw(
- &mut self,
- bounds: Rectangle,
- is_active: bool,
- is_mouse_over: bool,
- label: Option<Self::Output>,
- style: &Self::Style,
- ) -> Self::Output;
}
impl<'a, Message, Renderer> From<Toggler<Message, Renderer>>
for Element<'a, Message, Renderer>
where
- Renderer: 'a + self::Renderer + text::Renderer + row::Renderer,
+ Renderer: 'a + self::Renderer + text::Renderer,
Message: 'a,
{
fn from(