Partially implement git branch symbols

Part of #5477
This commit is contained in:
Daniel Imms
2025-12-24 15:03:28 -08:00
parent edf100a24b
commit 4a8d8bd247
4 changed files with 218 additions and 4 deletions
@@ -80,7 +80,7 @@ function drawDefinitionPart(
drawPathFunctionCharacter(ctx, part.data, drawXOffset, drawYOffset, drawWidth, drawHeight, devicePixelRatio, part.strokeWidth);
break;
case CustomGlyphDefinitionType.PATH:
drawPathDefinitionCharacter(ctx, part.data, drawXOffset, drawYOffset, drawWidth, drawHeight);
drawPathDefinitionCharacter(ctx, part.data, drawXOffset, drawYOffset, drawWidth, drawHeight, devicePixelRatio, part.strokeWidth);
break;
case CustomGlyphDefinitionType.PATH_NEGATIVE:
drawPathNegativeDefinitionCharacter(ctx, part.data, drawXOffset, drawYOffset, drawWidth, drawHeight, devicePixelRatio, backgroundColor);
@@ -171,7 +171,9 @@ function drawPathDefinitionCharacter(
xOffset: number,
yOffset: number,
deviceCellWidth: number,
deviceCellHeight: number
deviceCellHeight: number,
devicePixelRatio: number,
strokeWidth?: number
): void {
const instructions = typeof charDefinition === 'string' ? charDefinition : charDefinition(0, 0);
ctx.beginPath();
@@ -272,7 +274,13 @@ function drawPathDefinitionCharacter(
}
lastCommand = type;
}
ctx.fill();
if (strokeWidth !== undefined) {
ctx.strokeStyle = ctx.fillStyle;
ctx.lineWidth = devicePixelRatio * strokeWidth;
ctx.stroke();
} else {
ctx.fill();
}
}
/**