@picturae/openseadragondeltaemap
Version:
Draws overlay over a targetscan, and shows calibration info according to deltaE standards
287 lines (273 loc) • 6.71 kB
CSS
@charset "UTF-8";
/* #ccce; */
deltaepatch {
min-width: 11px;
min-height: 11px;
display: none;
}
/*
Exact target-image overlay, chart and patch projection
left, top, width, height will be set inline
*/
deltaeoverlay,
deltaechart,
deltaepatch {
position: absolute;
box-shadow: inset 0 0 0 4px #57f;
border-radius: 6px;
}
deltaeoverlay.valid,
deltaechart.valid,
deltaepatch.valid {
box-shadow: inset 0 0 0 4px #0a0;
}
deltaeoverlay.invalid,
deltaechart.invalid,
deltaepatch.invalid {
box-shadow: inset 0 0 0 4px #c00;
}
deltaechart.valid {
background-color: rgba(0, 170, 0, 0.4);
}
deltaechart.invalid {
background-color: rgba(204, 0, 0, 0.4);
}
deltaechart.active-target {
background-color: transparent;
}
deltaechart.active-target deltaepatch {
display: block;
}
/*
Mousetrailing display for
left, top, right, bottom will be set inline
*/
.picturae-deltaemap-display {
font: caption;
font-size: 14px;
position: fixed;
background: rgba(204, 204, 204, 0.93);
border-radius: 0 0 0.5em 0.5em;
color: black;
padding: 0.5em;
margin: 0;
max-width: 42vw;
}
.picturae-deltaemap-display caption {
background: rgba(204, 204, 204, 0.93);
border-radius: 0.5em 0.5em 0 0;
padding: 0.5em;
font-size: 16px;
font-weight: bold;
}
.picturae-deltaemap-display caption:after {
content: "";
display: block;
position: relative;
top: 0.5em;
border-bottom: 4px solid #57f;
}
.picturae-deltaemap-display.valid caption:after {
border-bottom: 4px solid #0a0;
}
.picturae-deltaemap-display.invalid caption:after {
border-bottom: 4px solid #c00;
}
.picturae-deltaemap-display th,
.picturae-deltaemap-display td {
font-size: inherit;
vertical-align: top;
overflow: hidden;
text-overflow: ellipsis;
white-space: wrap;
}
.picturae-deltaemap-display tr.spatial-frequency-response th {
font-size: 0;
color: transparent;
}
.picturae-deltaemap-display tr.spatial-frequency-response svg {
max-width: 400px;
max-height: 260px;
}
.picturae-deltaemap-display path.line {
stroke: white;
stroke-width: 1.5;
fill: none;
mix-blend-mode: multiply;
opacity: 0.25;
}
.picturae-deltaemap-display path.line.red {
stroke: #f00;
}
.picturae-deltaemap-display path.line.green {
stroke: #0d0;
}
.picturae-deltaemap-display path.line.blue {
stroke: #24f;
}
.picturae-deltaemap-display tr.rgb,
.picturae-deltaemap-display tr.valid {
display: none;
}
.picturae-deltaemap-display.valid .deltaemap-validity {
display: none;
}
.picturae-deltaemap-display p {
padding: 0.25rem 0.5rem;
}
.picturae-deltaemap-display span.bold {
font-size: 16px;
font-weight: bold;
}
.tabular.picturae-deltaemap-display th,
.tabular.picturae-deltaemap-display td {
min-width: 5.333em;
}
.tabular.picturae-deltaemap-display tr.spatial-frequency-response td {
margin-left: -5.333em;
display: block;
}
.tabular.picturae-deltaemap-display tr.spatial-frequency-response[rowspan] {
display: none;
}
/* voorbeeld tabel
tabel: 391.50 px * 631.46 px = 241.344,09 px2
flex3: 410.25 px * 616.46 px = 252.902,715 px2
flex4: 546.50 px * 533.96 px = 291.809,14 px2
*/
.flexible.picturae-deltaemap-display tbody {
padding-top: 0.5em;
padding-bottom: 0.25em;
display: flex;
flex-wrap: wrap;
min-width: 16.998em;
max-width: 39.662em;
}
.flexible.picturae-deltaemap-display tbody:before {
position: absolute;
margin-top: -1.333em;
width: 100%;
}
.flexible.picturae-deltaemap-display tr {
margin: 0 0.333em 0 0;
min-width: 5.333em;
}
.flexible.picturae-deltaemap-display tr.r,
.flexible.picturae-deltaemap-display tr.g,
.flexible.picturae-deltaemap-display tr.b,
.flexible.picturae-deltaemap-display tr.lum,
.flexible.picturae-deltaemap-display tr.rgb,
.flexible.picturae-deltaemap-display tr.lab,
.flexible.picturae-deltaemap-display tr.color-profile,
.flexible.picturae-deltaemap-display tr.invalid-patch,
.flexible.picturae-deltaemap-display tr.has-invalid-patch {
width: 10.999em;
}
.flexible.picturae-deltaemap-display tr.rmsnoisergby,
.flexible.picturae-deltaemap-display tr.color-accuracy,
.flexible.picturae-deltaemap-display tr.spatial-accuracy,
.flexible.picturae-deltaemap-display tr.message {
width: 16.665em;
}
.flexible.picturae-deltaemap-display tr.spatial-frequency-response {
width: 100%;
}
.flexible.picturae-deltaemap-display tr > * {
display: block;
}
/*
Inline color display
background will be set inline
*/
deltaecolor {
display: inline-block;
box-shadow: 2px 2px 1px 0 rgba(51, 51, 51, 0.6);
width: 1.2em;
height: 1.2em;
vertical-align: bottom;
}
/*
Inline boolean display
color set according to boolean state
*/
deltaeboolean {
display: inline-block;
font-weight: bold;
width: 0.8em;
text-align: center;
}
deltaeboolean:before {
content: "?";
color: #03c;
}
deltaeboolean.valid:before {
content: "✓";
color: #080;
}
deltaeboolean.invalid:before {
content: "✗";
color: #b00;
}
.average-rating {
position: relative;
appearance: none;
color: transparent;
width: auto;
display: inline-block;
vertical-align: baseline;
}
.average-rating-zero::before {
--percent: calc(0 / 4 * 100%);
content: "★★★★";
position: absolute;
top: 0;
left: 0;
color: rgba(0, 0, 0, 0.2);
background: linear-gradient(90deg, gold var(--percent), rgba(0, 0, 0, 0.2) var(--percent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.average-rating-one::before {
--percent: calc(1 / 4 * 100%);
content: "★★★★";
position: absolute;
top: 0;
left: 0;
color: rgba(0, 0, 0, 0.2);
background: linear-gradient(90deg, gold var(--percent), rgba(0, 0, 0, 0.2) var(--percent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.average-rating-two::before {
--percent: calc(2 / 4 * 100%);
content: "★★★★";
position: absolute;
top: 0;
left: 0;
color: rgba(0, 0, 0, 0.2);
background: linear-gradient(90deg, gold var(--percent), rgba(0, 0, 0, 0.2) var(--percent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.average-rating-three::before {
--percent: calc(3 / 4 * 100%);
content: "★★★★";
position: absolute;
top: 0;
left: 0;
color: rgba(0, 0, 0, 0.2);
background: linear-gradient(90deg, gold var(--percent), rgba(0, 0, 0, 0.2) var(--percent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.average-rating-four::before {
--percent: calc(4 / 4 * 100%);
content: "★★★★";
position: absolute;
top: 0;
left: 0;
color: rgba(0, 0, 0, 0.2);
background: linear-gradient(90deg, gold var(--percent), rgba(0, 0, 0, 0.2) var(--percent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}