Skip to content

Commit

Permalink
Merge pull request #118 from StaffEngineer/bevy_0.12
Browse files Browse the repository at this point in the history
Bevy 0.12, cosmic-text 0.10
  • Loading branch information
bytemunch authored Nov 10, 2023
2 parents d7bce2f + 5c27786 commit 77d2693
Show file tree
Hide file tree
Showing 8 changed files with 373 additions and 212 deletions.
527 changes: 348 additions & 179 deletions Cargo.lock

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "bevy_cosmic_edit"
version = "0.14.0"
version = "0.15.0"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "Bevy cosmic-text multiline text input"
Expand All @@ -23,7 +23,7 @@ opt-level = 3
opt-level = 'z'

[dependencies]
bevy = { version = "0.11", default-features = false, features = [
bevy = { version = "0.12", default-features = false, features = [
"bevy_asset",
"bevy_core_pipeline",
"bevy_render",
Expand All @@ -35,7 +35,7 @@ bevy = { version = "0.11", default-features = false, features = [
"png",
"x11",
] }
cosmic-text = { version = "0.9" }
cosmic-text = { version = "0.10" }
# TODO: move crossbeam to wasm32, once input.rs has separate wasm copy/paste fn
crossbeam-channel = "0.5.8"
image = "0.24.6"
Expand All @@ -46,7 +46,7 @@ arboard = "3.2.0"

[target.'cfg(target_arch = "wasm32")'.dependencies]
js-sys = "0.3.61"
wasm-bindgen = "0.2.87"
wasm-bindgen = "0.2.88"
wasm-bindgen-futures = "0.4.37"
web-sys = { version = "0.3.64", features = ["Clipboard", "Navigator", "Window"] }

Expand Down
6 changes: 3 additions & 3 deletions examples/bevy_api_testing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,13 @@ fn ev_test(
mut evr_out: EventReader<TextHoverOut>,
mut evr_type: EventReader<CosmicTextChanged>,
) {
for _ev in evr_on.iter() {
for _ev in evr_on.read() {
println!("IN");
}
for _ev in evr_out.iter() {
for _ev in evr_out.read() {
println!("OUT");
}
for _ev in evr_type.iter() {
for _ev in evr_type.read() {
println!("TYPE");
}
}
Expand Down
2 changes: 1 addition & 1 deletion examples/login.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ fn change_active_editor_ui(
}

fn print_changed_input(mut evr_type: EventReader<CosmicTextChanged>) {
for ev in evr_type.iter() {
for ev in evr_type.read() {
println!("Changed: {}", ev.0 .1);
}
}
Expand Down
7 changes: 4 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@ RUSTFLAGS=--cfg=web_sys_unstable_apis cargo r --target wasm32-unknown-unknown --

## Compatibility

| bevy | bevy_cosmic_edit |
| ---- | ---------------- |
| 0.11 | 0.8 - latest |
| bevy | bevy_cosmic_edit |
| ------ | ---------------- |
| 0.12.0 | 0.15 - latest |
| 0.11.* | 0.8 - 0.14 |


## License
Expand Down
7 changes: 3 additions & 4 deletions src/input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ pub(crate) fn input_mouse(
return;
}

for ev in scroll_evr.iter() {
for ev in scroll_evr.read() {
match ev.unit {
MouseScrollUnit::Line => {
editor.0.action(
Expand Down Expand Up @@ -366,9 +366,8 @@ pub(crate) fn input_kb(
editor.0.set_select_opt(None);
}
}
#[cfg(target_arch = "wasm32")]
editor.0.action(&mut font_system.0, Action::Backspace);
*is_deleting = true;
editor.0.action(&mut font_system.0, Action::Backspace);
}

if keys.just_released(KeyCode::Back) {
Expand Down Expand Up @@ -522,7 +521,7 @@ pub(crate) fn input_kb(
}

if !(is_clipboard || is_return || readonly) {
for char_ev in char_evr.iter() {
for char_ev in char_evr.read() {
is_edit = true;
if *is_deleting {
editor.0.action(&mut font_system.0, Action::Backspace);
Expand Down
1 change: 0 additions & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -753,7 +753,6 @@ mod tests {
app.insert_resource(input);
let mouse_input: Input<MouseButton> = Input::<MouseButton>::default();
app.insert_resource(mouse_input);
app.add_asset::<Image>();

app.add_event::<ReceivedCharacter>();

Expand Down
27 changes: 10 additions & 17 deletions src/render.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
use std::time::Duration;

use bevy::{
asset::HandleId,
prelude::*,
render::{render_resource::Extent3d, texture::DEFAULT_IMAGE_HANDLE},
render::render_resource::Extent3d,
utils::HashMap,
window::{PrimaryWindow, WindowScaleFactorChanged},
};
Expand Down Expand Up @@ -149,7 +148,7 @@ pub(crate) fn render_texture(
if let Some(bg_image) = background_image.0.clone() {
if let Some(image) = images.get(&bg_image) {
let mut dynamic_image = image.clone().try_into_dynamic().unwrap();
if image.size().x != size.0.x || image.size().y != size.0.y {
if image.size().x != size.0.x as u32 || image.size().y != size.0.y as u32 {
dynamic_image = dynamic_image.resize_to_fill(
size.0.x as u32,
size.0.y as u32,
Expand Down Expand Up @@ -220,15 +219,7 @@ pub(crate) fn new_image_from_default(
mut images: ResMut<Assets<Image>>,
) {
for mut canvas in query.iter_mut() {
if let Some(prev_image) = images.get_mut(&canvas) {
if *canvas == DEFAULT_IMAGE_HANDLE.typed() {
let prev_image = prev_image.clone();
let handle_id: HandleId = HandleId::random::<Image>();
let new_handle: Handle<Image> = Handle::weak(handle_id);
let new_handle = images.set(new_handle, prev_image);
*canvas = new_handle;
}
}
*canvas = images.add(Image::default());
}
}

Expand Down Expand Up @@ -472,14 +463,16 @@ pub(crate) fn hide_inactive_or_readonly_cursor(

pub(crate) fn set_initial_scale(
window_q: Query<&Window, With<PrimaryWindow>>,
mut metrics_q: Query<&mut CosmicMetrics, Added<CosmicMetrics>>,
mut cosmic_query: Query<&mut CosmicMetrics, Added<CosmicMetrics>>,
) {
let scale = window_q.single().scale_factor() as f32;

for mut metrics in metrics_q.iter_mut() {
if metrics.scale_factor == DEFAULT_SCALE_PLACEHOLDER {
metrics.scale_factor = scale;
for mut metrics in &mut cosmic_query.iter_mut() {
if metrics.scale_factor != DEFAULT_SCALE_PLACEHOLDER {
continue;
}

metrics.scale_factor = scale;
}
}

Expand All @@ -489,7 +482,7 @@ pub(crate) fn on_scale_factor_change(
mut font_system: ResMut<CosmicFontSystem>,
) {
if !scale_factor_changed.is_empty() {
let new_scale_factor = scale_factor_changed.iter().last().unwrap().scale_factor as f32;
let new_scale_factor = scale_factor_changed.read().last().unwrap().scale_factor as f32;
for (mut editor, metrics, mut x_offset) in &mut cosmic_query.iter_mut() {
let font_system = &mut font_system.0;
let metrics =
Expand Down

0 comments on commit 77d2693

Please sign in to comment.