@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,26 +0,0 @@
1
- import { BlockContainerElement, Element, ElementFactory, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
- import { TableRowProps } from "../../element-props";
3
- import { RenderContenxtType } from "../../render-context";
4
- import { MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
5
- export declare class TableRowElement extends BlockContainerElement<TableRowProps> {
6
- constructor();
7
- createRenderObject(): RenderObject;
8
- serialize(viewOptions: ViewOptions): SerializeProps;
9
- clone(data: boolean): Element;
10
- static createRow(cols: number): TableRowElement;
11
- }
12
- export declare class TableRowRenderObject extends MuiltBlockLineRenderObject<TableRowElement> {
13
- beginRender(ctx: RenderContenxtType, position: {
14
- x: number;
15
- y: number;
16
- }): void;
17
- endRender(ctx: RenderContenxtType, position: {
18
- x: number;
19
- y: number;
20
- }): void;
21
- clone(): RenderObject;
22
- }
23
- export declare class TableRowFactory extends ElementFactory<TableRowProps> {
24
- match(type: string): boolean;
25
- createElement(data: readElementProps<TableRowProps>, renderCtx: RenderContenxtType): Element;
26
- }
@@ -1,20 +0,0 @@
1
- export interface ColumnPartOffset extends ColumnPart {
2
- offset: number;
3
- }
4
- export interface ColumnPart {
5
- index: number;
6
- width: number;
7
- }
8
- export interface ColumnPatch {
9
- type: 'modify' | 'insert';
10
- data: ColumnPart;
11
- }
12
- export declare class ColumnPatchUtil {
13
- static getPatchPacks(cols: Array<ColumnPart>, splitCols: Array<ColumnPart>): [Array<{
14
- part: ColumnPartOffset;
15
- patchs: Array<ColumnPatch>;
16
- }>, Array<Array<ColumnPart>>];
17
- private static getColumn;
18
- private static getSplitCols;
19
- private static getLinePointMap;
20
- }
@@ -1,90 +0,0 @@
1
- import { SelectionState } from "../../document-selection";
2
- /**
3
- * 拆分单元格
4
- * 蜀道难,难于上青天;拆分单元格,头发秃,精神衰,眼睛昏,身体废。
5
- *
6
- * 1.拆分为多列规则:不影响其他列宽度,将当前列宽度均分
7
- */
8
- export declare class TableSplitCell {
9
- /**
10
- *
11
- * 普通单元格可以任意拆分行和列
12
- * 已合并的单元格,可以拆分任意数量的列;可以拆分的数量必须为合并单元格数量的约数
13
- */
14
- static splitCell(ss: SelectionState, rows: number, cols: number): void;
15
- /**
16
- * 拆分普通的单元格
17
- */
18
- private static splitNormalCell;
19
- /**
20
- * 拆分合并的单元格
21
- * @param ss
22
- * @param rows
23
- * @param cols
24
- */
25
- static splitMergeCell(ss: SelectionState, rows: number, cols: number): void;
26
- /**
27
- * 拆分横向正常的单元格
28
- * @param ss
29
- * @param rows
30
- * @param cols
31
- */
32
- static horSplitHorNormalCell(ss: SelectionState, rows: number, cols: number): {
33
- startColIndex: number;
34
- endColIndex: number;
35
- };
36
- /**
37
- * 横向拆分合并的单元格
38
- * @param ss
39
- * @param rows
40
- * @param cols
41
- */
42
- static horSplitHorMergeCell(ss: SelectionState, rows: number, cols: number): {
43
- startColIndex: number;
44
- endColIndex: number;
45
- };
46
- /**
47
- * 获取需要新创建的列数量
48
- */
49
- private static getPrepareNewColCounts;
50
- /**
51
- * 应用横向拆分单元格补丁
52
- */
53
- private static applyHorSplitColumnPatchPacks;
54
- /**
55
- * 存在横向合并的单元格,进行单元格分拆,打补丁
56
- * @param tb
57
- * @param focusRowIndex
58
- * @param focusColInex
59
- * @param splitRows
60
- * @param packs
61
- */
62
- private static applyHorSplitColumnCurrPatchPacks;
63
- /**
64
- * 纵向拆分合并的单元格
65
- * 在指定行下插入复制行
66
- * 存在
67
- */
68
- private static verSplitVerMergeCell;
69
- private static getSplitCols;
70
- /**
71
- * 获取横向合并的列
72
- * @param tb
73
- * @param currRowIndex
74
- * @param currColIndex
75
- * @param splitCols
76
- */
77
- private static getHMergeCols;
78
- /**
79
- * 获取纵向合并的行数
80
- * @param tb
81
- * @param currRowIndex
82
- */
83
- private static getVMergeRowsCount;
84
- /**
85
- * 获取纵向合并的行数
86
- * @param tb
87
- * @param currRowIndex
88
- */
89
- private static getHMergeColsCount;
90
- }
@@ -1,150 +0,0 @@
1
- import { SelectionState } from "../../document-selection";
2
- import { TableCellElement } from "./table-cell-impl";
3
- import { TableElement } from "./table-impl";
4
- import { TableRowElement } from "./table-row-impl";
5
- export declare class TableUtil {
6
- static canDeleteTable(ss: SelectionState): boolean;
7
- /**
8
- * 校验当前选区是否可以执行合并单元格操作
9
- * @param ss
10
- * @returns
11
- */
12
- static canMergeCells(ss: SelectionState): boolean;
13
- /**
14
- * 获取横向合并当前单元格合并结束索引位置
15
- * @param tb
16
- * @param rowIndex
17
- * @param colIndex
18
- */
19
- static getHMergeEndIndex(tb: TableElement, rowIndex: number, colIndex: number): number;
20
- /**
21
- * 获取横向合并当前单元格合并开始索引位置
22
- * @param tb
23
- * @param rowIndex
24
- * @param colIndex
25
- */
26
- static getHMergeStartIndex(tb: TableElement, rowIndex: number, colIndex: number): number;
27
- /**
28
- * 获取纵向合并当前单元格合并结束索引位置
29
- * @param tb
30
- * @param rowIndex
31
- * @param colIndex i
32
- */
33
- static getVMergeEndIndex(tb: TableElement, rowIndex: number, colIndex: number): number;
34
- /**
35
- * 获取纵向合并当前单元格合并开始索引位置
36
- * @param tb
37
- * @param rowIndex
38
- * @param colIndex i
39
- */
40
- static getVMergeStartIndex(tb: TableElement, rowIndex: number, colIndex: number): number;
41
- /**
42
- * 合并单元格
43
- * @param ss
44
- * @returns
45
- */
46
- static mergeCells(ss: SelectionState): void;
47
- /**
48
- * 在合并单元格后需要校验
49
- * 1.如果某个行的所有单元格都不是normal,则需要删除当前行
50
- * 2.如果某个列的所有的单元格都不是normal,则需要删除当前列
51
- */
52
- private static checkRowBeMerged;
53
- /**
54
- * 移除行
55
- * @param row
56
- */
57
- private static removeRow;
58
- /**
59
- * 移除列
60
- * @param tb
61
- * @param colIndex
62
- */
63
- private static removeCol;
64
- /**
65
- * 移除光标所在的当前行
66
- * @param ss
67
- */
68
- static removeCurrRow(ss: SelectionState): void;
69
- /**
70
- * 移除光标所在的当前列
71
- * @param ss
72
- */
73
- static removeCurrCol(ss: SelectionState): void;
74
- /**
75
- * 合并单元格
76
- */
77
- static combineCells(tbElement: TableElement, startCell: TableCellElement, endCell: TableCellElement): void;
78
- static canSplitCell(ss: SelectionState): boolean;
79
- /**
80
- * 将合并的单元格合并还原
81
- * @param ss
82
- */
83
- static restoreCell(ss: SelectionState): void;
84
- private static restoreCellMerge;
85
- private static getVMergeRows;
86
- static insertCol(ss: SelectionState, insertColIndex: number): void;
87
- static insertRow(ss: SelectionState, insertRowIndex: number): TableRowElement;
88
- /**
89
- * 在下方插入行
90
- */
91
- static insertRowBelow(ss: SelectionState): void;
92
- /**
93
- * 在上方插入行
94
- */
95
- static insertRowAbove(ss: SelectionState): void;
96
- /**
97
- * 在右侧插入列
98
- */
99
- static insertColToRight(ss: SelectionState): void;
100
- /**
101
- * 在左侧插入列
102
- */
103
- static insertColToLeft(ss: SelectionState): void;
104
- /**
105
- * 跳转到下一个单元格中
106
- * @param ss
107
- */
108
- static moveNextCell(ss: SelectionState): void;
109
- /**
110
- * 获取下一个可定位的单元格
111
- * @param ss
112
- * @returns
113
- */
114
- static getNextCell(ss: SelectionState): TableCellElement | undefined;
115
- /**
116
- * 当前光标是否在最后一个单元格中
117
- */
118
- static isLastVisiableCell(ss: SelectionState): boolean;
119
- /**
120
- * 移除当前table
121
- */
122
- static removeTable(ss: SelectionState): void;
123
- /**
124
- * 设置表格单元格对角线
125
- * @param ss
126
- * @param diagonal
127
- * @returns
128
- */
129
- static setTableCellDiagonal(ss: SelectionState, diagonal: 'main' | 'sub'): void;
130
- /**
131
- * 将当前表格截断成两个相邻的表格
132
- * @param tb
133
- * @param rowIndex
134
- */
135
- static cutTable(tb: TableElement, rowIndex: number): void;
136
- /**
137
- * 获取表格选区区域最大的矩形区域
138
- * @param tb
139
- * @param startCell
140
- * @param endCell
141
- * @returns
142
- */
143
- static getTableRectSelectedRegion(tb: TableElement, startCell: TableCellElement, endCell: TableCellElement): ITableSelectedRegion;
144
- }
145
- export interface ITableSelectedRegion {
146
- startRow: number;
147
- endRow: number;
148
- startCol: number;
149
- endCol: number;
150
- }
@@ -1,32 +0,0 @@
1
- import { TextProps } from "../../element-props";
2
- import { LeafRenderObject, RenderObject } from "../../render-define";
3
- import { LeafElement, ElementFactory, Element, SerializeProps, ViewOptions } from "../../element-define";
4
- import { RenderContenxtType, TextUnits } from "../../render-context";
5
- export declare class TextGroupElement extends LeafElement<TextProps> {
6
- textMeasures: Array<TextUnits>;
7
- isMeasure: boolean;
8
- constructor();
9
- set text(val: string);
10
- splice(index: number, deleteCount: number, addText?: string | null): void;
11
- get text(): string;
12
- createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject;
13
- serialize(viewOptions: ViewOptions): SerializeProps & any;
14
- clone(data: boolean): TextGroupElement;
15
- destroy(): void;
16
- spliceText(startOffset: number, endOffset: number, xCopy: boolean): TextGroupElement | null;
17
- clearTextCache(): void;
18
- }
19
- export declare class TextGroupRenderObject extends LeafRenderObject<TextGroupElement> {
20
- textMeasures: Array<TextUnits>;
21
- render(ctx: RenderContenxtType, position: {
22
- x: number;
23
- y: number;
24
- }): void;
25
- constructor(element: TextGroupElement);
26
- clone(): RenderObject;
27
- measure(): void;
28
- }
29
- export declare class TextGroupFactory extends ElementFactory<null> {
30
- match(type: string): boolean;
31
- createElement(data: any, renderCtx: RenderContenxtType): Element;
32
- }
@@ -1,27 +0,0 @@
1
- import { InlineGroupElement, Position, SerializeProps, ViewOptions, Element, ElementFactory, readElementProps } from "../../element-define";
2
- import { RenderContenxtType } from "../../render-context";
3
- import { InlineGroupRenderObject, RenderObject } from "../../render-define";
4
- import { TrackRunProps } from "../../element-props";
5
- export declare enum TrackRunTypeEnum {
6
- Inserted = "ins-run",
7
- Deleted = "del-run"
8
- }
9
- declare type NullableType<T> = T | null;
10
- export declare class TrackRunElement extends InlineGroupElement<TrackRunProps> {
11
- constructor(trackType: TrackRunTypeEnum);
12
- clone(data: boolean): Element;
13
- createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): NullableType<RenderObject>;
14
- serialize(viewOptions: ViewOptions): SerializeProps | null;
15
- split(index: number): TrackRunElement | null;
16
- }
17
- export declare class TrackRunRenderObject extends InlineGroupRenderObject<TrackRunElement> {
18
- constructor(ele: TrackRunElement);
19
- beginRender(ctx: RenderContenxtType, position: Position): void;
20
- clone(): RenderObject;
21
- endRender(ctx: RenderContenxtType, position: Position): void;
22
- }
23
- export declare class RunElementFactory extends ElementFactory<TrackRunProps> {
24
- createElement(data: readElementProps<TrackRunProps>, renderCtx: RenderContenxtType): TrackRunElement;
25
- match(type: string): boolean;
26
- }
27
- export {};
@@ -1,13 +0,0 @@
1
- export declare const reactiveMap: WeakMap<object, object>;
2
- export declare const targetMaps: WeakMap<object, Map<propType, Set<notifyCallback>>>;
3
- declare type propType = string | number | symbol;
4
- interface notifyCallback {
5
- (target: object, p: propType, oldValue: any, newValue: any): string | undefined | void;
6
- }
7
- export declare function watchChanged<T extends object>(source: T, cb: notifyCallback): T;
8
- export declare function setNotifyChangedCallback(target: object, p: propType, cb: notifyCallback): void;
9
- export declare const isDate: (val: unknown) => val is Date;
10
- export declare const objectToString: () => string;
11
- export declare const toTypeString: (value: unknown) => string;
12
- export declare const toRawType: (value: unknown) => string;
13
- export {};
@@ -1,40 +0,0 @@
1
- import { BranchElement, Element, LeafElement, SelectionContentRange } from "./element-define";
2
- import { TableElement } from "./impl/table/table-impl";
3
- import { SelectionState } from './document-selection';
4
- export declare class RangeUtil {
5
- static getSelctionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
6
- static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
7
- /**
8
- * 获取表格选区的内容
9
- * @param startControl
10
- * @param startOffset
11
- * @param endControl
12
- * @param endOffset
13
- * @param tb
14
- */
15
- static getTableSelectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, tb: TableElement): SelectionContentRange;
16
- private static getStartForbackTreeData;
17
- private static getEndForwardTreeData;
18
- private static getChildTreeData;
19
- private static setRangeFullSelected;
20
- static rangeEquals(selRange1: SelectionContentRange, selRange2: SelectionContentRange): boolean;
21
- /**
22
- * 根据选区范围更正选区内容状态
23
- * @param selectedRange
24
- * @param selectionState
25
- */
26
- static fixSelectionStateByRange(selectionState: SelectionState): boolean;
27
- static getStartRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
28
- static getEndRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
29
- /**
30
- * 循环递归执行选区对象方法
31
- * @param range
32
- * @param handler
33
- */
34
- static recursionTraversalRangeHandler(range: SelectionContentRange, handler: (range: SelectionContentRange) => void): void;
35
- /**
36
- * 判断元素是否被完全选中
37
- * @param range
38
- */
39
- static checkElementFullInRange(range: SelectionContentRange, ele: Element): boolean;
40
- }
@@ -1,91 +0,0 @@
1
- import { EditorContext } from "./document-context";
2
- import { Position, ViewOptions } from "./element-define";
3
- import { TextProps } from "./element-props";
4
- import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
5
- export interface TextUnits {
6
- sourceSize: number;
7
- actualSize: number;
8
- char: string;
9
- }
10
- export declare type RenderContenxtType = {
11
- contentContext: PaintContent;
12
- overlaysContext: PaintContent;
13
- drawMode: 'view' | 'print';
14
- clear(): void;
15
- viewOptions: ViewOptions;
16
- docCtx: EditorContext;
17
- commit(pageSetting: {
18
- width: number;
19
- height: number;
20
- } | null): void;
21
- };
22
- export declare class RenderContenxt {
23
- mainCtx: CanvasRenderingContext2D;
24
- viewOptions: ViewOptions;
25
- docCtx: EditorContext;
26
- contentContext: PaintContent;
27
- overlaysContext: PaintContent;
28
- drawMode: 'view' | 'print';
29
- private contentOffCanvas;
30
- private overlayOffCanvas;
31
- constructor(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext);
32
- private createNativeCanvas;
33
- setCanvasProps(pageSetting?: {
34
- width: number;
35
- height: number;
36
- } | null): void;
37
- clear(): void;
38
- commit(pageSetting?: {
39
- width: number;
40
- height: number;
41
- } | null): void;
42
- }
43
- export declare class PaintContent {
44
- ctx: CanvasRenderingContext2D;
45
- private viewOptions;
46
- constructor(ctx: CanvasRenderingContext2D, viewOptions: ViewOptions);
47
- init(): void;
48
- setGlobalAlpha(alpha: number): void;
49
- getGlobalAlpha(): number;
50
- clear(): void;
51
- drawText(text: string, textProps: TextProps, x: number, y: number, width: number, height: number): void;
52
- fillCircular(x: number, y: number, r: number, color?: string): void;
53
- drawTextUnits(textGroupRender: TextGroupRenderObject, x: number, y: number): void;
54
- getParaLineHeight(textEle: TextGroupElement): number;
55
- measureText(text: string, textProps: TextProps): {
56
- width: number;
57
- height: number;
58
- };
59
- measureTextUnits(units: Array<TextUnits>, textProps: TextProps): void;
60
- clearRect(x: number, y: number, width: number, height: number): void;
61
- save(): void;
62
- restore(): void;
63
- strokeRect(x: number, y: number, width: number, height: number, strokeColor?: string, strokeWidth?: number): void;
64
- drawLine(x: number, y: number, width: number, lineColor?: string, lineWidth?: number): void;
65
- fillRect(x: number, y: number, width: number, height: number, fillColor?: string, shadowBlur?: number, shadowColor?: string): void;
66
- strokeLines(lines: Array<Position>, width?: number, strokeColor?: string): void;
67
- fillLines(lines: Array<Position>, width?: number, fillColor?: string): void;
68
- drawCheckBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
69
- drawRadioBox(x: number, y: number, width: number, height: number, isChecked: boolean): void;
70
- /**
71
- * 绘制图片
72
- * @param image
73
- * @param sx image的矩形(裁剪)选择框的左上角 X 轴坐标
74
- * @param sy image的矩形(裁剪)选择框的左上角 Y 轴坐标
75
- * @param sWidth image的矩形(裁剪)选择框的宽度
76
- * @param sHeight image的矩形(裁剪)选择框的高度
77
- * @param dx image的左上角在目标canvas上 X 轴坐标
78
- * @param dy image的左上角在目标canvas上 Y 轴坐标
79
- * @param dWidth image在目标canvas上绘制的宽度
80
- * @param dHeight image在目标canvas上绘制的高度
81
- */
82
- drawImage(image: HTMLImageElement, sx: number, sy: number, sWidth: number, sHeight: number, dx: number, dy: number, dWidth: number, dHeight: number): void;
83
- drawDashLine(points: Array<Position>, lineDash: Array<number>, lineColor?: string, lineWidth?: number): void;
84
- roundRect(x: number, y: number, width: number, height: number, radius: number | {
85
- tl: number;
86
- tr: number;
87
- br: number;
88
- bl: number;
89
- }, fill: boolean, stroke: boolean): void;
90
- clip(x: number, y: number, width: number, height: number): void;
91
- }
@@ -1,109 +0,0 @@
1
- import { Rect, Element, MarginProps, PaddingProps, Position } from './element-define';
2
- import { RenderContenxtType } from './render-context';
3
- /**
4
- * 定义组件的UI形式的渲染
5
- */
6
- export declare abstract class RenderObject<T extends Element = Element> {
7
- element: T;
8
- margin: MarginProps;
9
- padding: PaddingProps;
10
- rect: Rect;
11
- parent: BranchRenderObject;
12
- /**
13
- * 可点击性,例如:null-text 占位符元素不具备可点击能力
14
- */
15
- disableClick: boolean;
16
- constructor(element: T);
17
- abstract clone(): RenderObject;
18
- pagePaintCompleted(ctx: RenderContenxtType, position: Position): void;
19
- destroy(): void;
20
- /**
21
- * 获取内容区域框体
22
- * @param render
23
- * @returns
24
- */
25
- getInnnerRect(): Rect;
26
- getInnerMaxWidth(): number;
27
- /**
28
- * 根据内框内容高度,更新外框框体高度
29
- * @param render
30
- * @param innerRect
31
- */
32
- updateRenderHeight(innerRect: Rect | number): void;
33
- getIndex(): number;
34
- }
35
- /**
36
- * 叶子节点渲染元素
37
- */
38
- export declare abstract class LeafRenderObject<T extends Element = Element> extends RenderObject<T> {
39
- constructor(element: T | null);
40
- abstract render(ctx: RenderContenxtType, position: {
41
- x: number;
42
- y: number;
43
- }): void;
44
- }
45
- /**
46
- * 枝干节点渲染元素
47
- */
48
- export declare abstract class BranchRenderObject<T extends Element = Element> extends RenderObject<T> {
49
- constructor(element: T | null);
50
- private chilren;
51
- getItems(): Array<RenderObject>;
52
- addChild(...items: Array<RenderObject>): void;
53
- insertChild(item: RenderObject, index: number): void;
54
- removeChild(child: RenderObject): void;
55
- removeChildByIndex(index: number): void;
56
- clear(): void;
57
- get length(): number;
58
- getChild<T extends RenderObject = RenderObject>(index: number): T;
59
- getChildIndex(child: RenderObject): number;
60
- abstract beginRender(ctx: RenderContenxtType, position: Position): void;
61
- abstract endRender(ctx: RenderContenxtType, position: Position): void;
62
- destroy(): void;
63
- }
64
- /**
65
- * 块级渲染元素
66
- */
67
- export declare abstract class BlockContentRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
68
- setRenderWidth(maxWidth: number): void;
69
- }
70
- export declare abstract class InlineGroupRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
71
- }
72
- /**
73
- * 包含块级渲染元素的容器元素,例如body、table-cell等
74
- */
75
- export declare abstract class BlockContainerRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
76
- setRenderWidth(maxWidth: number): void;
77
- }
78
- /**
79
- * 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table
80
- */
81
- export declare abstract class MuiltBlockLineRenderObject<T extends Element = Element> extends BlockContentRenderObject<T> {
82
- }
83
- /**
84
- * 容器-子内容为多个行内块级元素,例如table-row
85
- */
86
- export declare abstract class InlineBlockContainer extends MuiltBlockLineRenderObject {
87
- }
88
- /**
89
- * 服务于table-cell
90
- * 可被多级拆分的元素
91
- */
92
- export declare abstract class InlineMuiltBlockLineRenderObject extends MuiltBlockLineRenderObject {
93
- }
94
- /**
95
- * 最小不可分割单位的块级行框,例如 p-line
96
- * 一行不可存在于两个页面中,块级行框不能分布在两个页面中
97
- */
98
- export declare abstract class BlockLineRectRenderObject extends BlockContentRenderObject {
99
- }
100
- 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';
101
- export declare type CursorType = 'text' | 'row-resize' | 'col-resize' | 'none' | 'default' | 'move' | 'pointer' | 'w-resize' | 's-resize' | 'se-resize' | 'ne-resize';
102
- export declare enum RenderObjectType {
103
- Branch = 0,
104
- Leaf = 1
105
- }
106
- export interface IMeasureRenderStruct<T> {
107
- rect: Rect;
108
- render: T;
109
- }
@@ -1,30 +0,0 @@
1
- import { SelectionState } from "./document-selection";
2
- import { Element, SelectionContentRange } from "./element-define";
3
- /**
4
- * 用于处理选区拖蓝
5
- */
6
- export declare class SelectionOverlays {
7
- private selectionState;
8
- private selectionRange;
9
- selectedSets: Map<Element, SelectionContentRange>;
10
- constructor(selectionState: SelectionState);
11
- getSelectionTreeData(): void;
12
- private convertSelectRangeToSet;
13
- static addToSets(range: SelectionContentRange, set: Map<Element, SelectionContentRange>): void;
14
- /**
15
- * 添加到批注集合
16
- * @param range
17
- * @param set
18
- */
19
- static addToCommentSets(range: SelectionContentRange, set: Map<Element, SelectionContentRange>): void;
20
- /**
21
- * 修正开始选区内容
22
- * 1.如果当前选区开始于表格内容,结束选区位于表格外,则需要开始选区内容重定位到单元格第一个元素
23
- */
24
- private fixStartSelectionElement;
25
- /**
26
- * 修正开始选区内容
27
- * 1.如果当前选区开始于表格内容,结束选区位于表格外,则需要开始选区内容重定位到单元格第一个元素
28
- */
29
- private fixEndSelectionElement;
30
- }
package/lib/index.d.ts DELETED
@@ -1,34 +0,0 @@
1
- export * from './doc-ruler';
2
- export * from './texteditor';
3
- export * from './framework/common-util';
4
- export * from './framework/document-change';
5
- export * from './framework/document-combine';
6
- export * from './framework/document-comment';
7
- export * from './framework/document-context';
8
- export * from './framework/document-eval-func';
9
- export * from './framework/document-event';
10
- export * from './framework/document-history';
11
- export * from './framework/document-images-loader';
12
- export * from './framework/document-input-cursor';
13
- export * from './framework/document-paint';
14
- export * from './framework/document-print';
15
- export * from './framework/document-print-offscreen';
16
- export * from './framework/document-segmenter';
17
- export * from './framework/document-selection';
18
- export * from './framework/document-template';
19
- export * from './framework/document-textline-mode';
20
- export * from './framework/element-define';
21
- export * from './framework/element-event-define';
22
- export * from './framework/element-measure';
23
- export * from './framework/element-paint';
24
- export * from './framework/element-props';
25
- export * from './framework/element-reader';
26
- export * from './framework/element-render-cut';
27
- export * from './framework/element-serialize';
28
- export * from './framework/element-util';
29
- export * from './framework/notify';
30
- export * from './framework/range-util';
31
- export * from './framework/render-context';
32
- export * from './framework/render-define';
33
- export * from './framework/selection-overlays';
34
- export * from './framework/impl';