@hailin-zheng/editor-core 1.0.9 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/doc-ruler.d.ts +51 -0
- package/{src/med_editor/doc-ruler.ts → lib/doc-ruler.js} +73 -100
- package/lib/doc-ruler.js.map +1 -0
- package/lib/framework/common-util.d.ts +63 -0
- package/lib/framework/common-util.js +178 -0
- package/lib/framework/common-util.js.map +1 -0
- package/lib/framework/document-change.d.ts +265 -0
- package/{src/med_editor/framework/document-change.ts → lib/framework/document-change.js} +257 -306
- package/lib/framework/document-change.js.map +1 -0
- package/lib/framework/document-combine.d.ts +24 -0
- package/{src/med_editor/framework/document-combine.ts → lib/framework/document-combine.js} +11 -15
- package/lib/framework/document-combine.js.map +1 -0
- package/lib/framework/document-comment.d.ts +46 -0
- package/{src/med_editor/framework/document-comment.ts → lib/framework/document-comment.js} +37 -52
- package/lib/framework/document-comment.js.map +1 -0
- package/lib/framework/document-context.d.ts +149 -0
- package/{src/med_editor/framework/document-context.ts → lib/framework/document-context.js} +101 -181
- package/lib/framework/document-context.js.map +1 -0
- package/lib/framework/document-eval-func.d.ts +18 -0
- package/{src/med_editor/framework/document-eval-func.ts → lib/framework/document-eval-func.js} +11 -16
- package/lib/framework/document-eval-func.js.map +1 -0
- package/lib/framework/document-event.d.ts +213 -0
- package/{src/med_editor/framework/document-event.ts → lib/framework/document-event.js} +216 -244
- package/lib/framework/document-event.js.map +1 -0
- package/lib/framework/document-history.d.ts +26 -0
- package/{src/med_editor/framework/document-history.ts → lib/framework/document-history.js} +14 -25
- package/lib/framework/document-history.js.map +1 -0
- package/lib/framework/document-images-loader.d.ts +16 -0
- package/{src/med_editor/framework/document-images-loader.ts → lib/framework/document-images-loader.js} +17 -25
- package/lib/framework/document-images-loader.js.map +1 -0
- package/lib/framework/document-input-cursor.d.ts +78 -0
- package/{src/med_editor/framework/document-input-cursor.ts → lib/framework/document-input-cursor.js} +71 -76
- package/lib/framework/document-input-cursor.js.map +1 -0
- package/lib/framework/document-paint.d.ts +34 -0
- package/{src/med_editor/framework/document-paint.ts → lib/framework/document-paint.js} +28 -35
- package/lib/framework/document-paint.js.map +1 -0
- package/lib/framework/document-print-offscreen.d.ts +38 -0
- package/{src/med_editor/framework/document-print-offscreen.ts → lib/framework/document-print-offscreen.js} +19 -25
- package/lib/framework/document-print-offscreen.js.map +1 -0
- package/lib/framework/document-print.d.ts +60 -0
- package/{src/med_editor/framework/document-print.ts → lib/framework/document-print.js} +41 -57
- package/lib/framework/document-print.js.map +1 -0
- package/lib/framework/document-segmenter.d.ts +2 -0
- package/lib/framework/document-segmenter.js +106 -0
- package/lib/framework/document-segmenter.js.map +1 -0
- package/lib/framework/document-selection.d.ts +89 -0
- package/{src/med_editor/framework/document-selection.ts → lib/framework/document-selection.js} +84 -115
- package/lib/framework/document-selection.js.map +1 -0
- package/lib/framework/document-template.d.ts +4 -0
- package/{src/med_editor/framework/document-template.ts → lib/framework/document-template.js} +3 -3
- package/lib/framework/document-template.js.map +1 -0
- package/lib/framework/document-textline-mode.d.ts +7 -0
- package/lib/framework/document-textline-mode.js +30 -0
- package/lib/framework/document-textline-mode.js.map +1 -0
- package/lib/framework/element-define.d.ts +319 -0
- package/{src/med_editor/framework/element-define.ts → lib/framework/element-define.js} +206 -301
- package/lib/framework/element-define.js.map +1 -0
- package/lib/framework/element-event-define.d.ts +98 -0
- package/lib/framework/element-event-define.js +108 -0
- package/lib/framework/element-event-define.js.map +1 -0
- package/lib/framework/element-measure.d.ts +97 -0
- package/{src/med_editor/framework/element-measure.ts → lib/framework/element-measure.js} +121 -143
- package/lib/framework/element-measure.js.map +1 -0
- package/lib/framework/element-paint.d.ts +42 -0
- package/{src/med_editor/framework/element-paint.ts → lib/framework/element-paint.js} +37 -43
- package/lib/framework/element-paint.js.map +1 -0
- package/lib/framework/element-props.d.ts +301 -0
- package/{src/med_editor/framework/element-props.ts → lib/framework/element-props.js} +202 -331
- package/lib/framework/element-props.js.map +1 -0
- package/lib/framework/element-reader.d.ts +19 -0
- package/{src/med_editor/framework/element-reader.ts → lib/framework/element-reader.js} +30 -38
- package/lib/framework/element-reader.js.map +1 -0
- package/lib/framework/element-render-cut.d.ts +55 -0
- package/{src/med_editor/framework/element-render-cut.ts → lib/framework/element-render-cut.js} +106 -113
- package/lib/framework/element-render-cut.js.map +1 -0
- package/lib/framework/element-serialize.d.ts +30 -0
- package/{src/med_editor/framework/element-serialize.ts → lib/framework/element-serialize.js} +24 -37
- package/lib/framework/element-serialize.js.map +1 -0
- package/lib/framework/element-util.d.ts +369 -0
- package/{src/med_editor/framework/element-util.ts → lib/framework/element-util.js} +216 -317
- package/lib/framework/element-util.js.map +1 -0
- package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
- package/{src/med_editor/framework/impl/checkbox/checkbox-impl.ts → lib/framework/impl/checkbox/checkbox-impl.js} +18 -25
- package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -0
- package/lib/framework/impl/comments/comment-content-impl.d.ts +40 -0
- package/{src/med_editor/framework/impl/comments/comment-content-impl.ts → lib/framework/impl/comments/comment-content-impl.js} +31 -45
- package/lib/framework/impl/comments/comment-content-impl.js.map +1 -0
- package/lib/framework/impl/comments/comment-element-impl.d.ts +21 -0
- package/{src/med_editor/framework/impl/comments/comment-element-impl.ts → lib/framework/impl/comments/comment-element-impl.js} +18 -21
- package/lib/framework/impl/comments/comment-element-impl.js.map +1 -0
- package/lib/framework/impl/comments/comments-container-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/comments/comments-container-impl.ts → lib/framework/impl/comments/comments-container-impl.js} +15 -21
- package/lib/framework/impl/comments/comments-container-impl.js.map +1 -0
- package/lib/framework/impl/comments/comments-util.d.ts +12 -0
- package/{src/med_editor/framework/impl/comments/comments-util.ts → lib/framework/impl/comments/comments-util.js} +17 -34
- package/lib/framework/impl/comments/comments-util.js.map +1 -0
- package/lib/framework/impl/comments/validate-msg-impl.d.ts +21 -0
- package/{src/med_editor/framework/impl/comments/validate-msg-impl.ts → lib/framework/impl/comments/validate-msg-impl.js} +15 -26
- package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-decorate-impl.d.ts +30 -0
- package/{src/med_editor/framework/impl/data-element/data-decorate-impl.ts → lib/framework/impl/data-element/data-decorate-impl.js} +21 -25
- package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-barcode.d.ts +31 -0
- package/{src/med_editor/framework/impl/data-element/data-element-barcode.ts → lib/framework/impl/data-element/data-element-barcode.js} +27 -39
- package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-base-impl.d.ts +68 -0
- package/{src/med_editor/framework/impl/data-element/data-element-base-impl.ts → lib/framework/impl/data-element/data-element-base-impl.js} +44 -73
- package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-check-impl.d.ts +35 -0
- package/{src/med_editor/framework/impl/data-element/data-element-check-impl.ts → lib/framework/impl/data-element/data-element-check-impl.js} +33 -46
- package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-date-impl.d.ts +23 -0
- package/{src/med_editor/framework/impl/data-element/data-element-date-impl.ts → lib/framework/impl/data-element/data-element-date-impl.js} +22 -39
- package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-group-impl.d.ts +23 -0
- package/{src/med_editor/framework/impl/data-element/data-element-group-impl.ts → lib/framework/impl/data-element/data-element-group-impl.js} +29 -49
- package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-image-impl.d.ts +30 -0
- package/{src/med_editor/framework/impl/data-element/data-element-image-impl.ts → lib/framework/impl/data-element/data-element-image-impl.js} +26 -36
- package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-list-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/data-element/data-element-list-impl.ts → lib/framework/impl/data-element/data-element-list-impl.js} +30 -41
- package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-text-impl.d.ts +23 -0
- package/{src/med_editor/framework/impl/data-element/data-element-text-impl.ts → lib/framework/impl/data-element/data-element-text-impl.js} +20 -34
- package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -0
- package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +21 -0
- package/{src/med_editor/framework/impl/decorate/fill-null-space-imple.ts → lib/framework/impl/decorate/fill-null-space-imple.js} +10 -15
- package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -0
- package/lib/framework/impl/document/doc-body-impl.d.ts +27 -0
- package/{src/med_editor/framework/impl/document/doc-body-impl.ts → lib/framework/impl/document/doc-body-impl.js} +15 -31
- package/lib/framework/impl/document/doc-body-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-body-part-impl.d.ts +30 -0
- package/{src/med_editor/framework/impl/document/doc-body-part-impl.ts → lib/framework/impl/document/doc-body-part-impl.js} +16 -26
- package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-container-impl.d.ts +16 -0
- package/lib/framework/impl/document/doc-container-impl.js +21 -0
- package/lib/framework/impl/document/doc-container-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-footer-impl.d.ts +26 -0
- package/{src/med_editor/framework/impl/document/doc-footer-impl.ts → lib/framework/impl/document/doc-footer-impl.js} +18 -29
- package/lib/framework/impl/document/doc-footer-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-header-impl.d.ts +26 -0
- package/{src/med_editor/framework/impl/document/doc-header-impl.ts → lib/framework/impl/document/doc-header-impl.js} +16 -33
- package/lib/framework/impl/document/doc-header-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-impl.d.ts +61 -0
- package/{src/med_editor/framework/impl/document/doc-impl.ts → lib/framework/impl/document/doc-impl.js} +42 -59
- package/lib/framework/impl/document/doc-impl.js.map +1 -0
- package/lib/framework/impl/media-formula/menstrual-history.d.ts +35 -0
- package/{src/med_editor/framework/impl/media-formula/menstrual-history.ts → lib/framework/impl/media-formula/menstrual-history.js} +35 -57
- package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -0
- package/lib/framework/impl/paragraph/p-impl.d.ts +45 -0
- package/{src/med_editor/framework/impl/paragraph/p-impl.ts → lib/framework/impl/paragraph/p-impl.js} +28 -62
- package/lib/framework/impl/paragraph/p-impl.js.map +1 -0
- package/lib/framework/impl/picture/image-impl.d.ts +31 -0
- package/{src/med_editor/framework/impl/picture/image-impl.ts → lib/framework/impl/picture/image-impl.js} +23 -35
- package/lib/framework/impl/picture/image-impl.js.map +1 -0
- package/lib/framework/impl/radio/radio-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/radio/radio-impl.ts → lib/framework/impl/radio/radio-impl.js} +19 -26
- package/lib/framework/impl/radio/radio-impl.js.map +1 -0
- package/lib/framework/impl/symbol/br-symbol-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/symbol/br-symbol-impl.ts → lib/framework/impl/symbol/br-symbol-impl.js} +14 -20
- package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -0
- package/lib/framework/impl/symbol/p-symbol-impl.d.ts +19 -0
- package/{src/med_editor/framework/impl/symbol/p-symbol-impl.ts → lib/framework/impl/symbol/p-symbol-impl.js} +11 -14
- package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -0
- package/lib/framework/impl/table/table-cell-impl.d.ts +37 -0
- package/{src/med_editor/framework/impl/table/table-cell-impl.ts → lib/framework/impl/table/table-cell-impl.js} +28 -39
- package/lib/framework/impl/table/table-cell-impl.js.map +1 -0
- package/lib/framework/impl/table/table-impl.d.ts +55 -0
- package/{src/med_editor/framework/impl/table/table-impl.ts → lib/framework/impl/table/table-impl.js} +82 -120
- package/lib/framework/impl/table/table-impl.js.map +1 -0
- package/lib/framework/impl/table/table-row-impl.d.ts +26 -0
- package/{src/med_editor/framework/impl/table/table-row-impl.ts → lib/framework/impl/table/table-row-impl.js} +16 -24
- package/lib/framework/impl/table/table-row-impl.js.map +1 -0
- package/lib/framework/impl/table/table-split-cell-patch.d.ts +20 -0
- package/{src/med_editor/framework/impl/table/table-split-cell-patch.ts → lib/framework/impl/table/table-split-cell-patch.js} +22 -31
- package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -0
- package/lib/framework/impl/table/table-split-cell.d.ts +90 -0
- package/{src/med_editor/framework/impl/table/table-split-cell.ts → lib/framework/impl/table/table-split-cell.js} +94 -105
- package/lib/framework/impl/table/table-split-cell.js.map +1 -0
- package/lib/framework/impl/table/table-util.d.ts +150 -0
- package/{src/med_editor/framework/impl/table/table-util.ts → lib/framework/impl/table/table-util.js} +157 -195
- package/lib/framework/impl/table/table-util.js.map +1 -0
- package/lib/framework/impl/text/text-impl.d.ts +32 -0
- package/{src/med_editor/framework/impl/text/text-impl.ts → lib/framework/impl/text/text-impl.js} +32 -46
- package/lib/framework/impl/text/text-impl.js.map +1 -0
- package/lib/framework/impl/text/track-run-impl.d.ts +27 -0
- package/{src/med_editor/framework/impl/text/track-run-impl.ts → lib/framework/impl/text/track-run-impl.js} +28 -51
- package/lib/framework/impl/text/track-run-impl.js.map +1 -0
- package/lib/framework/notify.d.ts +13 -0
- package/{src/med_editor/framework/notify.ts → lib/framework/notify.js} +36 -50
- package/lib/framework/notify.js.map +1 -0
- package/lib/framework/range-util.d.ts +40 -0
- package/{src/med_editor/framework/range-util.ts → lib/framework/range-util.js} +71 -80
- package/lib/framework/range-util.js.map +1 -0
- package/lib/framework/render-context.d.ts +91 -0
- package/{src/med_editor/framework/render-context.ts → lib/framework/render-context.js} +64 -111
- package/lib/framework/render-context.js.map +1 -0
- package/lib/framework/render-define.d.ts +109 -0
- package/{src/med_editor/framework/render-define.ts → lib/framework/render-define.js} +61 -90
- package/lib/framework/render-define.js.map +1 -0
- package/lib/framework/selection-overlays.d.ts +30 -0
- package/{src/med_editor/framework/selection-overlays.ts → lib/framework/selection-overlays.js} +16 -25
- package/lib/framework/selection-overlays.js.map +1 -0
- package/lib/texteditor.d.ts +318 -0
- package/{src/med_editor/texteditor.ts → lib/texteditor.js} +189 -286
- package/lib/texteditor.js.map +1 -0
- package/lib/util/subject.d.ts +34 -0
- package/lib/util/subject.js +88 -0
- package/lib/util/subject.js.map +1 -0
- package/lib/util/table-bind.d.ts +5 -0
- package/{src/med_editor/util/table-bind.ts → lib/util/table-bind.js} +2 -2
- package/lib/util/table-bind.js.map +1 -0
- package/package.json +2 -2
- package/src/med_editor/framework/common-util.ts +0 -200
- package/src/med_editor/framework/document-segmenter.ts +0 -211
- package/src/med_editor/framework/document-textline-mode.ts +0 -34
- package/src/med_editor/framework/element-event-define.ts +0 -141
- package/src/med_editor/framework/impl/document/doc-container-impl.ts +0 -24
- package/src/med_editor/util/subject.ts +0 -118
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +0 -315
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/211/271/346/263/250.json +0 -122
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/226/207/346/241/243/351/252/214/350/257/201.json +0 -3599
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/351/225/277/346/226/207/346/234/254.json +0 -24586
- package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
- package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
- package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
- package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/206/205/351/225/234/344/270/213/346/262/273/347/226/227/350/256/260/345/275/225.json +0 -125
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225/346/250/241/346/235/277.json +0 -86
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/227/245/345/270/270/347/227/205/347/250/213/350/256/260/345/275/225.json +0 -115
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/237/245/346/210/277/350/256/260/345/275/2251.json +0 -108
- package/src/med_editor//347/227/205/347/250/213/345/275/225//351/246/226/346/254/241/344/270/212/347/272/247/345/214/273/345/270/210/346/237/245/346/210/277/350/256/260/345/275/225.json +0 -272
- package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
@@ -1,68 +1,53 @@
|
|
1
1
|
import { runTextLineRender } from "./document-textline-mode";
|
2
|
-
import {
|
3
|
-
|
4
|
-
BlockContentElement,
|
5
|
-
BranchElement,
|
6
|
-
Element,
|
7
|
-
InlineGroupElement,
|
8
|
-
LeafElement,
|
9
|
-
ModifyFlag,
|
10
|
-
ViewOptions
|
11
|
-
} from "./element-define";
|
12
|
-
import { DataEleBaseProps, DataEleBaseTextProps, TextProps } from "./element-props";
|
2
|
+
import { BlockContainerElement, BlockContentElement, BranchElement, InlineGroupElement, LeafElement, ModifyFlag } from "./element-define";
|
3
|
+
import { TextProps } from "./element-props";
|
13
4
|
import { ElementUtil } from "./element-util";
|
14
5
|
import { DataElementInlineGroup } from "./impl/data-element/data-element-base-impl";
|
15
6
|
import { FillNullSpaceRenderObject } from "./impl/decorate/fill-null-space-imple";
|
16
|
-
import {
|
17
|
-
import { ParagraphElement, ParagraphLineRectRenderObject, ParagraphRenderObject } from "./impl/paragraph/p-impl";
|
7
|
+
import { ParagraphElement } from "./impl/paragraph/p-impl";
|
18
8
|
import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
|
19
|
-
import {
|
20
|
-
import {
|
21
|
-
BlockContainerRenderObject,
|
22
|
-
BlockContentRenderObject,
|
23
|
-
BranchRenderObject,
|
24
|
-
InlineGroupRenderObject,
|
25
|
-
LeafRenderObject,
|
26
|
-
RenderObject
|
27
|
-
} from "./render-define";
|
28
|
-
interface ICutLineData { firstItem: RenderObject | null, lastItem: RenderObject | null, br?: boolean }
|
9
|
+
import { BranchRenderObject, InlineGroupRenderObject, LeafRenderObject } from "./render-define";
|
29
10
|
/**
|
30
11
|
* 测量阶段,生成Render-UI
|
31
12
|
*/
|
32
13
|
export class ElementMeasure {
|
33
|
-
|
34
|
-
|
35
|
-
|
14
|
+
options;
|
15
|
+
renderCtx;
|
16
|
+
constructor(options, renderCtx) {
|
17
|
+
this.options = options;
|
18
|
+
this.renderCtx = renderCtx;
|
19
|
+
}
|
20
|
+
measureDocument(document) {
|
36
21
|
this.clearPaintCache(document);
|
37
|
-
const docRender = this.measureControl(document, this.options.docPageSettings.width)
|
22
|
+
const docRender = this.measureControl(document, this.options.docPageSettings.width);
|
38
23
|
this.setMeasureCompletedModifyFlag(document);
|
39
24
|
runTextLineRender(document, this.options, this.renderCtx);
|
40
25
|
return docRender;
|
41
26
|
}
|
42
|
-
|
43
|
-
measureControl(element: Element, maxWidth: number): RenderObject | null {
|
27
|
+
measureControl(element, maxWidth) {
|
44
28
|
if (element.modifyFlag === ModifyFlag.None) {
|
45
29
|
return element.measureRender;
|
46
30
|
}
|
47
31
|
if (element instanceof BlockContentElement) {
|
48
|
-
const render = element.createRenderObject(this.options, this.renderCtx)
|
32
|
+
const render = element.createRenderObject(this.options, this.renderCtx);
|
49
33
|
element.measureRender = render;
|
50
34
|
//测量阶段,只限制最大宽度即可
|
51
35
|
render.setRenderWidth(maxWidth);
|
52
36
|
if (element instanceof ParagraphElement) {
|
53
|
-
this.measureParagraph(element, render
|
54
|
-
}
|
37
|
+
this.measureParagraph(element, render);
|
38
|
+
}
|
39
|
+
else {
|
55
40
|
throw new Error('未实现');
|
56
41
|
}
|
57
42
|
return render;
|
58
|
-
|
59
|
-
|
43
|
+
}
|
44
|
+
else if (element instanceof BlockContainerElement) {
|
60
45
|
ElementUtil.fixBlockContainer(element);
|
61
|
-
let render
|
46
|
+
let render = null;
|
62
47
|
if (element.modifyFlag === ModifyFlag.Modify || element.modifyFlag === ModifyFlag.Track) {
|
63
48
|
ElementUtil.fixBlockContainer(element);
|
64
49
|
element.measureRender = null;
|
65
|
-
render = element.createRenderObject(this.options, this.renderCtx)
|
50
|
+
render = element.createRenderObject(this.options, this.renderCtx);
|
66
51
|
if (!render) {
|
67
52
|
element.measureRender = null;
|
68
53
|
return null;
|
@@ -72,14 +57,14 @@ export class ElementMeasure {
|
|
72
57
|
}
|
73
58
|
}
|
74
59
|
if (!render) {
|
75
|
-
throw new Error('render is null')
|
60
|
+
throw new Error('render is null');
|
76
61
|
}
|
77
62
|
element.measureRender = render;
|
78
63
|
const innerMaxWidth = render.getInnerMaxWidth();
|
79
64
|
for (let i = 0; i < element.length; i++) {
|
80
65
|
const child = element.getChild(i);
|
81
|
-
const blockContentELement = child
|
82
|
-
const childRender = this.measureControl(blockContentELement, innerMaxWidth)
|
66
|
+
const blockContentELement = child;
|
67
|
+
const childRender = this.measureControl(blockContentELement, innerMaxWidth);
|
83
68
|
if (!childRender) {
|
84
69
|
continue;
|
85
70
|
}
|
@@ -87,20 +72,20 @@ export class ElementMeasure {
|
|
87
72
|
}
|
88
73
|
ElementUtil.remeasure(render);
|
89
74
|
return render;
|
90
|
-
}
|
75
|
+
}
|
76
|
+
else {
|
91
77
|
throw new Error('未实现');
|
92
78
|
}
|
93
79
|
}
|
94
|
-
|
95
80
|
/**
|
96
81
|
* 生成段落 UI 树
|
97
|
-
* @param para
|
98
|
-
* @param render
|
82
|
+
* @param para
|
83
|
+
* @param render
|
99
84
|
*/
|
100
|
-
measureParagraph(para
|
85
|
+
measureParagraph(para, render) {
|
101
86
|
ElementUtil.fixParagraphContent(para);
|
102
87
|
this.setParagraphDefaultTextProps(para);
|
103
|
-
const renderObjects
|
88
|
+
const renderObjects = [];
|
104
89
|
for (let i = 0; i < para.length; i++) {
|
105
90
|
const child = para.getChild(i);
|
106
91
|
if (child instanceof InlineGroupElement) {
|
@@ -118,41 +103,39 @@ export class ElementMeasure {
|
|
118
103
|
}
|
119
104
|
this.measureInnerParagraph(render, para, renderObjects);
|
120
105
|
}
|
121
|
-
|
122
|
-
|
123
106
|
/**
|
124
107
|
* 设置段落默认文本属性
|
125
108
|
* 当前段落属于空段落时,键入文本时,文本的默认属性
|
126
109
|
*/
|
127
|
-
setParagraphDefaultTextProps(para
|
128
|
-
const lastTextGroup = ElementUtil.getLastLeafElement(para, (item) => item instanceof TextGroupElement)
|
110
|
+
setParagraphDefaultTextProps(para) {
|
111
|
+
const lastTextGroup = ElementUtil.getLastLeafElement(para, (item) => item instanceof TextGroupElement);
|
129
112
|
const defaultTextProps = lastTextGroup ? lastTextGroup.props.clone(new TextProps()) : ElementUtil.createTextProps(null, this.options);
|
130
113
|
if (para.props.textProps && para.props.textProps.equals(defaultTextProps)) {
|
131
114
|
return;
|
132
115
|
}
|
133
116
|
para.props.textProps = defaultTextProps;
|
134
117
|
}
|
135
|
-
|
136
118
|
/**
|
137
119
|
* 根据段落UI元素,进行排列
|
138
|
-
* @param render
|
139
|
-
* @param paragraph
|
140
|
-
* @param renderObjects
|
120
|
+
* @param render
|
121
|
+
* @param paragraph
|
122
|
+
* @param renderObjects
|
141
123
|
*/
|
142
|
-
measureInnerParagraph(render
|
124
|
+
measureInnerParagraph(render, paragraph, renderObjects) {
|
143
125
|
let lineRect = render.createLineRect();
|
144
126
|
//行内框
|
145
|
-
const innerLineRects
|
146
|
-
const addInnerLineFunc = (lineRect
|
127
|
+
const innerLineRects = [];
|
128
|
+
const addInnerLineFunc = (lineRect) => {
|
147
129
|
innerLineRects.push(lineRect);
|
148
130
|
if (lineRect.rect.maxWidth <= 0) {
|
149
|
-
throw new Error('lineRect.rect.maxWidth is ' + lineRect.rect.maxWidth)
|
131
|
+
throw new Error('lineRect.rect.maxWidth is ' + lineRect.rect.maxWidth);
|
150
132
|
}
|
151
133
|
if (innerLineRects.indexOf(lineRect) === 0) {
|
152
134
|
if (paragraph.props.indent > 0) {
|
153
135
|
lineRect.rect.maxWidth -= paragraph.props.indent;
|
154
136
|
}
|
155
|
-
}
|
137
|
+
}
|
138
|
+
else {
|
156
139
|
lineRect.rect.maxWidth -= paragraph.props.hanging;
|
157
140
|
}
|
158
141
|
};
|
@@ -161,7 +144,7 @@ export class ElementMeasure {
|
|
161
144
|
let currItem = renderObjects[i++];
|
162
145
|
const inCloseBody = paragraph.parent.type === 'body';
|
163
146
|
while (currItem) {
|
164
|
-
const maxWidth = lineRect.rect.maxWidth
|
147
|
+
const maxWidth = lineRect.rect.maxWidth;
|
165
148
|
const nextItem = renderObjects[i];
|
166
149
|
const { firstItem, lastItem, br } = this.cutRenderItem(currItem, nextItem, maxWidth - lineRect.rect.width, lineRect.length === 0, inCloseBody);
|
167
150
|
if (firstItem) {
|
@@ -169,7 +152,8 @@ export class ElementMeasure {
|
|
169
152
|
renderObjects.splice(i, 0, lastItem);
|
170
153
|
}
|
171
154
|
currItem = firstItem;
|
172
|
-
}
|
155
|
+
}
|
156
|
+
else {
|
173
157
|
lineRect = render.createLineRect();
|
174
158
|
addInnerLineFunc(lineRect);
|
175
159
|
continue;
|
@@ -188,7 +172,7 @@ export class ElementMeasure {
|
|
188
172
|
currItem = renderObjects[i++];
|
189
173
|
}
|
190
174
|
for (let i = 0; i < innerLineRects.length; i++) {
|
191
|
-
const innerLineRect = innerLineRects[i]
|
175
|
+
const innerLineRect = innerLineRects[i];
|
192
176
|
innerLineRect.rect.x = this.getParaLineRectStartX(innerLineRects.length, i, paragraph, render, innerLineRect);
|
193
177
|
//限制最大行高
|
194
178
|
const maxLineHeight = Math.floor(14 * 1.3);
|
@@ -204,18 +188,17 @@ export class ElementMeasure {
|
|
204
188
|
}
|
205
189
|
//render.rect.height += lineRect.rect.height;
|
206
190
|
const outterLineRect = render.createLineRect();
|
207
|
-
outterLineRect.rect.width = outterLineRect.rect.maxWidth
|
191
|
+
outterLineRect.rect.width = outterLineRect.rect.maxWidth;
|
208
192
|
outterLineRect.addChild(innerLineRect);
|
209
193
|
ElementUtil.remeasure(outterLineRect, false);
|
210
194
|
render.addChild(outterLineRect);
|
211
195
|
}
|
212
196
|
ElementUtil.remeasure(render);
|
213
197
|
}
|
214
|
-
|
215
198
|
/**
|
216
199
|
* 获取段落行布局横向坐标起始位置,被段落text-align影响
|
217
200
|
*/
|
218
|
-
getParaLineRectStartX(counter
|
201
|
+
getParaLineRectStartX(counter, paraLineIndex, paraElement, paraRenderObject, paraLineRender) {
|
219
202
|
//左对齐,首行缩进
|
220
203
|
let indent = paraElement.props.indent;
|
221
204
|
//存在项目符号
|
@@ -225,29 +208,31 @@ export class ElementMeasure {
|
|
225
208
|
if (paraElement.props.textAlign === 'center') {
|
226
209
|
const remainSpace = paraRenderObject.rect.width - paraLineRender.rect.width;
|
227
210
|
return Math.ceil(remainSpace / 2) + indent;
|
228
|
-
}
|
211
|
+
}
|
212
|
+
else if (paraElement.props.textAlign === 'right') {
|
229
213
|
const remainSpace = paraRenderObject.rect.width - paraLineRender.rect.width;
|
230
214
|
return remainSpace + indent;
|
231
|
-
}
|
215
|
+
}
|
216
|
+
else if (paraElement.props.textAlign === 'justify') {
|
232
217
|
const renderUnitCount = this.getRenderUnitLength(paraLineRender);
|
233
218
|
if (paraLineIndex === counter - 1 || renderUnitCount === 1) {
|
234
219
|
return indent;
|
235
220
|
}
|
236
|
-
const spaceWidth = (
|
221
|
+
const spaceWidth = (paraLineRender.rect.maxWidth - paraLineRender.rect.width) / (renderUnitCount - 1);
|
237
222
|
this.setAlignJustify(paraLineRender, 0, spaceWidth);
|
238
223
|
return indent;
|
239
|
-
}
|
224
|
+
}
|
225
|
+
else {
|
240
226
|
return indent;
|
241
227
|
}
|
242
228
|
}
|
243
|
-
|
244
229
|
/**
|
245
230
|
* 设置两端对齐
|
246
|
-
* @param render
|
247
|
-
* @param count
|
248
|
-
* @param spaceWidth
|
231
|
+
* @param render
|
232
|
+
* @param count
|
233
|
+
* @param spaceWidth
|
249
234
|
*/
|
250
|
-
|
235
|
+
setAlignJustify(render, count, spaceWidth) {
|
251
236
|
if (render instanceof BranchRenderObject) {
|
252
237
|
let width = 0;
|
253
238
|
for (let i = 0; i < render.length; i++) {
|
@@ -257,7 +242,8 @@ export class ElementMeasure {
|
|
257
242
|
width += currRender.rect.width;
|
258
243
|
}
|
259
244
|
render.rect.width = width;
|
260
|
-
}
|
245
|
+
}
|
246
|
+
else if (render instanceof LeafRenderObject) {
|
261
247
|
if (render instanceof TextGroupRenderObject) {
|
262
248
|
let i = count === 0 ? 1 : 0;
|
263
249
|
for (; i < render.textMeasures.length; i++) {
|
@@ -265,7 +251,8 @@ export class ElementMeasure {
|
|
265
251
|
}
|
266
252
|
render.measure();
|
267
253
|
count += render.textMeasures.length;
|
268
|
-
}
|
254
|
+
}
|
255
|
+
else {
|
269
256
|
if (count !== 0) {
|
270
257
|
render.rect.width += spaceWidth;
|
271
258
|
}
|
@@ -274,30 +261,29 @@ export class ElementMeasure {
|
|
274
261
|
}
|
275
262
|
return count;
|
276
263
|
}
|
277
|
-
|
278
264
|
/**
|
279
265
|
* 获取段落行渲染单位个数,字符需要计算为字符长度
|
280
266
|
*/
|
281
|
-
|
267
|
+
getRenderUnitLength(paraLine) {
|
282
268
|
if (paraLine instanceof LeafRenderObject) {
|
283
269
|
if (paraLine instanceof TextGroupRenderObject) {
|
284
270
|
return paraLine.textMeasures.length;
|
285
|
-
}
|
271
|
+
}
|
272
|
+
else {
|
286
273
|
return 1;
|
287
274
|
}
|
288
|
-
}
|
275
|
+
}
|
276
|
+
else if (paraLine instanceof BranchRenderObject) {
|
289
277
|
let count = 0;
|
290
278
|
for (let i = 0; i < paraLine.length; i++) {
|
291
279
|
count += this.getRenderUnitLength(paraLine.getChild(i));
|
292
280
|
}
|
293
281
|
return count;
|
294
282
|
}
|
295
|
-
throw new Error('未到达计算位置')
|
283
|
+
throw new Error('未到达计算位置');
|
296
284
|
}
|
297
|
-
|
298
|
-
|
299
|
-
getInlineGroupRenderItem(item: InlineGroupElement): RenderObject | null {
|
300
|
-
const inlineGroupRender = item.createRenderObject(this.options, this.renderCtx) as InlineGroupRenderObject;
|
285
|
+
getInlineGroupRenderItem(item) {
|
286
|
+
const inlineGroupRender = item.createRenderObject(this.options, this.renderCtx);
|
301
287
|
if (!inlineGroupRender) {
|
302
288
|
return null;
|
303
289
|
}
|
@@ -309,16 +295,17 @@ export class ElementMeasure {
|
|
309
295
|
if (child.measureRender) {
|
310
296
|
inlineGroupRender.addChild(child.measureRender);
|
311
297
|
}
|
312
|
-
}
|
298
|
+
}
|
299
|
+
else if (child instanceof InlineGroupElement) {
|
313
300
|
item.measureRender = this.getInlineGroupRenderItem(child);
|
314
301
|
if (item.measureRender) {
|
315
302
|
inlineGroupRender.addChild(item.measureRender);
|
316
303
|
}
|
317
|
-
}
|
318
|
-
|
304
|
+
}
|
305
|
+
else {
|
306
|
+
throw new Error('未实现');
|
319
307
|
}
|
320
308
|
}
|
321
|
-
|
322
309
|
ElementUtil.remeasureInlineGroupRender(inlineGroupRender);
|
323
310
|
//限制最小长度
|
324
311
|
if (item instanceof DataElementInlineGroup) {
|
@@ -327,14 +314,14 @@ export class ElementMeasure {
|
|
327
314
|
const nullText = new TextGroupElement();
|
328
315
|
nullText.isDecorate = true;
|
329
316
|
nullText.disableClick = true;
|
330
|
-
const baseTextProps =
|
331
|
-
nullText.text = baseTextProps.nullText
|
317
|
+
const baseTextProps = item.props;
|
318
|
+
nullText.text = baseTextProps.nullText;
|
332
319
|
baseTextProps.nullTextProps.clone(nullText.props);
|
333
320
|
const nullTextRender = nullText.createRenderObject(this.options, this.renderCtx);
|
334
321
|
inlineGroupRender.insertChild(nullTextRender, 1);
|
335
322
|
ElementUtil.remeasureInlineGroupRender(inlineGroupRender);
|
336
323
|
}
|
337
|
-
const props =
|
324
|
+
const props = item.props;
|
338
325
|
let minLength = props.minLength ?? 14;
|
339
326
|
minLength = minLength < 14 ? 14 : minLength;
|
340
327
|
if (item instanceof DataElementInlineGroup && inlineGroupRender.rect.width < minLength) {
|
@@ -347,9 +334,7 @@ export class ElementMeasure {
|
|
347
334
|
}
|
348
335
|
return inlineGroupRender;
|
349
336
|
}
|
350
|
-
|
351
|
-
|
352
|
-
cutRenderItem(render: RenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData {
|
337
|
+
cutRenderItem(render, nextRender, limitWidth, lineEmpty, inCloseBody) {
|
353
338
|
if (render instanceof LeafRenderObject) {
|
354
339
|
if (render.rect.width > limitWidth && render instanceof TextGroupRenderObject) {
|
355
340
|
return this.cutTextRender(render, nextRender, limitWidth, lineEmpty, inCloseBody);
|
@@ -361,15 +346,15 @@ export class ElementMeasure {
|
|
361
346
|
return { firstItem: render, lastItem: null, br: render.element.type === 'br' };
|
362
347
|
}
|
363
348
|
return { firstItem: null, lastItem: null };
|
364
|
-
}
|
349
|
+
}
|
350
|
+
else if (render instanceof InlineGroupRenderObject) {
|
365
351
|
return this.cutInlineGroupRenderItem(render, limitWidth, lineEmpty, inCloseBody);
|
366
352
|
}
|
367
|
-
throw new Error('到达计算边界')
|
353
|
+
throw new Error('到达计算边界');
|
368
354
|
}
|
369
|
-
|
370
|
-
cutTextRender(render: TextGroupRenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData {
|
355
|
+
cutTextRender(render, nextRender, limitWidth, lineEmpty, inCloseBody) {
|
371
356
|
let sumWidth = 0;
|
372
|
-
const cutRender = render.clone()
|
357
|
+
const cutRender = render.clone();
|
373
358
|
cutRender.textMeasures.length = 0;
|
374
359
|
let i = 0;
|
375
360
|
for (; i < render.textMeasures.length; i++) {
|
@@ -388,19 +373,17 @@ export class ElementMeasure {
|
|
388
373
|
if (i <= 0) {
|
389
374
|
return { firstItem: null, lastItem: null };
|
390
375
|
}
|
391
|
-
|
392
376
|
cutRender.textMeasures = render.textMeasures.splice(0, i);
|
393
377
|
render.measure();
|
394
378
|
cutRender.measure();
|
395
379
|
return { firstItem: cutRender, lastItem: render, br: true };
|
396
380
|
}
|
397
|
-
|
398
381
|
/**
|
399
382
|
* 处理前置标点,前置标点不能出现在末尾
|
400
|
-
* @param render
|
401
|
-
* @param i
|
383
|
+
* @param render
|
384
|
+
* @param i
|
402
385
|
*/
|
403
|
-
|
386
|
+
patchHandleLeadingPunctuation(render, i, lineEmpty) {
|
404
387
|
if (i === 1 && lineEmpty) {
|
405
388
|
return i;
|
406
389
|
}
|
@@ -409,14 +392,13 @@ export class ElementMeasure {
|
|
409
392
|
}
|
410
393
|
return i;
|
411
394
|
}
|
412
|
-
|
413
395
|
/**
|
414
396
|
* 处理后置标点,后置标点不能出现在行首
|
415
|
-
* @param render
|
416
|
-
* @param i
|
417
|
-
* @param lineEmpty
|
397
|
+
* @param render
|
398
|
+
* @param i
|
399
|
+
* @param lineEmpty
|
418
400
|
*/
|
419
|
-
|
401
|
+
patchHandlePostPunctuation(render, nextRender, i, inCloseBody, lineEmpty) {
|
420
402
|
if (i === render.textMeasures.length - 1) {
|
421
403
|
//紧跟着的字符包含后置标点
|
422
404
|
if (this.containerStartSymbolInTextStart(nextRender)) {
|
@@ -426,10 +408,12 @@ export class ElementMeasure {
|
|
426
408
|
if (inCloseBody && this.containPostPunctuation(render.textMeasures[i]?.char)) {
|
427
409
|
if (this.containPostPunctuation(render.textMeasures[i + 1]?.char)) {
|
428
410
|
i--;
|
429
|
-
}
|
411
|
+
}
|
412
|
+
else {
|
430
413
|
i++;
|
431
414
|
}
|
432
|
-
}
|
415
|
+
}
|
416
|
+
else {
|
433
417
|
if (i <= 1) {
|
434
418
|
//debugger;
|
435
419
|
}
|
@@ -439,27 +423,24 @@ export class ElementMeasure {
|
|
439
423
|
}
|
440
424
|
return i;
|
441
425
|
}
|
442
|
-
|
443
426
|
/**
|
444
427
|
* 是否包含后置标点
|
445
|
-
* @param str
|
446
|
-
* @returns
|
428
|
+
* @param str
|
429
|
+
* @returns
|
447
430
|
*/
|
448
|
-
|
431
|
+
containPostPunctuation(str) {
|
449
432
|
return '!),.:;?]}¨·ˇˉ―‖’”…∶、。〃々〉》」』】〕〗!"'),.:;?]`|}~¢'.indexOf(str) > -1;
|
450
433
|
}
|
451
|
-
|
452
434
|
//是否包含前置标点
|
453
|
-
|
435
|
+
containLeadingPunctuation(str) {
|
454
436
|
return '‘“〈《「『【〔〖([{£'.indexOf(str) > -1;
|
455
437
|
}
|
456
|
-
|
457
438
|
/**
|
458
439
|
* 文本开头是否包含后置标点
|
459
|
-
* @param render
|
460
|
-
* @returns
|
440
|
+
* @param render
|
441
|
+
* @returns
|
461
442
|
*/
|
462
|
-
|
443
|
+
containerStartSymbolInTextStart(render) {
|
463
444
|
//return false;
|
464
445
|
if (render instanceof TextGroupRenderObject) {
|
465
446
|
if (render.textMeasures.length > 0) {
|
@@ -468,27 +449,26 @@ export class ElementMeasure {
|
|
468
449
|
}
|
469
450
|
return false;
|
470
451
|
}
|
471
|
-
|
472
|
-
cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData {
|
452
|
+
cutFillNullRender(render, limitWidth) {
|
473
453
|
if (limitWidth === 0) {
|
474
|
-
return { firstItem: null, lastItem: null }
|
454
|
+
return { firstItem: null, lastItem: null };
|
475
455
|
}
|
476
456
|
if (render.rect.width > limitWidth) {
|
477
457
|
const cutRender = new FillNullSpaceRenderObject();
|
478
458
|
cutRender.rect.width = limitWidth;
|
479
459
|
cutRender.rect.height = render.rect.height;
|
480
460
|
render.rect.width = render.rect.width - limitWidth;
|
481
|
-
return { firstItem: cutRender, lastItem: render }
|
482
|
-
}
|
483
|
-
|
461
|
+
return { firstItem: cutRender, lastItem: render };
|
462
|
+
}
|
463
|
+
else {
|
464
|
+
return { firstItem: render, lastItem: null };
|
484
465
|
}
|
485
466
|
}
|
486
|
-
|
487
467
|
/**
|
488
468
|
* 行内编组元素超出行内可用空间,需要根据剩余空间长度进行截断
|
489
469
|
*/
|
490
|
-
cutInlineGroupRenderItem(render
|
491
|
-
const cutRender = render.element.createRenderObject(this.options, this.renderCtx)
|
470
|
+
cutInlineGroupRenderItem(render, limitWidth, emptyLine, inCloseBody) {
|
471
|
+
const cutRender = render.element.createRenderObject(this.options, this.renderCtx);
|
492
472
|
let x = 0;
|
493
473
|
let br = false;
|
494
474
|
const items = [...render.getItems()];
|
@@ -506,7 +486,8 @@ export class ElementMeasure {
|
|
506
486
|
}
|
507
487
|
br = childBr || br;
|
508
488
|
break;
|
509
|
-
}
|
489
|
+
}
|
490
|
+
else {
|
510
491
|
render.removeChild(child);
|
511
492
|
cutRender.addChild(child);
|
512
493
|
}
|
@@ -515,7 +496,8 @@ export class ElementMeasure {
|
|
515
496
|
br = true;
|
516
497
|
break;
|
517
498
|
}
|
518
|
-
}
|
499
|
+
}
|
500
|
+
else if (child instanceof InlineGroupRenderObject) {
|
519
501
|
if (x + child.rect.width > limitWidth) {
|
520
502
|
const { firstItem, br: childBr } = this.cutInlineGroupRenderItem(child, limitWidth - x, emptyLine && cutRender.length === 0, inCloseBody);
|
521
503
|
if (firstItem) {
|
@@ -523,7 +505,8 @@ export class ElementMeasure {
|
|
523
505
|
}
|
524
506
|
br = childBr || br;
|
525
507
|
break;
|
526
|
-
}
|
508
|
+
}
|
509
|
+
else {
|
527
510
|
render.removeChild(child);
|
528
511
|
cutRender.addChild(child);
|
529
512
|
}
|
@@ -537,12 +520,11 @@ export class ElementMeasure {
|
|
537
520
|
ElementUtil.remeasureInlineGroupRender(render);
|
538
521
|
return { firstItem: cutRender, lastItem: render.length ? render : null, br };
|
539
522
|
}
|
540
|
-
|
541
523
|
/**
|
542
524
|
* 修改测量完毕后的元素状态
|
543
|
-
* @param ele
|
525
|
+
* @param ele
|
544
526
|
*/
|
545
|
-
setMeasureCompletedModifyFlag(ele
|
527
|
+
setMeasureCompletedModifyFlag(ele) {
|
546
528
|
if (ele instanceof BranchElement) {
|
547
529
|
for (let i = 0; i < ele.length; i++) {
|
548
530
|
this.setMeasureCompletedModifyFlag(ele.getChild(i));
|
@@ -550,8 +532,7 @@ export class ElementMeasure {
|
|
550
532
|
}
|
551
533
|
ele.modifyFlag = ModifyFlag.None;
|
552
534
|
}
|
553
|
-
|
554
|
-
clearPaintCache(ele: Element): void {
|
535
|
+
clearPaintCache(ele) {
|
555
536
|
ele.beginMeasure();
|
556
537
|
if (ele instanceof BranchElement) {
|
557
538
|
for (let i = 0; i < ele.length; i++) {
|
@@ -559,15 +540,12 @@ export class ElementMeasure {
|
|
559
540
|
}
|
560
541
|
}
|
561
542
|
}
|
562
|
-
|
563
|
-
endMeasures(ele: Element): void {
|
543
|
+
endMeasures(ele) {
|
564
544
|
if (ele instanceof BranchElement) {
|
565
545
|
for (let i = 0; i < ele.length; i++) {
|
566
546
|
this.endMeasures(ele.getChild(i));
|
567
547
|
}
|
568
548
|
}
|
569
549
|
}
|
570
|
-
|
571
|
-
|
572
|
-
|
573
550
|
}
|
551
|
+
//# sourceMappingURL=element-measure.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"element-measure.js","sourceRoot":"lib/","sources":["framework/element-measure.ts"],"names":[],"mappings":"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"}
|