Merge pull request #630 from MrDowntempo/fix/color-convert-refactor

Using ColorsConvert.js instead of adding functions to ClockLoader.qml
This commit is contained in:
Lemmy
2025-10-31 10:04:54 -04:00
committed by GitHub
+3 -16
View File
@@ -2,6 +2,7 @@ import QtQuick
import qs.Commons
import qs.Services
import Quickshell
import "../../../Helpers/ColorsConvert.js" as ColorsConvert
Item {
id: clockRoot
@@ -11,20 +12,6 @@ Item {
property color backgroundColor: Color.mPrimary
property color clockColor: Color.mOnPrimary
function getRelativeLuminance(color) {
return 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b
}
function getContrastRatio(color1, color2) {
var L1 = getRelativeLuminance(color1)
var L2 = getRelativeLuminance(color2)
if (L1 > L2) {
return (L1 + 0.05) / (L2 + 0.05)
} else {
return (L2 + 0.05) / (L1 + 0.05)
}
}
property color secondHandColor: {
var defaultColor = Color.mError
var bestContrast = 1.0 // 1.0 is "no contrast"
@@ -35,11 +22,11 @@ Item {
for (var i = 0; i < candidates.length; i++) {
var candidate = candidates[i]
var contrastClock = getContrastRatio(candidate, clockColor)
var contrastClock = ColorsConvert.getContrastRatio(candidate.toString(), clockColor.toString())
if (contrastClock < minContrast) {
continue
}
var contrastBg = getContrastRatio(candidate, backgroundColor)
var contrastBg = ColorsConvert.getContrastRatio(candidate.toString(), backgroundColor.toString())
if (contrastBg < minContrast) {
continue
}