|
|
|
@ -102,6 +102,7 @@ import { PUNCTUATION_REG } from '../../dataset/constant/Regular'
|
|
|
|
import { LineBreakParticle } from './particle/LineBreakParticle'
|
|
|
|
import { LineBreakParticle } from './particle/LineBreakParticle'
|
|
|
|
import { MouseObserver } from '../observer/MouseObserver'
|
|
|
|
import { MouseObserver } from '../observer/MouseObserver'
|
|
|
|
import { LineNumber } from './frame/LineNumber'
|
|
|
|
import { LineNumber } from './frame/LineNumber'
|
|
|
|
|
|
|
|
import { PageBorder } from './frame/PageBorder'
|
|
|
|
|
|
|
|
|
|
|
|
export class Draw {
|
|
|
|
export class Draw {
|
|
|
|
private container: HTMLDivElement
|
|
|
|
private container: HTMLDivElement
|
|
|
|
@ -156,6 +157,7 @@ export class Draw {
|
|
|
|
private listParticle: ListParticle
|
|
|
|
private listParticle: ListParticle
|
|
|
|
private lineBreakParticle: LineBreakParticle
|
|
|
|
private lineBreakParticle: LineBreakParticle
|
|
|
|
private control: Control
|
|
|
|
private control: Control
|
|
|
|
|
|
|
|
private pageBorder: PageBorder
|
|
|
|
private workerManager: WorkerManager
|
|
|
|
private workerManager: WorkerManager
|
|
|
|
private scrollObserver: ScrollObserver
|
|
|
|
private scrollObserver: ScrollObserver
|
|
|
|
private selectionObserver: SelectionObserver
|
|
|
|
private selectionObserver: SelectionObserver
|
|
|
|
@ -232,6 +234,7 @@ export class Draw {
|
|
|
|
this.listParticle = new ListParticle(this)
|
|
|
|
this.listParticle = new ListParticle(this)
|
|
|
|
this.lineBreakParticle = new LineBreakParticle(this)
|
|
|
|
this.lineBreakParticle = new LineBreakParticle(this)
|
|
|
|
this.control = new Control(this)
|
|
|
|
this.control = new Control(this)
|
|
|
|
|
|
|
|
this.pageBorder = new PageBorder(this)
|
|
|
|
|
|
|
|
|
|
|
|
this.scrollObserver = new ScrollObserver(this)
|
|
|
|
this.scrollObserver = new ScrollObserver(this)
|
|
|
|
this.selectionObserver = new SelectionObserver(this)
|
|
|
|
this.selectionObserver = new SelectionObserver(this)
|
|
|
|
@ -2222,8 +2225,15 @@ export class Draw {
|
|
|
|
|
|
|
|
|
|
|
|
private _drawPage(payload: IDrawPagePayload) {
|
|
|
|
private _drawPage(payload: IDrawPagePayload) {
|
|
|
|
const { elementList, positionList, rowList, pageNo } = payload
|
|
|
|
const { elementList, positionList, rowList, pageNo } = payload
|
|
|
|
const { inactiveAlpha, pageMode, header, footer, pageNumber, lineNumber } =
|
|
|
|
const {
|
|
|
|
this.options
|
|
|
|
inactiveAlpha,
|
|
|
|
|
|
|
|
pageMode,
|
|
|
|
|
|
|
|
header,
|
|
|
|
|
|
|
|
footer,
|
|
|
|
|
|
|
|
pageNumber,
|
|
|
|
|
|
|
|
lineNumber,
|
|
|
|
|
|
|
|
pageBorder
|
|
|
|
|
|
|
|
} = this.options
|
|
|
|
const innerWidth = this.getInnerWidth()
|
|
|
|
const innerWidth = this.getInnerWidth()
|
|
|
|
const ctx = this.ctxList[pageNo]
|
|
|
|
const ctx = this.ctxList[pageNo]
|
|
|
|
// 判断当前激活区域-非正文区域时元素透明度降低
|
|
|
|
// 判断当前激活区域-非正文区域时元素透明度降低
|
|
|
|
@ -2288,6 +2298,10 @@ export class Draw {
|
|
|
|
if (!lineNumber.disabled) {
|
|
|
|
if (!lineNumber.disabled) {
|
|
|
|
this.lineNumber.render(ctx, pageNo)
|
|
|
|
this.lineNumber.render(ctx, pageNo)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 绘制页面边框
|
|
|
|
|
|
|
|
if (!pageBorder.disabled) {
|
|
|
|
|
|
|
|
this.pageBorder.render(ctx)
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private _disconnectLazyRender() {
|
|
|
|
private _disconnectLazyRender() {
|
|
|
|
|