public void DrawDefault() { using (var outp = File.CreateText("puzzle.svg")) { var dia = new PuzzleDiagram(); dia.Draw(outp, Puzzle.Builder.DefaultTestPuzzle(), new Vector2(50)); } }
public IActionResult Svg(string id, float w = 16, float h = 16) { var ident = PuzzleIdent.Parse(id); var p = compLib.GetPuzzleWithCaching(ident); var sols = repSol.GetPuzzleSolutions(ident); var sb = new StringBuilder(); using (var tw = new StringWriter(sb)) { var dia = new PuzzleDiagram() { GetResource = x => "/img/" + x }; dia.Draw(tw, p.Puzzle, new Vector2(w, h)); } return(Content(sb.ToString(), "image/svg+xml")); }
public PuzzleOverLay(Puzzle puzzle, IBitmap overlay) { Puzzle = puzzle; Overlay = overlay; Diagram = new PuzzleDiagram() { GetResource = x => "/img/" + x, }; Diagram.GetOverlay = (t, r) => { string s = ""; if (Overlay[t.Position]) { s += new RectTag(r).Style(OverlayStyle); } return(s); }; OverlayStyle = new StyleTag().Fill(0, 180, 0).Opacity(0.4f); }