subsurface/qt-mobile/qml/ThemeTest.qml
Dirk Hohndel 44deaf6c51 QMLProfile: account for device pixel ratio when transforming the profile
This is turning into the never ending story. The documentation is not helpful,
so this is the result of a ton of trial and error - and I worry that the next
device I try this on will once again break things.

I think the scaling may finally be correct. Take the viewport rectangles
of the profile and the painter, create their ratio, multiply in the device
pixel ratio and the scene size with a little margin added around it.

But the other magic (especially the shifting of the profile on the
painter) makes absolutely no sense to me.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-08 20:50:56 -08:00

114 lines
2.1 KiB
QML

import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.1
import QtQuick.Window 2.2
import org.kde.plasma.mobilecomponents 0.2 as MobileComponents
MobileComponents.Page {
/* this can be done by hitting the back key
contextualActions: [
Action {
text: "Close Theme info"
iconName: "dialog-cancel"
onTriggered: {
stackView.pop()
contextDrawer.close()
}
}
]
*/
GridLayout {
id: themetest
columns: 2
anchors.margins: MobileComponents.Units.gridUnit / 2
MobileComponents.Heading {
Layout.columnSpan: 2
text: "Theme Information"
}
MobileComponents.Heading {
text: "Screen"
Layout.columnSpan: 2
level: 3
}
FontMetrics {
id: fm
}
MobileComponents.Label {
text: "Geometry (pixels):"
}
MobileComponents.Label {
text: rootItem.width + "x" + rootItem.height
}
MobileComponents.Label {
text: "Geometry (gridUnits):"
}
MobileComponents.Label {
text: Math.round(rootItem.width / MobileComponents.Units.gridUnit) + "x" + Math.round(rootItem.height / MobileComponents.Units.gridUnit)
}
MobileComponents.Label {
text: "Units.gridUnit:"
}
MobileComponents.Label {
text: MobileComponents.Units.gridUnit
}
MobileComponents.Label {
text: "Units.devicePixelRatio:"
}
MobileComponents.Label {
text: Screen.devicePixelRatio
}
MobileComponents.Heading {
text: "Font Metrics"
level: 3
Layout.columnSpan: 2
}
MobileComponents.Label {
text: "FontMetrics pointSize:"
}
MobileComponents.Label {
text: fm.font.pointSize
}
MobileComponents.Label {
text: "FontMetrics pixelSize:"
}
MobileComponents.Label {
text: fm.height
}
MobileComponents.Label {
text: "FontMetrics devicePixelRatio:"
}
MobileComponents.Label {
text: fm.height / fm.font.pointSize
}
MobileComponents.Label {
text: "Text item pixelSize:"
}
Text {
text: font.pixelSize
}
MobileComponents.Label {
text: "Text item pointSize:"
}
Text {
text: font.pointSize
}
MobileComponents.Label {
Layout.columnSpan: 2
Layout.fillHeight: true
}
}
}