Skip to content
Snippets Groups Projects
Unverified Commit 77d2693f authored by sam's avatar sam Committed by GitHub
Browse files

Merge pull request #118 from StaffEngineer/bevy_0.12

Bevy 0.12, cosmic-text 0.10
parents d7bce2f2 5c277869
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
[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"
......@@ -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",
......@@ -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"
......@@ -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"] }
......
......@@ -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");
}
}
......
......@@ -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);
}
}
......
......@@ -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
......
......@@ -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(
......@@ -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) {
......@@ -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);
......
......@@ -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>();
......
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},
};
......@@ -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,
......@@ -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());
}
}
......@@ -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;
}
}
......@@ -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 =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment