Warning, /system/mycroft-gui/import/qml/Units.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * Copyright 2021 by Aditya Mehra <aix.m@outlook.com>
0003 *
0004 * Licensed under the Apache License, Version 2.0 (the "License");
0005 * you may not use this file except in compliance with the License.
0006 * You may obtain a copy of the License at
0007 *
0008 * http://www.apache.org/licenses/LICENSE-2.0
0009 *
0010 * Unless required by applicable law or agreed to in writing, software
0011 * distributed under the License is distributed on an "AS IS" BASIS,
0012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013 * See the License for the specific language governing permissions and
0014 * limitations under the License.
0015 *
0016 */
0017
0018 import QtQuick 2.15
0019 import QtQuick.Window 2.15
0020
0021 pragma Singleton
0022
0023 QtObject {
0024 id: units
0025
0026 // The fundamental unit of space that should be used for sizes
0027 property int gridUnit: 16
0028 property real devicePixelRatio: Math.max(1, ((fontMetrics.font.pixelSize*0.75) / fontMetrics.font.pointSize))
0029 property int largeSpacing: gridUnit / 2
0030 property int smallSpacing: largeSpacing / 2
0031
0032 property variant fontMetrics: FontMetrics {
0033 function roundedIconSize(size) {
0034 if (size < 16) {
0035 return size;
0036 } else if (size < 22) {
0037 return 16;
0038 } else if (size < 32) {
0039 return 22;
0040 } else if (size < 48) {
0041 return 32;
0042 } else if (size < 64) {
0043 return 48;
0044 } else {
0045 return size;
0046 }
0047 }
0048 }
0049
0050 property QtObject iconSizes: QtObject {
0051 property int small: fontMetrics.roundedIconSize(16 * devicePixelRatio)
0052 property int smallMedium: fontMetrics.roundedIconSize(22 * devicePixelRatio)
0053 property int medium: fontMetrics.roundedIconSize(32 * devicePixelRatio)
0054 property int large: fontMetrics.roundedIconSize(48 * devicePixelRatio)
0055 property int huge: fontMetrics.roundedIconSize(64 * devicePixelRatio)
0056 property int enormous: 128 * devicePixelRatio
0057 }
0058 }