summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-09-20 19:15:31 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-09-20 19:15:31 +0200
commitb9e0f7494881ad7cdfbcbc16878ecc6ef717753f (patch)
treec8a7419b5cb4c0161306c479b93038f2f86498c2 /web
parentb83a4b42dd912b5f59d40e7d4f7f7ccdabc43019 (diff)
downloadiced-b9e0f7494881ad7cdfbcbc16878ecc6ef717753f.tar.gz
iced-b9e0f7494881ad7cdfbcbc16878ecc6ef717753f.tar.bz2
iced-b9e0f7494881ad7cdfbcbc16878ecc6ef717753f.zip
Create `iced_core` and `iced_native`
Diffstat (limited to 'web')
-rw-r--r--web/Cargo.toml2
-rw-r--r--web/src/lib.rs2
-rw-r--r--web/src/widget/button.rs3
-rw-r--r--web/src/widget/checkbox.rs2
-rw-r--r--web/src/widget/column.rs38
-rw-r--r--web/src/widget/image.rs20
-rw-r--r--web/src/widget/radio.rs2
-rw-r--r--web/src/widget/row.rs24
-rw-r--r--web/src/widget/slider.rs4
-rw-r--r--web/src/widget/text.rs2
10 files changed, 25 insertions, 74 deletions
diff --git a/web/Cargo.toml b/web/Cargo.toml
index 43377d46..d5a987b0 100644
--- a/web/Cargo.toml
+++ b/web/Cargo.toml
@@ -15,7 +15,7 @@ categories = ["web-programming"]
maintenance = { status = "actively-developed" }
[dependencies]
-iced = { version = "0.1.0-alpha", path = ".." }
+iced_core = { version = "0.1.0-alpha", path = "../core" }
dodrio = "0.1.0"
futures-preview = "=0.3.0-alpha.18"
wasm-bindgen = "0.2.50"
diff --git a/web/src/lib.rs b/web/src/lib.rs
index a6dc2b79..09ca3460 100644
--- a/web/src/lib.rs
+++ b/web/src/lib.rs
@@ -8,7 +8,7 @@ mod widget;
pub use bus::Bus;
pub use element::Element;
-pub use iced::{Align, Color};
+pub use iced_core::{Align, Color, Length};
pub use widget::*;
pub trait UserInterface {
diff --git a/web/src/widget/button.rs b/web/src/widget/button.rs
index 63c0262a..36b35901 100644
--- a/web/src/widget/button.rs
+++ b/web/src/widget/button.rs
@@ -1,9 +1,8 @@
use crate::{Bus, Element, Widget};
-pub use iced::button::{Class, State};
use dodrio::bumpalo;
-pub type Button<'a, Message> = iced::Button<'a, Message>;
+pub type Button<'a, Message> = iced_core::Button<'a, Message>;
impl<'a, Message> Widget<Message> for Button<'a, Message>
where
diff --git a/web/src/widget/checkbox.rs b/web/src/widget/checkbox.rs
index 5aadd65d..34995781 100644
--- a/web/src/widget/checkbox.rs
+++ b/web/src/widget/checkbox.rs
@@ -2,7 +2,7 @@ use crate::{Bus, Element, Widget};
use dodrio::bumpalo;
-pub use iced::Checkbox;
+pub use iced_core::Checkbox;
impl<Message> Widget<Message> for Checkbox<Message>
where
diff --git a/web/src/widget/column.rs b/web/src/widget/column.rs
index a2b8232e..99491647 100644
--- a/web/src/widget/column.rs
+++ b/web/src/widget/column.rs
@@ -1,42 +1,8 @@
-use crate::{Align, Bus, Element, Widget};
+use crate::{Bus, Element, Widget};
use dodrio::bumpalo;
-pub struct Column<'a, Message> {
- children: Vec<Element<'a, Message>>,
-}
-
-impl<'a, Message> Column<'a, Message> {
- pub fn new() -> Self {
- Self {
- children: Vec::new(),
- }
- }
-
- pub fn spacing(self, _spacing: u16) -> Self {
- self
- }
-
- pub fn padding(self, _padding: u16) -> Self {
- self
- }
-
- pub fn max_width(self, _max_width: u16) -> Self {
- self
- }
-
- pub fn align_items(self, _align: Align) -> Self {
- self
- }
-
- pub fn push<E>(mut self, element: E) -> Self
- where
- E: Into<Element<'a, Message>>,
- {
- self.children.push(element.into());
- self
- }
-}
+pub type Column<'a, Message> = iced_core::Column<Element<'a, Message>>;
impl<'a, Message> Widget<Message> for Column<'a, Message> {
fn node<'b>(
diff --git a/web/src/widget/image.rs b/web/src/widget/image.rs
index a882faff..48ff539f 100644
--- a/web/src/widget/image.rs
+++ b/web/src/widget/image.rs
@@ -1,8 +1,8 @@
-use crate::{Bus, Element, Widget};
+use crate::{Bus, Element, Length, Widget};
use dodrio::bumpalo;
-pub type Image<'a> = iced::Image<&'a str>;
+pub type Image<'a> = iced_core::Image<&'a str>;
impl<'a, Message> Widget<Message> for Image<'a> {
fn node<'b>(
@@ -12,13 +12,21 @@ impl<'a, Message> Widget<Message> for Image<'a> {
) -> dodrio::Node<'b> {
use dodrio::builder::*;
- let src = bumpalo::format!(in bump, "{}", self.image);
+ let src = bumpalo::format!(in bump, "{}", self.handle);
let mut image = img(bump).attr("src", src.into_bump_str());
- if let Some(width) = self.width {
- let width = bumpalo::format!(in bump, "{}", width);
- image = image.attr("width", width.into_bump_str());
+ match self.width {
+ Length::Shrink => {}
+ Length::Fill => {
+ image = image.attr("width", "100%");
+ }
+ Length::Units(px) => {
+ image = image.attr(
+ "width",
+ bumpalo::format!(in bump, "{}px", px).into_bump_str(),
+ );
+ }
}
image.finish()
diff --git a/web/src/widget/radio.rs b/web/src/widget/radio.rs
index e762ae28..9063770a 100644
--- a/web/src/widget/radio.rs
+++ b/web/src/widget/radio.rs
@@ -2,7 +2,7 @@ use crate::{Bus, Element, Widget};
use dodrio::bumpalo;
-pub use iced::Radio;
+pub use iced_core::Radio;
impl<Message> Widget<Message> for Radio<Message>
where
diff --git a/web/src/widget/row.rs b/web/src/widget/row.rs
index 71532245..d4f4c4a0 100644
--- a/web/src/widget/row.rs
+++ b/web/src/widget/row.rs
@@ -2,29 +2,7 @@ use crate::{Bus, Element, Widget};
use dodrio::bumpalo;
-pub struct Row<'a, Message> {
- children: Vec<Element<'a, Message>>,
-}
-
-impl<'a, Message> Row<'a, Message> {
- pub fn new() -> Self {
- Self {
- children: Vec::new(),
- }
- }
-
- pub fn spacing(self, _spacing: u16) -> Self {
- self
- }
-
- pub fn push<E>(mut self, element: E) -> Self
- where
- E: Into<Element<'a, Message>>,
- {
- self.children.push(element.into());
- self
- }
-}
+pub type Row<'a, Message> = iced_core::Row<Element<'a, Message>>;
impl<'a, Message> Widget<Message> for Row<'a, Message> {
fn node<'b>(
diff --git a/web/src/widget/slider.rs b/web/src/widget/slider.rs
index 31bfcbf3..19668025 100644
--- a/web/src/widget/slider.rs
+++ b/web/src/widget/slider.rs
@@ -2,9 +2,9 @@ use crate::{Bus, Element, Widget};
use dodrio::bumpalo;
-pub type Slider<'a, Message> = iced::Slider<'a, Message>;
+pub type Slider<'a, Message> = iced_core::Slider<'a, Message>;
-pub use iced::slider::State;
+pub use iced_core::slider::State;
impl<'a, Message> Widget<Message> for Slider<'a, Message>
where
diff --git a/web/src/widget/text.rs b/web/src/widget/text.rs
index a5709775..ef9170ef 100644
--- a/web/src/widget/text.rs
+++ b/web/src/widget/text.rs
@@ -1,7 +1,7 @@
use crate::{Bus, Element, Widget};
use dodrio::bumpalo;
-pub use iced::text::*;
+pub use iced_core::text::*;
impl<'a, Message> Widget<Message> for Text {
fn node<'b>(