diff --git a/packages/examples/config/index.js b/packages/examples/config/index.js index 5031dfebc76..ad497ac0797 100644 --- a/packages/examples/config/index.js +++ b/packages/examples/config/index.js @@ -54,6 +54,8 @@ export default { "point_rotate", "point_translate", "settings_sa", + "snippet_attr", + "snippet_clone", "utils_linesintersect", "utils_beamsintersect", "utils_beamintersectsx", diff --git a/packages/examples/index.html b/packages/examples/index.html index 7a1d5c53fed..dfe48527ae6 100644 --- a/packages/examples/index.html +++ b/packages/examples/index.html @@ -23,7 +23,7 @@ .use(freesewing.plugins.validate) ; - pattern.settings.only = ['path_reverse']; + pattern.settings.only = ['snippet_clone']; pattern.draft(); document.getElementById("svg").innerHTML = pattern.render(); diff --git a/packages/examples/src/index.js b/packages/examples/src/index.js index aeaed079d3c..1da000a7a90 100644 --- a/packages/examples/src/index.js +++ b/packages/examples/src/index.js @@ -63,6 +63,9 @@ import draftUtils_lineintersectscircle from "./utils_lineintersectscircle"; import draftSettings_sa from "./settings_sa"; +import draftSnippet_attr from "./snippet_attr"; +import draftSnippet_clone from "./snippet_clone"; + // Constructor const Examples = function(settings) { freesewing.Pattern.call(this, config); @@ -131,6 +134,9 @@ Examples.prototype.draftPoint_translate = draftPoint_translate; Examples.prototype.draftSettings_sa = draftSettings_sa; +Examples.prototype.draftSnippet_attr = draftSnippet_attr; +Examples.prototype.draftSnippet_clone = draftSnippet_clone; + Examples.prototype.draftUtils_linesintersect = draftUtils_linesintersect; Examples.prototype.draftUtils_beamsintersect = draftUtils_beamsintersect; Examples.prototype.draftUtils_beamintersectsx = draftUtils_beamintersectsx; diff --git a/packages/examples/src/snippet_attr.js b/packages/examples/src/snippet_attr.js new file mode 100644 index 00000000000..b6de0d0a2e7 --- /dev/null +++ b/packages/examples/src/snippet_attr.js @@ -0,0 +1,12 @@ +import { box } from "./shared"; + +export default part => { + let { Point, points, Snippet, snippets } = part.shorthand(); + + points.anchor = new Point(50, 15); + snippets.demo = new Snippet("logo", points.anchor) + .attr("data-scale", 0.8) + .attr("data-rotate", 180); + + return box(part); +}; diff --git a/packages/examples/src/snippet_clone.js b/packages/examples/src/snippet_clone.js new file mode 100644 index 00000000000..c32718478a7 --- /dev/null +++ b/packages/examples/src/snippet_clone.js @@ -0,0 +1,14 @@ +import { box } from "./shared"; + +export default part => { + let { Point, points, Snippet, snippets } = part.shorthand(); + + points.anchor = new Point(50, 15); + snippets.demo = new Snippet("logo", points.anchor) + .attr("data-scale", 0.8) + .attr("data-rotate", 180); + + snippets.clone = snippets.demo.clone().attr("data-rotate", 90, true); + + return box(part); +};