UNPKG

itk-viewer-reference-ui

Version:
739 lines (646 loc) 11.9 kB
.loading { border: 16px solid #f3f3f3; /* Light grey */ border-top: 16px solid #3498db; /* Blue */ border-radius: 50%; width: 120px; height: 120px; position: absolute; left: calc(50% - 60px); top: calc(50% - 60px); animation: spin 2s linear infinite; box-sizing: border-box; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .viewContainer { position: absolute; top: 0; left: 0; bottom: 0; right: 0; display: flex; flex-direction: column; background: rgba(128, 128, 128, 0.8); } .uiContainer { display: flex; align-items: stretch; flex-direction: column; justify-content: space-between; position: absolute; top: 5px; left: 5px; padding: 2px; border: 0px; box-sizing: border-box; z-index: 1000; } .uiGroup { background: rgba(128, 128, 128, 0.5); border-radius: 4px; margin: 2px; } .uiRow { display: flex; flex-direction: row; flex: 1; align-items: center; justify-content: space-between; padding: 5px; } .mainUIRow { composes: uiRow; justify-content: space-around; max-width: 420px; } .planeUIRow { composes: uiRow; background: rgba(128, 128, 128, 0.5); } .layersUIRow { composes: uiRow; justify-content: space-around; max-width: 420px; } .progress { color: white; font-size: 200%; height: 100vh; width: 100vw; text-align: center; vertical-align: middle; line-height: 100vh; } .piecewiseWidget { flex: 1; background: rgba(255, 255, 255, 0.2); border-radius: 3px; z-index: 1000; } .logo { position: absolute; top: 5px; right: 5px; height: 2.0em; width: 2.0em; cursor: pointer; z-index: 100; } .fpsMonitor { position: absolute; top: 5px; right: 5px; border-radius: 5px; background: rgba(255, 255, 255, 0.6); cursor: pointer; z-index: 101; } [itk-vtk-tooltip] { position: relative; } [itk-vtk-tooltip]::before { content: attr(itk-vtk-tooltip-content); visibility: hidden; position: absolute; top: 50%; right: calc(100% + 16px); width: 400%; padding: 4px 6px; text-align: center; text-transform: none; font-size: 0.9em; font-family: monospace; border-radius: 3px; background: rgba(0.9, 0.9, 0.9, 0.95); color: white; opacity: 0; transform: translate(15px, -50%); transition-property: all; transition-duration: 0.3s; transition-timing-function: ease-in-out; transition-delay: 0.8s; z-index: 1; } [itk-vtk-tooltip]:hover::before { opacity: 1; visibility: visible; transform: translate(0, -50%); } [itk-vtk-tooltip-bottom]::before { top: calc(100% + 16px); left: 50%; right: initial; transform: translate(-50%, -15px); } [itk-vtk-tooltip-bottom]:hover::before { transform: translate(-50%, 0) } [itk-vtk-tooltip-right]::before { top: 50%; left: calc(100% + 16px); right: initial; transform: translate(-15px, -50%); } [itk-vtk-tooltip-right]:hover::before { transform: translate(0, -50%); } [itk-vtk-tooltip-top-screenshot]::before { top: initial; left: 260%; right: initial; bottom: calc(100% + 8px); transform: translate(-50%, 15px); } [itk-vtk-tooltip-top-screenshot]:hover::before { transform: translate(-50%, 0); } [itk-vtk-tooltip-top-annotations]::before { top: initial; left: 160%; right: initial; bottom: calc(100% + 10px); transform: translate(-50%, 15px); } [itk-vtk-tooltip-top-annotations]:hover::before { transform: translate(-50%, 0); } [itk-vtk-tooltip-top-axes]::before { top: initial; left: 160%; right: initial; bottom: calc(100% + 10px); transform: translate(-50%, 15px); } [itk-vtk-tooltip-top-axes]:hover::before { transform: translate(-50%, 0); } [itk-vtk-tooltip-top-fullscreen]::before { top: initial; left: 120%; right: initial; bottom: calc(100% + 10px); transform: translate(-50%, 15px); width: 400%; } [itk-vtk-tooltip-top-fullscreen]:hover::before { transform: translate(-50%, 0); } [itk-vtk-tooltip-top]::before { top: initial; left: 60%; right: initial; bottom: calc(100% + 10px); transform: translate(-50%, 15px); } [itk-vtk-tooltip-top]:hover::before { transform: translate(-50%, 0); } [itk-vtk-tooltip-top-fullscreen]::before { top: initial; left: 120%; right: initial; bottom: calc(100% + 10px); transform: translate(-50%, 15px); width: 400%; } .layerEntryCommon { flex: 1; display: flex; flex-direction: row; align-items: stretch; justify-content: space-between; border-style: solid; border-width: 2px; border-radius: 10%; } .layerEntryBrightBG { border-color: #666; } .layerEntryDarkBG { border-color: #AAA; } .layerLabelCommon { border: none; background: transparent; font-size: 1.2em; margin-right: 10px; z-index: 1000; } .layerLabelBrightBG { color: black; } .layerLabelDarkBG { color: white; } .visibleButton { flex-basis: 2.5em; cursor: pointer; z-index: 1000; } .visibleButton img { height: 1.2em; width: 1.2em; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; } .layerIcon img { height: 1.2em; width: 1.2em; padding-top: 2px; padding-bottom: 2px; padding-left: 8px; padding-right: 6px; } .tooltipButtonBrightBG::before { } .tooltipButtonDarkBG::before { filter: invert(100%); -webkit-filter: invert(100%); } .invertibleButtonBrightBG { } .invertibleButtonDarkBG { filter: invert(100%); -webkit-filter: invert(100%); } .collapseUIButton { height: 1.5em; width: 1.5em; cursor: pointer; z-index: 1000; } .screenshotButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .screenshotButton img { height: 1.2em; width: 1.2em; } .annotationsButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .annotationsButton img { height: 1.2em; width: 1.2em; } .axesButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .axesButton img { height: 1.2em; width: 1.2em; } .fullscreenButton { flex: 1; width: 8m; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .fullscreenButton img { height: 1.2em; width: 1.2em; } .interpolationButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 2px; padding-right: 4px; cursor: pointer; z-index: 1000; } .interpolationButton img { height: 1.2em; width: 1.2em; } .cropButton { flex: 1; height: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .cropButton img { height: 1.2em; width: 1.2em; } .resetCropButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .resetCropButton img { height: 1.2em; width: 1.2em; } .distanceEntry { flex: 1; display: flex; flex-direction: row; align-items: self-start; } .distanceButton { flex: 1; height: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .distanceButton img { height: 1.2em; width: 1.2em; } .distanceLabelCommon { border: none; background: transparent; font-size: 1.2em; margin-right: 10px; z-index: 1000; } .distanceLabelBrightBG { color: black; } .distanceLabelDarkBG { color: white; } .distanceInput { background: transparent; color: white; font-size: 1.0em; width: 80px; } .resetCameraButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .resetCameraButton img { height: 1.2em; width: 1.2em; } .bgColorButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .bgColorButton img { height: 1.2em; width: 1.2em; } .viewModeButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 6px; padding-right: 6px; cursor: pointer; z-index: 1000; } .viewModeButton img { width: 1.3em; height: 1.3em; } .shadowButton { width: 8mm; padding: 4px; padding-left: 0px; cursor: pointer; z-index: 1000; } .shadowButton img { width: 1.3em; height: 1.3em; } .viewPlanesButton { flex: 1; width: 8mm; padding-top: 2px; padding-bottom: 2px; padding-left: 0px; padding-right: 6px; cursor: pointer; z-index: 1000; } .viewPlanesButton img { width: 1.3em; height: 1.3em; } .toggleInput { margin: 0px; width: 0%; opacity: 0; box-sizing: content-box; } .toggleButton { cursor: pointer; border-radius: 0.2em; opacity: 0.45; } input:checked.toggleInput + label { opacity: 1.0; } .numberInput { color: white; background: transparent; font-size: 1.0em; padding-left: 2px; width: 70px; } .selector { display: flex; direction: row; font-size: 1.2em; z-index: 1000; } .componentTab { position: absolute; opacity: 0; pointer-events: none; } .disableInterface { pointer-events: none; opacity: 0.5; } .componentTab + .compTabLabel { background: rgba(40, 40, 40, 0.5); padding: 5px; margin-right: 2px; border-radius: 5px 5px 0px 0px; color: #777; } .componentTab:hover + .compTabLabel { background: rgba(90, 90, 90, 0.5); } .componentTab:checked + .compTabLabel { background: rgba(127, 127, 127, 0.5); color: #FFF; } .componentVisibility { position: relative; top: -2px; margin-left: 10px; } select { -moz-appearance: none; } select option { color: black; } select:focus { outline: none; border: none; } .sampleDistanceButton { width: 8mm; padding: 4px; padding-left: 6px; z-index: 1000; } .sampleDistanceButton img { width: 1.2em; height: 1.2em; } .blendModeButton { width: 8mm; padding: 4px; padding-left: 8px; padding-right: 0px; z-index: 1000; } .blendModeButton img { width: 1.2em; height: 1.2em; } .gradientOpacitySlider { width: 8mm; padding: 4px; padding-left: 6px; padding-right: 0px; z-index: 1000; } .gradientOpacitySlider img { width: 1.2em; height: 1.2em; } .sliderEntry { flex: 1; display: flex; flex-direction: row; align-items: center; } .slider { flex: 1; min-height: 1rem; width: 5px; } .planeLabel { padding-left: 6px; padding: 2px; display: block; font-size: 1.1em; font-family: monospace; color: black; border-width: 2px; border-radius: 10%; } .xPlaneLabel { composes: planeLabel; background-color: #ef5350; } .yPlaneLabel { composes: planeLabel; background-color: #fdd835; } .zPlaneLabel { composes: planeLabel; background-color: #4caf50; } .gradientOpacityScale { z-index: 1100; position: relative; } .gradientOpacityScale input { position: absolute; bottom: 20px; left: -24px; width: 12px; writing-mode: bt-lr; -webkit-appearance: slider-vertical; } .bigFileDrop { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background-color: white; background-image: url('./dropBG.jpg'); background-repeat: no-repeat; background-position: center; background-size: contain; border-radius: 10px; width: 50px; padding: calc(50vh - 2em) calc(50vw - 25px - 2em); } .fullscreenContainer { position: absolute; width: 100vw; height: 100vh; top: 0; left: 0; overflow: hidden; background: black; margin: 0; padding: 0; }