summaryrefslogtreecommitdiffstats
path: root/wgpu
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-03 00:01:45 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-03 00:01:45 +0200
commite1b9d42bf1443ae4958aa9303255ef19c635debb (patch)
treea7b7615dabc328a90300488ab8623740417277c8 /wgpu
parent67d3fe67f312c4dfe9fe4af0f0cbc7cb23c30072 (diff)
downloadiced-e1b9d42bf1443ae4958aa9303255ef19c635debb.tar.gz
iced-e1b9d42bf1443ae4958aa9303255ef19c635debb.tar.bz2
iced-e1b9d42bf1443ae4958aa9303255ef19c635debb.zip
Start `iced_winit` and `iced_wgpu`
Diffstat (limited to 'wgpu')
-rw-r--r--wgpu/Cargo.toml12
-rw-r--r--wgpu/src/lib.rs87
2 files changed, 99 insertions, 0 deletions
diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml
new file mode 100644
index 00000000..0ab7a955
--- /dev/null
+++ b/wgpu/Cargo.toml
@@ -0,0 +1,12 @@
+[package]
+name = "iced_wgpu"
+version = "0.1.0-alpha"
+authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
+edition = "2018"
+description = "A wgpu renderer for Iced"
+license = "MIT"
+repository = "https://github.com/hecrj/iced"
+
+[dependencies]
+iced_native = { version = "0.1.0-alpha", path = "../native" }
+wgpu = "0.3"
diff --git a/wgpu/src/lib.rs b/wgpu/src/lib.rs
new file mode 100644
index 00000000..7aa053bc
--- /dev/null
+++ b/wgpu/src/lib.rs
@@ -0,0 +1,87 @@
+use iced_native::{
+ button, checkbox, image, radio, renderer::Debugger, slider, text, Button,
+ Checkbox, Color, Image, Layout, MouseCursor, Node, Point, Radio, Slider,
+ Style, Text,
+};
+
+pub struct Renderer;
+
+impl text::Renderer for Renderer {
+ fn node(&self, _text: &Text) -> Node {
+ Node::new(Style::default())
+ }
+
+ fn draw(&mut self, _text: &Text, _layout: Layout<'_>) {}
+}
+
+impl checkbox::Renderer for Renderer {
+ fn node<Message>(&mut self, _checkbox: &Checkbox<Message>) -> Node {
+ Node::new(Style::default())
+ }
+
+ fn draw<Message>(
+ &mut self,
+ _checkbox: &Checkbox<Message>,
+ _layout: Layout<'_>,
+ _cursor_position: Point,
+ ) -> MouseCursor {
+ MouseCursor::OutOfBounds
+ }
+}
+
+impl radio::Renderer for Renderer {
+ fn node<Message>(&mut self, _checkbox: &Radio<Message>) -> Node {
+ Node::new(Style::default())
+ }
+
+ fn draw<Message>(
+ &mut self,
+ _radio: &Radio<Message>,
+ _layout: Layout<'_>,
+ _cursor_position: Point,
+ ) -> MouseCursor {
+ MouseCursor::OutOfBounds
+ }
+}
+
+impl slider::Renderer for Renderer {
+ fn node<Message>(&self, _slider: &Slider<Message>) -> Node {
+ Node::new(Style::default())
+ }
+
+ fn draw<Message>(
+ &mut self,
+ _slider: &Slider<Message>,
+ _layout: Layout<'_>,
+ _cursor_position: Point,
+ ) -> MouseCursor {
+ MouseCursor::OutOfBounds
+ }
+}
+
+impl image::Renderer<&str> for Renderer {
+ fn node(&mut self, _image: &Image<&str>) -> Node {
+ Node::new(Style::default())
+ }
+
+ fn draw(&mut self, _checkbox: &Image<&str>, _layout: Layout<'_>) {}
+}
+
+impl button::Renderer for Renderer {
+ fn node<Message>(&self, _button: &Button<Message>) -> Node {
+ Node::new(Style::default())
+ }
+
+ fn draw<Message>(
+ &mut self,
+ _button: &Button<Message>,
+ _layout: Layout<'_>,
+ _cursor_position: Point,
+ ) -> MouseCursor {
+ MouseCursor::OutOfBounds
+ }
+}
+
+impl Debugger for Renderer {
+ fn explain(&mut self, _layout: &Layout<'_>, _color: Color) {}
+}