From cb9a37b638bda36bd15378eac619896d74fe224c Mon Sep 17 00:00:00 2001
From: Paul Kupper <11900073+pkupper@users.noreply.github.com>
Date: Mon, 7 Feb 2022 20:58:22 +0100
Subject: [PATCH] Set text fill color to the primary color (#521)
* Fix text has no fill
* Use primary color for text fill
* Use correct text color when editing
* Change fallback text color to gray
---
editor/src/viewport_tools/tools/text.rs | 3 ++-
frontend/src/components/panels/Document.vue | 1 -
graphene/src/layers/text/mod.rs | 6 +++++-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/editor/src/viewport_tools/tools/text.rs b/editor/src/viewport_tools/tools/text.rs
index 8d54690c..b31b217f 100644
--- a/editor/src/viewport_tools/tools/text.rs
+++ b/editor/src/viewport_tools/tools/text.rs
@@ -9,6 +9,7 @@ use crate::misc::{HintData, HintGroup, HintInfo, KeysGroup};
use crate::viewport_tools::tool::{DocumentToolData, Fsm, ToolActionHandlerData};
use glam::{DAffine2, DVec2};
+use graphene::color::Color;
use graphene::intersection::Quad;
use graphene::layers::style::{self, Fill, Stroke};
use graphene::Operation;
@@ -253,7 +254,7 @@ impl Fsm for TextToolFsmState {
transform: DAffine2::ZERO.to_cols_array(),
insert_index: -1,
text: r#""#.to_string(),
- style: style::PathStyle::new(Some(style::Stroke::new(tool_data.primary_color, 0.)), None),
+ style: style::PathStyle::new(None, Some(Fill::new(tool_data.primary_color))),
size: font_size as f64,
}
.into(),
diff --git a/frontend/src/components/panels/Document.vue b/frontend/src/components/panels/Document.vue
index e8223868..46af9f43 100644
--- a/frontend/src/components/panels/Document.vue
+++ b/frontend/src/components/panels/Document.vue
@@ -197,7 +197,6 @@
overflow: visible;
div {
- color: black;
background: none;
cursor: text;
border: none;
diff --git a/graphene/src/layers/text/mod.rs b/graphene/src/layers/text/mod.rs
index 1b09b2c0..0dc668f9 100644
--- a/graphene/src/layers/text/mod.rs
+++ b/graphene/src/layers/text/mod.rs
@@ -43,13 +43,17 @@ impl LayerData for Text {
if self.editable {
let _ = write!(
svg,
- r#""#,
+ r#""#,
transform
.to_cols_array()
.iter()
.enumerate()
.map(|(i, entry)| { entry.to_string() + if i == 5 { "" } else { "," } })
.collect::(),
+ match self.style.fill() {
+ Some(fill) => format!("#{}", fill.color().rgba_hex()),
+ None => "gray".to_string(),
+ }
);
} else {
let mut path = self.to_bez_path();