diff options
-rw-r--r-- | src/quick/items/qquicktextnodeengine.cpp | 7 | ||||
-rw-r--r-- | tests/manual/scenegraph_lancelot/data/text/text_colored_background.qml | 14 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextnodeengine.cpp b/src/quick/items/qquicktextnodeengine.cpp index 707b32755b..2103764273 100644 --- a/src/quick/items/qquicktextnodeengine.cpp +++ b/src/quick/items/qquicktextnodeengine.cpp @@ -1027,6 +1027,13 @@ void QQuickTextNodeEngine::addTextBlock(QTextDocument *textDocument, const QText fragmentEnd += preeditLength; } #endif + if (charFormat.background().style() != Qt::NoBrush) { + QTextLayout::FormatRange additionalFormat; + additionalFormat.start = textPos - block.position(); + additionalFormat.length = fragmentEnd - textPos; + additionalFormat.format = charFormat; + colorChanges << additionalFormat; + } textPos = addText(block, charFormat, textColor, colorChanges, textPos, fragmentEnd, selectionStart, selectionEnd); diff --git a/tests/manual/scenegraph_lancelot/data/text/text_colored_background.qml b/tests/manual/scenegraph_lancelot/data/text/text_colored_background.qml new file mode 100644 index 0000000000..99917355f1 --- /dev/null +++ b/tests/manual/scenegraph_lancelot/data/text/text_colored_background.qml @@ -0,0 +1,14 @@ +import QtQuick 2.0 + +Item { + width: 320 + height: 480 + + Text { + anchors.centerIn: parent + font.pixelSize: 16 + color: "blue" + textFormat: Text.RichText + text: "<p style=\"background-color:red\">Lorem ipsum</p><p style=\"background-color:green\">dolor sit amet,</p> consectetur." + } +} |