From 87fc02f97ae6fa65b39949f4469bb4f420225950 Mon Sep 17 00:00:00 2001
From: StaffEngineer <velo.app1@gmail.com>
Date: Sun, 17 Sep 2023 12:24:29 +0100
Subject: [PATCH] move converter color to userland

---
 examples/bevy_api_testing.rs | 14 ++++++++++----
 examples/every_option.rs     | 16 ++++++++++------
 examples/font_per_widget.rs  | 15 ++++++++++-----
 examples/image_background.rs | 14 ++++++++++----
 examples/multiple_sprites.rs | 15 ++++++++++-----
 examples/readonly.rs         | 14 ++++++++++----
 examples/restricted_input.rs | 15 ++++++++++-----
 src/lib.rs                   |  9 ---------
 8 files changed, 70 insertions(+), 42 deletions(-)

diff --git a/examples/bevy_api_testing.rs b/examples/bevy_api_testing.rs
index 7bc27c1..75f7d4d 100644
--- a/examples/bevy_api_testing.rs
+++ b/examples/bevy_api_testing.rs
@@ -1,8 +1,5 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::{
-    bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, Attrs, AttrsOwned,
-    CosmicAttrs, CosmicEditPlugin, CosmicEditSpriteBundle, CosmicEditUiBundle, Focus,
-};
+use bevy_cosmic_edit::*;
 
 fn setup(mut commands: Commands) {
     commands.spawn(Camera2dBundle::default());
@@ -39,6 +36,15 @@ fn setup(mut commands: Commands) {
     commands.insert_resource(Focus(Some(sprite_editor)));
 }
 
+pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> CosmicColor {
+    cosmic_text::Color::rgba(
+        (color.r() * 255.) as u8,
+        (color.g() * 255.) as u8,
+        (color.b() * 255.) as u8,
+        (color.a() * 255.) as u8,
+    )
+}
+
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
diff --git a/examples/every_option.rs b/examples/every_option.rs
index 9777aee..c522c70 100644
--- a/examples/every_option.rs
+++ b/examples/every_option.rs
@@ -1,10 +1,5 @@
 use bevy::{prelude::*, ui::FocusPolicy, window::PrimaryWindow};
-use bevy_cosmic_edit::{
-    bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, get_x_offset,
-    Attrs, AttrsOwned, CosmicAttrs, CosmicBackground, CosmicEditPlugin, CosmicEditUiBundle,
-    CosmicEditor, CosmicMaxChars, CosmicMaxLines, CosmicMetrics, CosmicText, CosmicTextPosition,
-    Edit, Focus,
-};
+use bevy_cosmic_edit::*;
 
 #[derive(Resource)]
 struct TextChangeTimer(pub Timer);
@@ -61,6 +56,15 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     )));
 }
 
+pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> CosmicColor {
+    cosmic_text::Color::rgba(
+        (color.r() * 255.) as u8,
+        (color.g() * 255.) as u8,
+        (color.b() * 255.) as u8,
+        (color.a() * 255.) as u8,
+    )
+}
+
 // Test for update_buffer_text
 fn text_swapper(
     mut timer: ResMut<TextChangeTimer>,
diff --git a/examples/font_per_widget.rs b/examples/font_per_widget.rs
index fa90dad..7f7a336 100644
--- a/examples/font_per_widget.rs
+++ b/examples/font_per_widget.rs
@@ -1,11 +1,7 @@
 #![allow(clippy::type_complexity)]
 
 use bevy::{prelude::*, window::PrimaryWindow};
-use bevy_cosmic_edit::{
-    bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, Attrs, AttrsOwned,
-    CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicFontConfig, CosmicMetrics, CosmicText,
-    CosmicTextPosition, Family, Focus, FontStyle, FontWeight,
-};
+use bevy_cosmic_edit::*;
 
 fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     commands.spawn(Camera2dBundle::default());
@@ -262,6 +258,15 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     commands.insert_resource(Focus(id));
 }
 
+pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> CosmicColor {
+    cosmic_text::Color::rgba(
+        (color.r() * 255.) as u8,
+        (color.g() * 255.) as u8,
+        (color.b() * 255.) as u8,
+        (color.a() * 255.) as u8,
+    )
+}
+
 fn main() {
     let font_config = CosmicFontConfig {
         fonts_dir_path: None,
diff --git a/examples/image_background.rs b/examples/image_background.rs
index fbbb0e3..e3d2f87 100644
--- a/examples/image_background.rs
+++ b/examples/image_background.rs
@@ -1,8 +1,5 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::{
-    bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, Attrs, AttrsOwned,
-    CosmicAttrs, CosmicBackground, CosmicEditPlugin, CosmicEditUiBundle, Focus,
-};
+use bevy_cosmic_edit::*;
 
 fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
     commands.spawn(Camera2dBundle::default());
@@ -29,6 +26,15 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
     commands.insert_resource(Focus(Some(editor)));
 }
 
+pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> CosmicColor {
+    cosmic_text::Color::rgba(
+        (color.r() * 255.) as u8,
+        (color.g() * 255.) as u8,
+        (color.b() * 255.) as u8,
+        (color.a() * 255.) as u8,
+    )
+}
+
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
diff --git a/examples/multiple_sprites.rs b/examples/multiple_sprites.rs
index 77e7ad5..d93018b 100644
--- a/examples/multiple_sprites.rs
+++ b/examples/multiple_sprites.rs
@@ -1,9 +1,5 @@
 use bevy::{core_pipeline::clear_color::ClearColorConfig, prelude::*, window::PrimaryWindow};
-use bevy_cosmic_edit::{
-    bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, Attrs, AttrsOwned,
-    CosmicAttrs, CosmicEditPlugin, CosmicEditSpriteBundle, CosmicFontConfig, CosmicMetrics,
-    CosmicText, CosmicTextPosition, Family, Focus,
-};
+use bevy_cosmic_edit::*;
 
 fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     let primary_window = windows.single();
@@ -69,6 +65,15 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     commands.spawn(cosmic_edit_2);
 }
 
+pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> CosmicColor {
+    cosmic_text::Color::rgba(
+        (color.r() * 255.) as u8,
+        (color.g() * 255.) as u8,
+        (color.b() * 255.) as u8,
+        (color.a() * 255.) as u8,
+    )
+}
+
 fn main() {
     let font_bytes: &[u8] = include_bytes!("../assets/fonts/VictorMono-Regular.ttf");
     let font_config = CosmicFontConfig {
diff --git a/examples/readonly.rs b/examples/readonly.rs
index e42a3b2..16207d1 100644
--- a/examples/readonly.rs
+++ b/examples/readonly.rs
@@ -1,8 +1,5 @@
 use bevy::{prelude::*, window::PrimaryWindow};
-use bevy_cosmic_edit::{
-    bevy_color_to_cosmic, Attrs, AttrsOwned, CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle,
-    CosmicFontConfig, CosmicMetrics, CosmicText, CosmicTextPosition, Family, Focus, ReadOnly,
-};
+use bevy_cosmic_edit::*;
 
 fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     let primary_window = windows.single();
@@ -51,6 +48,15 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     commands.insert_resource(Focus(id));
 }
 
+pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> CosmicColor {
+    cosmic_text::Color::rgba(
+        (color.r() * 255.) as u8,
+        (color.g() * 255.) as u8,
+        (color.b() * 255.) as u8,
+        (color.a() * 255.) as u8,
+    )
+}
+
 fn main() {
     let font_bytes: &[u8] = include_bytes!("../assets/fonts/VictorMono-Regular.ttf");
     let font_config = CosmicFontConfig {
diff --git a/examples/restricted_input.rs b/examples/restricted_input.rs
index 7077e37..77f16eb 100644
--- a/examples/restricted_input.rs
+++ b/examples/restricted_input.rs
@@ -1,9 +1,5 @@
 use bevy::{prelude::*, window::PrimaryWindow};
-use bevy_cosmic_edit::{
-    bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, Attrs, AttrsOwned,
-    CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicMaxChars, CosmicMaxLines,
-    CosmicMetrics, CosmicText, Focus,
-};
+use bevy_cosmic_edit::*;
 
 fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     commands.spawn(Camera2dBundle::default());
@@ -43,6 +39,15 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) {
     commands.insert_resource(Focus(Some(editor)));
 }
 
+pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> CosmicColor {
+    cosmic_text::Color::rgba(
+        (color.r() * 255.) as u8,
+        (color.g() * 255.) as u8,
+        (color.b() * 255.) as u8,
+        (color.a() * 255.) as u8,
+    )
+}
+
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
diff --git a/src/lib.rs b/src/lib.rs
index b970fee..921b9cc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -655,15 +655,6 @@ fn save_edit_history(
     };
 }
 
-pub fn bevy_color_to_cosmic(color: bevy::prelude::Color) -> cosmic_text::Color {
-    cosmic_text::Color::rgba(
-        (color.r() * 255.) as u8,
-        (color.g() * 255.) as u8,
-        (color.b() * 255.) as u8,
-        (color.a() * 255.) as u8,
-    )
-}
-
 fn get_text_size(buffer: &Buffer) -> (f32, f32) {
     let width = buffer.layout_runs().map(|run| run.line_w).reduce(f32::max);
     let height = buffer.layout_runs().count() as f32 * buffer.metrics().line_height;
-- 
GitLab