Skip to content
Snippets Groups Projects
Commit 76eb518a authored by StaffEngineer's avatar StaffEngineer
Browse files

enable cursor blinking

parent c545a6e3
No related branches found
No related tags found
No related merge requests found
...@@ -388,7 +388,7 @@ dependencies = [ ...@@ -388,7 +388,7 @@ dependencies = [
[[package]] [[package]]
name = "bevy_cosmic_edit" name = "bevy_cosmic_edit"
version = "0.10.0" version = "0.10.1"
dependencies = [ dependencies = [
"arboard", "arboard",
"bevy", "bevy",
......
[package] [package]
name = "bevy_cosmic_edit" name = "bevy_cosmic_edit"
version = "0.10.0" version = "0.10.1"
edition = "2021" edition = "2021"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
description = "Bevy cosmic-text multiline text input" description = "Bevy cosmic-text multiline text input"
......
...@@ -249,12 +249,13 @@ fn setup( ...@@ -249,12 +249,13 @@ fn setup(
let mut attrs_2 = cosmic_text::Attrs::new(); let mut attrs_2 = cosmic_text::Attrs::new();
attrs_2 = attrs_2.family(cosmic_text::Family::Name("Times New Roman")); attrs_2 = attrs_2.family(cosmic_text::Family::Name("Times New Roman"));
attrs_2.color_opt = Some(cosmic_text::Color::rgb(0x94, 0x00, 0xD3));
let cosmic_edit_2 = CosmicEditUiBundle { let cosmic_edit_2 = CosmicEditUiBundle {
cosmic_attrs: CosmicAttrs(AttrsOwned::new(attrs_2)), cosmic_attrs: CosmicAttrs(AttrsOwned::new(attrs_2)),
cosmic_metrics: CosmicMetrics { cosmic_metrics: CosmicMetrics {
font_size: 14., font_size: 28.,
line_height: 18., line_height: 36.,
scale_factor: primary_window.scale_factor() as f32, scale_factor: primary_window.scale_factor() as f32,
}, },
text_position: CosmicTextPosition::Center, text_position: CosmicTextPosition::Center,
......
...@@ -389,6 +389,7 @@ impl Plugin for CosmicEditPlugin { ...@@ -389,6 +389,7 @@ impl Plugin for CosmicEditPlugin {
.before(cosmic_edit_set_redraw) .before(cosmic_edit_set_redraw)
.before(on_scale_factor_change), .before(on_scale_factor_change),
cosmic_edit_redraw_buffer.before(on_scale_factor_change), cosmic_edit_redraw_buffer.before(on_scale_factor_change),
blink_cursor,
), ),
) )
.init_resource::<ActiveEditor>() .init_resource::<ActiveEditor>()
...@@ -1177,6 +1178,31 @@ fn cosmic_edit_redraw_buffer_ui( ...@@ -1177,6 +1178,31 @@ fn cosmic_edit_redraw_buffer_ui(
} }
} }
fn blink_cursor(
mut visible: Local<bool>,
mut timer: Local<Option<Timer>>,
time: Res<Time>,
mut cosmic_editor_q: Query<(&mut CosmicEditor, &BackgroundColor), Without<ReadOnly>>,
) {
let timer = timer.get_or_insert_with(|| Timer::from_seconds(0.53, TimerMode::Repeating));
timer.tick(time.delta());
if !timer.just_finished() {
return;
}
*visible = !*visible;
for (mut editor, bg_color) in &mut cosmic_editor_q.iter_mut() {
let mut cursor = editor.0.cursor();
let new_color = if *visible {
None
} else {
Some(bevy_color_to_cosmic(bg_color.0))
};
cursor.color = new_color;
editor.0.set_cursor(cursor);
editor.0.buffer_mut().set_redraw(true);
}
}
fn cosmic_edit_redraw_buffer( fn cosmic_edit_redraw_buffer(
windows: Query<&Window, With<PrimaryWindow>>, windows: Query<&Window, With<PrimaryWindow>>,
mut images: ResMut<Assets<Image>>, mut images: ResMut<Assets<Image>>,
......
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