@leafer/renderer 1.0.0-beta.9 → 1.0.0-rc.1

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,12 +1,15 @@
1
1
  {
2
2
  "name": "@leafer/renderer",
3
- "version": "1.0.0-beta.9",
3
+ "version": "1.0.0-rc.1",
4
4
  "description": "@leafer/renderer",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
7
7
  "main": "src/index.ts",
8
+ "types": "types/index.d.ts",
8
9
  "files": [
9
- "src"
10
+ "src",
11
+ "types",
12
+ "dist"
10
13
  ],
11
14
  "repository": {
12
15
  "type": "git",
@@ -19,13 +22,9 @@
19
22
  "leaferjs"
20
23
  ],
21
24
  "dependencies": {
22
- "@leafer/event": "1.0.0-beta.9",
23
- "@leafer/math": "1.0.0-beta.9",
24
- "@leafer/data": "1.0.0-beta.9",
25
- "@leafer/platform": "1.0.0-beta.9",
26
- "@leafer/debug": "1.0.0-beta.9"
25
+ "@leafer/core": "1.0.0-rc.1"
27
26
  },
28
27
  "devDependencies": {
29
- "@leafer/interface": "1.0.0-beta.9"
28
+ "@leafer/interface": "1.0.0-rc.1"
30
29
  }
31
30
  }
package/src/Renderer.ts CHANGED
@@ -1,9 +1,5 @@
1
1
  import { ILeaf, ILeaferCanvas, IRenderer, IRendererConfig, IEventListenerId, IBounds, IFunction, IRenderOptions } from '@leafer/interface'
2
- import { AnimateEvent, LayoutEvent, RenderEvent, ResizeEvent } from '@leafer/event'
3
- import { Bounds } from '@leafer/math'
4
- import { DataHelper } from '@leafer/data'
5
- import { Platform } from '@leafer/platform'
6
- import { Debug, Run } from '@leafer/debug'
2
+ import { AnimateEvent, LayoutEvent, RenderEvent, ResizeEvent, ImageManager, Bounds, DataHelper, Platform, Debug, Run } from '@leafer/core'
7
3
 
8
4
 
9
5
  const debug = Debug.get('Renderer')
@@ -77,7 +73,10 @@ export class Renderer implements IRenderer {
77
73
  this.emitRender(RenderEvent.START)
78
74
  this.renderOnce(callback)
79
75
  this.emitRender(RenderEvent.END, this.totalBounds)
76
+
77
+ ImageManager.clearRecycled()
80
78
  } catch (e) {
79
+ this.rendering = false
81
80
  debug.error(e)
82
81
  }
83
82
 
@@ -189,6 +188,7 @@ export class Renderer implements IRenderer {
189
188
 
190
189
  if (Debug.showHitView) this.renderHitView(options)
191
190
  if (Debug.showBoundsView) this.renderBoundsView(options)
191
+ this.canvas.updateRender()
192
192
  }
193
193
 
194
194
  public renderHitView(_options: IRenderOptions): void { }
@@ -240,7 +240,7 @@ export class Renderer implements IRenderer {
240
240
  if (item.updatedList) item.updatedList.list.some(leaf => {
241
241
  empty = (!leaf.__world.width || !leaf.__world.height)
242
242
  if (empty) {
243
- debug.warn(leaf.innerName, ': none bounds')
243
+ if (!leaf.isLeafer) debug.warn(leaf.innerName, ': empty')
244
244
  empty = (!leaf.isBranch || leaf.isBranchLeaf) // render object
245
245
  }
246
246
  return empty
@@ -0,0 +1,46 @@
1
+ import { IRenderer, ILeaf, ILeaferCanvas, IBounds, IRendererConfig, IRenderOptions, IEventListenerId, IFunction } from '@leafer/interface';
2
+ import { ResizeEvent, LayoutEvent } from '@leafer/core';
3
+
4
+ declare class Renderer implements IRenderer {
5
+ target: ILeaf;
6
+ canvas: ILeaferCanvas;
7
+ updateBlocks: IBounds[];
8
+ FPS: number;
9
+ totalTimes: number;
10
+ times: number;
11
+ running: boolean;
12
+ rendering: boolean;
13
+ waitAgain: boolean;
14
+ changed: boolean;
15
+ config: IRendererConfig;
16
+ protected renderBounds: IBounds;
17
+ protected renderOptions: IRenderOptions;
18
+ protected totalBounds: IBounds;
19
+ protected __eventIds: IEventListenerId[];
20
+ protected get needFill(): boolean;
21
+ constructor(target: ILeaf, canvas: ILeaferCanvas, userConfig?: IRendererConfig);
22
+ start(): void;
23
+ stop(): void;
24
+ update(): void;
25
+ requestLayout(): void;
26
+ render(callback?: IFunction): void;
27
+ renderAgain(): void;
28
+ renderOnce(callback?: IFunction): void;
29
+ partRender(): void;
30
+ clipRender(block: IBounds): void;
31
+ fullRender(): void;
32
+ protected __render(bounds: IBounds, realBounds?: IBounds): void;
33
+ renderHitView(_options: IRenderOptions): void;
34
+ renderBoundsView(_options: IRenderOptions): void;
35
+ addBlock(block: IBounds): void;
36
+ mergeBlocks(): void;
37
+ protected __requestRender(): void;
38
+ protected __onResize(e: ResizeEvent): void;
39
+ protected __onLayoutEnd(event: LayoutEvent): void;
40
+ protected emitRender(type: string, bounds?: IBounds, options?: IRenderOptions): void;
41
+ protected __listenEvents(): void;
42
+ protected __removeListenEvents(): void;
43
+ destroy(): void;
44
+ }
45
+
46
+ export { Renderer };