mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
feat: support rendering text background color and text color
This commit is contained in:
parent
fdbecd7f10
commit
f4a31768cb
@ -37,7 +37,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"delta": [
|
"delta": [
|
||||||
{
|
{
|
||||||
"insert": "At AppFlowy, we embody what we value deep in our hearts, taking inspiration from other great companies while forging our own path. AppFlowy’s five core values are Mission Driven, Aim High & Iterate, Transparency, Collaboration, and Honesty. Together, they spell MATCH. We will continue to iterate and refine these values as we grow."
|
"insert": "At "
|
||||||
|
},
|
||||||
|
{ "insert": "AppFlowy", "attributes": { "code": true, "bold": true, "color": "0xFFED459C"} },
|
||||||
|
{
|
||||||
|
"insert": ", we embody what we value deep in our hearts, taking inspiration from other great companies while forging our own path. AppFlowy’s five core values are Mission Driven, Aim High & Iterate, Transparency, Collaboration, and Honesty. Together, they spell MATCH. We will continue to iterate and refine these values as we grow."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -183,19 +183,30 @@ class RichTextStyle {
|
|||||||
return TextSpan(
|
return TextSpan(
|
||||||
text: text,
|
text: text,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: fontWeight,
|
fontWeight: _fontWeight,
|
||||||
fontStyle: fontStyle,
|
fontStyle: _fontStyle,
|
||||||
fontSize: fontSize,
|
fontSize: _fontSize,
|
||||||
color: textColor,
|
color: _textColor,
|
||||||
backgroundColor: backgroundColor,
|
decoration: _textDecoration,
|
||||||
decoration: textDecoration,
|
background: _background,
|
||||||
),
|
),
|
||||||
recognizer: recognizer,
|
recognizer: _recognizer,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Paint? get _background {
|
||||||
|
if (_backgroundColor != null) {
|
||||||
|
return Paint()
|
||||||
|
..color = _backgroundColor!
|
||||||
|
..strokeWidth = 24.0
|
||||||
|
..style = PaintingStyle.fill
|
||||||
|
..strokeJoin = StrokeJoin.round;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// bold
|
// bold
|
||||||
FontWeight get fontWeight {
|
FontWeight get _fontWeight {
|
||||||
if (attributes.bold) {
|
if (attributes.bold) {
|
||||||
return FontWeight.bold;
|
return FontWeight.bold;
|
||||||
}
|
}
|
||||||
@ -203,7 +214,7 @@ class RichTextStyle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// underline or strikethrough
|
// underline or strikethrough
|
||||||
TextDecoration get textDecoration {
|
TextDecoration get _textDecoration {
|
||||||
var decorations = [TextDecoration.none];
|
var decorations = [TextDecoration.none];
|
||||||
if (attributes.underline || attributes.href != null) {
|
if (attributes.underline || attributes.href != null) {
|
||||||
decorations.add(TextDecoration.underline);
|
decorations.add(TextDecoration.underline);
|
||||||
@ -216,28 +227,33 @@ class RichTextStyle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// font
|
// font
|
||||||
FontStyle get fontStyle =>
|
FontStyle get _fontStyle =>
|
||||||
attributes.italic ? FontStyle.italic : FontStyle.normal;
|
attributes.italic ? FontStyle.italic : FontStyle.normal;
|
||||||
|
|
||||||
// text color
|
// text color
|
||||||
Color get textColor {
|
Color get _textColor {
|
||||||
if (attributes.href != null) {
|
if (attributes.href != null) {
|
||||||
return Colors.lightBlue;
|
return Colors.lightBlue;
|
||||||
}
|
}
|
||||||
return attributes.color ?? Colors.black;
|
return attributes.color ?? Colors.black;
|
||||||
}
|
}
|
||||||
|
|
||||||
Color get backgroundColor {
|
Color? get _backgroundColor {
|
||||||
return attributes.highlightColor ?? Colors.transparent;
|
if (attributes.highlightColor != null) {
|
||||||
|
return attributes.highlightColor!;
|
||||||
|
} else if (attributes.code) {
|
||||||
|
return Colors.grey.withOpacity(0.4);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// font size
|
// font size
|
||||||
double get fontSize {
|
double get _fontSize {
|
||||||
return baseFontSize;
|
return baseFontSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
// recognizer
|
// recognizer
|
||||||
GestureRecognizer? get recognizer {
|
GestureRecognizer? get _recognizer {
|
||||||
final href = attributes.href;
|
final href = attributes.href;
|
||||||
if (href != null) {
|
if (href != null) {
|
||||||
return TapGestureRecognizer()
|
return TapGestureRecognizer()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user