Skip to content

Commit

Permalink
glow-vs-web cleanup following #868
Browse files Browse the repository at this point in the history
  • Loading branch information
emilk committed Nov 3, 2021
1 parent 804722a commit c710904
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 7 deletions.
3 changes: 3 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion eframe/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ epi = { version = "0.15.0", path = "../epi" }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { version = "0.15.0", path = "../egui-winit", default-features = false }
egui_glium = { version = "0.15.0", path = "../egui_glium", default-features = false, features = ["clipboard", "epi", "links"], optional = true }
egui_glow = { version = "0.15.0", path = "../egui_glow", default-features = false, features = ["clipboard", "epi", "links"], optional = true }
egui_glow = { version = "0.15.0", path = "../egui_glow", default-features = false, features = ["clipboard", "epi", "links", "winit"], optional = true }

# web:
[target.'cfg(target_arch = "wasm32")'.dependencies]
Expand Down
2 changes: 1 addition & 1 deletion egui_glow/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,4 @@ screen_reader = ["egui-winit/screen_reader"]
# enable glutin/winit integration.
# if you want to use glow painter on web disable it.
# if disabled reduce crate size and build time.
winit= ["egui-winit","glutin"]
winit = ["egui-winit", "glutin"]
2 changes: 2 additions & 0 deletions egui_glow/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ mod shader_version;
mod vao_emulate;

#[cfg(not(target_arch = "wasm32"))]
#[cfg(feature = "egui_winit")]
pub use egui_winit;

#[cfg(all(feature = "epi", feature = "winit"))]
pub use epi_backend::{run, NativeOptions};

Expand Down
10 changes: 6 additions & 4 deletions egui_glow/src/painter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
use egui::{
emath::Rect,
epaint::{Color32, Mesh, Vertex},
TextureId,
};
pub use glow::Context;

Expand Down Expand Up @@ -540,7 +539,7 @@ impl Painter {
debug_assert!(!self.destroyed, "the egui glow has already been destroyed!");
}
}
// ported from egui_web

pub fn clear(gl: &glow::Context, dimension: [u32; 2], clear_color: egui::Rgba) {
unsafe {
gl.disable(glow::SCISSOR_TEST);
Expand All @@ -557,6 +556,7 @@ pub fn clear(gl: &glow::Context, dimension: [u32; 2], clear_color: egui::Rgba) {
gl.clear(glow::COLOR_BUFFER_BIT);
}
}

impl Drop for Painter {
fn drop(&mut self) {
debug_assert!(
Expand All @@ -566,6 +566,7 @@ impl Drop for Painter {
}
}

#[cfg(feature = "epi")]
impl epi::TextureAllocator for Painter {
fn alloc_srgba_premultiplied(
&mut self,
Expand All @@ -582,14 +583,15 @@ impl epi::TextureAllocator for Painter {
}
}

#[cfg(feature = "epi")]
impl epi::NativeTexture for Painter {
type Texture = glow::Texture;

fn register_native_texture(&mut self, native: Self::Texture) -> TextureId {
fn register_native_texture(&mut self, native: Self::Texture) -> egui::TextureId {
self.register_glow_texture(native)
}

fn replace_native_texture(&mut self, id: TextureId, replacing: Self::Texture) {
fn replace_native_texture(&mut self, id: egui::TextureId, replacing: Self::Texture) {
if let egui::TextureId::User(id) = id {
if let Some(Some(user_texture)) = self.user_textures.get_mut(id as usize) {
*user_texture = UserTexture {
Expand Down
3 changes: 2 additions & 1 deletion egui_web/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@ default = ["default_fonts"]
# If set, egui will use `include_bytes!` to bundle some fonts.
# If you plan on specifying your own fonts you may disable this feature.
default_fonts = ["egui/default_fonts"]
# Use glow as the renderer
glow = ["egui_glow", "egui_glow/epi"]
persistence = ["egui/persistence", "ron", "serde"]
screen_reader = ["tts"] # experimental
glow =["egui_glow","egui_glow/epi"]

[dependencies.web-sys]
version = "0.3.52"
Expand Down

0 comments on commit c710904

Please sign in to comment.