From 546c4f36f019bc84fb6a063538bc8a901171ff99 Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Tue, 20 Jan 2015 03:35:47 +0100 Subject: [PATCH] Fix scanlines on high-dpi screens. --- app/main.cpp | 2 ++ app/qml/ShaderTerminal.qml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/main.cpp b/app/main.cpp index 033b749..fd21ac6 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -72,6 +72,8 @@ int main(int argc, char *argv[]) engine.rootContext()->setContextProperty("workdir", getNamedArgument(args, "--workdir", "$HOME")); engine.rootContext()->setContextProperty("fileIO", &fileIO); + engine.rootContext()->setContextProperty("devicePixelRatio", app.devicePixelRatio()); + // Manage import paths for Linux and OSX. QStringList importPathList = engine.importPathList(); importPathList.prepend(QCoreApplication::applicationDirPath() + "/qmltermwidget"); diff --git a/app/qml/ShaderTerminal.qml b/app/qml/ShaderTerminal.qml index f3478e2..aef88c4 100644 --- a/app/qml/ShaderTerminal.qml +++ b/app/qml/ShaderTerminal.qml @@ -61,8 +61,8 @@ ShaderEffect { // This is the average value of the abs(sin) function. Needed to avoid aliasing. readonly property real absSinAvg: 0.63661828335466886 property size rasterizationSmooth: Qt.size( - Utils.clamp(2.0 * virtual_resolution.width / width, 0.0, 1.0), - Utils.clamp(2.0 * virtual_resolution.height / height, 0.0, 1.0)) + Utils.clamp(2.0 * virtual_resolution.width / (width * devicePixelRatio), 0.0, 1.0), + Utils.clamp(2.0 * virtual_resolution.height / (height * devicePixelRatio), 0.0, 1.0)) property real dispX property real dispY