summaryrefslogtreecommitdiffstats
path: root/native
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-11-22 20:30:57 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-11-22 20:30:57 +0100
commit42e775fecec81acd40dbc5f536c8a4cd98a03662 (patch)
treef58586d2223f39933d9bfbe6fff4e7a88fe4b6d3 /native
parenta7dba612f03e58d7bd9527499d893987986b347c (diff)
parent9712b319bb7a32848001b96bd84977430f14b623 (diff)
downloadiced-42e775fecec81acd40dbc5f536c8a4cd98a03662.tar.gz
iced-42e775fecec81acd40dbc5f536c8a4cd98a03662.tar.bz2
iced-42e775fecec81acd40dbc5f536c8a4cd98a03662.zip
Merge branch 'master' into improvement/docs
Diffstat (limited to '')
-rw-r--r--native/Cargo.toml4
-rw-r--r--native/README.md35
-rw-r--r--native/src/user_interface.rs6
3 files changed, 38 insertions, 7 deletions
diff --git a/native/Cargo.toml b/native/Cargo.toml
index 5dc3ae1a..7993676e 100644
--- a/native/Cargo.toml
+++ b/native/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "iced_native"
-version = "0.1.0-alpha"
+version = "0.1.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2018"
description = "A renderer-agnostic library for native GUIs"
@@ -8,6 +8,6 @@ license = "MIT"
repository = "https://github.com/hecrj/iced"
[dependencies]
-iced_core = { version = "0.1.0-alpha", path = "../core", features = ["command"] }
+iced_core = { version = "0.1.0", path = "../core", features = ["command"] }
twox-hash = "1.5"
raw-window-handle = "0.3"
diff --git a/native/README.md b/native/README.md
new file mode 100644
index 00000000..59ec5424
--- /dev/null
+++ b/native/README.md
@@ -0,0 +1,35 @@
+# `iced_native`
+[![Documentation](https://docs.rs/iced_native/badge.svg)][documentation]
+[![Crates.io](https://img.shields.io/crates/v/iced_native.svg)](https://crates.io/crates/iced_native)
+[![License](https://img.shields.io/crates/l/iced_native.svg)](https://github.com/hecrj/iced/blob/master/LICENSE)
+[![project chat](https://img.shields.io/badge/chat-on_zulip-brightgreen.svg)](https://iced.zulipchat.com)
+
+`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 bunch 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.
+- A `Windowed` trait, leveraging [`raw-window-handle`], which can be implemented by graphical renderers that target _windows_. Window-based shells (like [`iced_winit`]) can use this trait to stay renderer-agnostic.
+
+![iced_native](../docs/graphs/native.png)
+
+[documentation]: https://docs.rs/iced_native
+[`iced_core`]: ../core
+[`iced_winit`]: ../winit
+[`druid`]: https://github.com/xi-editor/druid
+[`raw-window-handle`]: https://github.com/rust-windowing/raw-window-handle
+
+## Installation
+Add `iced_native` as a dependency in your `Cargo.toml`:
+
+```toml
+iced_native = "0.1.0"
+```
+
+__Iced moves fast and the `master` branch can contain breaking changes!__ If
+you want to learn about a specific release, check out [the release list].
+
+[the release list]: https://github.com/hecrj/iced/releases
diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs
index f29cbcc5..00ab8ea8 100644
--- a/native/src/user_interface.rs
+++ b/native/src/user_interface.rs
@@ -108,11 +108,7 @@ where
let layout = if hash == cache.hash {
cache.layout
} else {
- let layout_start = std::time::Instant::now();
- let layout = renderer.layout(&root);
- dbg!(std::time::Instant::now() - layout_start);
-
- layout
+ renderer.layout(&root)
};
UserInterface {