Revert "[Refactor] Move node title background draw logic to LGraphNode (#452)" (#455)

This reverts commit 047bf68dc9.
This commit is contained in:
Chenlei Hu
2025-02-03 20:34:46 -08:00
committed by GitHub
parent f2fada0eab
commit dc24c6617f
2 changed files with 30 additions and 55 deletions

View File

@@ -5201,10 +5201,36 @@ export class LGraphCanvas {
// Title bar background (remember, it is rendered ABOVE the node)
if (render_title || title_mode == TitleMode.TRANSPARENT_TITLE) {
node.drawTitleBarBackground(ctx, {
scale: this.ds.scale,
low_quality,
})
if (node.onDrawTitleBar) {
node.onDrawTitleBar(ctx, title_height, size, this.ds.scale, fgcolor)
} else if (
title_mode !== TitleMode.TRANSPARENT_TITLE
) {
const title_color = node.constructor.title_color || fgcolor
if (collapsed) {
ctx.shadowColor = LiteGraph.DEFAULT_SHADOW_COLOR
}
ctx.fillStyle = title_color
ctx.beginPath()
if (shape == RenderShape.BOX || low_quality) {
ctx.rect(0, -title_height, size[0], title_height)
} else if (shape == RenderShape.ROUND || shape == RenderShape.CARD) {
ctx.roundRect(
0,
-title_height,
size[0],
title_height,
collapsed
? [LiteGraph.ROUND_RADIUS]
: [LiteGraph.ROUND_RADIUS, LiteGraph.ROUND_RADIUS, 0, 0],
)
}
ctx.fill()
ctx.shadowColor = "transparent"
}
// title box
const box_size = 10

View File

@@ -2798,57 +2798,6 @@ export class LGraphNode implements Positionable, IPinnable {
}
}
/**
* Renders the node's title bar background
*/
drawTitleBarBackground(ctx: CanvasRenderingContext2D, options: {
scale: number
title_height?: number
low_quality?: boolean
}): void {
const {
scale,
title_height = LiteGraph.NODE_TITLE_HEIGHT,
low_quality = false,
} = options
const fgcolor = this.renderingColor
const shape = this.renderingShape
const size = this.size
if (this.onDrawTitleBar) {
this.onDrawTitleBar(ctx, title_height, size, scale, fgcolor)
return
}
if (this.title_mode === TitleMode.TRANSPARENT_TITLE) {
return
}
if (this.collapsed) {
ctx.shadowColor = LiteGraph.DEFAULT_SHADOW_COLOR
}
ctx.fillStyle = this.constructor.title_color || fgcolor
ctx.beginPath()
if (shape == RenderShape.BOX || low_quality) {
ctx.rect(0, -title_height, size[0], title_height)
} else if (shape == RenderShape.ROUND || shape == RenderShape.CARD) {
ctx.roundRect(
0,
-title_height,
size[0],
title_height,
this.collapsed
? [LiteGraph.ROUND_RADIUS]
: [LiteGraph.ROUND_RADIUS, LiteGraph.ROUND_RADIUS, 0, 0],
)
}
ctx.fill()
ctx.shadowColor = "transparent"
}
/**
* Attempts to gracefully bypass this node in all of its connections by reconnecting all links.
*