This commit is contained in:
Emil Ernerfeldt 2021-12-28 13:22:01 +01:00
parent f919b0cc05
commit cda4c8ba13
6 changed files with 14 additions and 13 deletions

View file

@ -25,8 +25,8 @@ pub struct Painter {
/// Index is the same as in [`egui::TextureId::User`].
user_textures: HashMap<u64, Rc<SrgbTexture2d>>,
// TODO: 128-bit texture space?
next_native_tex_id: u64,
#[cfg(feature = "epi")]
next_native_tex_id: u64, // TODO: 128-bit texture space?
}
impl Painter {
@ -57,6 +57,7 @@ impl Painter {
egui_texture: None,
egui_texture_version: None,
user_textures: Default::default(),
#[cfg(feature = "epi")]
next_native_tex_id: 1 << 32,
}
}
@ -222,6 +223,7 @@ impl Painter {
// ------------------------------------------------------------------------
#[cfg(feature = "epi")]
pub fn set_texture(
&mut self,
facade: &dyn glium::backend::Facade,

View file

@ -1,8 +1,6 @@
#![allow(unsafe_code)]
use glow::HasContext;
use std::option::Option::Some;
#[cfg(target_arch = "wasm32")]
use wasm_bindgen::JsValue;
pub(crate) fn srgbtexture2d(
gl: &glow::Context,

View file

@ -41,8 +41,10 @@ pub struct Painter {
/// Index is the same as in [`egui::TextureId::User`].
user_textures: HashMap<u64, glow::Texture>,
// TODO: 128-bit texture space?
next_native_tex_id: u64,
#[cfg(feature = "epi")]
next_native_tex_id: u64, // TODO: 128-bit texture space?
/// Stores outdated OpenGL textures that are yet to be deleted
textures_to_destroy: Vec<glow::Texture>,
@ -192,6 +194,7 @@ impl Painter {
vertex_buffer,
element_array_buffer,
user_textures: Default::default(),
#[cfg(feature = "epi")]
next_native_tex_id: 1 << 32,
textures_to_destroy: Vec::new(),
destroyed: false,
@ -386,6 +389,7 @@ impl Painter {
// ------------------------------------------------------------------------
#[cfg(feature = "epi")]
pub fn set_texture(&mut self, gl: &glow::Context, tex_id: u64, image: &epi::Image) {
self.assert_not_destroyed();

View file

@ -34,8 +34,7 @@ pub struct WebGlPainter {
/// Index is the same as in [`egui::TextureId::User`].
user_textures: HashMap<u64, WebGlTexture>,
// TODO: 128-bit texture space?
next_native_tex_id: u64,
next_native_tex_id: u64, // TODO: 128-bit texture space?
}
impl WebGlPainter {

View file

@ -34,8 +34,7 @@ pub struct WebGl2Painter {
/// Index is the same as in [`egui::TextureId::User`].
user_textures: HashMap<u64, WebGlTexture>,
// TODO: 128-bit texture space?
next_native_tex_id: u64,
next_native_tex_id: u64, // TODO: 128-bit texture space?
}
impl WebGl2Painter {

View file

@ -419,11 +419,10 @@ pub trait NativeTexture {
/// The native texture type.
type Texture;
/// Bind native texture to egui texture
/// Bind native texture to an egui texture id.
fn register_native_texture(&mut self, native: Self::Texture) -> egui::TextureId;
/// Change id's actual pointing texture
/// only for user texture
/// Change what texture the given id refers to.
fn replace_native_texture(&mut self, id: egui::TextureId, replacing: Self::Texture);
}