@hailin-zheng/editor-core 2.2.3 → 2.2.5
Sign up to get free protection for your applications and to get access to all the features.
- package/editor.css +694 -610
- package/index-cjs.d.ts +32 -31
- package/index-cjs.js +22649 -22205
- package/index-cjs.js.map +1 -1
- package/index.d.ts +32 -31
- package/index.js +22647 -22207
- package/index.js.map +1 -1
- package/med_editor/doc-editor.d.ts +493 -464
- package/med_editor/doc-rule.d.ts +46 -46
- package/med_editor/editor-core.d.ts +21 -21
- package/med_editor/framework/code-interpreter/ast-parser.d.ts +4 -4
- package/med_editor/framework/code-interpreter/document-eval-func.d.ts +18 -18
- package/med_editor/framework/code-interpreter/dynamic-execute.d.ts +23 -23
- package/med_editor/framework/doc-layout/document-arrange.d.ts +86 -86
- package/med_editor/framework/doc-layout/paragraph-arrange.d.ts +107 -107
- package/med_editor/framework/document-change.d.ts +314 -295
- package/med_editor/framework/document-combine.d.ts +24 -24
- package/med_editor/framework/document-comment.d.ts +38 -38
- package/med_editor/framework/document-context.d.ts +138 -133
- package/med_editor/framework/document-event.d.ts +251 -251
- package/med_editor/framework/document-input-cursor.d.ts +32 -43
- package/med_editor/framework/document-paginator.d.ts +46 -46
- package/med_editor/framework/document-svg.d.ts +36 -36
- package/med_editor/framework/document-template.d.ts +13 -13
- package/med_editor/framework/document-textline-mode.d.ts +6 -6
- package/med_editor/framework/element-define.d.ts +413 -409
- package/med_editor/framework/element-event-define.d.ts +104 -107
- package/med_editor/framework/element-props.d.ts +343 -343
- package/med_editor/framework/element-reader.d.ts +20 -20
- package/med_editor/framework/element-serialize.d.ts +36 -36
- package/med_editor/framework/element-type-handler.d.ts +8 -9
- package/med_editor/framework/history/element-trace-manage.d.ts +107 -107
- package/med_editor/framework/history/element-trace-tracking.d.ts +89 -89
- package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +19 -19
- package/med_editor/framework/impl/comments/comment-content-impl.d.ts +39 -39
- package/med_editor/framework/impl/comments/comment-element-impl.d.ts +24 -24
- package/med_editor/framework/impl/comments/comments-container-impl.d.ts +19 -19
- package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +19 -19
- package/med_editor/framework/impl/data-element/data-container-impl.d.ts +25 -0
- package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +15 -15
- package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +32 -32
- package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +96 -96
- package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +26 -26
- package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +23 -23
- package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +17 -17
- package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +23 -23
- package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +21 -21
- package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +22 -22
- package/med_editor/framework/impl/data-element/qrcode.d.ts +93 -93
- package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +16 -16
- package/med_editor/framework/impl/document/doc-body-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +22 -22
- package/med_editor/framework/impl/document/doc-container-impl.d.ts +7 -7
- package/med_editor/framework/impl/document/doc-footer-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-header-impl.d.ts +19 -19
- package/med_editor/framework/impl/document/doc-impl.d.ts +72 -72
- package/med_editor/framework/impl/index.d.ts +40 -39
- package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +31 -31
- package/med_editor/framework/impl/media-formula/permanent-teeth.d.ts +34 -34
- package/med_editor/framework/impl/paragraph/p-impl.d.ts +38 -38
- package/med_editor/framework/impl/picture/RectEle.d.ts +44 -44
- package/med_editor/framework/impl/picture/image-impl.d.ts +24 -24
- package/med_editor/framework/impl/radio/radio-impl.d.ts +17 -17
- package/med_editor/framework/impl/svg/svg-impl.d.ts +20 -20
- package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +18 -18
- package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +16 -16
- package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +20 -20
- package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +15 -15
- package/med_editor/framework/impl/table/table-cell-impl.d.ts +34 -34
- package/med_editor/framework/impl/table/table-impl.d.ts +49 -49
- package/med_editor/framework/impl/table/table-row-impl.d.ts +27 -27
- package/med_editor/framework/impl/table/table-split-cell-patch.d.ts +20 -20
- package/med_editor/framework/impl/table/table-split-cell.d.ts +93 -92
- package/med_editor/framework/impl/table/table-util.d.ts +180 -180
- package/med_editor/framework/impl/text/text-impl.d.ts +34 -34
- package/med_editor/framework/impl/text/track-run-impl.d.ts +27 -27
- package/med_editor/framework/infrastructure/event-subject.d.ts +57 -56
- package/med_editor/framework/infrastructure/notify.d.ts +13 -13
- package/med_editor/framework/print/document-print-offscreen.d.ts +58 -58
- package/med_editor/framework/print/document-print.d.ts +18 -18
- package/med_editor/framework/render-context.d.ts +111 -111
- package/med_editor/framework/render-define.d.ts +141 -141
- package/med_editor/framework/selection/document-selection.d.ts +92 -91
- package/med_editor/framework/selection/range-util.d.ts +36 -36
- package/med_editor/framework/selection/selection-overlays.d.ts +32 -32
- package/med_editor/framework/suggestions/input-suggestions.d.ts +29 -0
- package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -12
- package/med_editor/framework/util/common-util.d.ts +76 -76
- package/med_editor/framework/util/document-segmenter.d.ts +2 -2
- package/med_editor/framework/util/element-util.d.ts +410 -410
- package/med_editor/framework/vnode/editor-calendar-vnode.d.ts +42 -42
- package/package.json +19 -19
@@ -1,58 +1,58 @@
|
|
1
|
-
import { EditorContext } from "../document-context";
|
2
|
-
import { DocumentPaginator } from "../document-paginator";
|
3
|
-
import { ViewOptions } from "../element-define";
|
4
|
-
import { ElementReader } from "../element-reader";
|
5
|
-
import { DocumentElement, DocumentRenderObject } from "../impl/document/doc-impl";
|
6
|
-
import { IRenderContextContract, RenderContext } from "../render-context";
|
7
|
-
import { Subject } from "../infrastructure/event-subject";
|
8
|
-
import { EditorVNodeObject } from "../render-define";
|
9
|
-
interface IAfterRenderEvent {
|
10
|
-
index: number;
|
11
|
-
renderCtx: IRenderContextContract;
|
12
|
-
docRender: DocumentRenderObject;
|
13
|
-
pageSvgVNode: EditorVNodeObject;
|
14
|
-
}
|
15
|
-
/**
|
16
|
-
* 离屏打印
|
17
|
-
*/
|
18
|
-
export declare abstract class DocumentPrintOffscreenBase {
|
19
|
-
documentPaginator: DocumentPaginator;
|
20
|
-
viewOptions: ViewOptions;
|
21
|
-
docCtx: EditorContext;
|
22
|
-
renderCtx: RenderContext;
|
23
|
-
elementReader: ElementReader;
|
24
|
-
beforeRenderEvent: Subject<IAfterRenderEvent>;
|
25
|
-
afterRenderEvent: Subject<IAfterRenderEvent>;
|
26
|
-
beforePrint: Subject<void>;
|
27
|
-
afterPrint: Subject<void>;
|
28
|
-
constructor();
|
29
|
-
print(data: any | DocumentElement, ranges?: Array<number> | null): void;
|
30
|
-
/**
|
31
|
-
* 续打
|
32
|
-
*/
|
33
|
-
printForContinuation(data: any | DocumentElement, options: {
|
34
|
-
startY: number;
|
35
|
-
startDocIndex: number;
|
36
|
-
}): void;
|
37
|
-
getPrintNodes(data: any | DocumentElement, ranges?: Array<number> | null): Array<string>;
|
38
|
-
Encode64(str: any): string;
|
39
|
-
/**
|
40
|
-
* 读取数据,排版
|
41
|
-
* @param data
|
42
|
-
*/
|
43
|
-
prepare(data: any | DocumentElement): void;
|
44
|
-
getSvgNodes(docRenders: Array<DocumentRenderObject>, printRanges?: Array<number> | null): Array<string>;
|
45
|
-
abstract createCanvas(width: number, height: number): {
|
46
|
-
canvas: HTMLCanvasElement;
|
47
|
-
ctx: CanvasRenderingContext2D;
|
48
|
-
};
|
49
|
-
abstract createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContext;
|
50
|
-
}
|
51
|
-
export declare class DocumentPrintOffscreen extends DocumentPrintOffscreenBase {
|
52
|
-
createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContext;
|
53
|
-
createCanvas(width: number, height: number): {
|
54
|
-
canvas: HTMLCanvasElement;
|
55
|
-
ctx: CanvasRenderingContext2D;
|
56
|
-
};
|
57
|
-
}
|
58
|
-
export {};
|
1
|
+
import { EditorContext } from "../document-context";
|
2
|
+
import { DocumentPaginator } from "../document-paginator";
|
3
|
+
import { ViewOptions } from "../element-define";
|
4
|
+
import { ElementReader } from "../element-reader";
|
5
|
+
import { DocumentElement, DocumentRenderObject } from "../impl/document/doc-impl";
|
6
|
+
import { IRenderContextContract, RenderContext } from "../render-context";
|
7
|
+
import { Subject } from "../infrastructure/event-subject";
|
8
|
+
import { EditorVNodeObject } from "../render-define";
|
9
|
+
interface IAfterRenderEvent {
|
10
|
+
index: number;
|
11
|
+
renderCtx: IRenderContextContract;
|
12
|
+
docRender: DocumentRenderObject;
|
13
|
+
pageSvgVNode: EditorVNodeObject;
|
14
|
+
}
|
15
|
+
/**
|
16
|
+
* 离屏打印
|
17
|
+
*/
|
18
|
+
export declare abstract class DocumentPrintOffscreenBase {
|
19
|
+
documentPaginator: DocumentPaginator;
|
20
|
+
viewOptions: ViewOptions;
|
21
|
+
docCtx: EditorContext;
|
22
|
+
renderCtx: RenderContext;
|
23
|
+
elementReader: ElementReader;
|
24
|
+
beforeRenderEvent: Subject<IAfterRenderEvent>;
|
25
|
+
afterRenderEvent: Subject<IAfterRenderEvent>;
|
26
|
+
beforePrint: Subject<void>;
|
27
|
+
afterPrint: Subject<void>;
|
28
|
+
constructor();
|
29
|
+
print(data: any | DocumentElement, ranges?: Array<number> | null): void;
|
30
|
+
/**
|
31
|
+
* 续打
|
32
|
+
*/
|
33
|
+
printForContinuation(data: any | DocumentElement, options: {
|
34
|
+
startY: number;
|
35
|
+
startDocIndex: number;
|
36
|
+
}): void;
|
37
|
+
getPrintNodes(data: any | DocumentElement, ranges?: Array<number> | null): Array<string>;
|
38
|
+
Encode64(str: any): string;
|
39
|
+
/**
|
40
|
+
* 读取数据,排版
|
41
|
+
* @param data
|
42
|
+
*/
|
43
|
+
prepare(data: any | DocumentElement): void;
|
44
|
+
getSvgNodes(docRenders: Array<DocumentRenderObject>, printRanges?: Array<number> | null): Array<string>;
|
45
|
+
abstract createCanvas(width: number, height: number): {
|
46
|
+
canvas: HTMLCanvasElement;
|
47
|
+
ctx: CanvasRenderingContext2D;
|
48
|
+
};
|
49
|
+
abstract createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContext;
|
50
|
+
}
|
51
|
+
export declare class DocumentPrintOffscreen extends DocumentPrintOffscreenBase {
|
52
|
+
createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContext;
|
53
|
+
createCanvas(width: number, height: number): {
|
54
|
+
canvas: HTMLCanvasElement;
|
55
|
+
ctx: CanvasRenderingContext2D;
|
56
|
+
};
|
57
|
+
}
|
58
|
+
export {};
|
@@ -1,18 +1,18 @@
|
|
1
|
-
import { OrientType } from "../element-define";
|
2
|
-
export declare function createPrintTemplate({ width, height, orient }: PrintPaperOptions): string;
|
3
|
-
declare type PrintPaperOptions = {
|
4
|
-
width: number;
|
5
|
-
height: number;
|
6
|
-
orient: OrientType;
|
7
|
-
};
|
8
|
-
/**
|
9
|
-
* 打印DOM
|
10
|
-
* @param printNodes
|
11
|
-
* @param options
|
12
|
-
* @returns
|
13
|
-
*/
|
14
|
-
export declare function printNodes(printNodes: Array<Node | string>, options: PrintPaperOptions, printEvent?: {
|
15
|
-
beforePrint: () => void;
|
16
|
-
afterPrint: () => void;
|
17
|
-
} | null): void;
|
18
|
-
export {};
|
1
|
+
import { OrientType } from "../element-define";
|
2
|
+
export declare function createPrintTemplate({ width, height, orient }: PrintPaperOptions): string;
|
3
|
+
declare type PrintPaperOptions = {
|
4
|
+
width: number;
|
5
|
+
height: number;
|
6
|
+
orient: OrientType;
|
7
|
+
};
|
8
|
+
/**
|
9
|
+
* 打印DOM
|
10
|
+
* @param printNodes
|
11
|
+
* @param options
|
12
|
+
* @returns
|
13
|
+
*/
|
14
|
+
export declare function printNodes(printNodes: Array<Node | string>, options: PrintPaperOptions, printEvent?: {
|
15
|
+
beforePrint: () => void;
|
16
|
+
afterPrint: () => void;
|
17
|
+
} | null): void;
|
18
|
+
export {};
|
@@ -1,111 +1,111 @@
|
|
1
|
-
import { Position, Rect } from "./element-define";
|
2
|
-
import { TextProps } from "./element-props";
|
3
|
-
import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
|
4
|
-
export declare enum TextUnitsHolder {
|
5
|
-
char = 0,
|
6
|
-
sourceSize = 1,
|
7
|
-
actualSize = 2,
|
8
|
-
actualBoundingBoxAscent = 3
|
9
|
-
}
|
10
|
-
export interface TextUnits {
|
11
|
-
sourceSize: number;
|
12
|
-
actualSize: number;
|
13
|
-
char: string;
|
14
|
-
}
|
15
|
-
export interface IRenderContextContract {
|
16
|
-
contentContext: PaintContent;
|
17
|
-
overlaysContext: PaintContent;
|
18
|
-
mainContext: PaintContent;
|
19
|
-
drawMode: 'view' | 'print';
|
20
|
-
clear(): void;
|
21
|
-
commit(pageSetting: ISetCanvasPageProps, pageOffset: Position): void;
|
22
|
-
init(pageSetting: ISetCanvasPageProps): void;
|
23
|
-
tran(effect: () => void): void;
|
24
|
-
update(pageSetting: ISetCanvasPageProps): void;
|
25
|
-
}
|
26
|
-
export declare type RenderContextType = IRenderContextContract;
|
27
|
-
export declare type ISetCanvasPageProps = {
|
28
|
-
width: number;
|
29
|
-
height: number;
|
30
|
-
scale: number;
|
31
|
-
};
|
32
|
-
export declare class RenderContext implements IRenderContextContract {
|
33
|
-
readonly mainContext: PaintContent;
|
34
|
-
contentContext: PaintContent;
|
35
|
-
overlaysContext: PaintContent;
|
36
|
-
drawMode: 'view' | 'print';
|
37
|
-
contentOffCanvas: HTMLCanvasElement;
|
38
|
-
overlayOffCanvas: HTMLCanvasElement;
|
39
|
-
constructor(mainContext: PaintContent);
|
40
|
-
pageSetting: ISetCanvasPageProps;
|
41
|
-
pageRect: Rect;
|
42
|
-
init(pageSetting: ISetCanvasPageProps): void;
|
43
|
-
/**
|
44
|
-
* 更新绘制画布大小
|
45
|
-
*/
|
46
|
-
update(pageSetting: ISetCanvasPageProps): void;
|
47
|
-
clear(): void;
|
48
|
-
commit(pageSetting: ISetCanvasPageProps, pageOffset: Position): void;
|
49
|
-
tran(effect: () => void): void;
|
50
|
-
}
|
51
|
-
export declare class PaintContent {
|
52
|
-
ctx: CanvasRenderingContext2D;
|
53
|
-
constructor(ctx: CanvasRenderingContext2D);
|
54
|
-
init(): void;
|
55
|
-
private cacheFontBoundingBoxAscentMap;
|
56
|
-
getActualFontBoundingBoxAscent(font: string): number | undefined;
|
57
|
-
setGlobalAlpha(alpha: number): void;
|
58
|
-
getGlobalAlpha(): number;
|
59
|
-
clear(): void;
|
60
|
-
drawText(text: string, textProps: TextProps, x: number, y: number, width: number, height: number): void;
|
61
|
-
fillCircular(x: number, y: number, r: number, color?: string): void;
|
62
|
-
drawTextUnits(textGroupRender: TextGroupRenderObject, x: number, y: number): void;
|
63
|
-
drawText2(str: string, font: string, color: string, x: number, y: number, width: number, height: number): void;
|
64
|
-
getParaLineHeight(textEle: TextGroupElement): number;
|
65
|
-
measureText(text: string, textProps: TextProps): {
|
66
|
-
width: number;
|
67
|
-
height: number;
|
68
|
-
};
|
69
|
-
measureTextMetrics(font: string, str?: string): {
|
70
|
-
fontBoundingBoxAscent?: number;
|
71
|
-
fontBoundingBoxDescent?: number;
|
72
|
-
width: number;
|
73
|
-
actualBoundingBoxAscent: number;
|
74
|
-
actualBoundingBoxDescent: number;
|
75
|
-
actualBoundingBoxLeft: number;
|
76
|
-
actualBoundingBoxRight: number;
|
77
|
-
};
|
78
|
-
measureTextWidth(text: string, font: {
|
79
|
-
fontSize: number;
|
80
|
-
fontName: string;
|
81
|
-
}): number;
|
82
|
-
measureTextUnits(units: Array<TextUnits>, textProps: TextProps): void;
|
83
|
-
clearRect(x: number, y: number, width: number, height: number): void;
|
84
|
-
save(): void;
|
85
|
-
restore(): void;
|
86
|
-
scale(ratio: number): void;
|
87
|
-
/**
|
88
|
-
* 包装任务执行:save->exec->restore
|
89
|
-
* @param effect
|
90
|
-
*/
|
91
|
-
tran(effect: () => void): void;
|
92
|
-
strokeRect(x: number, y: number, width: number, height: number, strokeColor?: string, strokeWidth?: number, radius?: number): void;
|
93
|
-
/**
|
94
|
-
* 绘制水平线
|
95
|
-
* @param x
|
96
|
-
* @param y
|
97
|
-
* @param width
|
98
|
-
* @param lineColor
|
99
|
-
* @param lineWidth
|
100
|
-
*/
|
101
|
-
drawHoriLine(x: number, y: number, width: number, lineColor?: string, lineWidth?: number): void;
|
102
|
-
fillRect(x: number, y: number, width: number, height: number, fillColor?: string, shadowBlur?: number, shadowColor?: string, borderRadius?: number): void;
|
103
|
-
strokeLines(lines: Array<Position>, width?: number, strokeColor?: string): void;
|
104
|
-
fillLines(lines: Array<Position>, width?: number, fillColor?: string, lineDash?: Array<number>): void;
|
105
|
-
drawCheckBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
|
106
|
-
drawRadioBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
|
107
|
-
drawDashLine(points: Array<Position>, lineDash: Array<number>, lineColor?: string, lineWidth?: number): void;
|
108
|
-
roundRect(x: number, y: number, width: number, height: number, radius: number): void;
|
109
|
-
clip(x: number, y: number, width: number, height: number): void;
|
110
|
-
clipFunc(pathFunc: () => void): void;
|
111
|
-
}
|
1
|
+
import { Position, Rect } from "./element-define";
|
2
|
+
import { TextProps } from "./element-props";
|
3
|
+
import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
|
4
|
+
export declare enum TextUnitsHolder {
|
5
|
+
char = 0,
|
6
|
+
sourceSize = 1,
|
7
|
+
actualSize = 2,
|
8
|
+
actualBoundingBoxAscent = 3
|
9
|
+
}
|
10
|
+
export interface TextUnits {
|
11
|
+
sourceSize: number;
|
12
|
+
actualSize: number;
|
13
|
+
char: string;
|
14
|
+
}
|
15
|
+
export interface IRenderContextContract {
|
16
|
+
contentContext: PaintContent;
|
17
|
+
overlaysContext: PaintContent;
|
18
|
+
mainContext: PaintContent;
|
19
|
+
drawMode: 'view' | 'print';
|
20
|
+
clear(): void;
|
21
|
+
commit(pageSetting: ISetCanvasPageProps, pageOffset: Position): void;
|
22
|
+
init(pageSetting: ISetCanvasPageProps): void;
|
23
|
+
tran(effect: () => void): void;
|
24
|
+
update(pageSetting: ISetCanvasPageProps): void;
|
25
|
+
}
|
26
|
+
export declare type RenderContextType = IRenderContextContract;
|
27
|
+
export declare type ISetCanvasPageProps = {
|
28
|
+
width: number;
|
29
|
+
height: number;
|
30
|
+
scale: number;
|
31
|
+
};
|
32
|
+
export declare class RenderContext implements IRenderContextContract {
|
33
|
+
readonly mainContext: PaintContent;
|
34
|
+
contentContext: PaintContent;
|
35
|
+
overlaysContext: PaintContent;
|
36
|
+
drawMode: 'view' | 'print';
|
37
|
+
contentOffCanvas: HTMLCanvasElement;
|
38
|
+
overlayOffCanvas: HTMLCanvasElement;
|
39
|
+
constructor(mainContext: PaintContent);
|
40
|
+
pageSetting: ISetCanvasPageProps;
|
41
|
+
pageRect: Rect;
|
42
|
+
init(pageSetting: ISetCanvasPageProps): void;
|
43
|
+
/**
|
44
|
+
* 更新绘制画布大小
|
45
|
+
*/
|
46
|
+
update(pageSetting: ISetCanvasPageProps): void;
|
47
|
+
clear(): void;
|
48
|
+
commit(pageSetting: ISetCanvasPageProps, pageOffset: Position): void;
|
49
|
+
tran(effect: () => void): void;
|
50
|
+
}
|
51
|
+
export declare class PaintContent {
|
52
|
+
ctx: CanvasRenderingContext2D;
|
53
|
+
constructor(ctx: CanvasRenderingContext2D);
|
54
|
+
init(): void;
|
55
|
+
private cacheFontBoundingBoxAscentMap;
|
56
|
+
getActualFontBoundingBoxAscent(font: string): number | undefined;
|
57
|
+
setGlobalAlpha(alpha: number): void;
|
58
|
+
getGlobalAlpha(): number;
|
59
|
+
clear(): void;
|
60
|
+
drawText(text: string, textProps: TextProps, x: number, y: number, width: number, height: number): void;
|
61
|
+
fillCircular(x: number, y: number, r: number, color?: string): void;
|
62
|
+
drawTextUnits(textGroupRender: TextGroupRenderObject, x: number, y: number): void;
|
63
|
+
drawText2(str: string, font: string, color: string, x: number, y: number, width: number, height: number): void;
|
64
|
+
getParaLineHeight(textEle: TextGroupElement): number;
|
65
|
+
measureText(text: string, textProps: TextProps): {
|
66
|
+
width: number;
|
67
|
+
height: number;
|
68
|
+
};
|
69
|
+
measureTextMetrics(font: string, str?: string): {
|
70
|
+
fontBoundingBoxAscent?: number;
|
71
|
+
fontBoundingBoxDescent?: number;
|
72
|
+
width: number;
|
73
|
+
actualBoundingBoxAscent: number;
|
74
|
+
actualBoundingBoxDescent: number;
|
75
|
+
actualBoundingBoxLeft: number;
|
76
|
+
actualBoundingBoxRight: number;
|
77
|
+
};
|
78
|
+
measureTextWidth(text: string, font: {
|
79
|
+
fontSize: number;
|
80
|
+
fontName: string;
|
81
|
+
}): number;
|
82
|
+
measureTextUnits(units: Array<TextUnits>, textProps: TextProps): void;
|
83
|
+
clearRect(x: number, y: number, width: number, height: number): void;
|
84
|
+
save(): void;
|
85
|
+
restore(): void;
|
86
|
+
scale(ratio: number): void;
|
87
|
+
/**
|
88
|
+
* 包装任务执行:save->exec->restore
|
89
|
+
* @param effect
|
90
|
+
*/
|
91
|
+
tran(effect: () => void): void;
|
92
|
+
strokeRect(x: number, y: number, width: number, height: number, strokeColor?: string, strokeWidth?: number, radius?: number): void;
|
93
|
+
/**
|
94
|
+
* 绘制水平线
|
95
|
+
* @param x
|
96
|
+
* @param y
|
97
|
+
* @param width
|
98
|
+
* @param lineColor
|
99
|
+
* @param lineWidth
|
100
|
+
*/
|
101
|
+
drawHoriLine(x: number, y: number, width: number, lineColor?: string, lineWidth?: number): void;
|
102
|
+
fillRect(x: number, y: number, width: number, height: number, fillColor?: string, shadowBlur?: number, shadowColor?: string, borderRadius?: number): void;
|
103
|
+
strokeLines(lines: Array<Position>, width?: number, strokeColor?: string): void;
|
104
|
+
fillLines(lines: Array<Position>, width?: number, fillColor?: string, lineDash?: Array<number>): void;
|
105
|
+
drawCheckBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
|
106
|
+
drawRadioBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
|
107
|
+
drawDashLine(points: Array<Position>, lineDash: Array<number>, lineColor?: string, lineWidth?: number): void;
|
108
|
+
roundRect(x: number, y: number, width: number, height: number, radius: number): void;
|
109
|
+
clip(x: number, y: number, width: number, height: number): void;
|
110
|
+
clipFunc(pathFunc: () => void): void;
|
111
|
+
}
|
@@ -1,141 +1,141 @@
|
|
1
|
-
import { Rect, Element, MarginProps, PaddingProps, Position, ViewOptions } from './element-define';
|
2
|
-
import { RenderContext, RenderContextType } from './render-context';
|
3
|
-
import { EditorContext } from "./document-context";
|
4
|
-
/**
|
5
|
-
* 定义组件的UI形式的渲染
|
6
|
-
*/
|
7
|
-
export declare abstract class RenderObject<T extends Element = Element> {
|
8
|
-
element: T;
|
9
|
-
margin: MarginProps;
|
10
|
-
padding: PaddingProps;
|
11
|
-
rect: Rect;
|
12
|
-
parent: BranchRenderObject;
|
13
|
-
/**
|
14
|
-
* 可点击性,例如:null-text 占位符元素不具备可点击能力
|
15
|
-
*/
|
16
|
-
disableClick: boolean;
|
17
|
-
constructor(element: T);
|
18
|
-
abstract clone(): RenderObject;
|
19
|
-
destroy(): void;
|
20
|
-
/**
|
21
|
-
* 获取内容区域框体
|
22
|
-
* @param render
|
23
|
-
* @returns
|
24
|
-
*/
|
25
|
-
getInnerRect(): Rect;
|
26
|
-
getInnerMaxWidth(): number;
|
27
|
-
/**
|
28
|
-
* 根据内框内容高度,更新外框框体高度
|
29
|
-
* @param innerRect
|
30
|
-
*/
|
31
|
-
updateRenderHeight(innerRect: Rect | number): void;
|
32
|
-
getIndex(): number;
|
33
|
-
exportSVG(event: IEditorVNodeOptions): any;
|
34
|
-
}
|
35
|
-
export declare type ElementExportTypes = 'svg';
|
36
|
-
/**
|
37
|
-
* 叶子节点渲染元素
|
38
|
-
*/
|
39
|
-
export declare abstract class LeafRenderObject<T extends Element = Element> extends RenderObject<T> {
|
40
|
-
constructor(element: T | null);
|
41
|
-
}
|
42
|
-
/**
|
43
|
-
* 枝干节点渲染元素
|
44
|
-
*/
|
45
|
-
export declare abstract class BranchRenderObject<T extends Element = Element> extends RenderObject<T> {
|
46
|
-
t: number;
|
47
|
-
constructor(element: T | null);
|
48
|
-
private children;
|
49
|
-
getItems<T extends RenderObject = RenderObject>(): Array<T>;
|
50
|
-
addChild(...items: Array<RenderObject>): void;
|
51
|
-
insertChild(item: RenderObject, index: number): void;
|
52
|
-
removeChild(child: RenderObject): void;
|
53
|
-
removeChildByIndex(index: number): void;
|
54
|
-
clear(): void;
|
55
|
-
get length(): number;
|
56
|
-
getChild<T extends RenderObject = RenderObject>(index: number): T;
|
57
|
-
getChildIndex(child: RenderObject): number;
|
58
|
-
destroy(): void;
|
59
|
-
}
|
60
|
-
export interface IRenderData {
|
61
|
-
render: RenderContextType;
|
62
|
-
position: Position;
|
63
|
-
docCtx: EditorContext;
|
64
|
-
nextRender: () => void;
|
65
|
-
}
|
66
|
-
/**
|
67
|
-
* 块级渲染元素
|
68
|
-
*/
|
69
|
-
export declare abstract class BlockContentRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
|
70
|
-
setRenderWidth(maxWidth: number): void;
|
71
|
-
}
|
72
|
-
export declare abstract class InlineGroupRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
|
73
|
-
paintPos: Position;
|
74
|
-
}
|
75
|
-
/**
|
76
|
-
* 包含块级渲染元素的容器元素,例如body、table-cell等
|
77
|
-
*/
|
78
|
-
export declare abstract class BlockContainerRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
|
79
|
-
setRenderWidth(maxWidth: number): void;
|
80
|
-
}
|
81
|
-
/**
|
82
|
-
* 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table
|
83
|
-
*/
|
84
|
-
export declare abstract class MuiltBlockLineRenderObject<T extends Element = Element> extends BlockContentRenderObject<T> {
|
85
|
-
}
|
86
|
-
/**
|
87
|
-
* 容器-子内容为多个行内块级元素,例如table-row
|
88
|
-
*/
|
89
|
-
export declare abstract class InlineBlockContainer extends MuiltBlockLineRenderObject {
|
90
|
-
}
|
91
|
-
/**
|
92
|
-
* 服务于table-cell
|
93
|
-
* 可被多级拆分的元素
|
94
|
-
*/
|
95
|
-
export declare abstract class InlineMuiltBlockLineRenderObject<T extends Element = Element> extends MuiltBlockLineRenderObject<T> {
|
96
|
-
}
|
97
|
-
/**
|
98
|
-
* 最小不可分割单位的块级行框,例如 p-line
|
99
|
-
* 一行不可存在于两个页面中,块级行框不能分布在两个页面中
|
100
|
-
*/
|
101
|
-
export declare abstract class BlockLineRectRenderObject extends BlockContentRenderObject {
|
102
|
-
}
|
103
|
-
export declare type BorderType = 'left' | 'right' | 'top' | 'bottom' | 'left-middle' | 'right-middle' | 'top-middle' | 'bottom-middle' | 'none' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';
|
104
|
-
export declare type CursorType = 'text' | 'row-resize' | 'col-resize' | 'none' | 'default' | 'move' | 'pointer' | 'w-resize' | 's-resize' | 'se-resize' | 'ne-resize';
|
105
|
-
export declare enum RenderObjectType {
|
106
|
-
Branch = 0,
|
107
|
-
Leaf = 1
|
108
|
-
}
|
109
|
-
export interface IMeasureRenderStruct<T> {
|
110
|
-
rect: Rect;
|
111
|
-
render: T;
|
112
|
-
}
|
113
|
-
export declare type EditorVNodeObject = {
|
114
|
-
sel: string;
|
115
|
-
data?: {
|
116
|
-
attrs?: {
|
117
|
-
[key: string]: any;
|
118
|
-
};
|
119
|
-
props?: {
|
120
|
-
[key: string]: any;
|
121
|
-
};
|
122
|
-
on?: {
|
123
|
-
[key: string]: Function;
|
124
|
-
};
|
125
|
-
[key: string]: any;
|
126
|
-
};
|
127
|
-
key?: string;
|
128
|
-
text?: string;
|
129
|
-
children?: Array<EditorVNodeObject | string>;
|
130
|
-
};
|
131
|
-
export declare type IEditorVNodeOptions = {
|
132
|
-
getChildNodes: (node: RenderObject) => EditorVNodeObject[] | EditorVNodeObject | null | undefined;
|
133
|
-
options: ViewOptions;
|
134
|
-
highlights: Array<EditorVNodeObject>;
|
135
|
-
relativePagePos: Position;
|
136
|
-
globalPos: Position;
|
137
|
-
renderCtx: RenderContext;
|
138
|
-
getCounter: (key: string) => number;
|
139
|
-
mode: 'print' | 'view';
|
140
|
-
addChangeTips: (tipVNode: EditorVNodeObject) => void;
|
141
|
-
};
|
1
|
+
import { Rect, Element, MarginProps, PaddingProps, Position, ViewOptions } from './element-define';
|
2
|
+
import { RenderContext, RenderContextType } from './render-context';
|
3
|
+
import { EditorContext } from "./document-context";
|
4
|
+
/**
|
5
|
+
* 定义组件的UI形式的渲染
|
6
|
+
*/
|
7
|
+
export declare abstract class RenderObject<T extends Element = Element> {
|
8
|
+
element: T;
|
9
|
+
margin: MarginProps;
|
10
|
+
padding: PaddingProps;
|
11
|
+
rect: Rect;
|
12
|
+
parent: BranchRenderObject;
|
13
|
+
/**
|
14
|
+
* 可点击性,例如:null-text 占位符元素不具备可点击能力
|
15
|
+
*/
|
16
|
+
disableClick: boolean;
|
17
|
+
constructor(element: T);
|
18
|
+
abstract clone(): RenderObject;
|
19
|
+
destroy(): void;
|
20
|
+
/**
|
21
|
+
* 获取内容区域框体
|
22
|
+
* @param render
|
23
|
+
* @returns
|
24
|
+
*/
|
25
|
+
getInnerRect(): Rect;
|
26
|
+
getInnerMaxWidth(): number;
|
27
|
+
/**
|
28
|
+
* 根据内框内容高度,更新外框框体高度
|
29
|
+
* @param innerRect
|
30
|
+
*/
|
31
|
+
updateRenderHeight(innerRect: Rect | number): void;
|
32
|
+
getIndex(): number;
|
33
|
+
exportSVG(event: IEditorVNodeOptions): any;
|
34
|
+
}
|
35
|
+
export declare type ElementExportTypes = 'svg';
|
36
|
+
/**
|
37
|
+
* 叶子节点渲染元素
|
38
|
+
*/
|
39
|
+
export declare abstract class LeafRenderObject<T extends Element = Element> extends RenderObject<T> {
|
40
|
+
constructor(element: T | null);
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* 枝干节点渲染元素
|
44
|
+
*/
|
45
|
+
export declare abstract class BranchRenderObject<T extends Element = Element> extends RenderObject<T> {
|
46
|
+
t: number;
|
47
|
+
constructor(element: T | null);
|
48
|
+
private children;
|
49
|
+
getItems<T extends RenderObject = RenderObject>(): Array<T>;
|
50
|
+
addChild(...items: Array<RenderObject>): void;
|
51
|
+
insertChild(item: RenderObject, index: number): void;
|
52
|
+
removeChild(child: RenderObject): void;
|
53
|
+
removeChildByIndex(index: number): void;
|
54
|
+
clear(): void;
|
55
|
+
get length(): number;
|
56
|
+
getChild<T extends RenderObject = RenderObject>(index: number): T;
|
57
|
+
getChildIndex(child: RenderObject): number;
|
58
|
+
destroy(): void;
|
59
|
+
}
|
60
|
+
export interface IRenderData {
|
61
|
+
render: RenderContextType;
|
62
|
+
position: Position;
|
63
|
+
docCtx: EditorContext;
|
64
|
+
nextRender: () => void;
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* 块级渲染元素
|
68
|
+
*/
|
69
|
+
export declare abstract class BlockContentRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
|
70
|
+
setRenderWidth(maxWidth: number): void;
|
71
|
+
}
|
72
|
+
export declare abstract class InlineGroupRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
|
73
|
+
paintPos: Position;
|
74
|
+
}
|
75
|
+
/**
|
76
|
+
* 包含块级渲染元素的容器元素,例如body、table-cell等
|
77
|
+
*/
|
78
|
+
export declare abstract class BlockContainerRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
|
79
|
+
setRenderWidth(maxWidth: number): void;
|
80
|
+
}
|
81
|
+
/**
|
82
|
+
* 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table
|
83
|
+
*/
|
84
|
+
export declare abstract class MuiltBlockLineRenderObject<T extends Element = Element> extends BlockContentRenderObject<T> {
|
85
|
+
}
|
86
|
+
/**
|
87
|
+
* 容器-子内容为多个行内块级元素,例如table-row
|
88
|
+
*/
|
89
|
+
export declare abstract class InlineBlockContainer extends MuiltBlockLineRenderObject {
|
90
|
+
}
|
91
|
+
/**
|
92
|
+
* 服务于table-cell
|
93
|
+
* 可被多级拆分的元素
|
94
|
+
*/
|
95
|
+
export declare abstract class InlineMuiltBlockLineRenderObject<T extends Element = Element> extends MuiltBlockLineRenderObject<T> {
|
96
|
+
}
|
97
|
+
/**
|
98
|
+
* 最小不可分割单位的块级行框,例如 p-line
|
99
|
+
* 一行不可存在于两个页面中,块级行框不能分布在两个页面中
|
100
|
+
*/
|
101
|
+
export declare abstract class BlockLineRectRenderObject extends BlockContentRenderObject {
|
102
|
+
}
|
103
|
+
export declare type BorderType = 'left' | 'right' | 'top' | 'bottom' | 'left-middle' | 'right-middle' | 'top-middle' | 'bottom-middle' | 'none' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';
|
104
|
+
export declare type CursorType = 'text' | 'row-resize' | 'col-resize' | 'none' | 'default' | 'move' | 'pointer' | 'w-resize' | 's-resize' | 'se-resize' | 'ne-resize';
|
105
|
+
export declare enum RenderObjectType {
|
106
|
+
Branch = 0,
|
107
|
+
Leaf = 1
|
108
|
+
}
|
109
|
+
export interface IMeasureRenderStruct<T> {
|
110
|
+
rect: Rect;
|
111
|
+
render: T;
|
112
|
+
}
|
113
|
+
export declare type EditorVNodeObject = {
|
114
|
+
sel: string;
|
115
|
+
data?: {
|
116
|
+
attrs?: {
|
117
|
+
[key: string]: any;
|
118
|
+
};
|
119
|
+
props?: {
|
120
|
+
[key: string]: any;
|
121
|
+
};
|
122
|
+
on?: {
|
123
|
+
[key: string]: Function;
|
124
|
+
};
|
125
|
+
[key: string]: any;
|
126
|
+
};
|
127
|
+
key?: string;
|
128
|
+
text?: string;
|
129
|
+
children?: Array<EditorVNodeObject | string>;
|
130
|
+
};
|
131
|
+
export declare type IEditorVNodeOptions = {
|
132
|
+
getChildNodes: (node: RenderObject) => EditorVNodeObject[] | EditorVNodeObject | null | undefined;
|
133
|
+
options: ViewOptions;
|
134
|
+
highlights: Array<EditorVNodeObject>;
|
135
|
+
relativePagePos: Position;
|
136
|
+
globalPos: Position;
|
137
|
+
renderCtx: RenderContext;
|
138
|
+
getCounter: (key: string) => number;
|
139
|
+
mode: 'print' | 'view';
|
140
|
+
addChangeTips: (tipVNode: EditorVNodeObject) => void;
|
141
|
+
};
|