Skip to content

Commit

Permalink
fix rebase errors
Browse files Browse the repository at this point in the history
  • Loading branch information
jakobhellermann committed Jan 4, 2022
1 parent c93c998 commit a4b5af4
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 13 deletions.
5 changes: 2 additions & 3 deletions src/egui_node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -406,9 +406,8 @@ impl Node for EguiNode {
}
}

pub fn as_wgpu_image(egui_texture: &egui::Texture) -> Image {
let mut pixels = Vec::new();
pixels.reserve(4 * pixels.len());
pub fn as_wgpu_image(egui_texture: &egui::FontImage) -> Image {
let mut pixels = Vec::with_capacity(4 * egui_texture.pixels.len());
for &alpha in egui_texture.pixels.iter() {
pixels.extend(
egui::color::Color32::from_white_alpha(alpha)
Expand Down
10 changes: 5 additions & 5 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ impl Plugin for EguiPlugin {
world.get_resource_or_insert_with(HashMap::<WindowId, EguiOutput>::default);
world.get_resource_or_insert_with(HashMap::<WindowId, WindowSize>::default);
world.get_resource_or_insert_with(HashMap::<WindowId, EguiShapes>::default);
world.get_resource_or_insert_with(EguiMainTextures::default);
world.get_resource_or_insert_with(EguiFontTextures::default);
#[cfg(feature = "manage_clipboard")]
world.get_resource_or_insert_with(EguiClipboard::default);
world.insert_resource(EguiContext::new());
Expand All @@ -397,19 +397,19 @@ impl Plugin for EguiPlugin {
}

#[derive(Default)]
pub(crate) struct EguiMainTextures(HashMap<WindowId, (Handle<Image>, u64)>);
pub(crate) struct EguiFontTextures(HashMap<WindowId, (Handle<Image>, u64)>);

fn update_egui_textures(
_commands: Commands,
mut egui_context: ResMut<EguiContext>,
mut egui_main_textures: ResMut<EguiMainTextures>,
mut egui_font_textures: ResMut<EguiFontTextures>,
mut image_assets: ResMut<Assets<Image>>,
mut image_events: EventReader<AssetEvent<Image>>,
) {
egui_context.ctx.iter().for_each(|(&window_id, ctx)| {
let texture = ctx.texture();
let texture = ctx.font_image();

match egui_main_textures.0.entry(window_id) {
match egui_font_textures.0.entry(window_id) {
Entry::Occupied(entry) if entry.get().1 == texture.version => {}
Entry::Occupied(mut entry) => {
let image = image_assets.add(egui_node::as_wgpu_image(&texture));
Expand Down
10 changes: 5 additions & 5 deletions src/render_systems.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ impl EguiTransform {
}

use crate::{
egui_node::EguiPipeline, EguiContext, EguiMainTextures, EguiSettings, EguiShapes, WindowSize,
egui_node::EguiPipeline, EguiContext, EguiFontTextures, EguiSettings, EguiShapes, WindowSize,
};

pub(crate) struct ExtractedShapes(pub HashMap<WindowId, EguiShapes>);
Expand All @@ -43,12 +43,12 @@ pub(crate) enum EguiTexture {
}

pub(crate) struct ExtractedEguiTextures {
pub(crate) main_textures: HashMap<WindowId, Handle<Image>>,
pub(crate) font_textures: HashMap<WindowId, Handle<Image>>,
pub(crate) user_textures: HashMap<u64, Handle<Image>>,
}
impl ExtractedEguiTextures {
pub(crate) fn handles(&self) -> impl Iterator<Item = (EguiTexture, &Handle<Image>)> {
self.main_textures
self.font_textures
.iter()
.map(|(&window, handle)| (EguiTexture::Font(window), handle))
.chain(
Expand Down Expand Up @@ -84,11 +84,11 @@ pub(crate) fn extract_egui_render_data(
pub(crate) fn extract_egui_textures(
mut commands: Commands,
egui_context: Res<EguiContext>,
egui_main_textures: ResMut<EguiMainTextures>,
egui_font_textures: ResMut<EguiFontTextures>,
_image_assets: ResMut<Assets<Image>>,
) {
commands.insert_resource(ExtractedEguiTextures {
main_textures: egui_main_textures
font_textures: egui_font_textures
.0
.iter()
.map(|(&window_id, (handle, _))| (window_id, handle.clone()))
Expand Down

0 comments on commit a4b5af4

Please sign in to comment.