summaryrefslogtreecommitdiffstats
path: root/wgpu/src/renderer/radio.rs
diff options
context:
space:
mode:
Diffstat (limited to 'wgpu/src/renderer/radio.rs')
-rw-r--r--wgpu/src/renderer/radio.rs109
1 files changed, 0 insertions, 109 deletions
diff --git a/wgpu/src/renderer/radio.rs b/wgpu/src/renderer/radio.rs
deleted file mode 100644
index 97b4f70e..00000000
--- a/wgpu/src/renderer/radio.rs
+++ /dev/null
@@ -1,109 +0,0 @@
-use crate::{Primitive, Renderer};
-use iced_native::{
- radio, text, Align, Background, Color, Column, Layout, Length, MouseCursor,
- Node, Point, Radio, Rectangle, Row, Text, Widget,
-};
-
-const SIZE: f32 = 28.0;
-const DOT_SIZE: f32 = SIZE / 2.0;
-
-impl radio::Renderer for Renderer {
- fn node<Message>(&self, radio: &Radio<Message>) -> Node {
- Row::<(), Self>::new()
- .spacing(15)
- .align_items(Align::Center)
- .push(
- Column::new()
- .width(Length::Units(SIZE as u16))
- .height(Length::Units(SIZE as u16)),
- )
- .push(Text::new(&radio.label))
- .node(self)
- }
-
- fn draw<Message>(
- &mut self,
- radio: &Radio<Message>,
- layout: Layout<'_>,
- cursor_position: Point,
- ) -> Self::Output {
- let bounds = layout.bounds();
- let mut children = layout.children();
-
- let radio_bounds = children.next().unwrap().bounds();
- let label_layout = children.next().unwrap();
-
- let (label, _) =
- text::Renderer::draw(self, &Text::new(&radio.label), label_layout);
-
- let is_mouse_over = bounds.contains(cursor_position);
-
- let (radio_border, radio_box) = (
- Primitive::Quad {
- bounds: radio_bounds,
- background: Background::Color(Color {
- r: 0.6,
- g: 0.6,
- b: 0.6,
- a: 1.0,
- }),
- border_radius: (SIZE / 2.0) as u16,
- },
- Primitive::Quad {
- bounds: Rectangle {
- x: radio_bounds.x + 1.0,
- y: radio_bounds.y + 1.0,
- width: radio_bounds.width - 2.0,
- height: radio_bounds.height - 2.0,
- },
- background: Background::Color(if is_mouse_over {
- Color {
- r: 0.90,
- g: 0.90,
- b: 0.90,
- a: 1.0,
- }
- } else {
- Color {
- r: 0.95,
- g: 0.95,
- b: 0.95,
- a: 1.0,
- }
- }),
- border_radius: (SIZE / 2.0 - 1.0) as u16,
- },
- );
-
- (
- Primitive::Group {
- primitives: if radio.is_selected {
- let radio_circle = Primitive::Quad {
- bounds: Rectangle {
- x: radio_bounds.x + DOT_SIZE / 2.0,
- y: radio_bounds.y + DOT_SIZE / 2.0,
- width: radio_bounds.width - DOT_SIZE,
- height: radio_bounds.height - DOT_SIZE,
- },
- background: Background::Color(Color {
- r: 0.30,
- g: 0.30,
- b: 0.30,
- a: 1.0,
- }),
- border_radius: (DOT_SIZE / 2.0) as u16,
- };
-
- vec![radio_border, radio_box, radio_circle, label]
- } else {
- vec![radio_border, radio_box, label]
- },
- },
- if is_mouse_over {
- MouseCursor::Pointer
- } else {
- MouseCursor::OutOfBounds
- },
- )
- }
-}