|
1 | | -import { Container as SVGContainer, Symbol as SVGSymbol } from "@svgdotjs/svg.js"; |
| 1 | +import { StrokeData, Container as SVGContainer, Symbol as SVGSymbol } from "@svgdotjs/svg.js"; |
2 | 2 | import type { ISheet } from "./ISheet"; |
3 | 3 | import { Orientation, defineHex } from "honeycomb-grid"; |
4 | 4 | import { rgb as convert_rgb, hex as convert_hex } from "color-convert"; |
@@ -671,6 +671,39 @@ sheet.glyphs.set("orca", (canvas: SVGContainer, color?: string) => { |
671 | 671 | return symbol; |
672 | 672 | }); |
673 | 673 |
|
| 674 | +sheet.glyphs.set("owl", (canvas: SVGContainer) => { |
| 675 | + const sym = canvas.symbol() |
| 676 | + const stroke: StrokeData = { |
| 677 | + color: "black", |
| 678 | + miterlimit: 10, |
| 679 | + width: 2, |
| 680 | + } |
| 681 | + sym.path("M17.74,7.24v3.83A11.48,11.48,0,0,1,6.26,22.54h0V7.24") |
| 682 | + .stroke(stroke) |
| 683 | + .fill("none") |
| 684 | + .attr("data-context-stroke", true); |
| 685 | + sym.circle(5.74 * 2).center(12, 7.24) |
| 686 | + .stroke(stroke) |
| 687 | + .fill("none") |
| 688 | + .attr("data-context-stroke", true); |
| 689 | + sym.path("M3.39,1.5h0A3.83,3.83,0,0,0,7.22,5.33h1A3.82,3.82,0,0,1,12,9.15h0") |
| 690 | + .stroke(stroke) |
| 691 | + .fill("none") |
| 692 | + .attr("data-context-stroke", true); |
| 693 | + sym.path("M20.61,1.5h0a3.83,3.83,0,0,1-3.83,3.83h-1A3.82,3.82,0,0,0,12,9.15h0") |
| 694 | + .stroke(stroke) |
| 695 | + .fill("none") |
| 696 | + .attr("data-context-stroke", true); |
| 697 | + sym.line(16.78, 23.5, 16.78, 15.67) |
| 698 | + .stroke(stroke) |
| 699 | + .attr("data-context-stroke", true); |
| 700 | + sym.line(12.96, 20.63, 12.96, 23.5) |
| 701 | + .stroke(stroke) |
| 702 | + .attr("data-context-stroke", true); |
| 703 | + sym.viewbox(2.2, 0.31, 19.6, 23.425); |
| 704 | + return sym; |
| 705 | +}); |
| 706 | + |
674 | 707 | sheet.glyphs.set("palace", (canvas: SVGContainer) => { |
675 | 708 | const group = canvas.symbol(); |
676 | 709 | const palace = group.group(); |
|
0 commit comments