summaryrefslogtreecommitdiffstats
path: root/native/src/widget/checkbox.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/checkbox.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/checkbox.rs')
-rw-r--r--native/src/widget/checkbox.rs74
1 files changed, 25 insertions, 49 deletions
diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs
index 8bdb6b78..579e4ee3 100644
--- a/native/src/widget/checkbox.rs
+++ b/native/src/widget/checkbox.rs
@@ -5,7 +5,6 @@ use crate::alignment::{self, Alignment};
use crate::event::{self, Event};
use crate::layout;
use crate::mouse;
-use crate::row;
use crate::text;
use crate::touch;
use crate::{
@@ -121,7 +120,7 @@ impl<Message, Renderer: self::Renderer + text::Renderer>
impl<Message, Renderer> Widget<Message, Renderer>
for Checkbox<Message, Renderer>
where
- Renderer: self::Renderer + text::Renderer + row::Renderer,
+ Renderer: self::Renderer + text::Renderer,
{
fn width(&self) -> Length {
self.width
@@ -187,36 +186,29 @@ where
layout: Layout<'_>,
cursor_position: Point,
_viewport: &Rectangle,
- ) -> Renderer::Output {
- let bounds = layout.bounds();
- let mut children = layout.children();
-
- let checkbox_layout = children.next().unwrap();
- let label_layout = children.next().unwrap();
- let checkbox_bounds = checkbox_layout.bounds();
-
- let label = text::Renderer::draw(
- renderer,
- defaults,
- label_layout.bounds(),
- &self.label,
- self.text_size.unwrap_or(renderer.default_size()),
- self.font,
- self.text_color,
- alignment::Horizontal::Left,
- alignment::Vertical::Center,
- );
-
- let is_mouse_over = bounds.contains(cursor_position);
-
- self::Renderer::draw(
- renderer,
- checkbox_bounds,
- self.is_checked,
- is_mouse_over,
- label,
- &self.style,
- )
+ ) {
+ // let bounds = layout.bounds();
+ // let mut children = layout.children();
+
+ // let checkbox_layout = children.next().unwrap();
+ // let label_layout = children.next().unwrap();
+ // let checkbox_bounds = checkbox_layout.bounds();
+
+ // let label = text::Renderer::draw(
+ // renderer,
+ // defaults,
+ // label_layout.bounds(),
+ // &self.label,
+ // self.text_size.unwrap_or(renderer.default_size()),
+ // self.font,
+ // self.text_color,
+ // alignment::Horizontal::Left,
+ // alignment::Vertical::Center,
+ // );
+
+ // let is_mouse_over = bounds.contains(cursor_position);
+
+ // TODO
}
fn hash_layout(&self, state: &mut Hasher) {
@@ -242,28 +234,12 @@ pub trait Renderer: crate::Renderer {
/// The default spacing of a [`Checkbox`].
const DEFAULT_SPACING: u16;
-
- /// Draws a [`Checkbox`].
- ///
- /// It receives:
- /// * the bounds of the [`Checkbox`]
- /// * whether the [`Checkbox`] is selected or not
- /// * whether the mouse is over the [`Checkbox`] or not
- /// * the drawn label of the [`Checkbox`]
- fn draw(
- &mut self,
- bounds: Rectangle,
- is_checked: bool,
- is_mouse_over: bool,
- label: Self::Output,
- style: &Self::Style,
- ) -> Self::Output;
}
impl<'a, Message, Renderer> From<Checkbox<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(