X-Git-Url: https://git.r.bdr.sh/rbdr/patterns/blobdiff_plain/08da0038960b2b37c88e793c9b8dbe33e7884af5..8b0b5b394e5eca8538956fecbaa70ca66fdde24b:/Sources/Patterns/TileDesign.swift diff --git a/Sources/Patterns/TileDesign.swift b/Sources/Patterns/TileDesign.swift new file mode 100644 index 0000000..5541102 --- /dev/null +++ b/Sources/Patterns/TileDesign.swift @@ -0,0 +1,163 @@ +public enum TileDesign: CaseIterable { + case grid + case dottedGrid + case stitch + case curvedTile + case brick + case tile + case shadowGrid + case circles + case trees + case shingles + case wicker + case rhombus + case balls + + func pixels() -> [Int] { + switch self { + case .grid: + return [ + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 1, 0, 1, 0, 1, 0, 1, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 1, 0, 1, 0, 1, 0, 1, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 1, 0, 1, 0, 1, 0, 1, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 1, 0, 1, 0, 1, 0, 1 + ] + case .dottedGrid: + return [ + 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 0, 1, 0, 1, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + ] + case .stitch: + return [ + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 1, 1, + 1, 1, 1, 1, 0, 1, 0, 1, + ] + case .curvedTile: + return [ + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 0, 0, + 0, 1, 1, 1, 1, 0, 1, 1, + 1, 0, 1, 1, 0, 1, 1, 1, + 1, 1, 0, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + ] + case .brick: + return [ + 0, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, + ] + case .tile: + return [ + 1, 1, 1, 1, 1, 0, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 1, 1, + 1, 1, 0, 1, 1, 1, 0, 1, + 0, 0, 1, 1, 1, 1, 1, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 0, 1, + ] + case .shadowGrid: + return [ + 1, 1, 1, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, + 1, 1, 1, 1, 0, 1, 0, 0, + 1, 1, 1, 1, 0, 1, 0, 0, + 1, 1, 1, 1, 0, 1, 0, 0, + ] + case .circles: + return [ + 1, 1, 1, 1, 1, 1, 1, 0, + 0, 1, 1, 1, 1, 1, 0, 1, + 1, 0, 1, 1, 1, 0, 1, 1, + 1, 1, 0, 0, 0, 1, 1, 0, + 1, 0, 1, 1, 1, 0, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 0, + ] + case .trees: + return [ + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 1, 1, 1, 1, 1, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 1, 0, 1, 0, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 1, 1, + ] + case .shingles: + return [ + 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 0, 1, 0, 1, 1, + 0, 0, 0, 1, 1, 1, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 1, 1, 1, 1, 1, 0, + 1, 1, 0, 0, 0, 0, 0, 1 + ] + case .wicker: + return [ + 0, 0, 0, 0, 0, 1, 1, 1, + 1, 0, 0, 0, 1, 0, 1, 1, + 1, 1, 0, 1, 1, 1, 0, 1, + 1, 0, 1, 1, 1, 0, 0, 0, + 0, 1, 1, 1, 0, 0, 0, 0, + 1, 1, 1, 0, 1, 0, 0, 0, + 1, 1, 0, 1, 1, 1, 0, 1, + 1, 0, 0, 0, 1, 1, 1, 0 + ] + case .rhombus: + return [ + 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 1, 1, 1, 1, 1, 0, + 0, 1, 0, 1, 1, 1, 0, 1, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 1, 0, 1, 1, 1, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 0, + 0, 1, 1, 1, 1, 1, 1, 1 + ] + case .balls: + return [ + 1, 0, 0, 0, 1, 0, 0, 0, + 0, 1, 1, 1, 0, 1, 1, 0, + 0, 1, 1, 1, 0, 0, 0, 0, + 0, 1, 1, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, + 0, 1, 1, 0, 0, 1, 1, 1, + 0, 0, 0, 0, 0, 1, 1, 1, + 0, 0, 0, 0, 0, 1, 1, 1 + ] + } + } +}