protected override void Paint(Graphics graphics, float widthInInches, float heightInInches, float dpiX, float dpiY, float xMarginInInches, float yMarginInInches, int?pageNumber = null) { var pen = new Pen(options.Colour); IGridPixelDimensions pixelDimensions; IGrid grid; switch (options.GridType) { case GridType.Hex: pixelDimensions = new HexGridPixelDimensions(xMarginInInches, yMarginInInches, widthInInches, heightInInches, options.PolygonsPerInch, dpiX, dpiY); grid = new HexGrid(pixelDimensions); break; case GridType.Square: pixelDimensions = new SquareGridPixelDimensions(xMarginInInches, yMarginInInches, widthInInches, heightInInches, options.PolygonsPerInch, dpiX, dpiY); grid = new SquareGrid(pixelDimensions); break; default: throw new IndexOutOfRangeException(); } var pathDrawer = new PathDrawer(graphics, pen); pathDrawer.DrawPaths(grid.GetGrid()); }
protected override void Paint(Graphics graphics, float widthInInches, float heightInInches, float dpiX, float dpiY, float xMarginInInches, float yMarginInInches, int?pageNumber = null) { using (var image = GetType().Assembly.GetManifestResourceStream("HexDrawer.Images.GreenGoblin.png")) { var pixelDimensions = new TuckBoxPixelDimensions(options.HeightInInches, options.WidthInInches, options.DepthInInches, xMarginInInches, yMarginInInches, TabAsFractionOfDepth, CornerAsFractionOfTab, 100, 100); var tuckBox = new TuckBox(pixelDimensions, image); var pen = Pens.Black; var pathDrawer = new PathDrawer(graphics, pen); var paths = new List <Path>(); switch (pageNumber) { case null: paths.AddRange(tuckBox.GetFrontAndSides()); paths.AddRange(tuckBox.GetAttachedBack()); break; case 1: paths.AddRange(tuckBox.GetFrontAndSides()); break; case 2: paths.AddRange(tuckBox.GetSeparateBack()); break; default: throw new ArgumentOutOfRangeException(nameof(pageNumber)); } foreach (var path in paths) { pathDrawer.DrawPaths(path); } } }