From f760ddca095a6fb36a9b38dd96e5626b3e694ea0 Mon Sep 17 00:00:00 2001 From: sam edelsten <samedelsten1@gmail.com> Date: Thu, 14 Sep 2023 16:22:20 +0100 Subject: [PATCH] reexport cosmic-text types should allow a user to install and use the plugin without needing their own install of cosmic-text the violet color changed slightly when i set all the colors to bevy colors >.< --- examples/basic_sprite.rs | 5 +- examples/basic_ui.rs | 3 +- examples/bevy_api_testing.rs | 7 ++- examples/every_option.rs | 11 ++-- examples/font_per_widget.rs | 102 ++++++++++++++++------------------- examples/image_background.rs | 7 ++- examples/multiple_sprites.rs | 14 +++-- examples/readonly.rs | 12 ++--- examples/restricted_input.rs | 10 ++-- src/lib.rs | 6 ++- 10 files changed, 82 insertions(+), 95 deletions(-) diff --git a/examples/basic_sprite.rs b/examples/basic_sprite.rs index cbba5fe..00d5edb 100644 --- a/examples/basic_sprite.rs +++ b/examples/basic_sprite.rs @@ -1,9 +1,8 @@ use bevy::{core_pipeline::clear_color::ClearColorConfig, prelude::*, window::PrimaryWindow}; use bevy_cosmic_edit::{ - ActiveEditor, CosmicAttrs, CosmicEditPlugin, CosmicEditSpriteBundle, CosmicFontConfig, - CosmicMetrics, CosmicText, CosmicTextPosition, + ActiveEditor, AttrsOwned, CosmicAttrs, CosmicEditPlugin, CosmicEditSpriteBundle, + CosmicFontConfig, CosmicMetrics, CosmicText, CosmicTextPosition, }; -use cosmic_text::AttrsOwned; fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { let primary_window = windows.single(); diff --git a/examples/basic_ui.rs b/examples/basic_ui.rs index 40dde82..f390de5 100644 --- a/examples/basic_ui.rs +++ b/examples/basic_ui.rs @@ -1,9 +1,8 @@ use bevy::{core_pipeline::clear_color::ClearColorConfig, prelude::*, window::PrimaryWindow}; use bevy_cosmic_edit::{ - ActiveEditor, CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicEditor, + ActiveEditor, AttrsOwned, CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicEditor, CosmicFontConfig, CosmicMetrics, CosmicText, CosmicTextPosition, }; -use cosmic_text::AttrsOwned; fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { let primary_window = windows.single(); diff --git a/examples/bevy_api_testing.rs b/examples/bevy_api_testing.rs index 822a17c..83a85f2 100644 --- a/examples/bevy_api_testing.rs +++ b/examples/bevy_api_testing.rs @@ -1,9 +1,8 @@ use bevy::prelude::*; use bevy_cosmic_edit::{ - change_active_editor_sprite, change_active_editor_ui, ActiveEditor, CosmicAttrs, - CosmicEditPlugin, CosmicEditSpriteBundle, CosmicEditUiBundle, + bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, ActiveEditor, + Attrs, AttrsOwned, CosmicAttrs, CosmicEditPlugin, CosmicEditSpriteBundle, CosmicEditUiBundle, }; -use cosmic_text::{Attrs, AttrsOwned}; fn setup(mut commands: Commands) { commands.spawn(Camera2dBundle::default()); @@ -19,7 +18,7 @@ fn setup(mut commands: Commands) { ..default() }, cosmic_attrs: CosmicAttrs(AttrsOwned::new( - Attrs::new().color(cosmic_text::Color::rgb(0, 255, 0)), + Attrs::new().color(bevy_color_to_cosmic(Color::GREEN)), )), ..default() }); diff --git a/examples/every_option.rs b/examples/every_option.rs index 3020213..1a9697b 100644 --- a/examples/every_option.rs +++ b/examples/every_option.rs @@ -1,10 +1,10 @@ use bevy::{prelude::*, ui::FocusPolicy, window::PrimaryWindow}; use bevy_cosmic_edit::{ - change_active_editor_sprite, change_active_editor_ui, get_x_offset, ActiveEditor, CosmicAttrs, - CosmicBackground, CosmicEditPlugin, CosmicEditUiBundle, CosmicEditor, CosmicMaxChars, - CosmicMaxLines, CosmicMetrics, CosmicText, CosmicTextPosition, + bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, get_x_offset, + ActiveEditor, Attrs, AttrsOwned, CosmicAttrs, CosmicBackground, CosmicEditPlugin, + CosmicEditUiBundle, CosmicEditor, CosmicMaxChars, CosmicMaxLines, CosmicMetrics, CosmicText, + CosmicTextPosition, Edit, }; -use cosmic_text::{Attrs, AttrsOwned, Edit}; #[derive(Resource)] struct TextChangeTimer(pub Timer); @@ -12,7 +12,8 @@ struct TextChangeTimer(pub Timer); fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { commands.spawn(Camera2dBundle::default()); - let attrs = AttrsOwned::new(Attrs::new().color(cosmic_text::Color::rgb(69, 69, 69))); + let attrs = + AttrsOwned::new(Attrs::new().color(bevy_color_to_cosmic(Color::rgb(0.27, 0.27, 0.27)))); let primary_window = windows.single(); let editor = commands diff --git a/examples/font_per_widget.rs b/examples/font_per_widget.rs index 73f2b48..b8721cb 100644 --- a/examples/font_per_widget.rs +++ b/examples/font_per_widget.rs @@ -1,13 +1,11 @@ #![allow(clippy::type_complexity)] use bevy::{prelude::*, window::PrimaryWindow}; -use bevy_cosmic_edit::change_active_editor_sprite; -use bevy_cosmic_edit::change_active_editor_ui; use bevy_cosmic_edit::{ - ActiveEditor, CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicFontConfig, - CosmicMetrics, CosmicText, CosmicTextPosition, + bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, ActiveEditor, + Attrs, AttrsOwned, CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicFontConfig, + CosmicMetrics, CosmicText, CosmicTextPosition, Family, FontStyle, FontWeight, }; -use cosmic_text::{Attrs, AttrsOwned, Family}; fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { commands.spawn(Camera2dBundle::default()); @@ -32,24 +30,24 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { vec![ ( String::from("B"), - AttrsOwned::new(attrs.weight(cosmic_text::Weight::BOLD)), + AttrsOwned::new(attrs.weight(FontWeight::BOLD)), ), (String::from("old "), AttrsOwned::new(attrs)), ( String::from("I"), - AttrsOwned::new(attrs.style(cosmic_text::Style::Italic)), + AttrsOwned::new(attrs.style(FontStyle::Italic)), ), (String::from("talic "), AttrsOwned::new(attrs)), (String::from("f"), AttrsOwned::new(attrs)), (String::from("i "), AttrsOwned::new(attrs)), ( String::from("f"), - AttrsOwned::new(attrs.weight(cosmic_text::Weight::BOLD)), + AttrsOwned::new(attrs.weight(FontWeight::BOLD)), ), (String::from("i "), AttrsOwned::new(attrs)), ( String::from("f"), - AttrsOwned::new(attrs.style(cosmic_text::Style::Italic)), + AttrsOwned::new(attrs.style(FontStyle::Italic)), ), (String::from("i "), AttrsOwned::new(attrs)), ], @@ -57,37 +55,33 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { (String::from("Sans-Serif Normal "), AttrsOwned::new(attrs)), ( String::from("Sans-Serif Bold "), - AttrsOwned::new(attrs.weight(cosmic_text::Weight::BOLD)), + AttrsOwned::new(attrs.weight(FontWeight::BOLD)), ), ( String::from("Sans-Serif Italic "), - AttrsOwned::new(attrs.style(cosmic_text::Style::Italic)), + AttrsOwned::new(attrs.style(FontStyle::Italic)), ), ( String::from("Sans-Serif Bold Italic"), - AttrsOwned::new( - attrs - .weight(cosmic_text::Weight::BOLD) - .style(cosmic_text::Style::Italic), - ), + AttrsOwned::new(attrs.weight(FontWeight::BOLD).style(FontStyle::Italic)), ), ], vec![ (String::from("Serif Normal "), AttrsOwned::new(serif_attrs)), ( String::from("Serif Bold "), - AttrsOwned::new(serif_attrs.weight(cosmic_text::Weight::BOLD)), + AttrsOwned::new(serif_attrs.weight(FontWeight::BOLD)), ), ( String::from("Serif Italic "), - AttrsOwned::new(serif_attrs.style(cosmic_text::Style::Italic)), + AttrsOwned::new(serif_attrs.style(FontStyle::Italic)), ), ( String::from("Serif Bold Italic"), AttrsOwned::new( serif_attrs - .weight(cosmic_text::Weight::BOLD) - .style(cosmic_text::Style::Italic), + .weight(FontWeight::BOLD) + .style(FontStyle::Italic), ), ), ], @@ -95,129 +89,125 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { (String::from("Mono Normal "), AttrsOwned::new(mono_attrs)), ( String::from("Mono Bold "), - AttrsOwned::new(mono_attrs.weight(cosmic_text::Weight::BOLD)), + AttrsOwned::new(mono_attrs.weight(FontWeight::BOLD)), ), ( String::from("Mono Italic "), - AttrsOwned::new(mono_attrs.style(cosmic_text::Style::Italic)), + AttrsOwned::new(mono_attrs.style(FontStyle::Italic)), ), ( String::from("Mono Bold Italic"), - AttrsOwned::new( - mono_attrs - .weight(cosmic_text::Weight::BOLD) - .style(cosmic_text::Style::Italic), - ), + AttrsOwned::new(mono_attrs.weight(FontWeight::BOLD).style(FontStyle::Italic)), ), ], vec![ (String::from("Comic Normal "), AttrsOwned::new(comic_attrs)), ( String::from("Comic Bold "), - AttrsOwned::new(comic_attrs.weight(cosmic_text::Weight::BOLD)), + AttrsOwned::new(comic_attrs.weight(FontWeight::BOLD)), ), ( String::from("Comic Italic "), - AttrsOwned::new(comic_attrs.style(cosmic_text::Style::Italic)), + AttrsOwned::new(comic_attrs.style(FontStyle::Italic)), ), ( String::from("Comic Bold Italic"), AttrsOwned::new( comic_attrs - .weight(cosmic_text::Weight::BOLD) - .style(cosmic_text::Style::Italic), + .weight(FontWeight::BOLD) + .style(FontStyle::Italic), ), ), ], vec![ ( String::from("R"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0x00, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::RED))), ), ( String::from("A"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0x7F, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::ORANGE))), ), ( String::from("I"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0xFF, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::YELLOW))), ), ( String::from("N"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x00, 0xFF, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::GREEN))), ), ( String::from("B"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x00, 0x00, 0xFF))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::BLUE))), ), ( String::from("O"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x4B, 0x00, 0x82))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::INDIGO))), ), ( String::from("W "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x94, 0x00, 0xD3))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::PURPLE))), ), ( String::from("Red "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0x00, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::RED))), ), ( String::from("Orange "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0x7F, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::ORANGE))), ), ( String::from("Yellow "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0xFF, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::YELLOW))), ), ( String::from("Green "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x00, 0xFF, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::GREEN))), ), ( String::from("Blue "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x00, 0x00, 0xFF))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::BLUE))), ), ( String::from("Indigo "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x4B, 0x00, 0x82))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::INDIGO))), ), ( String::from("Violet "), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x94, 0x00, 0xD3))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::PURPLE))), ), ( String::from("U"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x94, 0x00, 0xD3))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::PURPLE))), ), ( String::from("N"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x4B, 0x00, 0x82))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::INDIGO))), ), ( String::from("I"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x00, 0x00, 0xFF))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::BLUE))), ), ( String::from("C"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0x00, 0xFF, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::GREEN))), ), ( String::from("O"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0xFF, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::YELLOW))), ), ( String::from("R"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0x7F, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::ORANGE))), ), ( String::from("N"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0x00, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::RED))), ), ], vec![( String::from("生活,삶,जिंदगी 😀 FPS"), - AttrsOwned::new(attrs.color(cosmic_text::Color::rgb(0xFF, 0x00, 0x00))), + AttrsOwned::new(attrs.color(bevy_color_to_cosmic(Color::RED))), )], ]; @@ -239,9 +229,9 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { ..default() }; - let mut attrs_2 = cosmic_text::Attrs::new(); - 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 mut attrs_2 = Attrs::new(); + attrs_2 = attrs_2.family(Family::Name("Times New Roman")); + attrs_2.color_opt = Some(bevy_color_to_cosmic(Color::PURPLE)); let cosmic_edit_2 = CosmicEditUiBundle { cosmic_attrs: CosmicAttrs(AttrsOwned::new(attrs_2)), diff --git a/examples/image_background.rs b/examples/image_background.rs index 6af3efc..135ee71 100644 --- a/examples/image_background.rs +++ b/examples/image_background.rs @@ -1,9 +1,8 @@ use bevy::prelude::*; use bevy_cosmic_edit::{ - change_active_editor_sprite, change_active_editor_ui, ActiveEditor, CosmicAttrs, - CosmicBackground, CosmicEditPlugin, CosmicEditUiBundle, + bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, ActiveEditor, + Attrs, AttrsOwned, CosmicAttrs, CosmicBackground, CosmicEditPlugin, CosmicEditUiBundle, }; -use cosmic_text::{Attrs, AttrsOwned}; fn setup(mut commands: Commands, asset_server: Res<AssetServer>) { commands.spawn(Camera2dBundle::default()); @@ -21,7 +20,7 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>) { ..default() }, cosmic_attrs: CosmicAttrs(AttrsOwned::new( - Attrs::new().color(cosmic_text::Color::rgb(0, 255, 0)), + Attrs::new().color(bevy_color_to_cosmic(Color::GREEN)), )), background_image: CosmicBackground(Some(bg_image_handle)), ..default() diff --git a/examples/multiple_sprites.rs b/examples/multiple_sprites.rs index 32c10b5..0f02a93 100644 --- a/examples/multiple_sprites.rs +++ b/examples/multiple_sprites.rs @@ -1,11 +1,9 @@ use bevy::{core_pipeline::clear_color::ClearColorConfig, prelude::*, window::PrimaryWindow}; -use bevy_cosmic_edit::change_active_editor_sprite; -use bevy_cosmic_edit::change_active_editor_ui; use bevy_cosmic_edit::{ - ActiveEditor, CosmicAttrs, CosmicEditPlugin, CosmicEditSpriteBundle, CosmicFontConfig, - CosmicMetrics, CosmicText, CosmicTextPosition, + bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, ActiveEditor, + Attrs, AttrsOwned, CosmicAttrs, CosmicEditPlugin, CosmicEditSpriteBundle, CosmicFontConfig, + CosmicMetrics, CosmicText, CosmicTextPosition, Family, }; -use cosmic_text::AttrsOwned; fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { let primary_window = windows.single(); @@ -17,9 +15,9 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { }; commands.spawn(camera_bundle); - let mut attrs = cosmic_text::Attrs::new(); - attrs = attrs.family(cosmic_text::Family::Name("Victor Mono")); - attrs = attrs.color(cosmic_text::Color::rgb(0x94, 0x00, 0xD3)); + let mut attrs = Attrs::new(); + attrs = attrs.family(Family::Name("Victor Mono")); + attrs = attrs.color(bevy_color_to_cosmic(Color::PURPLE)); let metrics = CosmicMetrics { font_size: 14., line_height: 18., diff --git a/examples/readonly.rs b/examples/readonly.rs index 870b3b9..4c67c1b 100644 --- a/examples/readonly.rs +++ b/examples/readonly.rs @@ -1,9 +1,9 @@ use bevy::{prelude::*, window::PrimaryWindow}; use bevy_cosmic_edit::{ - ActiveEditor, CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicFontConfig, - CosmicMetrics, CosmicText, CosmicTextPosition, ReadOnly, + bevy_color_to_cosmic, ActiveEditor, Attrs, AttrsOwned, CosmicAttrs, CosmicEditPlugin, + CosmicEditUiBundle, CosmicFontConfig, CosmicMetrics, CosmicText, CosmicTextPosition, Family, + ReadOnly, }; -use cosmic_text::AttrsOwned; fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { let primary_window = windows.single(); @@ -20,9 +20,9 @@ fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { }) .id(); - let mut attrs = cosmic_text::Attrs::new(); - attrs = attrs.family(cosmic_text::Family::Name("Victor Mono")); - attrs = attrs.color(cosmic_text::Color::rgb(0x94, 0x00, 0xD3)); + let mut attrs = Attrs::new(); + attrs = attrs.family(Family::Name("Victor Mono")); + attrs = attrs.color(bevy_color_to_cosmic(Color::PURPLE)); let cosmic_edit = CosmicEditUiBundle { style: Style { diff --git a/examples/restricted_input.rs b/examples/restricted_input.rs index 13b5e7c..847e0eb 100644 --- a/examples/restricted_input.rs +++ b/examples/restricted_input.rs @@ -1,15 +1,15 @@ use bevy::{prelude::*, window::PrimaryWindow}; use bevy_cosmic_edit::{ - change_active_editor_sprite, change_active_editor_ui, ActiveEditor, CosmicAttrs, - CosmicEditPlugin, CosmicEditUiBundle, CosmicMaxChars, CosmicMaxLines, CosmicMetrics, - CosmicText, + bevy_color_to_cosmic, change_active_editor_sprite, change_active_editor_ui, ActiveEditor, + Attrs, AttrsOwned, CosmicAttrs, CosmicEditPlugin, CosmicEditUiBundle, CosmicMaxChars, + CosmicMaxLines, CosmicMetrics, CosmicText, }; -use cosmic_text::{Attrs, AttrsOwned}; fn setup(mut commands: Commands, windows: Query<&Window, With<PrimaryWindow>>) { commands.spawn(Camera2dBundle::default()); - let attrs = AttrsOwned::new(Attrs::new().color(cosmic_text::Color::rgb(69, 69, 69))); + let attrs = + AttrsOwned::new(Attrs::new().color(bevy_color_to_cosmic(Color::rgb(0.27, 0.27, 0.27)))); let primary_window = windows.single(); let editor = commands diff --git a/src/lib.rs b/src/lib.rs index ced2651..c75a10f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,9 +13,11 @@ use bevy::{ ui::FocusPolicy, window::{PrimaryWindow, WindowScaleFactorChanged}, }; +pub use cosmic_text::{ + Action, Attrs, AttrsOwned, Cursor, Edit, Family, Style as FontStyle, Weight as FontWeight, +}; use cosmic_text::{ - Action, Attrs, AttrsList, AttrsOwned, Buffer, BufferLine, Cursor, Edit, Editor, FontSystem, - Metrics, Shaping, SwashCache, + AttrsList, Buffer, BufferLine, Editor, FontSystem, Metrics, Shaping, SwashCache, }; use image::{imageops::FilterType, GenericImageView}; -- GitLab