summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--core/src/point.rs2
-rw-r--r--core/src/vector.rs2
-rw-r--r--native/src/layout/limits.rs6
-rw-r--r--native/src/layout/node.rs8
-rw-r--r--native/src/widget/column.rs16
-rw-r--r--native/src/widget/image.rs4
-rw-r--r--native/src/widget/row.rs16
-rw-r--r--native/src/widget/slider.rs4
-rw-r--r--native/src/widget/text_input.rs11
-rw-r--r--web/src/widget/button.rs4
-rw-r--r--web/src/widget/column.rs16
-rw-r--r--web/src/widget/row.rs16
-rw-r--r--web/src/widget/scrollable.rs4
-rw-r--r--web/src/widget/slider.rs2
-rw-r--r--web/src/widget/text_input.rs4
-rw-r--r--wgpu/src/renderer.rs2
16 files changed, 60 insertions, 57 deletions
diff --git a/core/src/point.rs b/core/src/point.rs
index 183998dd..52307bba 100644
--- a/core/src/point.rs
+++ b/core/src/point.rs
@@ -14,7 +14,7 @@ impl Point {
/// Creates a new [`Point`] with the given coordinates.
///
/// [`Point`]: struct.Point.html
- pub fn new(x: f32, y: f32) -> Self {
+ pub const fn new(x: f32, y: f32) -> Self {
Self { x, y }
}
}
diff --git a/core/src/vector.rs b/core/src/vector.rs
index 7d87343a..e0c5f073 100644
--- a/core/src/vector.rs
+++ b/core/src/vector.rs
@@ -16,7 +16,7 @@ impl<T> Vector<T> {
/// Creates a new [`Vector`] with the given components.
///
/// [`Vector`]: struct.Vector.html
- pub fn new(x: T, y: T) -> Self {
+ pub const fn new(x: T, y: T) -> Self {
Self { x, y }
}
}
diff --git a/native/src/layout/limits.rs b/native/src/layout/limits.rs
index 2705a47d..5f456871 100644
--- a/native/src/layout/limits.rs
+++ b/native/src/layout/limits.rs
@@ -20,7 +20,7 @@ impl Limits {
///
/// [`Limits`]: struct.Limits.html
/// [`Size`]: ../struct.Size.html
- pub fn new(min: Size, max: Size) -> Limits {
+ pub const fn new(min: Size, max: Size) -> Limits {
Limits {
min,
max,
@@ -32,7 +32,7 @@ impl Limits {
///
/// [`Limits`]: struct.Limits.html
/// [`Size`]: ../struct.Size.html
- pub fn min(&self) -> Size {
+ pub const fn min(&self) -> Size {
self.min
}
@@ -40,7 +40,7 @@ impl Limits {
///
/// [`Limits`]: struct.Limits.html
/// [`Size`]: ../struct.Size.html
- pub fn max(&self) -> Size {
+ pub const fn max(&self) -> Size {
self.max
}
diff --git a/native/src/layout/node.rs b/native/src/layout/node.rs
index ed1cd3da..3b63914e 100644
--- a/native/src/layout/node.rs
+++ b/native/src/layout/node.rs
@@ -12,7 +12,7 @@ impl Node {
///
/// [`Node`]: struct.Node.html
/// [`Size`]: ../struct.Size.html
- pub fn new(size: Size) -> Self {
+ pub const fn new(size: Size) -> Self {
Self::with_children(size, Vec::new())
}
@@ -20,7 +20,7 @@ impl Node {
///
/// [`Node`]: struct.Node.html
/// [`Size`]: ../struct.Size.html
- pub fn with_children(size: Size, children: Vec<Node>) -> Self {
+ pub const fn with_children(size: Size, children: Vec<Node>) -> Self {
Node {
bounds: Rectangle {
x: 0.0,
@@ -36,14 +36,14 @@ impl Node {
///
/// [`Node`]: struct.Node.html
/// [`Size`]: ../struct.Size.html
- pub fn size(&self) -> Size {
+ pub const fn size(&self) -> Size {
Size::new(self.bounds.width, self.bounds.height)
}
/// Returns the bounds of the [`Node`].
///
/// [`Node`]: struct.Node.html
- pub fn bounds(&self) -> Rectangle {
+ pub const fn bounds(&self) -> Rectangle {
self.bounds
}
diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs
index cdcf25af..104fdb94 100644
--- a/native/src/widget/column.rs
+++ b/native/src/widget/column.rs
@@ -28,7 +28,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Creates an empty [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn new() -> Self {
+ pub const fn new() -> Self {
Column {
spacing: 0,
padding: 0,
@@ -46,7 +46,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Custom margins per element do not exist in Iced. You should use this
/// method instead! While less flexible, it helps you keep spacing between
/// elements consistent.
- pub fn spacing(mut self, units: u16) -> Self {
+ pub const fn spacing(mut self, units: u16) -> Self {
self.spacing = units;
self
}
@@ -54,7 +54,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Sets the padding of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn padding(mut self, units: u16) -> Self {
+ pub const fn padding(mut self, units: u16) -> Self {
self.padding = units;
self
}
@@ -62,7 +62,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Sets the width of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn width(mut self, width: Length) -> Self {
+ pub const fn width(mut self, width: Length) -> Self {
self.width = width;
self
}
@@ -70,7 +70,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Sets the height of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn height(mut self, height: Length) -> Self {
+ pub const fn height(mut self, height: Length) -> Self {
self.height = height;
self
}
@@ -78,7 +78,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Sets the maximum width of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn max_width(mut self, max_width: u32) -> Self {
+ pub const fn max_width(mut self, max_width: u32) -> Self {
self.max_width = max_width;
self
}
@@ -86,7 +86,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Sets the maximum height of the [`Column`] in pixels.
///
/// [`Column`]: struct.Column.html
- pub fn max_height(mut self, max_height: u32) -> Self {
+ pub const fn max_height(mut self, max_height: u32) -> Self {
self.max_height = max_height;
self
}
@@ -94,7 +94,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
/// Sets the horizontal alignment of the contents of the [`Column`] .
///
/// [`Column`]: struct.Column.html
- pub fn align_items(mut self, align: Align) -> Self {
+ pub const fn align_items(mut self, align: Align) -> Self {
self.align_items = align;
self
}
diff --git a/native/src/widget/image.rs b/native/src/widget/image.rs
index 4c588c9d..5cfe074f 100644
--- a/native/src/widget/image.rs
+++ b/native/src/widget/image.rs
@@ -37,7 +37,7 @@ impl Image {
/// Sets the width of the [`Image`] boundaries.
///
/// [`Image`]: struct.Image.html
- pub fn width(mut self, width: Length) -> Self {
+ pub const fn width(mut self, width: Length) -> Self {
self.width = width;
self
}
@@ -45,7 +45,7 @@ impl Image {
/// Sets the height of the [`Image`] boundaries.
///
/// [`Image`]: struct.Image.html
- pub fn height(mut self, height: Length) -> Self {
+ pub const fn height(mut self, height: Length) -> Self {
self.height = height;
self
}
diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs
index c854aff7..e9b8654c 100644
--- a/native/src/widget/row.rs
+++ b/native/src/widget/row.rs
@@ -28,7 +28,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Creates an empty [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn new() -> Self {
+ pub const fn new() -> Self {
Row {
spacing: 0,
padding: 0,
@@ -46,7 +46,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Custom margins per element do not exist in Iced. You should use this
/// method instead! While less flexible, it helps you keep spacing between
/// elements consistent.
- pub fn spacing(mut self, units: u16) -> Self {
+ pub const fn spacing(mut self, units: u16) -> Self {
self.spacing = units;
self
}
@@ -54,7 +54,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Sets the padding of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn padding(mut self, units: u16) -> Self {
+ pub const fn padding(mut self, units: u16) -> Self {
self.padding = units;
self
}
@@ -62,7 +62,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Sets the width of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn width(mut self, width: Length) -> Self {
+ pub const fn width(mut self, width: Length) -> Self {
self.width = width;
self
}
@@ -70,7 +70,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Sets the height of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn height(mut self, height: Length) -> Self {
+ pub const fn height(mut self, height: Length) -> Self {
self.height = height;
self
}
@@ -78,7 +78,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Sets the maximum width of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn max_width(mut self, max_width: u32) -> Self {
+ pub const fn max_width(mut self, max_width: u32) -> Self {
self.max_width = max_width;
self
}
@@ -86,7 +86,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Sets the maximum height of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn max_height(mut self, max_height: u32) -> Self {
+ pub const fn max_height(mut self, max_height: u32) -> Self {
self.max_height = max_height;
self
}
@@ -94,7 +94,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
/// Sets the vertical alignment of the contents of the [`Row`] .
///
/// [`Row`]: struct.Row.html
- pub fn align_items(mut self, align: Align) -> Self {
+ pub const fn align_items(mut self, align: Align) -> Self {
self.align_items = align;
self
}
diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs
index f07ea7cd..a8915da1 100644
--- a/native/src/widget/slider.rs
+++ b/native/src/widget/slider.rs
@@ -95,8 +95,8 @@ impl State {
/// Creates a new [`State`].
///
/// [`State`]: struct.State.html
- pub fn new() -> State {
- State::default()
+ pub const fn new() -> State {
+ State { is_dragging: false }
}
}
diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs
index f97ed424..0246f0d5 100644
--- a/native/src/widget/text_input.rs
+++ b/native/src/widget/text_input.rs
@@ -326,14 +326,17 @@ impl State {
/// Creates a new [`State`], representing an unfocused [`TextInput`].
///
/// [`State`]: struct.State.html
- pub fn new() -> Self {
- Self::default()
+ pub const fn new() -> Self {
+ Self {
+ is_focused: false,
+ cursor_position: 0,
+ }
}
/// Creates a new [`State`], representing a focused [`TextInput`].
///
/// [`State`]: struct.State.html
- pub fn focused() -> Self {
+ pub const fn focused() -> Self {
use std::usize;
Self {
@@ -345,7 +348,7 @@ impl State {
/// Returns whether the [`TextInput`] is currently focused or not.
///
/// [`TextInput`]: struct.TextInput.html
- pub fn is_focused(&self) -> bool {
+ pub const fn is_focused(&self) -> bool {
self.is_focused
}
diff --git a/web/src/widget/button.rs b/web/src/widget/button.rs
index 889c0ab1..13b47077 100644
--- a/web/src/widget/button.rs
+++ b/web/src/widget/button.rs
@@ -113,8 +113,8 @@ impl State {
/// Creates a new [`State`].
///
/// [`State`]: struct.State.html
- pub fn new() -> State {
- State::default()
+ pub const fn new() -> State {
+ State
}
}
diff --git a/web/src/widget/column.rs b/web/src/widget/column.rs
index cc850f5f..82b533dd 100644
--- a/web/src/widget/column.rs
+++ b/web/src/widget/column.rs
@@ -24,7 +24,7 @@ impl<'a, Message> Column<'a, Message> {
/// Creates an empty [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn new() -> Self {
+ pub const fn new() -> Self {
Column {
spacing: 0,
padding: 0,
@@ -42,7 +42,7 @@ impl<'a, Message> Column<'a, Message> {
/// Custom margins per element do not exist in Iced. You should use this
/// method instead! While less flexible, it helps you keep spacing between
/// elements consistent.
- pub fn spacing(mut self, units: u16) -> Self {
+ pub const fn spacing(mut self, units: u16) -> Self {
self.spacing = units;
self
}
@@ -50,7 +50,7 @@ impl<'a, Message> Column<'a, Message> {
/// Sets the padding of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn padding(mut self, units: u16) -> Self {
+ pub const fn padding(mut self, units: u16) -> Self {
self.padding = units;
self
}
@@ -58,7 +58,7 @@ impl<'a, Message> Column<'a, Message> {
/// Sets the width of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn width(mut self, width: Length) -> Self {
+ pub const fn width(mut self, width: Length) -> Self {
self.width = width;
self
}
@@ -66,7 +66,7 @@ impl<'a, Message> Column<'a, Message> {
/// Sets the height of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn height(mut self, height: Length) -> Self {
+ pub const fn height(mut self, height: Length) -> Self {
self.height = height;
self
}
@@ -74,7 +74,7 @@ impl<'a, Message> Column<'a, Message> {
/// Sets the maximum width of the [`Column`].
///
/// [`Column`]: struct.Column.html
- pub fn max_width(mut self, max_width: u32) -> Self {
+ pub const fn max_width(mut self, max_width: u32) -> Self {
self.max_width = max_width;
self
}
@@ -82,7 +82,7 @@ impl<'a, Message> Column<'a, Message> {
/// Sets the maximum height of the [`Column`] in pixels.
///
/// [`Column`]: struct.Column.html
- pub fn max_height(mut self, max_height: u32) -> Self {
+ pub const fn max_height(mut self, max_height: u32) -> Self {
self.max_height = max_height;
self
}
@@ -90,7 +90,7 @@ impl<'a, Message> Column<'a, Message> {
/// Sets the horizontal alignment of the contents of the [`Column`] .
///
/// [`Column`]: struct.Column.html
- pub fn align_items(mut self, align: Align) -> Self {
+ pub const fn align_items(mut self, align: Align) -> Self {
self.align_items = align;
self
}
diff --git a/web/src/widget/row.rs b/web/src/widget/row.rs
index e47478be..0b4cec54 100644
--- a/web/src/widget/row.rs
+++ b/web/src/widget/row.rs
@@ -24,7 +24,7 @@ impl<'a, Message> Row<'a, Message> {
/// Creates an empty [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn new() -> Self {
+ pub const fn new() -> Self {
Row {
spacing: 0,
padding: 0,
@@ -42,7 +42,7 @@ impl<'a, Message> Row<'a, Message> {
/// Custom margins per element do not exist in Iced. You should use this
/// method instead! While less flexible, it helps you keep spacing between
/// elements consistent.
- pub fn spacing(mut self, units: u16) -> Self {
+ pub const fn spacing(mut self, units: u16) -> Self {
self.spacing = units;
self
}
@@ -50,7 +50,7 @@ impl<'a, Message> Row<'a, Message> {
/// Sets the padding of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn padding(mut self, units: u16) -> Self {
+ pub const fn padding(mut self, units: u16) -> Self {
self.padding = units;
self
}
@@ -58,7 +58,7 @@ impl<'a, Message> Row<'a, Message> {
/// Sets the width of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn width(mut self, width: Length) -> Self {
+ pub const fn width(mut self, width: Length) -> Self {
self.width = width;
self
}
@@ -66,7 +66,7 @@ impl<'a, Message> Row<'a, Message> {
/// Sets the height of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn height(mut self, height: Length) -> Self {
+ pub const fn height(mut self, height: Length) -> Self {
self.height = height;
self
}
@@ -74,7 +74,7 @@ impl<'a, Message> Row<'a, Message> {
/// Sets the maximum width of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn max_width(mut self, max_width: u32) -> Self {
+ pub const fn max_width(mut self, max_width: u32) -> Self {
self.max_width = max_width;
self
}
@@ -82,7 +82,7 @@ impl<'a, Message> Row<'a, Message> {
/// Sets the maximum height of the [`Row`].
///
/// [`Row`]: struct.Row.html
- pub fn max_height(mut self, max_height: u32) -> Self {
+ pub const fn max_height(mut self, max_height: u32) -> Self {
self.max_height = max_height;
self
}
@@ -90,7 +90,7 @@ impl<'a, Message> Row<'a, Message> {
/// Sets the vertical alignment of the contents of the [`Row`] .
///
/// [`Row`]: struct.Row.html
- pub fn align_items(mut self, align: Align) -> Self {
+ pub const fn align_items(mut self, align: Align) -> Self {
self.align_items = align;
self
}
diff --git a/web/src/widget/scrollable.rs b/web/src/widget/scrollable.rs
index 710bb70a..65766d74 100644
--- a/web/src/widget/scrollable.rs
+++ b/web/src/widget/scrollable.rs
@@ -151,7 +151,7 @@ impl State {
/// Creates a new [`State`] with the scrollbar located at the top.
///
/// [`State`]: struct.State.html
- pub fn new() -> Self {
- State::default()
+ pub const fn new() -> Self {
+ State
}
}
diff --git a/web/src/widget/slider.rs b/web/src/widget/slider.rs
index 5b203e07..55848084 100644
--- a/web/src/widget/slider.rs
+++ b/web/src/widget/slider.rs
@@ -147,7 +147,7 @@ impl State {
/// Creates a new [`State`].
///
/// [`State`]: struct.State.html
- pub fn new() -> Self {
+ pub const fn new() -> Self {
Self
}
}
diff --git a/web/src/widget/text_input.rs b/web/src/widget/text_input.rs
index d6357512..04c3b287 100644
--- a/web/src/widget/text_input.rs
+++ b/web/src/widget/text_input.rs
@@ -191,7 +191,7 @@ impl State {
/// Creates a new [`State`], representing an unfocused [`TextInput`].
///
/// [`State`]: struct.State.html
- pub fn new() -> Self {
- Self::default()
+ pub const fn new() -> Self {
+ Self
}
}
diff --git a/wgpu/src/renderer.rs b/wgpu/src/renderer.rs
index f27a4b8a..da2c0d8c 100644
--- a/wgpu/src/renderer.rs
+++ b/wgpu/src/renderer.rs
@@ -35,7 +35,7 @@ struct Layer<'a> {
}
impl<'a> Layer<'a> {
- pub fn new(bounds: Rectangle<u32>, offset: Vector<u32>) -> Self {
+ pub const fn new(bounds: Rectangle<u32>, offset: Vector<u32>) -> Self {
Self {
bounds,
offset,