1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-03 15:20:05 -04:00

Simplify backends by adding fn paint_and_update_textures helper

This commit is contained in:
Emil Ernerfeldt
2022-02-21 21:49:52 +01:00
parent 8f887e2ebd
commit 0a46634c13
7 changed files with 73 additions and 42 deletions

View File

@@ -157,22 +157,14 @@ impl EguiGlium {
/// Paint the results of the last call to [`Self::run`].
pub fn paint<T: glium::Surface>(&mut self, display: &glium::Display, target: &mut T) {
let shapes = std::mem::take(&mut self.shapes);
let mut textures_delta = std::mem::take(&mut self.textures_delta);
for (id, image_delta) in textures_delta.set {
self.painter.set_texture(display, id, &image_delta);
}
let textures_delta = std::mem::take(&mut self.textures_delta);
let clipped_meshes = self.egui_ctx.tessellate(shapes);
self.painter.paint_meshes(
self.painter.paint_and_update_textures(
display,
target,
self.egui_ctx.pixels_per_point(),
clipped_meshes,
&textures_delta,
);
for id in textures_delta.free.drain(..) {
self.painter.free_texture(id);
}
}
}