aboutsummaryrefslogtreecommitdiff
path: root/Sources/Patterns/TileDesign.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sources/Patterns/TileDesign.swift')
-rw-r--r--Sources/Patterns/TileDesign.swift163
1 files changed, 163 insertions, 0 deletions
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
+ ]
+ }
+ }
+}