diff --git a/examples/login.rs b/examples/login.rs index ea2e54ea1f714da788edde7f55ba929fa3ab5d8b..51594b698fa3bec376b61324a331762fa9a36274 100644 --- a/examples/login.rs +++ b/examples/login.rs @@ -1,7 +1,9 @@ use bevy::{prelude::*, window::PrimaryWindow}; use bevy_cosmic_edit::*; -fn setup(mut commands: Commands) { +fn setup(mut commands: Commands, window: Query<&Window, With<PrimaryWindow>>) { + let window = window.single(); + commands.spawn(Camera2dBundle::default()); commands @@ -16,6 +18,10 @@ fn setup(mut commands: Commands) { .with_children(|root| { root.spawn(CosmicEditBundle { max_lines: CosmicMaxLines(1), + metrics: CosmicMetrics { + scale_factor: window.scale_factor() as f32, + ..default() + }, ..default() }) .insert(ButtonBundle { @@ -38,6 +44,10 @@ fn setup(mut commands: Commands) { root.spawn(CosmicEditBundle { max_lines: CosmicMaxLines(1), + metrics: CosmicMetrics { + scale_factor: window.scale_factor() as f32, + ..default() + }, ..default() }) .insert(ButtonBundle { @@ -87,36 +97,6 @@ fn change_active_editor_ui( } } -fn change_active_editor_sprite( - mut commands: Commands, - windows: Query<&Window, With<PrimaryWindow>>, - buttons: Res<Input<MouseButton>>, - mut cosmic_edit_query: Query< - (&mut Sprite, &GlobalTransform, Entity), - (With<CosmicEditor>, Without<ReadOnly>), - >, - camera_q: Query<(&Camera, &GlobalTransform)>, -) { - let window = windows.single(); - let (camera, camera_transform) = camera_q.single(); - if buttons.just_pressed(MouseButton::Left) { - for (sprite, node_transform, entity) in &mut cosmic_edit_query.iter_mut() { - let size = sprite.custom_size.unwrap_or(Vec2::new(1., 1.)); - let x_min = node_transform.affine().translation.x - size.x / 2.; - let y_min = node_transform.affine().translation.y - size.y / 2.; - let x_max = node_transform.affine().translation.x + size.x / 2.; - let y_max = node_transform.affine().translation.y + size.y / 2.; - if let Some(pos) = window.cursor_position() { - if let Some(pos) = camera.viewport_to_world_2d(camera_transform, pos) { - if x_min < pos.x && pos.x < x_max && y_min < pos.y && pos.y < y_max { - commands.insert_resource(Focus(Some(entity))) - }; - } - }; - } - } -} - fn print_changed_input(mut evr_type: EventReader<CosmicTextChanged>) { for ev in evr_type.iter() { println!("Changed: {}", ev.0 .1); @@ -132,7 +112,6 @@ fn main() { }) .add_systems(Startup, setup) .add_systems(Update, change_active_editor_ui) - .add_systems(Update, change_active_editor_sprite) .add_systems(Update, print_changed_input) .run(); }