@leafer-ui/display 1.6.7 → 1.8.0
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/package.json +8 -8
- package/src/Box.ts +23 -7
- package/src/Group.ts +5 -3
- package/src/Leafer.ts +3 -3
- package/src/Polygon.ts +2 -1
- package/src/Text.ts +5 -0
- package/src/UI.ts +15 -8
- package/types/index.d.ts +11 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leafer-ui/display",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "@leafer-ui/display",
|
|
5
5
|
"author": "Chao (Leafer) Wan",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
"leaferjs"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@leafer/core": "1.
|
|
26
|
-
"@leafer-ui/data": "1.
|
|
27
|
-
"@leafer-ui/display-module": "1.
|
|
28
|
-
"@leafer-ui/decorator": "1.
|
|
29
|
-
"@leafer-ui/external": "1.
|
|
25
|
+
"@leafer/core": "1.8.0",
|
|
26
|
+
"@leafer-ui/data": "1.8.0",
|
|
27
|
+
"@leafer-ui/display-module": "1.8.0",
|
|
28
|
+
"@leafer-ui/decorator": "1.8.0",
|
|
29
|
+
"@leafer-ui/external": "1.8.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@leafer/interface": "1.
|
|
33
|
-
"@leafer-ui/interface": "1.
|
|
32
|
+
"@leafer/interface": "1.8.0",
|
|
33
|
+
"@leafer-ui/interface": "1.8.0"
|
|
34
34
|
}
|
|
35
35
|
}
|
package/src/Box.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ILeaferCanvas, IRenderOptions, IBoundsData, IBoolean, INumber } from '@leafer/interface'
|
|
2
2
|
import { rewrite, rewriteAble, registerUI, BoundsHelper, dataProcessor, affectRenderBoundsType, dataType, boundsType, DataHelper } from '@leafer/core'
|
|
3
3
|
|
|
4
|
-
import { IBox, IBoxData, IBoxInputData, IOverflow } from '@leafer-ui/interface'
|
|
4
|
+
import { IBox, IBoxData, IBoxInputData, IGroup, IOverflow } from '@leafer-ui/interface'
|
|
5
5
|
import { BoxData } from '@leafer-ui/data'
|
|
6
6
|
|
|
7
7
|
import { Group } from './Group'
|
|
@@ -41,6 +41,8 @@ export class Box extends Group implements IBox {
|
|
|
41
41
|
|
|
42
42
|
public isOverflow: boolean
|
|
43
43
|
|
|
44
|
+
public scrollBar?: IGroup
|
|
45
|
+
|
|
44
46
|
constructor(data?: IBoxInputData) {
|
|
45
47
|
super(data)
|
|
46
48
|
this.__layout.renderChanged || this.__layout.renderChange()
|
|
@@ -61,10 +63,10 @@ export class Box extends Group implements IBox {
|
|
|
61
63
|
|
|
62
64
|
// @leafer-in/flow will rewrite
|
|
63
65
|
public __updateBoxBounds(_secondLayout?: boolean): void {
|
|
64
|
-
const data = this.__
|
|
65
|
-
|
|
66
66
|
if (this.children.length && !this.pathInputed) {
|
|
67
67
|
|
|
68
|
+
const data = this.__
|
|
69
|
+
|
|
68
70
|
if (data.__autoSide) {
|
|
69
71
|
|
|
70
72
|
if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新
|
|
@@ -95,23 +97,36 @@ export class Box extends Group implements IBox {
|
|
|
95
97
|
|
|
96
98
|
public __updateRenderBounds(): void {
|
|
97
99
|
let isOverflow: boolean
|
|
98
|
-
const { renderBounds } = this.__layout
|
|
99
100
|
|
|
100
101
|
if (this.children.length) {
|
|
102
|
+
const data = this.__, { renderBounds, boxBounds } = this.__layout
|
|
103
|
+
|
|
101
104
|
super.__updateRenderBounds()
|
|
102
105
|
copy(childrenRenderBounds, renderBounds)
|
|
103
106
|
this.__updateRectRenderBounds()
|
|
104
107
|
|
|
105
|
-
|
|
106
|
-
if (
|
|
108
|
+
// 增加滚动逻辑
|
|
109
|
+
if (data.scrollY || data.scrollX) {
|
|
110
|
+
childrenRenderBounds.x += data.scrollX
|
|
111
|
+
childrenRenderBounds.y += data.scrollY
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
isOverflow = !includes(boxBounds, childrenRenderBounds)
|
|
115
|
+
if (isOverflow && data.overflow !== 'hide') add(renderBounds, childrenRenderBounds)
|
|
107
116
|
} else this.__updateRectRenderBounds()
|
|
108
117
|
|
|
109
118
|
DataHelper.stintSet(this, 'isOverflow', isOverflow)
|
|
119
|
+
|
|
120
|
+
this.__updateScrollBar()
|
|
110
121
|
}
|
|
111
122
|
|
|
112
123
|
@rewrite(rect.__updateRenderBounds)
|
|
113
124
|
public __updateRectRenderBounds(): void { }
|
|
114
125
|
|
|
126
|
+
// need rewrite
|
|
127
|
+
public __updateScrollBar(): void { }
|
|
128
|
+
|
|
129
|
+
|
|
115
130
|
@rewrite(rect.__updateChange)
|
|
116
131
|
public __updateRectChange(): void { }
|
|
117
132
|
|
|
@@ -135,13 +150,14 @@ export class Box extends Group implements IBox {
|
|
|
135
150
|
this.__renderRect(canvas, options)
|
|
136
151
|
if (this.children.length) this.__renderGroup(canvas, options)
|
|
137
152
|
}
|
|
153
|
+
if (this.scrollBar) this.scrollBar.__render(canvas, options)
|
|
138
154
|
}
|
|
139
155
|
|
|
140
156
|
// in __drawAfterFill()
|
|
141
157
|
public __drawContent(canvas: ILeaferCanvas, options: IRenderOptions): void {
|
|
142
158
|
this.__renderGroup(canvas, options)
|
|
143
159
|
|
|
144
|
-
if (this.__.
|
|
160
|
+
if (this.__.__useStroke || this.__.__useEffect) { // 还原绘制路径
|
|
145
161
|
canvas.setWorld(this.__nowWorld)
|
|
146
162
|
this.__drawRenderPath(canvas)
|
|
147
163
|
}
|
package/src/Group.ts
CHANGED
|
@@ -27,6 +27,8 @@ export class Group extends UI implements IGroup { // tip: rewrited Box
|
|
|
27
27
|
|
|
28
28
|
declare public children: IUI[]
|
|
29
29
|
|
|
30
|
+
public childlessJSON?: boolean
|
|
31
|
+
|
|
30
32
|
constructor(data?: IGroupInputData) {
|
|
31
33
|
super(data)
|
|
32
34
|
}
|
|
@@ -43,7 +45,7 @@ export class Group extends UI implements IGroup { // tip: rewrited Box
|
|
|
43
45
|
|
|
44
46
|
// data
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
override set(data: IUIInputData, transition?: ITransition | 'temp'): void {
|
|
47
49
|
if (data) {
|
|
48
50
|
if (data.children) {
|
|
49
51
|
const { children } = data
|
|
@@ -60,9 +62,9 @@ export class Group extends UI implements IGroup { // tip: rewrited Box
|
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
override toJSON(options?: IJSONOptions): IUIJSONData {
|
|
64
66
|
const data = super.toJSON(options)
|
|
65
|
-
data.children = this.children.map(child => child.toJSON(options))
|
|
67
|
+
if (!this.childlessJSON) data.children = this.children.map(child => child.toJSON(options))
|
|
66
68
|
return data
|
|
67
69
|
}
|
|
68
70
|
|
package/src/Leafer.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ILeaferCanvas, IRenderer, ILayouter, ISelector, IWatcher, IInteraction, ILeaferConfig, ICanvasManager, IHitCanvasManager, IAutoBounds, IScreenSizeData, IResizeEvent, IEventListenerId, ITimer, IValue, IObject, IControl, IPointData, ILeaferType, ICursorType, IBoundsData, INumber, IZoomType, IFourNumber, IBounds, IClientPointData, ITransition } from '@leafer/interface'
|
|
1
|
+
import { ILeaferCanvas, IRenderer, ILayouter, ISelector, IWatcher, IInteraction, ILeaferConfig, ICanvasManager, IHitCanvasManager, IAutoBounds, IScreenSizeData, IResizeEvent, IEventListenerId, ITimer, IValue, IObject, IControl, IPointData, ILeaferType, ICursorType, IBoundsData, INumber, IZoomType, IZoomOptions, IFourNumber, IBounds, IClientPointData, ITransition } from '@leafer/interface'
|
|
2
2
|
import { AutoBounds, LayoutEvent, ResizeEvent, LeaferEvent, CanvasManager, ImageManager, Resource, DataHelper, Creator, Run, Debug, RenderEvent, registerUI, boundsType, canvasSizeAttrs, dataProcessor, WaitHelper, WatchEvent, Bounds, LeafList, Plugin, getBoundsData } from '@leafer/core'
|
|
3
3
|
|
|
4
4
|
import { ILeaferInputData, ILeaferData, IFunction, IUIInputData, ILeafer, IApp, IEditorBase } from '@leafer-ui/interface'
|
|
@@ -385,7 +385,7 @@ export class Leafer extends Group implements ILeafer {
|
|
|
385
385
|
}
|
|
386
386
|
|
|
387
387
|
// need view plugin
|
|
388
|
-
public zoom(_zoomType: IZoomType,
|
|
388
|
+
public zoom(_zoomType: IZoomType, _optionsOrPadding?: IZoomOptions | IFourNumber, _scroll?: 'x' | 'y' | boolean, _transition?: ITransition): IBoundsData {
|
|
389
389
|
return Plugin.need('view')
|
|
390
390
|
}
|
|
391
391
|
|
|
@@ -446,7 +446,7 @@ export class Leafer extends Group implements ILeafer {
|
|
|
446
446
|
Leafer.list.remove(this)
|
|
447
447
|
try {
|
|
448
448
|
this.stop()
|
|
449
|
-
this.
|
|
449
|
+
this.emitLeafer(LeaferEvent.END)
|
|
450
450
|
this.__removeListenEvents()
|
|
451
451
|
|
|
452
452
|
this.__controllers.forEach(item => !(this.parent && item === this.interaction) && item.destroy())
|
package/src/Polygon.ts
CHANGED
package/src/Text.ts
CHANGED
|
@@ -186,6 +186,11 @@ export class Text extends UI implements IText {
|
|
|
186
186
|
super.__draw(canvas, options, originCanvas)
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
+
override __drawShape(canvas: ILeaferCanvas, options: IRenderOptions): void {
|
|
190
|
+
if (options.shape) this.__box && this.__box.__drawShape(canvas, options)
|
|
191
|
+
super.__drawShape(canvas, options)
|
|
192
|
+
}
|
|
193
|
+
|
|
189
194
|
override destroy(): void {
|
|
190
195
|
if (this.boxStyle) this.boxStyle = null
|
|
191
196
|
super.destroy()
|
package/src/UI.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ILeaferCanvas, IPathDrawer, IPathCommandData, IHitType, INumber, IBoolean, IString, IPathString, IExportFileType, IPointData, ICursorType, IMaskType, IEraserType, IValue, IWindingRule, IPathCreator, IFourNumber, IBoundsData, IFlowType, IGap, IFlowWrap, IAxis, IConstraint, IAutoBoxData, IFlowBoxType, IPointGap, IFlowAlign, IFlowAxisAlign, IFindCondition, IAutoSize, IRangeSize, IAlign, IUnitPointData, IObject, IScaleData, IUnitData, IPathCommandObject, ITransition, IFilter, ILeaferImage } from '@leafer/interface'
|
|
2
|
-
import { Leaf, PathDrawer, surfaceType, dataType, positionType, boundsType, pathType, scaleType, rotationType, opacityType, visibleType, sortType, maskType, dataProcessor, registerUI, useModule, rewrite, rewriteAble, UICreator, PathCorner, hitType, strokeType, PathConvert, eraserType, cursorType, autoLayoutType, pen, naturalBoundsType, pathInputType, MathHelper, Plugin, DataHelper } from '@leafer/core'
|
|
2
|
+
import { Leaf, PathDrawer, surfaceType, dataType, positionType, boundsType, pathType, scaleType, rotationType, opacityType, visibleType, sortType, maskType, dataProcessor, registerUI, useModule, rewrite, rewriteAble, UICreator, PathCorner, hitType, strokeType, PathConvert, eraserType, cursorType, autoLayoutType, pen, naturalBoundsType, pathInputType, MathHelper, Plugin, DataHelper, affectRenderBoundsType } from '@leafer/core'
|
|
3
3
|
|
|
4
|
-
import { IUI, IShadowEffect, IBlurEffect, IStrokeAlign, IStrokeJoin, IStrokeCap, IBlendMode, IDashPatternString, IShadowString, IGrayscaleEffect, IUIData, IGroup, IStrokeWidthString, ICornerRadiusString, IUIInputData, IExportOptions, IExportResult, IFill, IStroke, IArrowType, IFindUIMethod, ILeafer, IEditorConfig, IEditorConfigFunction, IEditToolFunction, IKeyframe, IAnimation, IAnimate, IStates, IStateName, IAnimateType, IStateStyle, IColorString } from '@leafer-ui/interface'
|
|
4
|
+
import { IUI, IShadowEffect, IBlurEffect, IStrokeAlign, IStrokeJoin, IStrokeCap, IBlendMode, IDashPatternString, IShadowString, IGrayscaleEffect, IUIData, IGroup, IStrokeWidthString, ICornerRadiusString, IUIInputData, IExportOptions, IExportResult, IFill, IStroke, IArrowType, IFindUIMethod, ILeafer, IEditorConfig, IEditorConfigFunction, IEditToolFunction, IKeyframe, IAnimation, IAnimate, IStates, IStateName, IAnimateType, IStateStyle, IColorString, IAnimateList } from '@leafer-ui/interface'
|
|
5
5
|
import { effectType, zoomLayerType } from '@leafer-ui/decorator'
|
|
6
6
|
|
|
7
7
|
import { UIData } from '@leafer-ui/data'
|
|
@@ -143,6 +143,10 @@ export class UI extends Leaf implements IUI { // tip: rewrited Box
|
|
|
143
143
|
public pixelRatio?: INumber
|
|
144
144
|
|
|
145
145
|
|
|
146
|
+
@affectRenderBoundsType(0)
|
|
147
|
+
public renderSpread?: INumber // 强行扩大渲染边界
|
|
148
|
+
|
|
149
|
+
|
|
146
150
|
// path
|
|
147
151
|
@pathInputType()
|
|
148
152
|
public path?: IPathCommandData | IPathCommandObject[] | IPathString
|
|
@@ -235,13 +239,13 @@ export class UI extends Leaf implements IUI { // tip: rewrited Box
|
|
|
235
239
|
|
|
236
240
|
// stroke
|
|
237
241
|
|
|
238
|
-
@strokeType()
|
|
242
|
+
@strokeType(undefined, true)
|
|
239
243
|
public stroke?: IStroke
|
|
240
244
|
|
|
241
245
|
@strokeType('inside')
|
|
242
246
|
public strokeAlign?: IStrokeAlign
|
|
243
247
|
|
|
244
|
-
@strokeType(1)
|
|
248
|
+
@strokeType(1, true)
|
|
245
249
|
public strokeWidth?: IFourNumber | IStrokeWidthString
|
|
246
250
|
|
|
247
251
|
@strokeType(false)
|
|
@@ -376,10 +380,13 @@ export class UI extends Leaf implements IUI { // tip: rewrited Box
|
|
|
376
380
|
public set scale(value: INumber | IPointData) { MathHelper.assignScale(this as IScaleData, value) }
|
|
377
381
|
public get scale(): INumber | IPointData { return this.__.scale }
|
|
378
382
|
|
|
383
|
+
public get isAutoWidth(): boolean { const t = this.__; return t.__autoWidth || t.autoWidth as boolean }
|
|
384
|
+
public get isAutoHeight(): boolean { const t = this.__; return t.__autoHeight || t.autoHeight as boolean }
|
|
385
|
+
|
|
379
386
|
public useFastShadow?: boolean // 将忽略 stroke 产生的阴影,只对单个 fill 有效
|
|
380
387
|
|
|
381
388
|
public __box?: IUI // 背景box, 一般用于文本背景框
|
|
382
|
-
public __animate?: IAnimate
|
|
389
|
+
public __animate?: IAnimate | IAnimateList
|
|
383
390
|
|
|
384
391
|
public get pen(): IPathCreator {
|
|
385
392
|
const { path } = this.__
|
|
@@ -456,11 +463,11 @@ export class UI extends Leaf implements IUI { // tip: rewrited Box
|
|
|
456
463
|
}
|
|
457
464
|
|
|
458
465
|
public __updateRenderPath(): void {
|
|
459
|
-
|
|
460
|
-
|
|
466
|
+
const data = this.__
|
|
467
|
+
if (data.path) {
|
|
461
468
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path
|
|
462
469
|
if (data.__useArrow) PathArrow.addArrows(this, !data.cornerRadius)
|
|
463
|
-
}
|
|
470
|
+
} else data.__pathForRender && (data.__pathForRender = undefined)
|
|
464
471
|
}
|
|
465
472
|
|
|
466
473
|
public __drawRenderPath(canvas: ILeaferCanvas): void {
|
package/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IString, INumber, IBoolean, IMaskType, IEraserType, IAlign, IUnitPointData, IPathCommandData, IPathCommandObject, IPathString, IWindingRule, IFlowType, IFourNumber, IGap, IPointGap, IFlowAlign, IFlowAxisAlign, IFlowWrap, IFlowBoxType, IAutoSize, IAutoBoxData, IConstraint, IRangeSize, IAxis, IBoundsData, IHitType, ICursorType, IFilter, ITransition, IUnitData, IObject, IPointData, IPathCreator, IValue, IFindCondition, ILeaferCanvas, IPathDrawer, ILeaferImage, IExportFileType, IJSONOptions, IPickOptions, IPickResult, IRenderer, IWatcher, ILayouter, ISelector, IInteraction, ICanvasManager, IHitCanvasManager, ILeaferConfig, IAutoBounds, IBounds, IEventListenerId, ITimer, IControl, ILeaferType, IScreenSizeData, IResizeEvent, IZoomType, IClientPointData, IRenderOptions, ICanvasContext2DSettings, ICanvasContext2D } from '@leafer/interface';
|
|
1
|
+
import { IString, INumber, IBoolean, IMaskType, IEraserType, IAlign, IUnitPointData, IPathCommandData, IPathCommandObject, IPathString, IWindingRule, IFlowType, IFourNumber, IGap, IPointGap, IFlowAlign, IFlowAxisAlign, IFlowWrap, IFlowBoxType, IAutoSize, IAutoBoxData, IConstraint, IRangeSize, IAxis, IBoundsData, IHitType, ICursorType, IFilter, ITransition, IUnitData, IObject, IPointData, IPathCreator, IValue, IFindCondition, ILeaferCanvas, IPathDrawer, ILeaferImage, IExportFileType, IJSONOptions, IPickOptions, IPickResult, IRenderer, IWatcher, ILayouter, ISelector, IInteraction, ICanvasManager, IHitCanvasManager, ILeaferConfig, IAutoBounds, IBounds, IEventListenerId, ITimer, IControl, ILeaferType, IScreenSizeData, IResizeEvent, IZoomType, IZoomOptions, IClientPointData, IRenderOptions, ICanvasContext2DSettings, ICanvasContext2D } from '@leafer/interface';
|
|
2
2
|
import { Leaf, LeafList } from '@leafer/core';
|
|
3
|
-
import { IUI, IUIData, IUIInputData, ILeafer, IGroup, IBlendMode, IFill, IStroke, IStrokeAlign, IStrokeWidthString, IStrokeCap, IStrokeJoin, IDashPatternString, IArrowType, ICornerRadiusString, IShadowEffect, IShadowString, IBlurEffect, IGrayscaleEffect, IAnimation, IStates, IStateName, IStateStyle, IColorString, IEditorConfig, IAnimate, IFindUIMethod, IKeyframe, IAnimateType, IExportOptions, IExportResult, IEditorConfigFunction, IEditToolFunction, IGroupData, IGroupInputData, IUIJSONData, IFindCondition as IFindCondition$1, ILeaferData, IApp, IEditorBase, IFunction, ILeaferInputData, IBox, IBoxData, IOverflow, IBoxInputData, IFrame, IFrameData, IFrameInputData, IRect, IRectData, IRectInputData, IEllipse, IEllipseData, IEllipseInputData, IPolygon, IPolygonData, IPolygonInputData, IStar, IStarData, IStarInputData, ILine, ILineData, ILineInputData, IImage, IImageData, IImageInputData, ICanvas, ICanvasData, ICanvasInputData, IText, ITextData, IBackgroundBoxStyle, IHitType as IHitType$1, IFontWeight, ITextCase, ITextDecoration, IWritingMode, ITextAlign, IVerticalAlign, ITextWrap, ITextDrawData, ITextInputData, IPath, IPathData, IPathInputData, IPen, IPenData, IPathCommandData as IPathCommandData$1, IPenInputData, IPointData as IPointData$1 } from '@leafer-ui/interface';
|
|
3
|
+
import { IUI, IUIData, IUIInputData, ILeafer, IGroup, IBlendMode, IFill, IStroke, IStrokeAlign, IStrokeWidthString, IStrokeCap, IStrokeJoin, IDashPatternString, IArrowType, ICornerRadiusString, IShadowEffect, IShadowString, IBlurEffect, IGrayscaleEffect, IAnimation, IStates, IStateName, IStateStyle, IColorString, IEditorConfig, IAnimate, IAnimateList, IFindUIMethod, IKeyframe, IAnimateType, IExportOptions, IExportResult, IEditorConfigFunction, IEditToolFunction, IGroupData, IGroupInputData, IUIJSONData, IFindCondition as IFindCondition$1, ILeaferData, IApp, IEditorBase, IFunction, ILeaferInputData, IBox, IBoxData, IOverflow, IBoxInputData, IFrame, IFrameData, IFrameInputData, IRect, IRectData, IRectInputData, IEllipse, IEllipseData, IEllipseInputData, IPolygon, IPolygonData, IPolygonInputData, IStar, IStarData, IStarInputData, ILine, ILineData, ILineInputData, IImage, IImageData, IImageInputData, ICanvas, ICanvasData, ICanvasInputData, IText, ITextData, IBackgroundBoxStyle, IHitType as IHitType$1, IFontWeight, ITextCase, ITextDecoration, IWritingMode, ITextAlign, IVerticalAlign, ITextWrap, ITextDrawData, ITextInputData, IPath, IPathData, IPathInputData, IPen, IPenData, IPathCommandData as IPathCommandData$1, IPenInputData, IPointData as IPointData$1 } from '@leafer-ui/interface';
|
|
4
4
|
|
|
5
5
|
declare class UI extends Leaf implements IUI {
|
|
6
6
|
__: IUIData;
|
|
@@ -41,6 +41,7 @@ declare class UI extends Leaf implements IUI {
|
|
|
41
41
|
around?: IAlign | IUnitPointData;
|
|
42
42
|
lazy?: IBoolean;
|
|
43
43
|
pixelRatio?: INumber;
|
|
44
|
+
renderSpread?: INumber;
|
|
44
45
|
path?: IPathCommandData | IPathCommandObject[] | IPathString;
|
|
45
46
|
windingRule?: IWindingRule;
|
|
46
47
|
closed?: boolean;
|
|
@@ -116,9 +117,11 @@ declare class UI extends Leaf implements IUI {
|
|
|
116
117
|
data: IObject;
|
|
117
118
|
set scale(value: INumber | IPointData);
|
|
118
119
|
get scale(): INumber | IPointData;
|
|
120
|
+
get isAutoWidth(): boolean;
|
|
121
|
+
get isAutoHeight(): boolean;
|
|
119
122
|
useFastShadow?: boolean;
|
|
120
123
|
__box?: IUI;
|
|
121
|
-
__animate?: IAnimate;
|
|
124
|
+
__animate?: IAnimate | IAnimateList;
|
|
122
125
|
get pen(): IPathCreator;
|
|
123
126
|
constructor(data?: IUIInputData);
|
|
124
127
|
reset(_data?: IUIInputData): void;
|
|
@@ -160,6 +163,7 @@ declare class Group extends UI implements IGroup {
|
|
|
160
163
|
width?: INumber;
|
|
161
164
|
height?: INumber;
|
|
162
165
|
children: IUI[];
|
|
166
|
+
childlessJSON?: boolean;
|
|
163
167
|
constructor(data?: IGroupInputData);
|
|
164
168
|
reset(data?: IGroupInputData): void;
|
|
165
169
|
__setBranch(): void;
|
|
@@ -256,7 +260,7 @@ declare class Leafer extends Group implements ILeafer {
|
|
|
256
260
|
waitViewReady(item: IFunction, bind?: IObject): void;
|
|
257
261
|
waitViewCompleted(item: IFunction, bind?: IObject): void;
|
|
258
262
|
nextRender(item: IFunction, bind?: IObject, off?: 'off'): void;
|
|
259
|
-
zoom(_zoomType: IZoomType,
|
|
263
|
+
zoom(_zoomType: IZoomType, _optionsOrPadding?: IZoomOptions | IFourNumber, _scroll?: 'x' | 'y' | boolean, _transition?: ITransition): IBoundsData;
|
|
260
264
|
getValidMove(moveX: number, moveY: number): IPointData;
|
|
261
265
|
getValidScale(changeScale: number): number;
|
|
262
266
|
getWorldPointByClient(clientPoint: IClientPointData, updateClient?: boolean): IPointData;
|
|
@@ -280,6 +284,7 @@ declare class Box extends Group implements IBox {
|
|
|
280
284
|
textBox?: IBoolean;
|
|
281
285
|
overflow?: IOverflow;
|
|
282
286
|
isOverflow: boolean;
|
|
287
|
+
scrollBar?: IGroup;
|
|
283
288
|
constructor(data?: IBoxInputData);
|
|
284
289
|
__updateStrokeSpread(): number;
|
|
285
290
|
__updateRectRenderSpread(): number;
|
|
@@ -289,6 +294,7 @@ declare class Box extends Group implements IBox {
|
|
|
289
294
|
__updateStrokeBounds(): void;
|
|
290
295
|
__updateRenderBounds(): void;
|
|
291
296
|
__updateRectRenderBounds(): void;
|
|
297
|
+
__updateScrollBar(): void;
|
|
292
298
|
__updateRectChange(): void;
|
|
293
299
|
__updateChange(): void;
|
|
294
300
|
__renderRect(_canvas: ILeaferCanvas, _options: IRenderOptions): void;
|
|
@@ -430,6 +436,7 @@ declare class Text extends UI implements IText {
|
|
|
430
436
|
__updateRenderBounds(): void;
|
|
431
437
|
__drawRenderPath(canvas: ILeaferCanvas): void;
|
|
432
438
|
__draw(canvas: ILeaferCanvas, options: IRenderOptions, originCanvas?: ILeaferCanvas): void;
|
|
439
|
+
__drawShape(canvas: ILeaferCanvas, options: IRenderOptions): void;
|
|
433
440
|
destroy(): void;
|
|
434
441
|
}
|
|
435
442
|
|