summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/integration/src/main.rs12
-rw-r--r--examples/styling/src/main.rs1
-rw-r--r--native/src/widget/column.rs11
-rw-r--r--native/src/widget/row.rs11
-rw-r--r--native/src/widget/scrollable.rs4
-rw-r--r--web/src/widget/column.rs9
-rw-r--r--web/src/widget/row.rs9
-rw-r--r--winit/Cargo.toml7
-rw-r--r--winit/src/application.rs9
9 files changed, 49 insertions, 24 deletions
diff --git a/examples/integration/src/main.rs b/examples/integration/src/main.rs
index 4be913c1..2cb89ffc 100644
--- a/examples/integration/src/main.rs
+++ b/examples/integration/src/main.rs
@@ -10,7 +10,7 @@ use iced_wgpu::{
use iced_winit::{winit, Cache, Clipboard, MouseCursor, Size, UserInterface};
use winit::{
- event::{DeviceEvent, Event, ModifiersState, WindowEvent},
+ event::{Event, ModifiersState, WindowEvent},
event_loop::{ControlFlow, EventLoop},
};
@@ -66,14 +66,11 @@ pub fn main() {
*control_flow = ControlFlow::Wait;
match event {
- Event::DeviceEvent {
- event: DeviceEvent::ModifiersChanged(new_modifiers),
- ..
- } => {
- modifiers = new_modifiers;
- }
Event::WindowEvent { event, .. } => {
match event {
+ WindowEvent::ModifiersChanged(new_modifiers) => {
+ modifiers = new_modifiers;
+ }
WindowEvent::Resized(new_size) => {
logical_size =
new_size.to_logical(window.scale_factor());
@@ -82,6 +79,7 @@ pub fn main() {
WindowEvent::CloseRequested => {
*control_flow = ControlFlow::Exit;
}
+
_ => {}
}
diff --git a/examples/styling/src/main.rs b/examples/styling/src/main.rs
index 47408624..d6f41b04 100644
--- a/examples/styling/src/main.rs
+++ b/examples/styling/src/main.rs
@@ -93,6 +93,7 @@ impl Sandbox for Styling {
ProgressBar::new(0.0..=100.0, self.slider_value).style(self.theme);
let scrollable = Scrollable::new(&mut self.scroll)
+ .width(Length::Fill)
.height(Length::Units(100))
.style(self.theme)
.push(Text::new("Scroll me!"))
diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs
index 104790d4..a7a6f242 100644
--- a/native/src/widget/column.rs
+++ b/native/src/widget/column.rs
@@ -30,6 +30,15 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
///
/// [`Column`]: struct.Column.html
pub fn new() -> Self {
+ Self::with_children(Vec::new())
+ }
+
+ /// Creates a [`Column`] with the given elements.
+ ///
+ /// [`Column`]: struct.Column.html
+ pub fn with_children(
+ children: Vec<Element<'a, Message, Renderer>>,
+ ) -> Self {
Column {
spacing: 0,
padding: 0,
@@ -38,7 +47,7 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {
max_width: u32::MAX,
max_height: u32::MAX,
align_items: Align::Start,
- children: Vec::new(),
+ children,
}
}
diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs
index 775b953e..c8812ea2 100644
--- a/native/src/widget/row.rs
+++ b/native/src/widget/row.rs
@@ -30,6 +30,15 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
///
/// [`Row`]: struct.Row.html
pub fn new() -> Self {
+ Self::with_children(Vec::new())
+ }
+
+ /// Creates a [`Row`] with the given elements.
+ ///
+ /// [`Row`]: struct.Row.html
+ pub fn with_children(
+ children: Vec<Element<'a, Message, Renderer>>,
+ ) -> Self {
Row {
spacing: 0,
padding: 0,
@@ -38,7 +47,7 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {
max_width: u32::MAX,
max_height: u32::MAX,
align_items: Align::Start,
- children: Vec::new(),
+ children,
}
}
diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs
index e83f25af..ec9746d4 100644
--- a/native/src/widget/scrollable.rs
+++ b/native/src/widget/scrollable.rs
@@ -118,7 +118,7 @@ where
Renderer: 'static + self::Renderer + column::Renderer,
{
fn width(&self) -> Length {
- Length::Fill
+ Widget::<Message, Renderer>::width(&self.content)
}
fn height(&self) -> Length {
@@ -132,7 +132,7 @@ where
) -> layout::Node {
let limits = limits
.max_height(self.max_height)
- .width(Length::Fill)
+ .width(Widget::<Message, Renderer>::width(&self.content))
.height(self.height);
let child_limits = layout::Limits::new(
diff --git a/web/src/widget/column.rs b/web/src/widget/column.rs
index 6454ffba..25b88b0e 100644
--- a/web/src/widget/column.rs
+++ b/web/src/widget/column.rs
@@ -25,6 +25,13 @@ impl<'a, Message> Column<'a, Message> {
///
/// [`Column`]: struct.Column.html
pub fn new() -> Self {
+ Self::with_children(Vec::new())
+ }
+
+ /// Creates a [`Column`] with the given elements.
+ ///
+ /// [`Column`]: struct.Column.html
+ pub fn with_children(children: Vec<Element<'a, Message>>) -> Self {
Column {
spacing: 0,
padding: 0,
@@ -33,7 +40,7 @@ impl<'a, Message> Column<'a, Message> {
max_width: u32::MAX,
max_height: u32::MAX,
align_items: Align::Start,
- children: Vec::new(),
+ children,
}
}
diff --git a/web/src/widget/row.rs b/web/src/widget/row.rs
index 02035113..cfa10fdf 100644
--- a/web/src/widget/row.rs
+++ b/web/src/widget/row.rs
@@ -25,6 +25,13 @@ impl<'a, Message> Row<'a, Message> {
///
/// [`Row`]: struct.Row.html
pub fn new() -> Self {
+ Self::with_children(Vec::new())
+ }
+
+ /// Creates a [`Row`] with the given elements.
+ ///
+ /// [`Row`]: struct.Row.html
+ pub fn with_children(children: Vec<Element<'a, Message>>) -> Self {
Row {
spacing: 0,
padding: 0,
@@ -33,7 +40,7 @@ impl<'a, Message> Row<'a, Message> {
max_width: u32::MAX,
max_height: u32::MAX,
align_items: Align::Start,
- children: Vec::new(),
+ children,
}
}
diff --git a/winit/Cargo.toml b/winit/Cargo.toml
index 63df1d63..ca2018c7 100644
--- a/winit/Cargo.toml
+++ b/winit/Cargo.toml
@@ -14,16 +14,13 @@ categories = ["gui"]
debug = []
[dependencies]
-winit = "0.21"
+winit = "0.22"
+window_clipboard = "0.1"
log = "0.4"
[dependencies.iced_native]
version = "0.1.0-alpha"
path = "../native"
-[dependencies.window_clipboard]
-git = "https://github.com/hecrj/window_clipboard"
-rev = "22c6dd6c04cd05d528029b50a30c56417cd4bebf"
-
[target.'cfg(target_os = "windows")'.dependencies.winapi]
version = "0.3.6"
diff --git a/winit/src/application.rs b/winit/src/application.rs
index f5aa799c..891b8f12 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -347,6 +347,9 @@ pub trait Application: Sized {
WindowEvent::CloseRequested => {
*control_flow = ControlFlow::Exit;
}
+ WindowEvent::ModifiersChanged(new_modifiers) => {
+ modifiers = new_modifiers;
+ }
#[cfg(target_os = "macos")]
WindowEvent::KeyboardInput {
input:
@@ -382,12 +385,6 @@ pub trait Application: Sized {
events.push(event);
}
}
- event::Event::DeviceEvent {
- event: event::DeviceEvent::ModifiersChanged(new_modifiers),
- ..
- } => {
- modifiers = new_modifiers;
- }
_ => {
*control_flow = ControlFlow::Wait;
}