fork from https://github.com/mozilla/pdf.js.git
This commit is contained in:
165
web/text_layer_builder.css
Normal file
165
web/text_layer_builder.css
Normal file
@@ -0,0 +1,165 @@
|
||||
/* Copyright 2014 Mozilla Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
.textLayer {
|
||||
color-scheme: only light;
|
||||
|
||||
position: absolute;
|
||||
text-align: initial;
|
||||
inset: 0;
|
||||
overflow: clip;
|
||||
opacity: 1;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
word-spacing: normal;
|
||||
text-size-adjust: none;
|
||||
forced-color-adjust: none;
|
||||
transform-origin: 0 0;
|
||||
caret-color: CanvasText;
|
||||
z-index: 0;
|
||||
|
||||
&.highlighting {
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
:is(span, br) {
|
||||
color: transparent;
|
||||
position: absolute;
|
||||
white-space: pre;
|
||||
cursor: text;
|
||||
transform-origin: 0% 0%;
|
||||
user-select: text;
|
||||
}
|
||||
|
||||
/* We multiply the font size by --min-font-size, and then scale the text
|
||||
* elements by 1/--min-font-size. This allows us to effectively ignore the
|
||||
* minimum font size enforced by the browser, so that the text layer <span>s
|
||||
* can always match the size of the text in the canvas. */
|
||||
--min-font-size: 1;
|
||||
--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
|
||||
--min-font-size-inv: calc(1 / var(--min-font-size));
|
||||
|
||||
> :not(.markedContent),
|
||||
.markedContent span:not(.markedContent) {
|
||||
z-index: 1;
|
||||
|
||||
--font-height: 0; /* set by text_layer.js */
|
||||
font-size: calc(var(--text-scale-factor) * var(--font-height));
|
||||
|
||||
--scale-x: 1;
|
||||
--rotate: 0deg;
|
||||
transform: rotate(var(--rotate)) scaleX(var(--scale-x))
|
||||
scale(var(--min-font-size-inv));
|
||||
}
|
||||
|
||||
.markedContent {
|
||||
display: contents;
|
||||
}
|
||||
|
||||
span[role="img"] {
|
||||
user-select: none;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
--highlight-bg-color: rgb(180 0 170 / 0.25);
|
||||
--highlight-selected-bg-color: rgb(0 100 0 / 0.25);
|
||||
--highlight-backdrop-filter: none;
|
||||
--highlight-selected-backdrop-filter: none;
|
||||
|
||||
@media screen and (forced-colors: active) {
|
||||
--highlight-bg-color: transparent;
|
||||
--highlight-selected-bg-color: transparent;
|
||||
--highlight-backdrop-filter: var(--hcm-highlight-filter);
|
||||
--highlight-selected-backdrop-filter: var(
|
||||
--hcm-highlight-selected-filter
|
||||
);
|
||||
}
|
||||
|
||||
margin: -1px;
|
||||
padding: 1px;
|
||||
background-color: var(--highlight-bg-color);
|
||||
backdrop-filter: var(--highlight-backdrop-filter);
|
||||
border-radius: 4px;
|
||||
|
||||
&.appended {
|
||||
position: initial;
|
||||
}
|
||||
|
||||
&.begin {
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
|
||||
&.end {
|
||||
border-radius: 0 4px 4px 0;
|
||||
}
|
||||
|
||||
&.middle {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
&.selected {
|
||||
background-color: var(--highlight-selected-bg-color);
|
||||
backdrop-filter: var(--highlight-selected-backdrop-filter);
|
||||
scroll-margin-top: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
::selection {
|
||||
/* stylelint-disable declaration-block-no-duplicate-properties */
|
||||
/*#if !MOZCENTRAL*/
|
||||
background: rgba(0 0 255 / 0.25);
|
||||
/*#endif*/
|
||||
/* stylelint-enable declaration-block-no-duplicate-properties */
|
||||
background: color-mix(in srgb, AccentColor, transparent 50%);
|
||||
}
|
||||
|
||||
&.selectionRendering {
|
||||
::selection {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
/* Avoids https://github.com/mozilla/pdf.js/issues/13840 in Chrome */
|
||||
/*#if !MOZCENTRAL*/
|
||||
br::selection {
|
||||
background: transparent;
|
||||
}
|
||||
/*#endif*/
|
||||
|
||||
.endOfContent {
|
||||
display: block;
|
||||
position: absolute;
|
||||
inset: 100% 0 0;
|
||||
z-index: 0;
|
||||
cursor: default;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
&.selecting .endOfContent {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.textLayerImages {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
user-select: none;
|
||||
|
||||
canvas {
|
||||
position: absolute;
|
||||
transform-origin: 0% 0%;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user