From 6f5e97d05be7cb80bc48278d1768c2011661aac4 Mon Sep 17 00:00:00 2001 From: sam edelsten <samedelsten1@gmail.com> Date: Mon, 11 Sep 2023 21:22:17 +0100 Subject: [PATCH] add image background example --- assets/img/bevy_logo_light.png | Bin 0 -> 15171 bytes examples/image_background.rs | 44 +++++++++++++++++++++++++++++++++ src/lib.rs | 29 ++++++++++++---------- 3 files changed, 60 insertions(+), 13 deletions(-) create mode 100644 assets/img/bevy_logo_light.png create mode 100644 examples/image_background.rs diff --git a/assets/img/bevy_logo_light.png b/assets/img/bevy_logo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..f144a3a6f114e28e9b68fbed643ccf9c349bb5b0 GIT binary patch literal 15171 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 H^Z5S&`p1sm literal 0 HcmV?d00001 diff --git a/examples/image_background.rs b/examples/image_background.rs new file mode 100644 index 0000000..6af3efc --- /dev/null +++ b/examples/image_background.rs @@ -0,0 +1,44 @@ +use bevy::prelude::*; +use bevy_cosmic_edit::{ + change_active_editor_sprite, change_active_editor_ui, ActiveEditor, CosmicAttrs, + CosmicBackground, CosmicEditPlugin, CosmicEditUiBundle, +}; +use cosmic_text::{Attrs, AttrsOwned}; + +fn setup(mut commands: Commands, asset_server: Res<AssetServer>) { + commands.spawn(Camera2dBundle::default()); + + let bg_image_handle = asset_server.load("img/bevy_logo_light.png"); + + let editor = commands + .spawn(CosmicEditUiBundle { + style: Style { + // Size and position of text box + width: Val::Px(300.), + height: Val::Px(50.), + left: Val::Px(100.), + top: Val::Px(100.), + ..default() + }, + cosmic_attrs: CosmicAttrs(AttrsOwned::new( + Attrs::new().color(cosmic_text::Color::rgb(0, 255, 0)), + )), + background_image: CosmicBackground(Some(bg_image_handle)), + ..default() + }) + .id(); + + commands.insert_resource(ActiveEditor { + entity: Some(editor), + }); +} + +fn main() { + App::new() + .add_plugins(DefaultPlugins) + .add_plugins(CosmicEditPlugin::default()) + .add_systems(Startup, setup) + .add_systems(Update, change_active_editor_ui) + .add_systems(Update, change_active_editor_sprite) + .run(); +} diff --git a/src/lib.rs b/src/lib.rs index 5ea2f77..a426c42 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1046,19 +1046,22 @@ fn redraw_buffer_common( let mut pixels = vec![0; width as usize * height as usize * 4]; if let Some(bg_image) = background_image { - let image = images.get(&bg_image).unwrap(); - - let mut dynamic_image = image.clone().try_into_dynamic().unwrap(); - if image.size().x != width || image.size().y != height { - dynamic_image = - dynamic_image.resize_to_fill(width as u32, height as u32, FilterType::Triangle); - } - for (i, (_, _, rgba)) in dynamic_image.pixels().enumerate() { - if let Some(p) = pixels.get_mut(i * 4..(i + 1) * 4) { - p[0] = rgba[0]; - p[1] = rgba[1]; - p[2] = rgba[2]; - p[3] = rgba[3]; + if let Some(image) = images.get(&bg_image) { + let mut dynamic_image = image.clone().try_into_dynamic().unwrap(); + if image.size().x != width || image.size().y != height { + dynamic_image = dynamic_image.resize_to_fill( + width as u32, + height as u32, + FilterType::Triangle, + ); + } + for (i, (_, _, rgba)) in dynamic_image.pixels().enumerate() { + if let Some(p) = pixels.get_mut(i * 4..(i + 1) * 4) { + p[0] = rgba[0]; + p[1] = rgba[1]; + p[2] = rgba[2]; + p[3] = rgba[3]; + } } } } else { -- GitLab