@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafer-ui/display",
3
- "version": "1.6.7",
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.6.7",
26
- "@leafer-ui/data": "1.6.7",
27
- "@leafer-ui/display-module": "1.6.7",
28
- "@leafer-ui/decorator": "1.6.7",
29
- "@leafer-ui/external": "1.6.7"
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.6.7",
33
- "@leafer-ui/interface": "1.6.7"
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
- isOverflow = !includes(renderBounds, childrenRenderBounds)
106
- if (isOverflow && this.__.overflow !== 'hide') add(renderBounds, childrenRenderBounds)
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.__.__hasStroke) { // 还原绘制路径
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
- public set(data: IUIInputData, transition?: ITransition | 'temp'): void {
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
- public toJSON(options?: IJSONOptions): IUIJSONData {
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, _padding?: IFourNumber, _fixedScale?: boolean, _transition?: ITransition): IBoundsData {
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.emitEvent(new LeaferEvent(LeaferEvent.END, 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
@@ -53,9 +53,10 @@ export class Polygon extends UI implements IPolygon {
53
53
  lineTo(path, rx + rx * sin((i * 2 * PI) / sides), ry - ry * cos((i * 2 * PI) / sides))
54
54
  }
55
55
 
56
+ closePath(path)
57
+
56
58
  }
57
59
 
58
- closePath(path)
59
60
  }
60
61
 
61
62
  @rewrite(line.__updateRenderPath)
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
- if (this.__.path) {
460
- const data = this.__
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, _padding?: IFourNumber, _fixedScale?: boolean, _transition?: ITransition): IBoundsData;
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