diff options
author | bptato <nincsnevem662@gmail.com> | 2023-07-23 11:37:24 +0200 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2023-07-23 11:37:24 +0200 |
commit | 417f5b376f3b446039e4653bec4ce253f94c4580 (patch) | |
tree | 3018f4584730080ad3f9d80f7cda99c52f796765 /src/css | |
parent | db6b5fc2a130ff0f92ac6be9af38bba00fc81e05 (diff) | |
download | chawan-417f5b376f3b446039e4653bec4ce253f94c4580.tar.gz |
mediaquery: better debugging functions
Diffstat (limited to 'src/css')
-rw-r--r-- | src/css/mediaquery.nim | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/src/css/mediaquery.nim b/src/css/mediaquery.nim index b9e0ed83..5df629d3 100644 --- a/src/css/mediaquery.nim +++ b/src/css/mediaquery.nim @@ -59,13 +59,45 @@ type COMPARISON_EQ, COMPARISON_GT, COMPARISON_LT, COMPARISON_GE, COMPARISON_LE # for debugging +func `$`*(mf: MediaFeature): string = + case mf.t + of FEATURE_COLOR: + return "color: " & $mf.range.a & ".." & $mf.range.b + of FEATURE_GRID: + return "grid: " & $mf.b + of FEATURE_HOVER: + return "hover: " & $mf.b + of FEATURE_PREFERS_COLOR_SCHEME: + return "prefers-color-scheme: " & $mf.b + of FEATURE_WIDTH: + result &= $mf.lengthrange.a + result &= " <" + if mf.lengthaeq: + result &= "=" + result &= " width <" + if mf.lengthbeq: + result &= "=" + result &= " " + result &= $mf.lengthrange.b + of FEATURE_HEIGHT: + result &= $mf.lengthrange.a + result &= " <" + if mf.lengthaeq: + result &= "=" + result &= " width " + result &= "<" + if mf.lengthbeq: + result &= "=" + result &= " " + result &= $mf.lengthrange.b + func `$`*(mq: MediaQuery): string = case mq.t of CONDITION_MEDIA: return $mq.media of CONDITION_FEATURE: return $mq.feature - of CONDITION_NOT: return "not " & $mq.n - of CONDITION_OR: return $mq.ora & " or " & $mq.orb - of CONDITION_AND: return $mq.anda & " or " & $mq.andb + of CONDITION_NOT: return "not (" & $mq.n + of CONDITION_OR: return "(" & $mq.ora & ") or (" & $mq.orb & ")" + of CONDITION_AND: return "(" & $mq.anda & ") or (" & $mq.andb & ")" const MediaTypes = { "all": MEDIA_TYPE_ALL, |