UNPKG

openlime

Version:
635 lines (522 loc) 10.7 kB
.openlime { position: relative; background-color: #000; height: 100%; touch-action: none; /* Remove default behavior of the user agent */ } .openlime>canvas { width: 100%; /* leave this at 100%, it's needed to align annotations correctly */ height: 100%; overflow: hidden; /* this is important, it would cause firefox flickering! */ padding: 0px; } .openlime-overlay, .openlime-svgoverlay { position: absolute; top: 0; width: 100%; height: 100%; } .openlime-overlay { position: absolute; top: 0px; width: 100%; height: 100%; } .openlime-scale { position: absolute; bottom: 25px; left: 0px; width: 200px; height: 40px; padding: 15px; fill: white; } .openlime-scale>text { font-size: 24px; } .openlime-scale>line { stroke: white; stroke-width: 2px; } /* DIALOG */ .openlime-dialog-background { opacity: 1.0; transition: visibility 0s linear 300ms, opacity 300ms; position: absolute; top: 0; left: 0; right: 0; bottom: 0; color: #fff; background: rgb(0, 0, 0, 0.5); padding: 20px 40px; border-radius: 5px; cursor: pointer; } .openlime-dialog { position: absolute; top: 10%; left: 15%; right: 15%; bottom: 7%; color: #fff; font-family: "Open Sans", sans-serif; background: rgb(32, 32, 32, 0.9); opacity: 0.95; padding: 20px 40px; border-radius: 5px; cursor: auto; transition: visibility 0s linear 0s, opacity 300ms; overflow-y: auto; } .openlime-dialog.openlime-info { position: absolute; top: 10px; left: 10px; width: 25%; height: fit-content; background-color: rgb(20, 20, 20, 0.9); padding: 0px 10px; color: white; border-radius: 3px; border: 1px solid rgb(60, 60, 60); } .openlime-dialog.fading { opacity: 0.0; } .openlime-dialog.hidden, .openlime-dialog-background.hidden { visibility: hidden; opacity: 0.0; } .openlime-dialog .openlime-close { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; cursor: pointer; } .openlime-close * { stroke: #fff !important; fill: #fff !important; } .openlime-close:hover * { opacity: 70%; } /* TOOLBAR */ .openlime-toolbar rect[style] { fill: rgb(255, 255, 255, 0) !important; stroke: none !important; } .openlime-toolbar path[style] { stroke: white !important; fill: white !important } .openlime-toolbar text { stroke: white !important; fill: white !important } .openlime-toolbar { position: absolute; bottom: 0px; right: 0px; padding: 5px; background-color: transparent; display: flex; } .openlime-toolbar svg:not(:root) { width: auto; height: 5vh; display: block; } .openlime-toolbar .openlime-button:hover { cursor: pointer; opacity: 70%; } .openlime-light .openlime-bulb path[style] { fill: #80808011 !important; } .openlime-light-active .openlime-bulb path[style] { fill: #ffcc00 !important; } .openlime-lightdir { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; pointer-events: none; } .openlime-lightdir line { stroke: #ff0; opacity: 0.4; stroke-width: 1.5px; vector-effect: non-scaling-stroke; } g.openlime-compact { visibility: hidden !important; } g.openlime-expand { visibility: visible !important; } .openlime-fullscreen-active g.openlime-compact { visibility: visible !important; } .openlime-fullscreen-active g.openlime-expand { visibility: hidden !important; } .openlime-help-window.shown { visibility: visible; opacity: 0.95; transition: visibility 0s linear 0s, opacity 300ms; } .openlime-help-window { opacity: 0.0; visibility: hidden; transition: visibility 0s linear 300ms, opacity 300ms; position: absolute; top: 0; left: 0; right: 0; bottom: 0; color: #fff; background: rgb(0, 0, 0, 0.5); padding: 20px 40px; border-radius: 5px; font-family: "Open Sans", sans-serif; cursor: pointer; } .openlime-help-content { position: absolute; top: 10%; left: 30%; right: 30%; bottom: 10%; color: #fff; background: #222; opacity: 0.95; padding: 20px 40px; border-radius: 5px; cursor: auto; } .openlime-help-window .openlime-close { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; cursor: pointer; } /* ATTRIBUTION */ .openlime-attribution { position: absolute; left: 20px; bottom: 0; font-family: "Open Sans", sans-serif; font-size: 10px; color: white; } /* LAYERS MENU */ .openlime-layers-menu { position: absolute; display: flex; flex-direction: column; justify-content: start; top: 0px; left: 0px; height: 100%; width: 0%; max-width: 200px; overflow: hidden; transition: width 0.3s; font-family: "Open Sans", sans-serif; color: #ccc; background-color: rgb(20, 20, 20, 0.8); list-style: none; padding: 0px; margin: 0px; z-index: 1; } .openlime-layers-menu>* { margin: 10px 10px 0px 10px; } .openlime-layers-menu.open { width: 100% } .openlime-list { margin-left: 20px; display: flex; flex-direction: column; justify-content: start; height: 0; max-height: 0; overflow: hidden; transition: max-height 0.5s; transition: height 0.5s; } .active+.openlime-list { height: auto; max-height: 100%; } .openlime-layers-menu .openlime-entry { color: #ccc; background-color: rgb(20, 20, 20, 0.8); padding: 8px 20px; border-radius: 3px; cursor: pointer; text-decoration: none; } .openlime-layers-menu .openlime-entry:hover, .openlime-layers-menu .openlime-entry:focus { background-color: rgb(40, 40, 40); color: #fff; } .openlime-layers-menu .openlime-entry:active { position: relative; top: 1px; } .openlime-layers-menu .openlime-entry.active, .openlime-layers-menu .openlime-entry:active { background-color: rgb(80, 80, 80); color: #fff; } .openlime-layers-menu .openlime-entry.selected { background-color: rgb(80, 80, 80); color: #fff; } .openlime-layers-menu .openlime-list .openlime-entry { font-size: 90%; max-width: 100%; padding: 5px 5px 0px 20px; } .openlime-layers-menu .openlime-tool { padding: 0px !important; } .openlime-list .openlime-tools { flex-direction: row; } .openlime-annotations { padding: 0px 5px; margin: 0px; } .openlime-list.openlime-annotations { overflow: auto; } /* Works on Firefox */ .openlime-list.openlime-annotations { scrollbar-width: thin; scrollbar-color: inherit; -webkit-scrollbar-color: #505050; } /* Works on Chrome, Edge, and Safari */ .openlime-list.openlime-annotations::-webkit-scrollbar { width: 10px; } .openlime-list.openlime-annotations::-webkit-scrollbar-track { background: transparent; } .openlime-list.openlime-annotations::-webkit-scrollbar-thumb { background-color: rgb(80, 80, 80); border-radius: 10px; border: 0px solid black; } /* editor */ .openlime-annotation-edit.hidden { display: none; } .openlime-annotation-edit-tools svg, .openlime-tools svg { height: 25px; cursor: pointer; margin-right: 10px } .openlime-annotation-edit-tools { margin-top: 5px; } .openlime-tool { height: 25px; width: 25px; } .openlime-annotation-edit select, .openlime-annotation-edit option { width: 40px; } .openlime-annotation-edit option:hover { background: red; } .openlime-eye, .openlime-eye-off { height: 14px; float: right; } .openlime-eye, .hidden .openlime-eye-off { display: block; } .openlime-eye-off, .hidden .openlime-eye { display: none; } .openlime-eye:hover, .openlime-eye-off:hover { color: #ffa; } /*.openlime-annotation-edit-tools .active { background-color:rgb(80, 80, 80); } */ .openlime-tool.active, .openlime-tool.active * { stroke: #fff !important; } .openlime-annotation-edit-tools .active * { stroke: #fff !important; } .openlime-overlay.erase { cursor: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'><circle fill='rgba(255, 255, 255, 0.7)' cx='11' cy='11' r='10'/></svg>") 11 11, pointer; } .openlime-overlay.crosshair { cursor: crosshair; } /* Editor select */ .openlime-select { background: #888; position: relative; cursor: pointer; display: inline-block; height: 24px; width: 100%; } .openlime-select-button { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: #888; padding: 2px 15px; } .openlime-select-button:after { content: ""; width: 0; height: 0; border: 7px solid transparent; border-color: #fff transparent transparent transparent; position: absolute; top: 8px; right: 10px; } .openlime-select-button:hover { background-color: #444; } .active .openlime-select-button { background-color: #888; } .active .openlime-select-button:after { top: 1px; border-color: transparent transparent #fff transparent; } .openlime-select-menu { display: none; position: absolute; top: 100%; right: 0; left: 0; z-index: 999; margin: 0; padding: 0; list-style: none; } .active .openlime-select-menu { display: block; } .openlime-select-menu li { margin: 0; padding: 2px 0; text-indent: 15px; /* border-top: 1px solid darken($select-background, 10); */ /* @include transition(all 0.15s ease-in); */ } .openlime-select-menu li:hover { color: #fff; border: 1px #aaa; } /*****************************************************/ /* LensDashboard */ .openlime-lens-dashboard { /* -webkit-animation: fadein 1s linear forwards; animation: fadein 1s linear forwards; */ visibility: visible !important; /* background-color: rgb(200, 0, 0, 0.8) !important; */ } .openlime-lens-dashboard.closed .openlime-lens-dashboard-annoswitch-bar { visibility: hidden !important; } .openlime-lens-dashboard.closed { /* -webkit-animation: fadeout 1s linear forwards; animation: fadeout 1s linear forwards; */ visibility: hidden !important; } .openlime-lens-dashboard-button-bkg { fill: #333 !important; pointer-events: none; } .openlime-lens-dashboard-button.enabled { pointer-events: auto; cursor: pointer; } .enabled .openlime-lens-dashboard-button-bkg { fill: #aaa !important; } .openlime-lens-dashboard-button:hover .openlime-lens-dashboard-button-bkg { fill: #ccc !important; } .openlime-lens-dashboard-camera-active .openlime-lens-dashboard-button-bkg { fill: #fff !important; } .openlime-lens-dashboard-light-active .openlime-lens-dashboard-button-bkg { fill: #fff !important; } /*****************************************************/ /* Ruler */ .openlime-ruler { width: 100%; height: 100%; } .openlime-ruler path, .openlime-ruler line { stroke: yellow; stroke-width: 2px; vector-effect: non-scaling-stroke; } .openlime-ruler text { fill: yellow; } .openlime-overlaymsg { background: white; opacity: 80%; position: absolute; top: 0px; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; animation: fadeOut 3s; } @keyframes fadeOut { 0% { opacity: 0.8; } 33% { opacity: 0.8; } 66% { opacity: 0; } 100% { opacity: 0; } }