From 1e5a3ccab622da30016231fa0086a3b4128e6dda Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Fri, 1 Sep 2017 09:08:44 +0100 Subject: [PATCH] Create stub renderer for sciter, just to check it works --- src/build/render.rs | 5 +---- src/main.rs | 1 + src/renderers/mod.rs | 10 ++++++++++ src/renderers/sciter.rs | 18 ++++++++++++++++++ 4 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 src/renderers/mod.rs create mode 100644 src/renderers/sciter.rs diff --git a/src/build/render.rs b/src/build/render.rs index 49f6f00..c220160 100644 --- a/src/build/render.rs +++ b/src/build/render.rs @@ -1,9 +1,6 @@ use config::Config; - -fn stub(config: Config, input: String) -> Result { - return Ok(input); -} +use renderers::stub; pub fn render(config: Config, input: String) -> Result { let mut rendered_input = input; diff --git a/src/main.rs b/src/main.rs index 753b415..1631bde 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,6 +18,7 @@ mod input; mod utils; mod build; mod output; +mod renderers; #[cfg(test)] mod tests; diff --git a/src/renderers/mod.rs b/src/renderers/mod.rs new file mode 100644 index 0000000..f589f2d --- /dev/null +++ b/src/renderers/mod.rs @@ -0,0 +1,10 @@ +use config::Config; + +pub mod sciter; + +pub fn stub(config: Config, input: String) -> Result { + let root = sciter::sciter_start(input); + let html = sciter::get_html(root); + return Ok(html); +} + diff --git a/src/renderers/sciter.rs b/src/renderers/sciter.rs new file mode 100644 index 0000000..f3fe9fe --- /dev/null +++ b/src/renderers/sciter.rs @@ -0,0 +1,18 @@ +use sciter::{Window, Host, Element}; +use std::rc::Rc; +use std::ops::Deref; + + +fn get_root(frame: Window) -> Element { + return frame.get_host().deref().get_root().expect("Failed to get root of window"); +} + +pub fn sciter_start(source: String) -> Element { + let mut frame = Window::new(); + frame.load_html(&source.as_bytes(), None); + return get_root(frame); +} + +pub fn get_html(element: Element) -> String { + return String::from_utf8(element.get_html(true)).expect("Failed to get HTML from element"); +}