openseadragondeltaemap
Version:
Draws overlay over a targetscan, and shows calibration info according to deltaE standards
198 lines (192 loc) • 4.63 kB
CSS
@charset "UTF-8";
/* #ccce; */
deltaepatch {
min-width: 11px;
min-height: 11px;
}
/*
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;
}
/*
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 tbody:before {
content: attr(data-name);
display: block;
font: small-caption;
font-size: inherit;
}
.picturae-deltaemap-display th,
.picturae-deltaemap-display td {
font-size: inherit;
vertical-align: top;
}
.picturae-deltaemap-display tr.spatial-frequency-response th {
font-size: 0;
color: transparent;
}
.picturae-deltaemap-display tr.spatial-frequency-response svg {
max-width: 100%;
}
.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;
}
.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: 1.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;
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.spatial-frequency-response[rowspan] th,
.flexible.picturae-deltaemap-display tr.spatial-frequency-response[rowspan] td {
display: table-cell;
}
.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 #3339;
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.valid:before {
content: "✓";
color: #080;
}
deltaeboolean.invalid:before {
content: "✗";
color: #b00;
}