From 0e5e54f709369e9eba340691eb26e6f864be20dd Mon Sep 17 00:00:00 2001
From: sam edelsten <samedelsten1@gmail.com>
Date: Mon, 24 Jul 2023 11:15:27 +0100
Subject: [PATCH] fix dropped metrics causing scaling issues

---
 TODO       | 10 +++++++---
 src/lib.rs | 12 ++++++++++--
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/TODO b/TODO
index 81c02c5..6472b1a 100644
--- a/TODO
+++ b/TODO
@@ -3,6 +3,10 @@
 
 BUGS INTRODUCED:
 
-[ ] Font size has been changed somehow
-[ ] No cursor on readonly
-[ ] Window resizing broken
\ No newline at end of file
+[ ] Cursor on readonly
+[ ] Window resizing broken
+    Used to redraw on click, now redraws on scroll or drag?
+
+BUGS SQUASHED:
+
+[x] Font size has been changed somehow
\ No newline at end of file
diff --git a/src/lib.rs b/src/lib.rs
index fa35403..b8c9257 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -71,10 +71,13 @@ impl Default for CosmicEditor {
 
 /// Adds the font system to each editor when added
 fn cosmic_editor_builder(
-    mut added_editors: Query<(&mut CosmicEditor, &CosmicAttrs), Added<CosmicEditor>>,
+    mut added_editors: Query<
+        (&mut CosmicEditor, &CosmicAttrs, &CosmicMetrics),
+        Added<CosmicEditor>,
+    >,
     mut font_system: ResMut<CosmicFontSystem>,
 ) {
-    for (mut editor, attrs) in added_editors.iter_mut() {
+    for (mut editor, attrs, metrics) in added_editors.iter_mut() {
         // keep old text if set
         let mut text = get_cosmic_text(editor.0.buffer());
 
@@ -89,6 +92,11 @@ fn cosmic_editor_builder(
             Shaping::Advanced,
         );
 
+        editor.0.buffer_mut().set_metrics(
+            &mut font_system.0,
+            Metrics::new(metrics.font_size, metrics.line_height).scale(metrics.scale_factor),
+        );
+
         editor
             .0
             .buffer_mut() // TODO size here????
-- 
GitLab