Move Defaults from iced_graphics to iced_native
This commit is contained in:
parent
54a9a232f8
commit
edea093350
39 changed files with 166 additions and 192 deletions
|
|
@ -9,7 +9,8 @@ mod circle {
|
||||||
// Of course, you can choose to make the implementation renderer-agnostic,
|
// Of course, you can choose to make the implementation renderer-agnostic,
|
||||||
// if you wish to, by creating your own `Renderer` trait, which could be
|
// if you wish to, by creating your own `Renderer` trait, which could be
|
||||||
// implemented by `iced_wgpu` and other renderers.
|
// implemented by `iced_wgpu` and other renderers.
|
||||||
use iced_graphics::{Backend, Defaults, Primitive, Renderer};
|
use iced_graphics::renderer::{self, Renderer};
|
||||||
|
use iced_graphics::Backend;
|
||||||
use iced_native::{
|
use iced_native::{
|
||||||
layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
||||||
};
|
};
|
||||||
|
|
@ -53,7 +54,7 @@ mod circle {
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
_renderer: &mut Renderer<B>,
|
_renderer: &mut Renderer<B>,
|
||||||
_defaults: &Defaults,
|
_style: &renderer::Style,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,11 @@ mod rainbow {
|
||||||
// Of course, you can choose to make the implementation renderer-agnostic,
|
// Of course, you can choose to make the implementation renderer-agnostic,
|
||||||
// if you wish to, by creating your own `Renderer` trait, which could be
|
// if you wish to, by creating your own `Renderer` trait, which could be
|
||||||
// implemented by `iced_wgpu` and other renderers.
|
// implemented by `iced_wgpu` and other renderers.
|
||||||
use iced_graphics::{
|
use iced_graphics::renderer::{self, Renderer};
|
||||||
triangle::{Mesh2D, Vertex2D},
|
use iced_graphics::Backend;
|
||||||
Backend, Defaults, Primitive, Renderer,
|
|
||||||
};
|
|
||||||
use iced_native::{
|
use iced_native::{
|
||||||
layout, mouse, Element, Hasher, Layout, Length, Point, Rectangle, Size,
|
layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
||||||
Vector, Widget,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pub struct Rainbow;
|
pub struct Rainbow;
|
||||||
|
|
@ -54,11 +52,12 @@ mod rainbow {
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
_renderer: &mut Renderer<B>,
|
_renderer: &mut Renderer<B>,
|
||||||
_defaults: &Defaults,
|
_style: &renderer::Style,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
|
// use iced_graphics::triangle::{Mesh2D, Vertex2D};
|
||||||
// let b = layout.bounds();
|
// let b = layout.bounds();
|
||||||
|
|
||||||
// // R O Y G B I V
|
// // R O Y G B I V
|
||||||
|
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
//! Use default styling attributes to inherit styles.
|
|
||||||
use iced_native::Color;
|
|
||||||
|
|
||||||
/// Some default styling attributes.
|
|
||||||
#[derive(Debug, Clone, Copy)]
|
|
||||||
pub struct Defaults {
|
|
||||||
/// Text styling
|
|
||||||
pub text: Text,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Default for Defaults {
|
|
||||||
fn default() -> Defaults {
|
|
||||||
Defaults {
|
|
||||||
text: Text::default(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Some default text styling attributes.
|
|
||||||
#[derive(Debug, Clone, Copy)]
|
|
||||||
pub struct Text {
|
|
||||||
/// The default color of text
|
|
||||||
pub color: Color,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Default for Text {
|
|
||||||
fn default() -> Text {
|
|
||||||
Text {
|
|
||||||
color: Color::BLACK,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -13,15 +13,14 @@
|
||||||
mod antialiasing;
|
mod antialiasing;
|
||||||
mod error;
|
mod error;
|
||||||
mod primitive;
|
mod primitive;
|
||||||
mod renderer;
|
|
||||||
mod transformation;
|
mod transformation;
|
||||||
mod viewport;
|
mod viewport;
|
||||||
|
|
||||||
pub mod backend;
|
pub mod backend;
|
||||||
pub mod defaults;
|
|
||||||
pub mod font;
|
pub mod font;
|
||||||
pub mod layer;
|
pub mod layer;
|
||||||
pub mod overlay;
|
pub mod overlay;
|
||||||
|
pub mod renderer;
|
||||||
pub mod triangle;
|
pub mod triangle;
|
||||||
pub mod widget;
|
pub mod widget;
|
||||||
pub mod window;
|
pub mod window;
|
||||||
|
|
@ -31,7 +30,6 @@ pub use widget::*;
|
||||||
|
|
||||||
pub use antialiasing::Antialiasing;
|
pub use antialiasing::Antialiasing;
|
||||||
pub use backend::Backend;
|
pub use backend::Backend;
|
||||||
pub use defaults::Defaults;
|
|
||||||
pub use error::Error;
|
pub use error::Error;
|
||||||
pub use layer::Layer;
|
pub use layer::Layer;
|
||||||
pub use primitive::Primitive;
|
pub use primitive::Primitive;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
use crate::backend::{self, Backend};
|
use crate::backend::{self, Backend};
|
||||||
use crate::{Defaults, Primitive, Vector};
|
use crate::{Primitive, Vector};
|
||||||
use iced_native::layout;
|
use iced_native::layout;
|
||||||
use iced_native::renderer;
|
use iced_native::renderer;
|
||||||
use iced_native::{Color, Element, Font, Rectangle};
|
use iced_native::{Element, Font, Rectangle};
|
||||||
|
|
||||||
|
pub use iced_native::renderer::Style;
|
||||||
|
|
||||||
/// A backend-agnostic renderer that supports all the built-in widgets.
|
/// A backend-agnostic renderer that supports all the built-in widgets.
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|
@ -33,8 +35,6 @@ impl<B> iced_native::Renderer for Renderer<B>
|
||||||
where
|
where
|
||||||
B: Backend,
|
B: Backend,
|
||||||
{
|
{
|
||||||
type Defaults = Defaults;
|
|
||||||
|
|
||||||
fn layout<'a, Message>(
|
fn layout<'a, Message>(
|
||||||
&mut self,
|
&mut self,
|
||||||
element: &Element<'a, Message, Self>,
|
element: &Element<'a, Message, Self>,
|
||||||
|
|
@ -97,8 +97,8 @@ where
|
||||||
self.primitives.push(Primitive::Text {
|
self.primitives.push(Primitive::Text {
|
||||||
content: text.content.to_string(),
|
content: text.content.to_string(),
|
||||||
bounds: text.bounds,
|
bounds: text.bounds,
|
||||||
size: text.size.unwrap_or(f32::from(self.backend.default_size())),
|
size: text.size,
|
||||||
color: text.color.unwrap_or(Color::BLACK),
|
color: text.color,
|
||||||
font: text.font,
|
font: text.font,
|
||||||
horizontal_alignment: text.horizontal_alignment,
|
horizontal_alignment: text.horizontal_alignment,
|
||||||
vertical_alignment: text.vertical_alignment,
|
vertical_alignment: text.vertical_alignment,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@
|
||||||
//! A [`Canvas`] widget can be used to draw different kinds of 2D shapes in a
|
//! A [`Canvas`] widget can be used to draw different kinds of 2D shapes in a
|
||||||
//! [`Frame`]. It can be used for animation, data visualization, game graphics,
|
//! [`Frame`]. It can be used for animation, data visualization, game graphics,
|
||||||
//! and more!
|
//! and more!
|
||||||
use crate::{Backend, Defaults, Renderer};
|
use crate::renderer::{self, Renderer};
|
||||||
|
use crate::Backend;
|
||||||
|
|
||||||
use iced_native::layout;
|
use iced_native::layout;
|
||||||
use iced_native::{
|
use iced_native::{
|
||||||
Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
||||||
|
|
@ -187,7 +189,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
_renderer: &mut Renderer<B>,
|
_renderer: &mut Renderer<B>,
|
||||||
_defaults: &Defaults,
|
_style: &renderer::Style,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
//! Encode and display information in a QR code.
|
//! Encode and display information in a QR code.
|
||||||
use crate::canvas;
|
use crate::canvas;
|
||||||
use crate::{Backend, Defaults, Renderer};
|
use crate::renderer::{self, Renderer};
|
||||||
|
use crate::Backend;
|
||||||
|
|
||||||
|
use iced_native::layout;
|
||||||
use iced_native::{
|
use iced_native::{
|
||||||
layout, Color, Element, Hasher, Layout, Length, Point, Rectangle, Size,
|
Color, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
||||||
Widget,
|
|
||||||
};
|
};
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
|
|
||||||
|
|
@ -81,7 +82,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
_renderer: &mut Renderer<B>,
|
_renderer: &mut Renderer<B>,
|
||||||
_defaults: &Defaults,
|
_style: &renderer::Style,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Color, Hasher, Layout, Length, Point, Rectangle, Widget,
|
Clipboard, Color, Hasher, Layout, Length, Point, Rectangle, Widget,
|
||||||
};
|
};
|
||||||
|
|
@ -241,13 +242,13 @@ where
|
||||||
pub fn draw(
|
pub fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
self.widget
|
self.widget
|
||||||
.draw(renderer, defaults, layout, cursor_position, viewport)
|
.draw(renderer, style, layout, cursor_position, viewport)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Computes the _layout_ hash of the [`Element`].
|
/// Computes the _layout_ hash of the [`Element`].
|
||||||
|
|
@ -336,13 +337,13 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
self.widget
|
self.widget
|
||||||
.draw(renderer, defaults, layout, cursor_position, viewport)
|
.draw(renderer, style, layout, cursor_position, viewport)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn hash_layout(&self, state: &mut Hasher) {
|
fn hash_layout(&self, state: &mut Hasher) {
|
||||||
|
|
@ -418,7 +419,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
_renderer: &mut Renderer,
|
_renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ pub use menu::Menu;
|
||||||
|
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{Clipboard, Hasher, Layout, Point, Size};
|
use crate::{Clipboard, Hasher, Layout, Point, Size};
|
||||||
|
|
||||||
/// An interactive component that can be displayed on top of other widgets.
|
/// An interactive component that can be displayed on top of other widgets.
|
||||||
|
|
@ -32,7 +33,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ pub use crate::Overlay;
|
||||||
|
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{Clipboard, Hasher, Layout, Point, Size, Vector};
|
use crate::{Clipboard, Hasher, Layout, Point, Size, Vector};
|
||||||
|
|
||||||
/// A generic [`Overlay`].
|
/// A generic [`Overlay`].
|
||||||
|
|
@ -71,12 +72,11 @@ where
|
||||||
pub fn draw(
|
pub fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
) {
|
) {
|
||||||
self.overlay
|
self.overlay.draw(renderer, style, layout, cursor_position)
|
||||||
.draw(renderer, defaults, layout, cursor_position)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Computes the _layout_ hash of the [`Element`].
|
/// Computes the _layout_ hash of the [`Element`].
|
||||||
|
|
@ -142,12 +142,11 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
) {
|
) {
|
||||||
self.content
|
self.content.draw(renderer, style, layout, cursor_position)
|
||||||
.draw(renderer, defaults, layout, cursor_position)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn hash_layout(&self, state: &mut Hasher, position: Point) {
|
fn hash_layout(&self, state: &mut Hasher, position: Point) {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::scrollable;
|
use crate::scrollable;
|
||||||
use crate::text;
|
use crate::text;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
|
|
@ -236,7 +237,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
) {
|
) {
|
||||||
|
|
@ -380,7 +381,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
_renderer: &mut Renderer,
|
_renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
_style: &renderer::Style,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -34,11 +34,6 @@ use crate::{Background, Color, Element, Rectangle, Vector};
|
||||||
/// A component that can take the state of a user interface and produce an
|
/// A component that can take the state of a user interface and produce an
|
||||||
/// output for its users.
|
/// output for its users.
|
||||||
pub trait Renderer: Sized {
|
pub trait Renderer: Sized {
|
||||||
/// The default styling attributes of the [`Renderer`].
|
|
||||||
///
|
|
||||||
/// This type can be leveraged to implement style inheritance.
|
|
||||||
type Defaults: Default;
|
|
||||||
|
|
||||||
/// Lays out the elements of a user interface.
|
/// Lays out the elements of a user interface.
|
||||||
///
|
///
|
||||||
/// You should override this if you need to perform any operations before or
|
/// You should override this if you need to perform any operations before or
|
||||||
|
|
@ -71,3 +66,18 @@ pub struct Quad {
|
||||||
pub border_width: f32,
|
pub border_width: f32,
|
||||||
pub border_color: Color,
|
pub border_color: Color,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The styling attributes of a [`Renderer`].
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||||
|
pub struct Style {
|
||||||
|
/// The text color
|
||||||
|
pub text_color: Color,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for Style {
|
||||||
|
fn default() -> Self {
|
||||||
|
Style {
|
||||||
|
text_color: Color::BLACK,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ use crate::pane_grid;
|
||||||
use crate::progress_bar;
|
use crate::progress_bar;
|
||||||
use crate::radio;
|
use crate::radio;
|
||||||
use crate::renderer::{self, Renderer};
|
use crate::renderer::{self, Renderer};
|
||||||
use crate::scrollable;
|
|
||||||
use crate::slider;
|
use crate::slider;
|
||||||
use crate::text;
|
use crate::text;
|
||||||
use crate::text_input;
|
use crate::text_input;
|
||||||
|
|
@ -26,8 +25,6 @@ impl Null {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Renderer for Null {
|
impl Renderer for Null {
|
||||||
type Defaults = ();
|
|
||||||
|
|
||||||
fn with_layer(
|
fn with_layer(
|
||||||
&mut self,
|
&mut self,
|
||||||
_bounds: Rectangle,
|
_bounds: Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ pub trait Text: Renderer {
|
||||||
pub struct Section<'a, Font> {
|
pub struct Section<'a, Font> {
|
||||||
pub content: &'a str,
|
pub content: &'a str,
|
||||||
pub bounds: Rectangle,
|
pub bounds: Rectangle,
|
||||||
pub size: Option<f32>,
|
pub size: f32,
|
||||||
pub color: Option<Color>,
|
pub color: Color,
|
||||||
pub font: Font,
|
pub font: Font,
|
||||||
pub horizontal_alignment: alignment::Horizontal,
|
pub horizontal_alignment: alignment::Horizontal,
|
||||||
pub vertical_alignment: alignment::Vertical,
|
pub vertical_alignment: alignment::Vertical,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{Clipboard, Element, Layout, Point, Rectangle, Size, Vector};
|
use crate::{Clipboard, Element, Layout, Point, Rectangle, Size, Vector};
|
||||||
|
|
||||||
use std::hash::Hasher;
|
use std::hash::Hasher;
|
||||||
|
|
@ -353,7 +354,7 @@ where
|
||||||
|renderer| {
|
|renderer| {
|
||||||
overlay.draw(
|
overlay.draw(
|
||||||
renderer,
|
renderer,
|
||||||
&Renderer::Defaults::default(),
|
&renderer::Style::default(),
|
||||||
Layout::new(&layer.layout),
|
Layout::new(&layer.layout),
|
||||||
cursor_position,
|
cursor_position,
|
||||||
);
|
);
|
||||||
|
|
@ -376,7 +377,7 @@ where
|
||||||
|
|
||||||
self.root.widget.draw(
|
self.root.widget.draw(
|
||||||
renderer,
|
renderer,
|
||||||
&Renderer::Defaults::default(),
|
&renderer::Style::default(),
|
||||||
Layout::new(&self.base.layout),
|
Layout::new(&self.base.layout),
|
||||||
base_cursor,
|
base_cursor,
|
||||||
&viewport,
|
&viewport,
|
||||||
|
|
@ -384,7 +385,7 @@ where
|
||||||
} else {
|
} else {
|
||||||
self.root.widget.draw(
|
self.root.widget.draw(
|
||||||
renderer,
|
renderer,
|
||||||
&Renderer::Defaults::default(),
|
&renderer::Style::default(),
|
||||||
Layout::new(&self.base.layout),
|
Layout::new(&self.base.layout),
|
||||||
cursor_position,
|
cursor_position,
|
||||||
&viewport,
|
&viewport,
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@ pub use tooltip::Tooltip;
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{Clipboard, Hasher, Layout, Length, Point, Rectangle};
|
use crate::{Clipboard, Hasher, Layout, Length, Point, Rectangle};
|
||||||
|
|
||||||
/// A component that displays information and allows interaction.
|
/// A component that displays information and allows interaction.
|
||||||
|
|
@ -131,7 +132,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle,
|
Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle,
|
||||||
|
|
@ -244,7 +245,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
//! Show toggle controls using checkboxes.
|
//! Show toggle controls using checkboxes.
|
||||||
use std::hash::Hash;
|
use std::hash::Hash;
|
||||||
|
|
||||||
use crate::alignment::{self, Alignment};
|
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
|
use crate::renderer;
|
||||||
use crate::text;
|
use crate::text;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Color, Element, Hasher, Layout, Length, Point, Rectangle, Row,
|
Alignment, Clipboard, Color, Element, Hasher, Layout, Length, Point,
|
||||||
Text, Widget,
|
Rectangle, Row, Text, Widget,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// A box that can be checked.
|
/// A box that can be checked.
|
||||||
|
|
@ -182,7 +182,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ use std::hash::Hash;
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{
|
use crate::{
|
||||||
Alignment, Clipboard, Element, Hasher, Layout, Length, Padding, Point,
|
Alignment, Clipboard, Element, Hasher, Layout, Length, Padding, Point,
|
||||||
Rectangle, Widget,
|
Rectangle, Widget,
|
||||||
|
|
@ -165,13 +166,13 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
for (child, layout) in self.children.iter().zip(layout.children()) {
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ use crate::alignment::{self, Alignment};
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle,
|
Clipboard, Element, Hasher, Layout, Length, Padding, Point, Rectangle,
|
||||||
Widget,
|
Widget,
|
||||||
|
|
@ -175,14 +176,14 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
self.content.draw(
|
self.content.draw(
|
||||||
renderer,
|
renderer,
|
||||||
defaults,
|
style,
|
||||||
layout.children().next().unwrap(),
|
layout.children().next().unwrap(),
|
||||||
cursor_position,
|
cursor_position,
|
||||||
viewport,
|
viewport,
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ pub mod viewer;
|
||||||
pub use viewer::Viewer;
|
pub use viewer::Viewer;
|
||||||
|
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget};
|
use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget};
|
||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
|
|
@ -92,7 +93,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
_style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ use crate::event::{self, Event};
|
||||||
use crate::image;
|
use crate::image;
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector,
|
Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector,
|
||||||
Widget,
|
Widget,
|
||||||
|
|
@ -283,7 +284,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector,
|
Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector,
|
||||||
|
|
@ -475,7 +476,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
use crate::pane_grid::{self, TitleBar};
|
use crate::pane_grid::{self, TitleBar};
|
||||||
|
use crate::renderer;
|
||||||
use crate::{Clipboard, Element, Hasher, Layout, Point, Rectangle, Size};
|
use crate::{Clipboard, Element, Hasher, Layout, Point, Rectangle, Size};
|
||||||
|
|
||||||
/// The content of a [`Pane`].
|
/// The content of a [`Pane`].
|
||||||
|
|
@ -57,7 +58,7 @@ where
|
||||||
pub fn draw(
|
pub fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
use crate::pane_grid;
|
use crate::pane_grid;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Element, Hasher, Layout, Padding, Point, Rectangle, Size,
|
Clipboard, Element, Hasher, Layout, Padding, Point, Rectangle, Size,
|
||||||
};
|
};
|
||||||
|
|
@ -85,7 +86,7 @@ where
|
||||||
pub fn draw(
|
pub fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
use crate::overlay::menu::{self, Menu};
|
use crate::overlay::menu::{self, Menu};
|
||||||
|
use crate::renderer;
|
||||||
use crate::text;
|
use crate::text;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
use crate::{
|
use crate::{
|
||||||
|
|
@ -322,7 +323,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
//! Provide progress feedback to your users.
|
//! Provide progress feedback to your users.
|
||||||
use crate::{
|
use crate::layout;
|
||||||
layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
use crate::renderer;
|
||||||
};
|
use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget};
|
||||||
|
|
||||||
use std::{hash::Hash, ops::RangeInclusive};
|
use std::{hash::Hash, ops::RangeInclusive};
|
||||||
|
|
||||||
|
|
@ -93,7 +93,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
//! Create choices using radio buttons.
|
//! Create choices using radio buttons.
|
||||||
use std::hash::Hash;
|
use std::hash::Hash;
|
||||||
|
|
||||||
use crate::alignment::{self, Alignment};
|
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
|
use crate::renderer;
|
||||||
use crate::text;
|
use crate::text;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Color, Element, Hasher, Layout, Length, Point, Rectangle, Row,
|
Alignment, Clipboard, Color, Element, Hasher, Layout, Length, Point,
|
||||||
Text, Widget,
|
Rectangle, Row, Text, Widget,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// A circular button representing a choice.
|
/// A circular button representing a choice.
|
||||||
|
|
@ -194,7 +194,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::overlay;
|
use crate::overlay;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{
|
use crate::{
|
||||||
Alignment, Clipboard, Element, Hasher, Layout, Length, Padding, Point,
|
Alignment, Clipboard, Element, Hasher, Layout, Length, Padding, Point,
|
||||||
Rectangle, Widget,
|
Rectangle, Widget,
|
||||||
|
|
@ -164,13 +165,13 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
for (child, layout) in self.children.iter().zip(layout.children()) {
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,10 @@
|
||||||
//! Display a horizontal or vertical rule for dividing content.
|
//! 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 std::hash::Hash;
|
||||||
|
|
||||||
use crate::{
|
|
||||||
layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
|
||||||
};
|
|
||||||
|
|
||||||
/// Display a horizontal or vertical rule for dividing content.
|
/// Display a horizontal or vertical rule for dividing content.
|
||||||
#[derive(Debug, Copy, Clone)]
|
#[derive(Debug, Copy, Clone)]
|
||||||
pub struct Rule<Renderer: self::Renderer> {
|
pub struct Rule<Renderer: self::Renderer> {
|
||||||
|
|
@ -68,7 +67,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -425,7 +425,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
@ -452,7 +452,7 @@ where
|
||||||
renderer.with_layer(bounds, Vector::new(0, offset), |renderer| {
|
renderer.with_layer(bounds, Vector::new(0, offset), |renderer| {
|
||||||
self.content.draw(
|
self.content.draw(
|
||||||
renderer,
|
renderer,
|
||||||
defaults,
|
style,
|
||||||
content_layout,
|
content_layout,
|
||||||
cursor_position,
|
cursor_position,
|
||||||
&Rectangle {
|
&Rectangle {
|
||||||
|
|
@ -502,7 +502,7 @@ where
|
||||||
} else {
|
} else {
|
||||||
self.content.draw(
|
self.content.draw(
|
||||||
renderer,
|
renderer,
|
||||||
defaults,
|
style,
|
||||||
content_layout,
|
content_layout,
|
||||||
cursor_position,
|
cursor_position,
|
||||||
&Rectangle {
|
&Rectangle {
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,14 @@
|
||||||
use crate::event::{self, Event};
|
use crate::event::{self, Event};
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
|
use crate::renderer;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
use crate::{
|
use crate::{
|
||||||
Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
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
|
/// An horizontal bar and a handle that selects a single value from a range of
|
||||||
/// values.
|
/// values.
|
||||||
|
|
@ -246,7 +248,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
//! Distribute content vertically.
|
//! 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::{
|
use std::hash::Hash;
|
||||||
layout, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
|
||||||
};
|
|
||||||
|
|
||||||
/// An amount of empty space.
|
/// An amount of empty space.
|
||||||
///
|
///
|
||||||
|
|
@ -62,7 +62,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
//! Display vector graphics in your application.
|
//! Display vector graphics in your application.
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
|
use crate::renderer;
|
||||||
use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget};
|
use crate::{Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget};
|
||||||
|
|
||||||
use std::{
|
use std::hash::{Hash, Hasher as _};
|
||||||
hash::{Hash, Hasher as _},
|
use std::path::PathBuf;
|
||||||
path::PathBuf,
|
use std::sync::Arc;
|
||||||
sync::Arc,
|
|
||||||
};
|
|
||||||
|
|
||||||
/// A vector graphics image.
|
/// A vector graphics image.
|
||||||
///
|
///
|
||||||
|
|
@ -90,7 +89,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
@ -156,9 +156,9 @@ where
|
||||||
|
|
||||||
renderer.fill_text(renderer::text::Section {
|
renderer.fill_text(renderer::text::Section {
|
||||||
content: &self.content,
|
content: &self.content,
|
||||||
size: self.size.map(f32::from),
|
size: f32::from(self.size.unwrap_or(renderer.default_size())),
|
||||||
bounds: Rectangle { x, y, ..bounds },
|
bounds: Rectangle { x, y, ..bounds },
|
||||||
color: self.color,
|
color: self.color.unwrap_or(style.text_color),
|
||||||
font: self.font,
|
font: self.font,
|
||||||
horizontal_alignment: self.horizontal_alignment,
|
horizontal_alignment: self.horizontal_alignment,
|
||||||
vertical_alignment: self.vertical_alignment,
|
vertical_alignment: self.vertical_alignment,
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ use crate::event::{self, Event};
|
||||||
use crate::keyboard;
|
use crate::keyboard;
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse::{self, click};
|
use crate::mouse::{self, click};
|
||||||
|
use crate::renderer;
|
||||||
use crate::text;
|
use crate::text;
|
||||||
use crate::touch;
|
use crate::touch;
|
||||||
use crate::{
|
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>
|
impl<'a, Message, Renderer> Widget<Message, Renderer>
|
||||||
for TextInput<'a, Message, Renderer>
|
for TextInput<'a, Message, Renderer>
|
||||||
where
|
where
|
||||||
|
|
@ -627,12 +580,44 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
_style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_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) {
|
fn hash_layout(&self, state: &mut Hasher) {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ use crate::alignment;
|
||||||
use crate::event;
|
use crate::event;
|
||||||
use crate::layout;
|
use crate::layout;
|
||||||
use crate::mouse;
|
use crate::mouse;
|
||||||
|
use crate::renderer;
|
||||||
use crate::text;
|
use crate::text;
|
||||||
use crate::{
|
use crate::{
|
||||||
Alignment, Clipboard, Element, Event, Hasher, Layout, Length, Point,
|
Alignment, Clipboard, Element, Event, Hasher, Layout, Length, Point,
|
||||||
|
|
@ -185,7 +186,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
cursor_position: Point,
|
cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,12 @@ use std::hash::Hash;
|
||||||
|
|
||||||
use iced_core::Rectangle;
|
use iced_core::Rectangle;
|
||||||
|
|
||||||
|
use crate::event;
|
||||||
|
use crate::layout;
|
||||||
|
use crate::renderer;
|
||||||
use crate::widget::container;
|
use crate::widget::container;
|
||||||
use crate::widget::text::{self, Text};
|
use crate::widget::text::{self, Text};
|
||||||
use crate::{
|
use crate::{Clipboard, Element, Event, Hasher, Layout, Length, Point, Widget};
|
||||||
event, layout, Clipboard, Element, Event, Hasher, Layout, Length, Point,
|
|
||||||
Widget,
|
|
||||||
};
|
|
||||||
|
|
||||||
/// An element to display a widget over another.
|
/// An element to display a widget over another.
|
||||||
#[allow(missing_debug_implementations)]
|
#[allow(missing_debug_implementations)]
|
||||||
|
|
@ -137,7 +137,7 @@ where
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
_renderer: &mut Renderer,
|
_renderer: &mut Renderer,
|
||||||
_defaults: &Renderer::Defaults,
|
style: &renderer::Style,
|
||||||
_layout: Layout<'_>,
|
_layout: Layout<'_>,
|
||||||
_cursor_position: Point,
|
_cursor_position: Point,
|
||||||
_viewport: &Rectangle,
|
_viewport: &Rectangle,
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,7 @@ mod backend;
|
||||||
mod quad;
|
mod quad;
|
||||||
mod text;
|
mod text;
|
||||||
|
|
||||||
pub use iced_graphics::{
|
pub use iced_graphics::{Antialiasing, Color, Error, Primitive, Viewport};
|
||||||
Antialiasing, Color, Defaults, Error, Primitive, Viewport,
|
|
||||||
};
|
|
||||||
pub use wgpu;
|
pub use wgpu;
|
||||||
|
|
||||||
pub use backend::Backend;
|
pub use backend::Backend;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue