diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index 917eaeadd8d5b6c76f6fdc48c976f39f8f257261..9a90b408c377c6a374d693248b889e1ee43a89c3 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -312,6 +312,8 @@ qreal QQuickTextPrivate::getImplicitHeight() const not require advanced features such as transformation of the text. Using such features in combination with the NativeRendering render type will lend poor and sometimes pixelated results. + + On HighDpi "retina" displays this property is ignored and QtRendering is always used. */ QQuickText::RenderType QQuickText::renderType() const { @@ -2234,7 +2236,7 @@ QSGNode *QQuickText::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data node = static_cast<QQuickTextNode *>(oldNode); } - node->setUseNativeRenderer(d->renderType == NativeRendering); + node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1); node->deleteContent(); node->setMatrix(QMatrix4x4()); diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index cf20b1d4e7ba55dae5718aff66e4f0e5f99f3577..506b4caa52866e460f7cf7a11e6df2603b3b07ed 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -368,6 +368,8 @@ void QQuickTextEdit::setTextFormat(TextFormat format) not require advanced features such as transformation of the text. Using such features in combination with the NativeRendering render type will lend poor and sometimes pixelated results. + + On HighDpi "retina" displays this property is ignored and QtRendering is always used. */ QQuickTextEdit::RenderType QQuickTextEdit::renderType() const { @@ -1741,7 +1743,7 @@ QSGNode *QQuickTextEdit::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData * QQuickTextNode *node = new QQuickTextNode(QQuickItemPrivate::get(this)->sceneGraphContext(), this); - node->setUseNativeRenderer(d->renderType == NativeRendering); + node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1); node->initEngine(d->color, d->selectedTextColor, d->selectionColor); @@ -1805,7 +1807,7 @@ QSGNode *QQuickTextEdit::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData * rootNode->appendChildNode(node); prevBlockStart = block.next().position(); node = new QQuickTextNode(QQuickItemPrivate::get(this)->sceneGraphContext(), this); - node->setUseNativeRenderer(d->renderType == NativeRendering); + node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1); node->initEngine(d->color, d->selectedTextColor, d->selectionColor); } } diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index 58cc68495c074d0aab80be34d111566f72e08b9b..52f991b47514a56a69645c6f196df7474a808460 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -153,6 +153,8 @@ void QQuickTextInput::setText(const QString &s) not require advanced features such as transformation of the text. Using such features in combination with the NativeRendering render type will lend poor and sometimes pixelated results. + + On HighDpi "retina" displays this property is ignored and QtRendering is always used. */ QQuickTextInput::RenderType QQuickTextInput::renderType() const { @@ -1836,7 +1838,7 @@ QSGNode *QQuickTextInput::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData } } } else { - node->setUseNativeRenderer(d->renderType == QQuickTextInput::NativeRendering); + node->setUseNativeRenderer(d->renderType == NativeRendering && d->window->devicePixelRatio() <= 1); node->deleteContent(); node->setMatrix(QMatrix4x4());