Merge branch 'master' into explicit-text-caching
This commit is contained in:
commit
b8e5693a30
178 changed files with 1768 additions and 1388 deletions
|
|
@ -2,35 +2,13 @@
|
|||
//!
|
||||
//! 
|
||||
//!
|
||||
//! `iced_native` takes [`iced_core`] and builds a native runtime on top of it,
|
||||
//! featuring:
|
||||
//!
|
||||
//! - A custom layout engine, greatly inspired by [`druid`]
|
||||
//! - Event handling for all the built-in widgets
|
||||
//! - A renderer-agnostic API
|
||||
//!
|
||||
//! To achieve this, it introduces a couple of reusable interfaces:
|
||||
//!
|
||||
//! - A [`Widget`] trait, which is used to implement new widgets: from layout
|
||||
//! requirements to event and drawing logic.
|
||||
//! - A bunch of `Renderer` traits, meant to keep the crate renderer-agnostic.
|
||||
//!
|
||||
//! # Usage
|
||||
//! The strategy to use this crate depends on your particular use case. If you
|
||||
//! want to:
|
||||
//! - Implement a custom shell or integrate it in your own system, check out the
|
||||
//! [`UserInterface`] type.
|
||||
//! - Build a new renderer, see the [renderer] module.
|
||||
//! - Build a custom widget, start at the [`Widget`] trait.
|
||||
//! `iced_runtime` takes [`iced_core`] and builds a native runtime on top of it.
|
||||
//!
|
||||
//! [`iced_core`]: https://github.com/iced-rs/iced/tree/0.10/core
|
||||
//! [`iced_winit`]: https://github.com/iced-rs/iced/tree/0.10/winit
|
||||
//! [`druid`]: https://github.com/xi-editor/druid
|
||||
//! [`raw-window-handle`]: https://github.com/rust-windowing/raw-window-handle
|
||||
//! [renderer]: crate::renderer
|
||||
#![doc(
|
||||
html_logo_url = "https://raw.githubusercontent.com/iced-rs/iced/9ab6923e943f784985e9ef9ca28b10278297225d/docs/logo.svg"
|
||||
)]
|
||||
#![forbid(unsafe_code, rust_2018_idioms)]
|
||||
#![deny(
|
||||
missing_debug_implementations,
|
||||
missing_docs,
|
||||
|
|
@ -39,9 +17,9 @@
|
|||
clippy::from_over_into,
|
||||
clippy::needless_borrow,
|
||||
clippy::new_without_default,
|
||||
clippy::useless_conversion
|
||||
clippy::useless_conversion,
|
||||
rustdoc::broken_intra_doc_links
|
||||
)]
|
||||
#![forbid(unsafe_code, rust_2018_idioms)]
|
||||
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
|
||||
pub mod clipboard;
|
||||
pub mod command;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use crate::core::renderer;
|
|||
use crate::core::widget;
|
||||
use crate::core::{Clipboard, Event, Layout, Point, Rectangle, Shell, Size};
|
||||
|
||||
/// An [`Overlay`] container that displays nested overlays
|
||||
/// An overlay container that displays nested overlays
|
||||
#[allow(missing_debug_implementations)]
|
||||
pub struct Nested<'a, Message, Renderer> {
|
||||
overlay: overlay::Element<'a, Message, Renderer>,
|
||||
|
|
@ -27,6 +27,8 @@ where
|
|||
}
|
||||
|
||||
/// Returns the layout [`Node`] of the [`Nested`] overlay.
|
||||
///
|
||||
/// [`Node`]: layout::Node
|
||||
pub fn layout(
|
||||
&mut self,
|
||||
renderer: &Renderer,
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ where
|
|||
(uncaptured_events, command)
|
||||
}
|
||||
|
||||
/// Applies [`widget::Operation`]s to the [`State`]
|
||||
/// Applies [`Operation`]s to the [`State`]
|
||||
pub fn operate(
|
||||
&mut self,
|
||||
renderer: &mut P::Renderer,
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@ where
|
|||
/// It returns the current [`mouse::Interaction`]. You should update the
|
||||
/// icon of the mouse cursor accordingly in your system.
|
||||
///
|
||||
/// [`Renderer`]: crate::Renderer
|
||||
/// [`Renderer`]: crate::core::Renderer
|
||||
///
|
||||
/// # Example
|
||||
/// We can finally draw our [counter](index.html#usage) by
|
||||
|
|
@ -624,7 +624,7 @@ pub enum State {
|
|||
/// The [`UserInterface`] is up-to-date and can be reused without
|
||||
/// rebuilding.
|
||||
Updated {
|
||||
/// The [`Instant`] when a redraw should be performed.
|
||||
/// The [`window::RedrawRequest`] when a redraw should be performed.
|
||||
redraw_request: Option<window::RedrawRequest>,
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ use crate::command::{self, Command};
|
|||
use crate::core::time::Instant;
|
||||
use crate::core::window::{Event, Icon, Level, Mode, UserAttention};
|
||||
use crate::core::Size;
|
||||
use crate::futures::subscription::{self, Subscription};
|
||||
use crate::futures::event;
|
||||
use crate::futures::Subscription;
|
||||
|
||||
/// Subscribes to the frames of the window of the running application.
|
||||
///
|
||||
|
|
@ -21,7 +22,7 @@ use crate::futures::subscription::{self, Subscription};
|
|||
/// In any case, this [`Subscription`] is useful to smoothly draw application-driven
|
||||
/// animations without missing any frames.
|
||||
pub fn frames() -> Subscription<Instant> {
|
||||
subscription::raw_events(|event, _status| match event {
|
||||
event::listen_raw(|event, _status| match event {
|
||||
iced_core::Event::Window(Event::RedrawRequested(at)) => Some(at),
|
||||
_ => None,
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue