@hailin-zheng/editor-core 1.0.23 → 1.0.26

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.
Files changed (75) hide show
  1. package/package.json +3 -5
  2. package/lib/doc-ruler.d.ts +0 -51
  3. package/lib/framework/common-util.d.ts +0 -63
  4. package/lib/framework/document-change.d.ts +0 -265
  5. package/lib/framework/document-combine.d.ts +0 -24
  6. package/lib/framework/document-comment.d.ts +0 -46
  7. package/lib/framework/document-context.d.ts +0 -149
  8. package/lib/framework/document-eval-func.d.ts +0 -18
  9. package/lib/framework/document-event.d.ts +0 -213
  10. package/lib/framework/document-history.d.ts +0 -26
  11. package/lib/framework/document-images-loader.d.ts +0 -16
  12. package/lib/framework/document-input-cursor.d.ts +0 -78
  13. package/lib/framework/document-paint.d.ts +0 -34
  14. package/lib/framework/document-print-offscreen.d.ts +0 -38
  15. package/lib/framework/document-print.d.ts +0 -60
  16. package/lib/framework/document-segmenter.d.ts +0 -2
  17. package/lib/framework/document-selection.d.ts +0 -89
  18. package/lib/framework/document-template.d.ts +0 -4
  19. package/lib/framework/document-textline-mode.d.ts +0 -7
  20. package/lib/framework/element-define.d.ts +0 -319
  21. package/lib/framework/element-event-define.d.ts +0 -98
  22. package/lib/framework/element-measure.d.ts +0 -97
  23. package/lib/framework/element-paint.d.ts +0 -42
  24. package/lib/framework/element-props.d.ts +0 -301
  25. package/lib/framework/element-reader.d.ts +0 -19
  26. package/lib/framework/element-render-cut.d.ts +0 -55
  27. package/lib/framework/element-serialize.d.ts +0 -30
  28. package/lib/framework/element-util.d.ts +0 -369
  29. package/lib/framework/impl/checkbox/checkbox-impl.d.ts +0 -24
  30. package/lib/framework/impl/comments/comment-content-impl.d.ts +0 -40
  31. package/lib/framework/impl/comments/comment-element-impl.d.ts +0 -21
  32. package/lib/framework/impl/comments/comments-container-impl.d.ts +0 -22
  33. package/lib/framework/impl/comments/comments-util.d.ts +0 -12
  34. package/lib/framework/impl/comments/validate-msg-impl.d.ts +0 -21
  35. package/lib/framework/impl/data-element/data-decorate-impl.d.ts +0 -30
  36. package/lib/framework/impl/data-element/data-element-barcode.d.ts +0 -31
  37. package/lib/framework/impl/data-element/data-element-base-impl.d.ts +0 -68
  38. package/lib/framework/impl/data-element/data-element-check-impl.d.ts +0 -35
  39. package/lib/framework/impl/data-element/data-element-date-impl.d.ts +0 -23
  40. package/lib/framework/impl/data-element/data-element-group-impl.d.ts +0 -23
  41. package/lib/framework/impl/data-element/data-element-image-impl.d.ts +0 -30
  42. package/lib/framework/impl/data-element/data-element-list-impl.d.ts +0 -22
  43. package/lib/framework/impl/data-element/data-element-text-impl.d.ts +0 -23
  44. package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +0 -21
  45. package/lib/framework/impl/document/doc-body-impl.d.ts +0 -27
  46. package/lib/framework/impl/document/doc-body-part-impl.d.ts +0 -30
  47. package/lib/framework/impl/document/doc-container-impl.d.ts +0 -16
  48. package/lib/framework/impl/document/doc-footer-impl.d.ts +0 -26
  49. package/lib/framework/impl/document/doc-header-impl.d.ts +0 -26
  50. package/lib/framework/impl/document/doc-impl.d.ts +0 -61
  51. package/lib/framework/impl/index.d.ts +0 -36
  52. package/lib/framework/impl/media-formula/menstrual-history.d.ts +0 -35
  53. package/lib/framework/impl/paragraph/p-impl.d.ts +0 -45
  54. package/lib/framework/impl/picture/image-impl.d.ts +0 -31
  55. package/lib/framework/impl/radio/radio-impl.d.ts +0 -22
  56. package/lib/framework/impl/symbol/br-symbol-impl.d.ts +0 -22
  57. package/lib/framework/impl/symbol/p-symbol-impl.d.ts +0 -19
  58. package/lib/framework/impl/table/table-cell-impl.d.ts +0 -37
  59. package/lib/framework/impl/table/table-impl.d.ts +0 -55
  60. package/lib/framework/impl/table/table-row-impl.d.ts +0 -26
  61. package/lib/framework/impl/table/table-split-cell-patch.d.ts +0 -20
  62. package/lib/framework/impl/table/table-split-cell.d.ts +0 -90
  63. package/lib/framework/impl/table/table-util.d.ts +0 -150
  64. package/lib/framework/impl/text/text-impl.d.ts +0 -32
  65. package/lib/framework/impl/text/track-run-impl.d.ts +0 -27
  66. package/lib/framework/notify.d.ts +0 -13
  67. package/lib/framework/range-util.d.ts +0 -40
  68. package/lib/framework/render-context.d.ts +0 -91
  69. package/lib/framework/render-define.d.ts +0 -109
  70. package/lib/framework/selection-overlays.d.ts +0 -30
  71. package/lib/index.d.ts +0 -34
  72. package/lib/index.js +0 -15672
  73. package/lib/texteditor.d.ts +0 -318
  74. package/lib/util/subject.d.ts +0 -34
  75. package/lib/util/table-bind.d.ts +0 -5
