Merge remote-tracking branch 'origin/master' into feat/multi-window-support

# Conflicts:
#	Cargo.toml
#	core/src/window/icon.rs
#	core/src/window/id.rs
#	core/src/window/position.rs
#	core/src/window/settings.rs
#	examples/integration/src/main.rs
#	examples/integration_opengl/src/main.rs
#	glutin/src/application.rs
#	native/src/subscription.rs
#	native/src/window.rs
#	runtime/src/window/action.rs
#	src/lib.rs
#	src/window.rs
#	winit/Cargo.toml
#	winit/src/application.rs
#	winit/src/icon.rs
#	winit/src/settings.rs
#	winit/src/window.rs
This commit is contained in:
Bingus 2023-07-12 12:23:18 -07:00
commit 633f405f3f
No known key found for this signature in database
GPG key ID: 5F84D2AA40A9F170
394 changed files with 17278 additions and 13290 deletions

View file

@ -24,13 +24,13 @@
//! [scrollables]: https://gfycat.com/perkybaggybaboon-rust-gui
//! [Debug overlay with performance metrics]: https://gfycat.com/incredibledarlingbee
//! [Modular ecosystem]: https://github.com/iced-rs/iced/blob/master/ECOSYSTEM.md
//! [renderer-agnostic native runtime]: https://github.com/iced-rs/iced/tree/0.8/native
//! [renderer-agnostic native runtime]: https://github.com/iced-rs/iced/tree/0.9/native
//! [`wgpu`]: https://github.com/gfx-rs/wgpu-rs
//! [built-in renderer]: https://github.com/iced-rs/iced/tree/0.8/wgpu
//! [windowing shell]: https://github.com/iced-rs/iced/tree/0.8/winit
//! [built-in renderer]: https://github.com/iced-rs/iced/tree/0.9/wgpu
//! [windowing shell]: https://github.com/iced-rs/iced/tree/0.9/winit
//! [`dodrio`]: https://github.com/fitzgen/dodrio
//! [web runtime]: https://github.com/iced-rs/iced_web
//! [examples]: https://github.com/iced-rs/iced/tree/0.8/examples
//! [examples]: https://github.com/iced-rs/iced/tree/0.9/examples
//! [repository]: https://github.com/iced-rs/iced
//!
//! # Overview
@ -163,62 +163,147 @@
)]
#![forbid(rust_2018_idioms, unsafe_code)]
#![allow(clippy::inherent_to_string, clippy::type_complexity)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
use iced_widget::graphics;
use iced_widget::renderer;
use iced_widget::style;
use iced_winit as shell;
use iced_winit::core;
use iced_winit::runtime;
pub use iced_futures::futures;
mod element;
mod error;
mod result;
mod sandbox;
pub mod application;
pub mod clipboard;
pub mod executor;
pub mod keyboard;
pub mod mouse;
pub mod overlay;
pub mod settings;
pub mod time;
pub mod touch;
pub mod widget;
pub mod window;
#[cfg(all(not(feature = "glow"), feature = "multi-window"))]
#[cfg(feature = "advanced")]
pub mod advanced;
#[cfg(feature = "multi-window")]
pub mod multi_window;
#[cfg(all(not(feature = "glow"), feature = "wgpu"))]
use iced_winit as runtime;
pub use style::theme;
#[cfg(feature = "glow")]
use iced_glutin as runtime;
pub use crate::core::alignment;
pub use crate::core::event;
pub use crate::core::gradient;
pub use crate::core::{
color, Alignment, Background, Color, ContentFit, Degrees, Gradient, Length,
Padding, Pixels, Point, Radians, Rectangle, Size, Vector,
};
pub use crate::runtime::Command;
#[cfg(all(not(feature = "glow"), feature = "wgpu"))]
use iced_wgpu as renderer;
pub mod clipboard {
//! Access the clipboard.
pub use crate::runtime::clipboard::{read, write};
}
#[cfg(feature = "glow")]
use iced_glow as renderer;
pub mod executor {
//! Choose your preferred executor to power your application.
pub use iced_futures::Executor;
pub use iced_native::theme;
pub use runtime::event;
pub use runtime::subscription;
/// A default cross-platform executor.
///
/// - On native platforms, it will use:
/// - `iced_futures::backend::native::tokio` when the `tokio` feature is enabled.
/// - `iced_futures::backend::native::async-std` when the `async-std` feature is
/// enabled.
/// - `iced_futures::backend::native::smol` when the `smol` feature is enabled.
/// - `iced_futures::backend::native::thread_pool` otherwise.
///
/// - On Wasm, it will use `iced_futures::backend::wasm::wasm_bindgen`.
pub type Default = iced_futures::backend::default::Executor;
}
pub mod font {
//! Load and use fonts.
pub use crate::core::font::*;
pub use crate::runtime::font::*;
}
pub mod keyboard {
//! Listen and react to keyboard events.
pub use crate::core::keyboard::{Event, KeyCode, Modifiers};
}
pub mod mouse {
//! Listen and react to mouse events.
pub use crate::core::mouse::{
Button, Cursor, Event, Interaction, ScrollDelta,
};
}
pub mod subscription {
//! Listen to external events in your application.
pub use iced_futures::subscription::{
channel, events, events_with, run, run_with_id, unfold, Subscription,
};
}
#[cfg(feature = "system")]
pub mod system {
//! Retrieve system information.
pub use crate::runtime::system::Information;
pub use crate::shell::system::*;
}
pub mod overlay {
//! Display interactive elements on top of other widgets.
/// A generic [`Overlay`].
///
/// This is an alias of an `iced_native` element with a default `Renderer`.
///
/// [`Overlay`]: iced_native::Overlay
pub type Element<'a, Message, Renderer = crate::Renderer> =
crate::core::overlay::Element<'a, Message, Renderer>;
pub use iced_widget::overlay::*;
}
pub mod touch {
//! Listen and react to touch events.
pub use crate::core::touch::{Event, Finger};
}
pub mod widget {
//! Use the built-in widgets or create your own.
pub use iced_widget::*;
// We hide the re-exported modules by `iced_widget`
mod core {}
mod graphics {}
mod native {}
mod renderer {}
mod style {}
mod runtime {}
}
pub use application::Application;
pub use element::Element;
pub use error::Error;
pub use event::Event;
pub use executor::Executor;
pub use renderer::Renderer;
pub use result::Result;
pub use font::Font;
pub use sandbox::Sandbox;
pub use settings::Settings;
pub use subscription::Subscription;
pub use theme::Theme;
pub use runtime::alignment;
pub use runtime::futures;
pub use runtime::{
color, Alignment, Background, Color, Command, ContentFit, Font, Length,
Padding, Point, Rectangle, Size, Vector,
};
/// The default renderer.
pub type Renderer<Theme = style::Theme> = renderer::Renderer<Theme>;
#[cfg(feature = "system")]
pub use runtime::system;
/// A generic widget.
///
/// This is an alias of an `iced_native` element with a default `Renderer`.
pub type Element<'a, Message, Renderer = crate::Renderer> =
crate::core::Element<'a, Message, Renderer>;
/// The result of running an [`Application`].
///
/// [`Application`]: crate::Application
pub type Result = std::result::Result<(), Error>;