Fix missing Subscription
type in iced_web
This commit is contained in:
parent
0f2e20f5e5
commit
9ca65c9f18
@ -146,12 +146,12 @@ pub trait Application: Sized {
|
|||||||
/// It should probably be that last thing you call in your `main` function.
|
/// It should probably be that last thing you call in your `main` function.
|
||||||
///
|
///
|
||||||
/// [`Application`]: trait.Application.html
|
/// [`Application`]: trait.Application.html
|
||||||
fn run(settings: Settings)
|
fn run(_settings: Settings)
|
||||||
where
|
where
|
||||||
Self: 'static,
|
Self: 'static,
|
||||||
{
|
{
|
||||||
#[cfg(not(target_arch = "wasm32"))]
|
#[cfg(not(target_arch = "wasm32"))]
|
||||||
<Instance<Self> as iced_winit::Application>::run(settings.into());
|
<Instance<Self> as iced_winit::Application>::run(_settings.into());
|
||||||
|
|
||||||
#[cfg(target_arch = "wasm32")]
|
#[cfg(target_arch = "wasm32")]
|
||||||
<Instance<Self> as iced_web::Application>::run();
|
<Instance<Self> as iced_web::Application>::run();
|
||||||
|
@ -15,7 +15,7 @@ categories = ["web-programming"]
|
|||||||
maintenance = { status = "actively-developed" }
|
maintenance = { status = "actively-developed" }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
iced_core = { version = "0.1.0", path = "../core", features = ["command"] }
|
iced_core = { version = "0.1.0", path = "../core", features = ["command", "subscription"] }
|
||||||
dodrio = "0.1.0"
|
dodrio = "0.1.0"
|
||||||
wasm-bindgen = "0.2.51"
|
wasm-bindgen = "0.2.51"
|
||||||
wasm-bindgen-futures = "0.4"
|
wasm-bindgen-futures = "0.4"
|
||||||
|
21
web/src/hasher.rs
Normal file
21
web/src/hasher.rs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
use std::collections::hash_map::DefaultHasher;
|
||||||
|
|
||||||
|
/// The hasher used to compare layouts.
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub struct Hasher(DefaultHasher);
|
||||||
|
|
||||||
|
impl Default for Hasher {
|
||||||
|
fn default() -> Self {
|
||||||
|
Hasher(DefaultHasher::default())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl core::hash::Hasher for Hasher {
|
||||||
|
fn write(&mut self, bytes: &[u8]) {
|
||||||
|
self.0.write(bytes)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn finish(&self) -> u64 {
|
||||||
|
self.0.finish()
|
||||||
|
}
|
||||||
|
}
|
@ -61,18 +61,22 @@ use std::{cell::RefCell, rc::Rc};
|
|||||||
|
|
||||||
mod bus;
|
mod bus;
|
||||||
mod element;
|
mod element;
|
||||||
|
mod hasher;
|
||||||
|
|
||||||
pub mod style;
|
pub mod style;
|
||||||
|
pub mod subscription;
|
||||||
pub mod widget;
|
pub mod widget;
|
||||||
|
|
||||||
pub use bus::Bus;
|
pub use bus::Bus;
|
||||||
pub use dodrio;
|
pub use dodrio;
|
||||||
pub use element::Element;
|
pub use element::Element;
|
||||||
|
pub use hasher::Hasher;
|
||||||
pub use iced_core::{
|
pub use iced_core::{
|
||||||
Align, Background, Color, Command, Font, HorizontalAlignment, Length,
|
Align, Background, Color, Command, Font, HorizontalAlignment, Length,
|
||||||
VerticalAlignment,
|
VerticalAlignment,
|
||||||
};
|
};
|
||||||
pub use style::Style;
|
pub use style::Style;
|
||||||
|
pub use subscription::Subscription;
|
||||||
pub use widget::*;
|
pub use widget::*;
|
||||||
|
|
||||||
/// An interactive web application.
|
/// An interactive web application.
|
||||||
|
19
web/src/subscription.rs
Normal file
19
web/src/subscription.rs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
//! Listen to external events in your application.
|
||||||
|
use crate::Hasher;
|
||||||
|
|
||||||
|
/// A request to listen to external events.
|
||||||
|
///
|
||||||
|
/// Besides performing async actions on demand with [`Command`], most
|
||||||
|
/// applications also need to listen to external events passively.
|
||||||
|
///
|
||||||
|
/// A [`Subscription`] is normally provided to some runtime, like a [`Command`],
|
||||||
|
/// and it will generate events as long as the user keeps requesting it.
|
||||||
|
///
|
||||||
|
/// For instance, you can use a [`Subscription`] to listen to a WebSocket
|
||||||
|
/// connection, keyboard presses, mouse events, time ticks, etc.
|
||||||
|
///
|
||||||
|
/// [`Command`]: ../struct.Command.html
|
||||||
|
/// [`Subscription`]: struct.Subscription.html
|
||||||
|
pub type Subscription<T> = iced_core::Subscription<Hasher, (), T>;
|
||||||
|
|
||||||
|
pub use iced_core::subscription::Recipe;
|
Loading…
Reference in New Issue
Block a user