@@ -1,319 +0,0 @@
1
- import { Subject, Subscription } from "rxjs";
2
- import { ElementEvent, EventTypes } from "./element-event-define";
3
- import { RenderContenxtType } from "./render-context";
4
- import { CursorType, LeafRenderObject, RenderObject } from "./render-define";
5
- export declare class Rect {
6
- x: number;
7
- y: number;
8
- width: number;
9
- height: number;
10
- maxHeight: number;
11
- maxWidth: number;
12
- }
13
- export interface SerializeProps {
14
- type: string;
15
- props?: any;
16
- children?: Array<SerializeProps>;
17
- complete?: boolean;
18
- }
19
- /**
20
- * 刷新类型
21
- * 刷新外观,不需要进行测量,直接进入绘制
22
- * 刷新内容,需要重新测量,再绘制
23
- */
24
- export declare type RefreshType = 'appearance' | 'content';
25
- /**
26
- * 修改标志
27
- */
28
- export declare enum ModifyFlag {
29
- Modify = 0,
30
- None = 1,
31
- Track = 2
32
- }
33
- export interface OnChangeEventProps {
34
- data: any;
35
- }
36
- /**
37
- * 定义组件的数据,配置
38
- */
39
- export declare abstract class Element<P extends object = any> {
40
- type: string;
41
- modifyFlag: ModifyFlag;
42
- isMouseenter: boolean;
43
- private _eventMap;
44
- private _refreshEvent;
45
- protected _onChangeEvent: Subject<void>;
46
- private observers;
47
- paintRenders: Array<RenderObject>;
48
- measureRender: RenderObject | null;
49
- focusable: boolean;
50
- isFocused: boolean;
51
- /**
52
- * 修饰元素不能复制、序列化、删除(需要手动删除)
53
- */
54
- isDecorate: boolean;
55
- /**
56
- * 可点击性,例如:null-text 占位符元素不具备可点击能力
57
- * 2.编辑页眉页脚的能力
58
- */
59
- disableClick: boolean;
60
- private _parent;
61
- get parent(): BranchElement;
62
- set parent(val: BranchElement);
63
- private _props;
64
- get props(): P;
65
- set props(value: P);
66
- private notifyChanged;
67
- constructor(type: string);
68
- abstract createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject | null;
69
- abstract serialize(viewOptions: ViewOptions): SerializeProps | null;
70
- abstract clone(data: boolean): Element;
71
- abstract getChildLength(): number;
72
- abstract getSelfLength(): number;
73
- destroy(): void;
74
- addEvent<T extends ElementEvent>(event: EventTypes, handle: (evt: T) => void, useCapture?: boolean): string;
75
- removeEvent(eventId: string): void;
76
- removeEventByType(eventType: EventTypes): void;
77
- invokeEvent(event: EventTypes, evt: ElementEvent, userCapture?: boolean): void;
78
- beginMeasure(): void;
79
- getIndex(): number;
80
- get refreshSubject(): Subject<void>;
81
- get onChangeSubject(): Subject<void>;
82
- refreshView(): void;
83
- abstract pubOnChange(selfChange: pubChangeType): void;
84
- unsubscribe(element: Element): void;
85
- addsubscribe(element: Element, ...sub: Array<Subscription>): void;
86
- /**
87
- * 移除当前节点
88
- */
89
- remove(): void;
90
- }
91
- /**
92
- * 最小节点元素
93
- */
94
- export declare abstract class LeafElement<P extends object = any> extends Element<P> {
95
- cursorType: CursorType;
96
- getChildLength(): number;
97
- destroy(): void;
98
- getSelfLength(): number;
99
- pubOnChange(selfChange: pubChangeType): void;
100
- }
101
- /**
102
- * 枝干节点,包含若干个枝干或者叶子节点
103
- */
104
- export declare abstract class BranchElement<P extends object = any> extends Element<P> {
105
- private chilren;
106
- constructor(type: string);
107
- addChild(child: Element, index?: number): void;
108
- removeChild(child: Element): void;
109
- removeChildByIndex(index: number): void;
110
- disposeChild(child: Element): void;
111
- clearItems(): void;
112
- destroy(): void;
113
- get length(): number;
114
- find(predicate: (item: Element, index: number) => boolean): Element | undefined;
115
- getChild<T extends Element = Element>(index: number): T;
116
- getChildIndex(child: Element): number;
117
- getChildLength(): number;
118
- getSelfLength(): number;
119
- treeFilter(predicate: (item: Element, index: number) => boolean): Array<Element>;
120
- treeFind(predicate: (item: Element, index: number) => boolean): Element | null;
121
- pubOnChange(selfChange: pubChangeType): void;
122
- }
123
- export declare type pubChangeType = 'self' | 'tracker' | 'to-child';
124
- /**
125
- * 行内编组元素
126
- */
127
- export declare abstract class InlineGroupElement<P extends object = any> extends BranchElement<P> {
128
- }
129
- /**
130
- * 块级元素,目前只有P元素
131
- */
132
- export declare abstract class BlockContentElement<P extends object = any> extends BranchElement<P> {
133
- }
134
- /**
135
- * 包含块级渲染元素的容器元素,例如body、table-cell、table等
136
- */
137
- export declare abstract class BlockContainerElement<P extends object = any> extends BranchElement<P> {
138
- noFillEmpty: boolean;
139
- }
140
- export interface readElementProps<T> {
141
- type: string;
142
- props: T | undefined;
143
- children: any | undefined;
144
- }
145
- export declare abstract class ElementFactory<T = null> {
146
- options: ViewOptions;
147
- abstract match(type: string): boolean;
148
- abstract createElement(data: readElementProps<T>, renderCtx: RenderContenxtType): Element;
149
- }
150
- export interface SelectionContentRange {
151
- target: Element;
152
- isFullSelected: boolean;
153
- startOffset: number;
154
- endOffset: number;
155
- selectedChildren: Array<SelectionContentRange>;
156
- }
157
- /**
158
- * 编辑模式
159
- */
160
- export declare enum EditMode {
161
- /**
162
- * 自由模式,设计模板时使用
163
- */
164
- Free = 0,
165
- /**
166
- * 严格模式,医生书写模式时使用,只可更改数据元值
167
- */
168
- Strict = 1,
169
- /**
170
- * 查看模式,任何修改文档的操作都不允许,但是可选中,有拖蓝
171
- */
172
- View = 2,
173
- /**
174
- * 禁用模式,当前区域不可点击,不可选中,页脚、页眉编辑时的控制
175
- */
176
- Disabled = 3
177
- }
178
- /**
179
- * 文档模式
180
- */
181
- export declare enum DocMode {
182
- Design = 0,
183
- /**
184
- * 完全编辑模式
185
- */
186
- Edit = 1,
187
- /**
188
- * 表单编辑模式
189
- */
190
- FormEdit = 2,
191
- /**
192
- * 视图模式,只能查看
193
- */
194
- View = 3
195
- }
196
- export declare enum BooleanEnum {
197
- Null = 0,
198
- True = 1,
199
- False = 2
200
- }
201
- export interface DocUser {
202
- id: string;
203
- name: string;
204
- }
205
- export declare class PageOptions {
206
- private _width;
207
- private _height;
208
- orient: OrientType;
209
- constructor(width: number, height: number, orient?: OrientType);
210
- get width(): number;
211
- set width(value: number);
212
- get height(): number;
213
- set height(value: number);
214
- }
215
- export declare type OrientType = 'landscape' | 'portrait';
216
- export declare class ViewOptions {
217
- copyRightInfo: string;
218
- watermark?: string;
219
- drawLineRectColor: string;
220
- drawCharRectColor: string;
221
- drawSymbolsColor: string;
222
- defaultFontName: string;
223
- defaultFontSize: number;
224
- defaultColor: string;
225
- selectionOverlaysColor: string;
226
- dataEleOverlaysColor: string;
227
- dataEleReadOnlyOverlayColor: string;
228
- dataEleOutlineColor: string;
229
- viewBackcolor: string;
230
- paraSymbolColor: string;
231
- dataGroupColor: string;
232
- showLineRect: boolean;
233
- showCharRect: boolean;
234
- showParaMark: boolean;
235
- showTabChar: boolean;
236
- showSpaceChar: boolean;
237
- showLineBreak: boolean;
238
- bodyMarginTop: number;
239
- devMode: boolean;
240
- showDebug: boolean;
241
- resourceMode: 'lazy' | 'immediate';
242
- serverMode: boolean;
243
- secretBrowse: boolean;
244
- chineseLayout: boolean;
245
- private _fullPageView;
246
- get fullPageView(): boolean;
247
- set fullPageView(value: boolean);
248
- mmToPixelsRatio: number;
249
- cursor: CursorType;
250
- translateY: number;
251
- docPageSettings: PageOptions;
252
- viewSettings: {
253
- width: number;
254
- height: number;
255
- };
256
- pageNumFormat: string;
257
- get viewPaintHeight(): number;
258
- /**
259
- * 内容区域的高度
260
- * 同时限定canvas的最小宽度
261
- */
262
- get ContentWidth(): number;
263
- docSpace: number;
264
- private _showReviewWindow;
265
- get showReviewWindow(): boolean;
266
- set showReviewWindow(value: boolean);
267
- reviewWindowWidth: number;
268
- private _scale;
269
- get scale(): number;
270
- set scale(val: number);
271
- docMode: DocMode;
272
- enableUndo: boolean;
273
- private _showTrackChanges;
274
- get showTrackChanges(): boolean;
275
- set showTrackChanges(value: boolean);
276
- textRowLineMode: boolean;
277
- editUser: DocUser;
278
- trackChangePeriod: number;
279
- onChange: Subject<'demand' | 'force'>;
280
- constructor();
281
- }
282
- export declare class MarginProps {
283
- top: number;
284
- bottom: number;
285
- left: number;
286
- right: number;
287
- constructor(top?: number, bottom?: number, left?: number, right?: number);
288
- clone(): MarginProps;
289
- }
290
- export declare class PaddingProps extends MarginProps {
291
- }
292
- export declare class BorderProps {
293
- width: number;
294
- color: string;
295
- style: string;
296
- constructor(width?: number, color?: string, style?: string);
297
- clone(): BorderProps;
298
- }
299
- export declare abstract class IDispose {
300
- abstract destroy(): void;
301
- }
302
- export declare type TextAlign = 'center' | 'left' | 'right' | 'justify';
303
- export interface Position {
304
- x: number;
305
- y: number;
306
- }
307
- export declare abstract class ResizeLeafRenderObject extends LeafRenderObject {
308
- }
309
- export declare type NullableType<T> = {
310
- [PropName in keyof T]?: T[PropName];
311
- };
312
- export declare type RequiredType<T> = {
313
- [PropName in keyof T]: T[PropName];
314
- };
315
- export declare type ImgLoadStatus = 'no' | 'loading' | 'completed' | 'error';
316
- export interface ICancelTokenFn {
317
- cancel?: () => void;
318
- onFinish?: () => void;
319
- }
@@ -1,98 +0,0 @@
1
- import { Element, LeafElement, Rect } from "./element-define";
2
- import { LeafRenderObject, RenderObject } from "./render-define";
3
- import { EditorContext } from "./document-context";
4
- import { TrackRunTypeEnum } from "./impl/text/track-run-impl";
5
- export declare type EventStage = 'All' | 'Capture' | 'Bubbling';
6
- export declare type EventTypes = 'ElementMousedown' | 'ElementMousemove' | 'ElementClick' | 'ElementDblClick' | 'ElementMouseEnter' | 'ElementMouseLeave' | 'BackspaceKey' | 'DeleteKey' | 'ElementShown' | 'ElementContextMenu' | 'GotCursor' | 'LostCursor' | 'ElementKeyDown' | 'ElementDrop' | 'ElementTabKey' | 'GetTrackTips';
7
- export declare type HitRegion = 'header' | 'body' | 'footer' | 'review';
8
- export interface HitEventInfo {
9
- relativeRect: Rect;
10
- absoluteRect: Rect;
11
- offset: number;
12
- render: LeafRenderObject;
13
- element: LeafElement;
14
- shadowRenderIndex: number;
15
- hitDocIndex: number;
16
- startRegion?: HitRegion;
17
- }
18
- /**
19
- * 元素事件
20
- */
21
- export declare class ElementEvent {
22
- ctx: EditorContext;
23
- constructor(ctx: EditorContext);
24
- /**
25
- * 事件源头对象
26
- */
27
- source: Element;
28
- sourceOffset: number;
29
- sourceRender: RenderObject;
30
- /**
31
- * 当前所在的对象
32
- */
33
- currentElement: Element;
34
- currentRenderObjectX: number;
35
- currentRenderObjectY: number;
36
- isCancel: boolean;
37
- globalX: number;
38
- globalY: number;
39
- pageX: number;
40
- pageY: number;
41
- shift: boolean;
42
- ctrl: boolean;
43
- buttons: number;
44
- get selectionState(): import("./document-selection").SelectionState;
45
- }
46
- export interface MenuListener {
47
- [listener: string]: <T extends Event>(evt: T) => void;
48
- }
49
- export declare class ContentMenuItem {
50
- icon: string;
51
- caption: string;
52
- eventObj: MenuListener;
53
- subItems?: Array<ContentMenuItem>;
54
- }
55
- /**
56
- * 鼠标操作的事件
57
- */
58
- export declare class MouseElementEvent extends ElementEvent {
59
- }
60
- export declare class MousedownElementEvent extends ElementEvent {
61
- }
62
- export declare class KeyboradElementEvent extends ElementEvent {
63
- key: string;
64
- sourceEvent: KeyboardEvent;
65
- }
66
- export declare class GotCursorEvent extends ElementEvent {
67
- }
68
- export declare class LostCursorEvent extends ElementEvent {
69
- }
70
- export interface ITrackTips {
71
- trackRunType: TrackRunTypeEnum;
72
- name: string;
73
- date: string;
74
- content: string;
75
- }
76
- export declare class GetTrackTipsEvent extends ElementEvent {
77
- trackTips: ITrackTips;
78
- }
79
- export declare class ContextMenuElementEvent extends ElementEvent {
80
- menus: Array<ContentMenuItem>;
81
- }
82
- export declare class DropElementEvent extends ElementEvent {
83
- dragElement: Element;
84
- }
85
- export interface EventProps<T extends ElementEvent = ElementEvent> {
86
- id: string;
87
- eventName: string;
88
- listener: (evt: T) => void;
89
- useCapture: boolean;
90
- }
91
- export declare class EventMap {
92
- private map;
93
- add<T extends ElementEvent>(element: Element, eventName: EventTypes, listener: (evt: T) => void, useCapture: boolean): string;
94
- remove(element: Element, eventId: string): void;
95
- removeByType(element: Element, eventName: EventTypes): void;
96
- clear(element: Element): void;
97
- get(element: Element, eventName: string, useCapture?: boolean): Array<(evt: ElementEvent) => void>;
98
- }
@@ -1,97 +0,0 @@
1
- import { Element, InlineGroupElement, ViewOptions } from "./element-define";
2
- import { FillNullSpaceRenderObject } from "./impl/decorate/fill-null-space-imple";
3
- import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
4
- import { ParagraphElement, ParagraphLineRectRenderObject, ParagraphRenderObject } from "./impl/paragraph/p-impl";
5
- import { TextGroupRenderObject } from "./impl/text/text-impl";
6
- import { RenderContenxtType } from "./render-context";
7
- import { InlineGroupRenderObject, RenderObject } from "./render-define";
8
- interface ICutLineData {
9
- firstItem: RenderObject | null;
10
- lastItem: RenderObject | null;
11
- br?: boolean;
12
- }
13
- /**
14
- * 测量阶段,生成Render-UI
15
- */
16
- export declare class ElementMeasure {
17
- private options;
18
- private renderCtx;
19
- constructor(options: ViewOptions, renderCtx: RenderContenxtType);
20
- measureDocument(document: DocumentElement): DocumentRenderObject;
21
- measureControl(element: Element, maxWidth: number): RenderObject | null;
22
- /**
23
- * 生成段落 UI 树
24
- * @param para
25
- * @param render
26
- */
27
- measureParagraph(para: ParagraphElement, render: ParagraphRenderObject): void;
28
- /**
29
- * 设置段落默认文本属性
30
- * 当前段落属于空段落时,键入文本时,文本的默认属性
31
- */
32
- setParagraphDefaultTextProps(para: ParagraphElement): void;
33
- /**
34
- * 根据段落UI元素,进行排列
35
- * @param render
36
- * @param paragraph
37
- * @param renderObjects
38
- */
39
- measureInnerParagraph(render: ParagraphRenderObject, paragraph: ParagraphElement, renderObjects: Array<RenderObject>): void;
40
- /**
41
- * 获取段落行布局横向坐标起始位置,被段落text-align影响
42
- */
43
- getParaLineRectStartX(counter: number, paraLineIndex: number, paraElement: ParagraphElement, paraRenderObject: ParagraphRenderObject, paraLineRender: ParagraphLineRectRenderObject): number;
44
- /**
45
- * 设置两端对齐
46
- * @param render
47
- * @param count
48
- * @param spaceWidth
49
- */
50
- private setAlignJustify;
51
- /**
52
- * 获取段落行渲染单位个数,字符需要计算为字符长度
53
- */
54
- private getRenderUnitLength;
55
- getInlineGroupRenderItem(item: InlineGroupElement): RenderObject | null;
56
- cutRenderItem(render: RenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData;
57
- cutTextRender(render: TextGroupRenderObject, nextRender: RenderObject, limitWidth: number, lineEmpty: boolean, inCloseBody: boolean): ICutLineData;
58
- /**
59
- * 处理前置标点,前置标点不能出现在末尾
60
- * @param render
61
- * @param i
62
- */
63
- private patchHandleLeadingPunctuation;
64
- /**
65
- * 处理后置标点,后置标点不能出现在行首
66
- * @param render
67
- * @param i
68
- * @param lineEmpty
69
- */
70
- private patchHandlePostPunctuation;
71
- /**
72
- * 是否包含后置标点
73
- * @param str
74
- * @returns
75
- */
76
- private containPostPunctuation;
77
- private containLeadingPunctuation;
78
- /**
79
- * 文本开头是否包含后置标点
80
- * @param render
81
- * @returns
82
- */
83
- private containerStartSymbolInTextStart;
84
- cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData;
85
- /**
86
- * 行内编组元素超出行内可用空间,需要根据剩余空间长度进行截断
87
- */
88
- cutInlineGroupRenderItem(render: InlineGroupRenderObject, limitWidth: number, emptyLine: boolean, inCloseBody: boolean): ICutLineData;
89
- /**
90
- * 修改测量完毕后的元素状态
91
- * @param ele
92
- */
93
- setMeasureCompletedModifyFlag(ele: Element): void;
94
- clearPaintCache(ele: Element): void;
95
- endMeasures(ele: Element): void;
96
- }
97
- export {};
@@ -1,42 +0,0 @@
1
- import { RenderContenxtType } from "./render-context";
2
- import { Element, LeafElement, Position, SelectionContentRange, ViewOptions } from "./element-define";
3
- import { LeafRenderObject, RenderObject } from "./render-define";
4
- import { DocumentContainerRender } from "./impl/document/doc-container-impl";
5
- import { CommentElement } from "./impl/comments/comment-element-impl";
6
- import { CommsContainerRenderObject } from "./impl/comments/comments-container-impl";
7
- export interface PrintOptions {
8
- beforePrintPage: (pageIndex: number, pageCount: number) => void;
9
- afterPrintPage: (pageIndex: number, pageCount: number) => void;
10
- }
11
- export declare class ElementPaint {
12
- private viewOptions;
13
- private renderCtx;
14
- private selectedSets;
15
- private measureCommContainer;
16
- private rePaint;
17
- constructor(viewOptions: ViewOptions, renderCtx: RenderContenxtType);
18
- paintCommMap: Array<{
19
- ele: CommentElement;
20
- render: RenderObject;
21
- pos: Position;
22
- }>;
23
- paintPagePos: Position;
24
- drawPages(docContainer: DocumentContainerRender, selectedSets: Map<Element, SelectionContentRange>, measureCommContainer: CommsContainerRenderObject, rePaint: boolean): void;
25
- drawRenderObject(renderObject: RenderObject<any>, parent: {
26
- x: number;
27
- y: number;
28
- }, parentInViewPort?: boolean | undefined): void;
29
- /**
30
- * 触发页面绘制结束事件
31
- */
32
- invokedPagePaintCompleted(renderObject: RenderObject, parent: {
33
- x: number;
34
- y: number;
35
- }): void;
36
- static drawPage(renderCtx: RenderContenxtType, renderObject: RenderObject, parent: {
37
- x: number;
38
- y: number;
39
- }): void;
40
- getLeafElementPaintMap(element: LeafElement, shadowRenderIndex?: number): LeafRenderObject;
41
- getShadowRenderIndex(element: LeafElement, render: LeafRenderObject): number;
42
- }