Skip to content

Commit 57ecf09

Browse files
committed
💄 标签节点巨大化视觉优化
1 parent 2b165c4 commit 57ecf09

File tree

2 files changed

+28
-23
lines changed

2 files changed

+28
-23
lines changed

app/src/core/render/canvas2d/entityRenderer/EntityRenderer.tsx

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,35 @@ export namespace EntityRenderer {
196196
Renderer.NODE_ROUNDED_RADIUS * Camera.currentScale,
197197
);
198198
}
199+
// 用户不建议放大标签,所以这里注释掉了,但又有用户觉得这个也挺好,所以加个设置项
200+
if (Renderer.enableTagTextNodesBigDisplay) {
201+
if (StageManager.TagOptions.getTagUUIDs().includes(node.uuid)) {
202+
if (Camera.currentScale < 0.25) {
203+
const scaleRate = 5;
204+
const rect = node.collisionBox.getRectangle();
199205

206+
const rectBgc =
207+
node.color.a === 0 ? StageStyleManager.currentStyle.BackgroundColor.clone() : node.color.clone();
208+
rectBgc.a = 0.5;
209+
210+
ShapeRenderer.renderRectFromCenter(
211+
Renderer.transformWorld2View(rect.center),
212+
rect.width * scaleRate * Camera.currentScale,
213+
rect.height * scaleRate * Camera.currentScale,
214+
rectBgc,
215+
StageStyleManager.currentStyle.StageObjectBorderColor,
216+
2 * Camera.currentScale,
217+
Renderer.NODE_ROUNDED_RADIUS * scaleRate * Camera.currentScale,
218+
);
219+
TextRenderer.renderTextFromCenter(
220+
node.text,
221+
Renderer.transformWorld2View(rect.center),
222+
Renderer.FONT_SIZE * scaleRate * Camera.currentScale,
223+
StageStyleManager.currentStyle.StageObjectBorderColor,
224+
);
225+
}
226+
}
227+
}
200228
renderEntityDetails(node);
201229
}
202230

app/src/core/render/canvas2d/renderer.tsx

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import { Stage } from "../../stage/Stage";
1616
import { StageHistoryManager } from "../../stage/stageManager/StageHistoryManager";
1717
import { StageManager } from "../../stage/stageManager/StageManager";
1818
import { StageObject } from "../../stage/stageObject/abstract/StageObject";
19-
import { TextNode } from "../../stage/stageObject/entity/TextNode";
2019
import { CurveRenderer } from "./basicRenderer/curveRenderer";
2120
import { ShapeRenderer } from "./basicRenderer/shapeRenderer";
2221
import { TextRenderer } from "./basicRenderer/textRenderer";
@@ -514,28 +513,6 @@ export namespace Renderer {
514513
StageStyleManager.currentStyle.StageObjectBorderColor,
515514
2 * Camera.currentScale,
516515
);
517-
// 用户不建议放大标签,所以这里注释掉了,但又有用户觉得这个也挺好,所以加个设置项
518-
if (Renderer.enableTagTextNodesBigDisplay) {
519-
if (Camera.currentScale < 0.25 && tagObject instanceof TextNode) {
520-
const backRect = rect.clone();
521-
backRect.location = transformWorld2View(rect.center).add(new Vector(-rect.size.x / 2, -rect.size.y / 2));
522-
const rectBgc = StageStyleManager.currentStyle.BackgroundColor.clone();
523-
rectBgc.a = 0.5;
524-
ShapeRenderer.renderRect(
525-
backRect,
526-
rectBgc,
527-
StageStyleManager.currentStyle.StageObjectBorderColor,
528-
1,
529-
NODE_ROUNDED_RADIUS,
530-
);
531-
TextRenderer.renderTextFromCenter(
532-
tagObject.text,
533-
transformWorld2View(rect.center),
534-
FONT_SIZE,
535-
StageStyleManager.currentStyle.StageObjectBorderColor,
536-
);
537-
}
538-
}
539516
}
540517
}
541518
/**

0 commit comments

Comments
 (0)