| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import type { DisplayObject, RenderingPlugin, RenderingPluginContext, CanvasContext, GlobalRuntime } from '@antv/g-lite';
- import type { CanvasRendererPluginOptions } from './interfaces';
- /**
- * support 2 modes in rendering:
- * * immediate
- * * delayed: render at the end of frame with dirty-rectangle
- */
- export declare class CanvasRendererPlugin implements RenderingPlugin {
- private canvasRendererPluginOptions;
- static tag: string;
- private context;
- private pathGeneratorFactory;
- /**
- * RBush used in dirty rectangle rendering
- */
- private rBush;
- constructor(canvasRendererPluginOptions: CanvasRendererPluginOptions);
- private removedRBushNodeAABBs;
- private renderQueue;
- /**
- * This stack is only used by clipPath for now.
- */
- private restoreStack;
- private clearFullScreen;
- /**
- * view projection matrix
- */
- private vpMatrix;
- private dprMatrix;
- private tmpMat4;
- private vec3a;
- private vec3b;
- private vec3c;
- private vec3d;
- apply(context: RenderingPluginContext, runtime: GlobalRuntime): void;
- private clearRect;
- renderDisplayObject(object: DisplayObject, context: CanvasRenderingContext2D, canvasContext: CanvasContext, restoreStack: DisplayObject[], runtime: GlobalRuntime): void;
- private convertAABB2Rect;
- /**
- * TODO: merge dirty rectangles with some strategies.
- * For now, we just simply merge all the rectangles into one.
- * @see https://idom.me/articles/841.html
- */
- private mergeDirtyAABBs;
- private searchDirtyObjects;
- private saveDirtyAABB;
- /**
- * TODO: batch the same global attributes
- */
- private applyAttributesToContext;
- private applyWorldTransform;
- private safeMergeAABB;
- }
- //# sourceMappingURL=CanvasRendererPlugin.d.ts.map
|