2021-10-17 18:26:00 +02:00
|
|
|
---
|
2021-08-25 16:09:31 +02:00
|
|
|
title: Snippet
|
2021-10-17 18:26:00 +02:00
|
|
|
---
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-29 18:08:09 +02:00
|
|
|
A Snippet is a reuseable bit of markup for your pattern. They are added to the
|
2021-08-25 16:09:31 +02:00
|
|
|
SVG `defs` section, and rendered with the SVG `use` tag.
|
|
|
|
|
2022-09-29 18:08:09 +02:00
|
|
|
## Signature
|
|
|
|
|
|
|
|
```js
|
|
|
|
Snippet new Snippet(def, Point);
|
|
|
|
```
|
|
|
|
|
2021-08-25 16:09:31 +02:00
|
|
|
The snippet constructor takes two arguments:
|
|
|
|
|
2022-02-20 14:44:38 +01:00
|
|
|
- `def` : The `xlink:href` id that links to the relevant entry in the SVG `defs` section
|
2022-08-20 18:33:05 -04:00
|
|
|
- `anchor` : A [`Point`](/reference/api/point) on which to anchor the snippet
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-29 18:08:09 +02:00
|
|
|
## Attributes
|
2021-08-25 16:09:31 +02:00
|
|
|
|
|
|
|
A Snippet object comes with the following properties:
|
|
|
|
|
2022-02-20 14:44:38 +01:00
|
|
|
- `def` : The `xlink:href` id that links to the relevant entry in the SVG `defs` section
|
2022-08-20 18:33:05 -04:00
|
|
|
- `anchor` : A [`Point`](/reference/api/point) on which to anchor the snippet
|
|
|
|
- `attributes` : An [`Attributes`](/reference/api/attributes) instance holding the snippet's attributes
|
2021-08-25 16:09:31 +02:00
|
|
|
|
2022-09-29 18:08:09 +02:00
|
|
|
## Example
|
|
|
|
|
|
|
|
<Example caption="Example of the Snippet constructor">
|
|
|
|
```js
|
|
|
|
({ Point, Snippet, snippets, Path, paths, part }) => {
|
|
|
|
|
|
|
|
snippets.logo = new Snippet('logo', new Point(0,0))
|
|
|
|
|
|
|
|
// Prevent clipping
|
|
|
|
paths.diag = new Path()
|
|
|
|
.move(new Point(-25,-40))
|
|
|
|
.move(new Point(25,15))
|
|
|
|
|
|
|
|
return part
|
|
|
|
}
|
|
|
|
```
|
|
|
|
</Example>
|
|
|
|
|
|
|
|
## Methods
|
|
|
|
|
|
|
|
A Snippet object exposes the following methods:
|
2021-08-25 16:09:31 +02:00
|
|
|
|
|
|
|
<ReadMore list />
|