glow-vs-web cleanup following https://github.com/emilk/egui/pull/868
This commit is contained in:
parent
804722a1ba
commit
c71090473b
6 changed files with 15 additions and 7 deletions
3
Cargo.lock
generated
3
Cargo.lock
generated
|
@ -936,6 +936,8 @@ dependencies = [
|
|||
"glutin",
|
||||
"image",
|
||||
"memoffset",
|
||||
"wasm-bindgen",
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -943,6 +945,7 @@ name = "egui_web"
|
|||
version = "0.15.0"
|
||||
dependencies = [
|
||||
"egui",
|
||||
"egui_glow",
|
||||
"epi",
|
||||
"js-sys",
|
||||
"ron",
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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"]
|
||||
|
|
|
@ -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};
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
use egui::{
|
||||
emath::Rect,
|
||||
epaint::{Color32, Mesh, Vertex},
|
||||
TextureId,
|
||||
};
|
||||
pub use glow::Context;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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!(
|
||||
|
@ -566,6 +566,7 @@ impl Drop for Painter {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "epi")]
|
||||
impl epi::TextureAllocator for Painter {
|
||||
fn alloc_srgba_premultiplied(
|
||||
&mut self,
|
||||
|
@ -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 {
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue