summaryrefslogtreecommitdiff
path: root/library/src/text
diff options
context:
space:
mode:
Diffstat (limited to 'library/src/text')
-rw-r--r--library/src/text/misc.rs8
-rw-r--r--library/src/text/mod.rs8
2 files changed, 14 insertions, 2 deletions
diff --git a/library/src/text/misc.rs b/library/src/text/misc.rs
index e1d9c0f2..a707d130 100644
--- a/library/src/text/misc.rs
+++ b/library/src/text/misc.rs
@@ -5,7 +5,7 @@ use crate::prelude::*;
///
/// Display: Space
/// Category: text
-#[element(Unlabellable, Behave)]
+#[element(Behave, Unlabellable, PlainText)]
pub struct SpaceElem {}
impl Behave for SpaceElem {
@@ -16,6 +16,12 @@ impl Behave for SpaceElem {
impl Unlabellable for SpaceElem {}
+impl PlainText for SpaceElem {
+ fn plain_text(&self, text: &mut EcoString) {
+ text.push(' ');
+ }
+}
+
/// Inserts a line break.
///
/// Advances the paragraph to the next line. A single trailing line break at the
diff --git a/library/src/text/mod.rs b/library/src/text/mod.rs
index 16268aad..f4b3c0de 100644
--- a/library/src/text/mod.rs
+++ b/library/src/text/mod.rs
@@ -40,7 +40,7 @@ use crate::prelude::*;
///
/// Display: Text
/// Category: text
-#[element(Construct)]
+#[element(Construct, PlainText)]
pub struct TextElem {
/// A prioritized sequence of font families.
///
@@ -497,6 +497,12 @@ impl Construct for TextElem {
}
}
+impl PlainText for TextElem {
+ fn plain_text(&self, text: &mut EcoString) {
+ text.push_str(&self.text());
+ }
+}
+
/// A lowercased font family like "arial".
#[derive(Clone, Eq, PartialEq, Hash)]
pub struct FontFamily(EcoString);