X-Git-Url: https://git.r.bdr.sh/rbdr/patterns/blobdiff_plain/5c40e23a9b05b53186995c73125fae5062ab73bf..ba4ee0edf2aba19ad73fa53cb01dd0fb9b527526:/README.md diff --git a/README.md b/README.md index d6cd0b8..900c4b2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ SwiftUI tiling black and white patterns. -This project contains `Patterns`, which are built out of `Tiles` with a given +This project contains `PatternView`, which is built out of `Tiles` with a given `TileDesign`. It also includes a `TilePicker` that can be used to control the selected @@ -31,7 +31,7 @@ top left to bottom right) ## Usage -The `Pattern` view will tile the selected design in its frame. It has the +The `PatternView` view will tile the selected design in its frame. It has the following properties: * `design: Binding`: **required**, which design to use to tile the @@ -41,11 +41,11 @@ following properties: * `backgroundColor: Color`: **defaults to `Color.white`**, the background color. ``` -// Pattern using default settings -Pattern(design: .constant(TileDesign.shadowGrid)) +// PatternView using default settings +PatternView(design: .constant(TileDesign.shadowGrid)) -// Pattern using overrides -Pattern(design: $tileDesign, pixelSize: 4.0, foregroundColor: .pink, backgroundColor: .cyan) +// PatternView using overrides +PatternView(design: $tileDesign, pixelSize: 4.0, foregroundColor: .pink, backgroundColor: .cyan) ``` ### Screenshots of the Patterns @@ -72,7 +72,7 @@ same effect as `Pattern` mentioned above ... -Pattern(design: $pattern) +PatternView(design: $design) .frame(width: 32.0).border(.black) .onTapGesture { shouldShowPatternPicker = !shouldShowPatternPicker; @@ -80,7 +80,7 @@ Pattern(design: $pattern) .popover(isPresented: $shouldShowPatternPicker) { PatternPicker(selectedDesign: $design) } - .onChange(of: pattern) { _ in + .onChange(of: design) { _ in shouldShowPatternPicker = false; } ``` @@ -97,12 +97,16 @@ Pattern(design: $pattern) * watchOS 8+ * catalyst 15+ -## The Tile view +## The TileImage struct If you'd like to do other things with the individual tiles, we also provide the -Tile view, which is just a single tile. +TileImage struct, which generates a CGImage. -The tiles support the same properties as `Pattern` with the exception that -`design` is a `TileDesign` and not a `Binding` +The tiles support similar properties as `PatternView` with the exception that + +* `design: TileDesign`: **required**, which design to use to tile the frame. +* `pixelSize: CGFloat`: **defaults to 2.0**, the size of a pixel in the tile. +* `foregroundColor: CGColor`: **defaults to black**, the foreground color. +* `backgroundColor: CGColor`: **defaults to white**, the background color. ![Screenshots of the tiles showing the different overrides](./doc/images/tile_example.png)