mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
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:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user