//#region src/charts/annotations.ts
var e = "11px system-ui, sans-serif";
function t(t, n, r, i, a) {
	let { x: o, y: s, width: c, height: l } = n;
	t.save(), t.beginPath(), t.rect(o, s, c, l), t.clip();
	for (let n of r) {
		if (t.strokeStyle = n.color, t.fillStyle = n.color, t.lineWidth = 1, n.dashPattern === void 0 ? t.setLineDash([4, 4]) : t.setLineDash(n.dashPattern), n.type === "hline") {
			let r = a(n.value);
			t.beginPath(), t.moveTo(o, r), t.lineTo(o + c, r), t.stroke(), n.label !== void 0 && (t.setLineDash([]), t.font = e, t.textAlign = "left", t.textBaseline = "bottom", t.fillText(n.label, o + 4, r - 3));
		} else if (n.type === "vline") {
			let r = i(n.value);
			t.beginPath(), t.moveTo(r, s), t.lineTo(r, s + l), t.stroke(), n.label !== void 0 && (t.setLineDash([]), t.font = e, t.textAlign = "left", t.textBaseline = "top", t.save(), t.translate(r + 4, s + 4), t.fillText(n.label, 0, 0), t.restore());
		} else {
			let r = i(n.value), a = n.value2 === void 0 ? o + c : i(n.value2);
			t.setLineDash([]), t.globalAlpha = .1, t.fillRect(r, s, a - r, l), t.globalAlpha = 1, t.strokeStyle = n.color, t.lineWidth = 1, t.setLineDash([2, 2]), t.beginPath(), t.moveTo(r, s), t.lineTo(r, s + l), t.stroke(), t.beginPath(), t.moveTo(a, s), t.lineTo(a, s + l), t.stroke(), n.label !== void 0 && (t.setLineDash([]), t.font = e, t.textAlign = "center", t.textBaseline = "top", t.fillText(n.label, (r + a) / 2, s + 4));
		}
		t.setLineDash([]);
	}
	t.restore();
}
//#endregion
export { t as drawAnnotations };

//# sourceMappingURL=annotations.js.map