diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown index 1612171..9e12a63 100644 --- a/CHANGELOG.markdown +++ b/CHANGELOG.markdown @@ -8,6 +8,11 @@ - `ImVec4::zero()` - `Into` array and tuple conversions for ImVec2 and ImVec4 +### Changed + +- imgui-sys no longer includes glium support by default +- Move Glium renderer to a separate crate + ### Removed - `Window::always_vertical_scollbar` (typo) diff --git a/Cargo.toml b/Cargo.toml index 2fb04cf..9797e64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,21 +8,9 @@ homepage = "https://github.com/gekkio/imgui-rs" repository = "https://github.com/gekkio/imgui-rs" license = "MIT OR Apache-2.0" -[features] -default = ["glium"] +[dependencies] +imgui-sys = { path = "imgui-sys" } -[dependencies.glium] -version = "0.16" -default-features = false -optional = true - -[dependencies.imgui-sys] -path = "imgui-sys" - -[build-dependencies] -gcc = "0.3" - -[dev-dependencies.glium] -version = "0.16" -features = ["glutin"] -default-features = false +[dev-dependencies] +glium = "0.16" +imgui-glium-renderer = { path = "imgui-glium-renderer" } diff --git a/examples/hello_world.rs b/examples/hello_world.rs index a81824d..4bbd923 100644 --- a/examples/hello_world.rs +++ b/examples/hello_world.rs @@ -2,6 +2,7 @@ extern crate glium; #[macro_use] extern crate imgui; +extern crate imgui_glium_renderer; use imgui::*; diff --git a/examples/support/mod.rs b/examples/support/mod.rs index 94aa867..1fc687b 100644 --- a/examples/support/mod.rs +++ b/examples/support/mod.rs @@ -3,7 +3,7 @@ use glium::backend::glutin_backend::GlutinFacade; use glium::glutin; use glium::glutin::{ElementState, Event, MouseButton, MouseScrollDelta, VirtualKeyCode, TouchPhase}; use imgui::{ImGui, Ui, ImGuiKey}; -use imgui::glium_renderer::Renderer; +use imgui_glium_renderer::Renderer; use std::time::Instant; pub struct Support { diff --git a/examples/test_window.rs b/examples/test_window.rs index 195dc9a..d8201f6 100644 --- a/examples/test_window.rs +++ b/examples/test_window.rs @@ -2,6 +2,7 @@ extern crate glium; #[macro_use] extern crate imgui; +extern crate imgui_glium_renderer; use self::support::Support; diff --git a/examples/test_window_impl.rs b/examples/test_window_impl.rs index 8559f71..83440f9 100644 --- a/examples/test_window_impl.rs +++ b/examples/test_window_impl.rs @@ -2,6 +2,7 @@ extern crate glium; #[macro_use] extern crate imgui; +extern crate imgui_glium_renderer; use imgui::*; use std::iter::repeat; diff --git a/imgui-glium-renderer/Cargo.toml b/imgui-glium-renderer/Cargo.toml new file mode 100644 index 0000000..d9f4dba --- /dev/null +++ b/imgui-glium-renderer/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "imgui-glium-renderer" +version = "0.0.12-pre" +authors = ["Joonas Javanainen "] +description = "Glium renderer for imgui-rs" +homepage = "https://github.com/gekkio/imgui-rs" +repository = "https://github.com/gekkio/imgui-rs" +license = "MIT" + +[dependencies] +glium = { version = "0.16", default-features = false } +imgui = { path = "../" } +imgui-sys = { path = "../imgui-sys", features = ["glium"] } diff --git a/src/glium_renderer.rs b/imgui-glium-renderer/src/lib.rs similarity index 98% rename from src/glium_renderer.rs rename to imgui-glium-renderer/src/lib.rs index 5e4d4b9..701b8f5 100644 --- a/src/glium_renderer.rs +++ b/imgui-glium-renderer/src/lib.rs @@ -1,15 +1,18 @@ +#[macro_use] +extern crate glium; +extern crate imgui; + use glium::{DrawError, GlObject, IndexBuffer, Program, Surface, Texture2d, VertexBuffer}; use glium::backend::{Context, Facade}; use glium::program; use glium::index::{self, PrimitiveType}; use glium::texture; use glium::vertex; +use imgui::{DrawList, ImDrawIdx, ImDrawVert, ImGui, Ui}; use std::borrow::Cow; use std::fmt; use std::rc::Rc; -use super::{DrawList, ImDrawIdx, ImDrawVert, ImGui, Ui}; - pub type RendererResult = Result; #[derive(Clone, Debug)] diff --git a/src/shader/frag_110.glsl b/imgui-glium-renderer/src/shader/frag_110.glsl similarity index 100% rename from src/shader/frag_110.glsl rename to imgui-glium-renderer/src/shader/frag_110.glsl diff --git a/src/shader/frag_140.glsl b/imgui-glium-renderer/src/shader/frag_140.glsl similarity index 100% rename from src/shader/frag_140.glsl rename to imgui-glium-renderer/src/shader/frag_140.glsl diff --git a/src/shader/vert_110.glsl b/imgui-glium-renderer/src/shader/vert_110.glsl similarity index 100% rename from src/shader/vert_110.glsl rename to imgui-glium-renderer/src/shader/vert_110.glsl diff --git a/src/shader/vert_140.glsl b/imgui-glium-renderer/src/shader/vert_140.glsl similarity index 100% rename from src/shader/vert_140.glsl rename to imgui-glium-renderer/src/shader/vert_140.glsl diff --git a/imgui-sys/Cargo.toml b/imgui-sys/Cargo.toml index 5f9be5c..3834188 100644 --- a/imgui-sys/Cargo.toml +++ b/imgui-sys/Cargo.toml @@ -8,16 +8,9 @@ repository = "https://github.com/gekkio/imgui-rs" license = "MIT" build = "build.rs" -[features] -default = ["glium"] - [dependencies] bitflags = "0.8" - -[dependencies.glium] -version = "0.16" -default-features = false -optional = true +glium = { version = "0.16", default-features = false, optional = true } [build-dependencies] gcc = "0.3" diff --git a/src/lib.rs b/src/lib.rs index 8f008b0..4d45c94 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,3 @@ -#[cfg(feature = "glium")] -#[macro_use] -extern crate glium; - extern crate imgui_sys; use std::borrow::Cow; @@ -59,9 +55,6 @@ mod sliders; mod trees; mod window; -#[cfg(feature = "glium")] -pub mod glium_renderer; - pub struct ImGui { // We need to keep ownership of the ImStr values to ensure the *const char pointer // lives long enough in case the ImStr contains a Cow::Owned