From e156a11a37e403f8c6890e7b39fc57f200229f02 Mon Sep 17 00:00:00 2001 From: Daniel McNab <36049421+DJMcNab@users.noreply.github.com> Date: Fri, 26 Jul 2024 11:15:03 +0100 Subject: [PATCH] Update to have Bitmap Emoji support --- Cargo.lock | 7 ++++--- Cargo.toml | 2 +- masonry/src/text/layout.rs | 2 +- xilem/examples/emoji_picker.rs | 4 ++-- xilem_core/examples/filesystem.rs | 4 ++-- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 03eaaf161..5f5710374 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3122,12 +3122,13 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "vello" version = "0.2.0" -source = "git+https://github.com/linebender/vello/?rev=3ee3bea02164c5a816fe6c16ef4e3a810edb7620#3ee3bea02164c5a816fe6c16ef4e3a810edb7620" +source = "git+https://github.com/DJMcNab/vello/?rev=010e16061126b3c456f66360c483c2e60ec92d28#010e16061126b3c456f66360c483c2e60ec92d28" dependencies = [ "bytemuck", "futures-intrusive", "log", "peniko", + "png", "raw-window-handle", "skrifa", "static_assertions", @@ -3140,7 +3141,7 @@ dependencies = [ [[package]] name = "vello_encoding" version = "0.2.0" -source = "git+https://github.com/linebender/vello/?rev=3ee3bea02164c5a816fe6c16ef4e3a810edb7620#3ee3bea02164c5a816fe6c16ef4e3a810edb7620" +source = "git+https://github.com/DJMcNab/vello/?rev=010e16061126b3c456f66360c483c2e60ec92d28#010e16061126b3c456f66360c483c2e60ec92d28" dependencies = [ "bytemuck", "guillotiere", @@ -3152,7 +3153,7 @@ dependencies = [ [[package]] name = "vello_shaders" version = "0.2.0" -source = "git+https://github.com/linebender/vello/?rev=3ee3bea02164c5a816fe6c16ef4e3a810edb7620#3ee3bea02164c5a816fe6c16ef4e3a810edb7620" +source = "git+https://github.com/DJMcNab/vello/?rev=010e16061126b3c456f66360c483c2e60ec92d28#010e16061126b3c456f66360c483c2e60ec92d28" dependencies = [ "bytemuck", "naga", diff --git a/Cargo.toml b/Cargo.toml index a503e2b33..7f30a4fb1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -105,7 +105,7 @@ xilem_web_core = { version = "0.1.0", path = "xilem_web/xilem_web_core" } masonry = { version = "0.2.0", path = "masonry" } xilem_core = { version = "0.1.0", path = "xilem_core" } # We depend on this Vello revision for Emoji support (https://github.com/linebender/vello/pull/615) -vello = { git = "https://github.com/linebender/vello/", rev = "3ee3bea02164c5a816fe6c16ef4e3a810edb7620" } +vello = { git = "https://github.com/DJMcNab/vello/", rev = "010e16061126b3c456f66360c483c2e60ec92d28" } wgpu = "0.20.1" kurbo = "0.11.0" parley = "0.1.0" diff --git a/masonry/src/text/layout.rs b/masonry/src/text/layout.rs index 31fc46c1b..bf4f8007c 100644 --- a/masonry/src/text/layout.rs +++ b/masonry/src/text/layout.rs @@ -9,7 +9,7 @@ use kurbo::{Affine, Line, Point, Rect, Size}; use parley::context::RangedBuilder; use parley::fontique::{Style, Weight}; use parley::layout::{Alignment, Cursor}; -use parley::style::{Brush as BrushTrait, FontFamily, FontStack, GenericFamily, StyleProperty}; +use parley::style::{FontFamily, FontStack, GenericFamily, StyleProperty}; use parley::{FontContext, Layout, LayoutContext}; use vello::peniko::{self, Color, Gradient}; use vello::Scene; diff --git a/xilem/examples/emoji_picker.rs b/xilem/examples/emoji_picker.rs index 61c9f903f..05e795f09 100644 --- a/xilem/examples/emoji_picker.rs +++ b/xilem/examples/emoji_picker.rs @@ -10,8 +10,8 @@ use xilem::{ core::map_state, - view::{button, flex, label, prose, sized_box}, - AnyWidgetView, Axis, Color, EventLoop, EventLoopBuilder, WidgetView, Xilem, + view::{button, flex, label, prose, sized_box, Axis}, + AnyWidgetView, Color, EventLoop, EventLoopBuilder, WidgetView, Xilem, }; fn app_logic(data: &mut EmojiPagination) -> impl WidgetView { diff --git a/xilem_core/examples/filesystem.rs b/xilem_core/examples/filesystem.rs index a87a4743c..d48e28a24 100644 --- a/xilem_core/examples/filesystem.rs +++ b/xilem_core/examples/filesystem.rs @@ -166,11 +166,11 @@ impl View for File { ) -> Mut<'el, Self::Element> { if prev.name != self.name { let new_path = ctx.current_folder_path.join(&*self.name); - let _ = std::fs::rename(&element, &new_path); + let _ = std::fs::rename(&*element, &new_path); *element = new_path; } if self.contents != prev.contents { - let _ = std::fs::write(&element, self.contents.as_bytes()); + let _ = std::fs::write(&*element, self.contents.as_bytes()); } element }