From 3f8e52706ed4ad1dea36a4105f49220845b17201 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Thu, 28 Nov 2024 20:15:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20graphics=E5=92=8Cicon=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/render/renderer/map.ts | 40 ++++++++++++++++++++----------- src/core/render/renderer/props.ts | 4 ++-- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/src/core/render/renderer/map.ts b/src/core/render/renderer/map.ts index 47d62b5..071ebbf 100644 --- a/src/core/render/renderer/map.ts +++ b/src/core/render/renderer/map.ts @@ -68,12 +68,24 @@ const standardElement = ( return (_0: any, _1: any, props?: any) => { if (!props) return new Item('static'); else { - const { - type = 'static', - enableCache = true, - fallthrough = false - } = props; - return new Item(type, enableCache, fallthrough); + const { type = 'static', cache = true, fall = false } = props; + return new Item(type, cache, fall); + } + }; +}; + +const standardElementNoCache = ( + Item: new ( + type: RenderItemPosition, + cache?: boolean, + fall?: boolean + ) => RenderItem +) => { + return (_0: any, _1: any, props?: any) => { + if (!props) return new Item('static'); + else { + const { type = 'static', cache = false, fall = false } = props; + return new Item(type, cache, fall); } }; }; @@ -169,11 +181,11 @@ tagMap.register('damage', (_0, _1, props) => { tagMap.register('animation', (_0, _1, props) => { return new Animate(); }); -tagMap.register('g-rect', standardElement(Rect)); -tagMap.register('g-circle', standardElement(Circle)); -tagMap.register('g-ellipse', standardElement(Ellipse)); -tagMap.register('g-line', standardElement(Line)); -tagMap.register('g-bezier', standardElement(BezierCurve)); -tagMap.register('g-quad', standardElement(QuadraticCurve)); -tagMap.register('g-path', standardElement(Path)); -tagMap.register('icon', standardElement(Icon)); +tagMap.register('g-rect', standardElementNoCache(Rect)); +tagMap.register('g-circle', standardElementNoCache(Circle)); +tagMap.register('g-ellipse', standardElementNoCache(Ellipse)); +tagMap.register('g-line', standardElementNoCache(Line)); +tagMap.register('g-bezier', standardElementNoCache(BezierCurve)); +tagMap.register('g-quad', standardElementNoCache(QuadraticCurve)); +tagMap.register('g-path', standardElementNoCache(Path)); +tagMap.register('icon', standardElementNoCache(Icon)); diff --git a/src/core/render/renderer/props.ts b/src/core/render/renderer/props.ts index 22238a6..85b79b4 100644 --- a/src/core/render/renderer/props.ts +++ b/src/core/render/renderer/props.ts @@ -25,8 +25,8 @@ export interface BaseProps { hidden?: boolean; transform?: Transform; type?: RenderItemPosition; - enableCache?: boolean; - fallthrough?: boolean; + cache?: boolean; + fall?: boolean; id?: string; alpha?: number; composite?: GlobalCompositeOperation;