feat(plugintest): Added plugin-sprinkle
This commit is contained in:
parent
f15063095c
commit
b96a3b2f84
3 changed files with 57 additions and 7 deletions
|
@ -43,6 +43,7 @@ export default {
|
|||
mirror: [ 'mirrorLine', 'mirrorClone' ],
|
||||
round: [ 'roundRadius', 'roundRender' ],
|
||||
scalebox: [ 'scaleboxType' ],
|
||||
sprinkle: [ 'sprinkleScale', 'sprinkleRotate', 'sprinkleSnippet' ],
|
||||
},
|
||||
measurements: [],
|
||||
parts: [
|
||||
|
@ -61,7 +62,7 @@ export default {
|
|||
'notches',
|
||||
'round',
|
||||
'scalebox',
|
||||
//'sprinkle',
|
||||
'sprinkle',
|
||||
//'svgattr',
|
||||
//'theme',
|
||||
//'title',
|
||||
|
@ -70,7 +71,7 @@ export default {
|
|||
],
|
||||
options: {
|
||||
plugin: {
|
||||
dflt: 'scalebox',
|
||||
dflt: 'sprinkle',
|
||||
list: [
|
||||
'all',
|
||||
'banner',
|
||||
|
@ -134,6 +135,23 @@ export default {
|
|||
// Round options
|
||||
roundRadius: { count: 10, min: 0, max: 50 },
|
||||
roundRender: { bool: true },
|
||||
scaleboxType: { dflt: 'scalebox' , list: ['scalebox', 'miniscale'] }
|
||||
scaleboxType: { dflt: 'scalebox' , list: ['scalebox', 'miniscale'] },
|
||||
// Logo options
|
||||
sprinkleScale: { pct: 100, min: 10, max: 200 },
|
||||
sprinkleRotate: { deg: 0, min: -360, max: 360 },
|
||||
sprinkleSnippet: {
|
||||
dflt: 'notch',
|
||||
list: [
|
||||
'notch',
|
||||
'bnotch',
|
||||
'button',
|
||||
'buttonhole',
|
||||
'buttonhole-start',
|
||||
'buttonhole-end',
|
||||
'snap-stud',
|
||||
'snap-socket',
|
||||
'logo',
|
||||
]
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import mirror from '@freesewing/plugin-mirror'
|
|||
import notches from '@freesewing/plugin-notches'
|
||||
import round from '@freesewing/plugin-round'
|
||||
import scalebox from '@freesewing/plugin-scalebox'
|
||||
//import sprinkle from '@freesewing/plugin-sprinkle'
|
||||
import sprinkle from '@freesewing/plugin-sprinkle'
|
||||
//import svgattr from '@freesewing/plugin-svgattr'
|
||||
//import theme from '@freesewing/plugin-theme'
|
||||
//import title from '@freesewing/plugin-title'
|
||||
|
@ -39,7 +39,7 @@ import draftMirror from './plugin-mirror'
|
|||
import draftNotches from './plugin-notches'
|
||||
import draftRound from './plugin-round'
|
||||
import draftScalebox from './plugin-scalebox'
|
||||
//import draftSprinkle from './plugin-sprinkle'
|
||||
import draftSprinkle from './plugin-sprinkle'
|
||||
//import draftSvgattr from './plugin-svgattr'
|
||||
//import draftTheme from './plugin-theme'
|
||||
//import draftTitle from './plugin-title'
|
||||
|
@ -67,7 +67,7 @@ const plugins = [
|
|||
notches,
|
||||
round,
|
||||
scalebox,
|
||||
// sprinkle,
|
||||
sprinkle,
|
||||
// svgattr,
|
||||
// theme,
|
||||
// title,
|
||||
|
@ -91,7 +91,7 @@ const methods = {
|
|||
draftNotches,
|
||||
draftRound,
|
||||
draftScalebox,
|
||||
// draftSprinkle,
|
||||
draftSprinkle,
|
||||
// draftSvgattr,
|
||||
// draftTheme,
|
||||
// draftTitle,
|
||||
|
|
32
packages/plugintest/src/plugin-sprinkle.js
Normal file
32
packages/plugintest/src/plugin-sprinkle.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
|
||||
const draftScalebox = part => {
|
||||
|
||||
const { Point, points, Path, paths, options, macro } = part.shorthand()
|
||||
|
||||
if (['sprinkle', 'all'].indexOf(options.plugin) !== -1) {
|
||||
|
||||
points.center = new Point(0,0)
|
||||
points.top = new Point(0,40)
|
||||
const on = []
|
||||
for (let i=0;i<360;i+=45) {
|
||||
points[`s${i}`] = points.top.rotate(i, points.center)
|
||||
on.push(`s${i}`)
|
||||
}
|
||||
|
||||
macro('sprinkle', {
|
||||
on,
|
||||
snippet: options.sprinkleSnippet,
|
||||
scale: options.sprinkleScale,
|
||||
rotate: options.sprinkleRotate
|
||||
})
|
||||
|
||||
paths.box = new Path()
|
||||
.move(new Point(-50, -50))
|
||||
.line(new Point(50, 50))
|
||||
|
||||
}
|
||||
|
||||
return part
|
||||
}
|
||||
|
||||
export default draftScalebox
|
Loading…
Add table
Add a link
Reference in a new issue