Alexander Deplov

Shadow control

Shadow control

Code

var circleInside = new Path.Circle({
    radius: [50, 70],
    position: view.center,
})

var circleOutside = new Path.Circle({
    radius: [80, 85],
    position: view.center,
})

var booleanPath = circleOutside.subtract(circleInside)
booleanPath.fillColor = '#90C44B'
booleanPath.shadowColor = new Color('#30722F')
booleanPath.shadowBlur = 5
booleanPath.shadowOffset = new Point(0, 0)

circleInside.remove()
circleOutside.remove()

var cursor = new Path.Circle({
    radius: 10,
    fillColor: 'blue',
    center: view.center
})

var line = new Path.Line({
    from: view.center,
    to: cursor.position,
    strokeColor: 'blue',
    strokeWidth: 2,
    position: view.center
})

cursor.onMouseDrag = function(event){
    cursor.position = event.point
    var curve = line.curves[0]
    var angle = curve.getTangentAt(0.1, true).angle
    line.segments[1].point = event.point
    booleanPath.shadowOffset -= new Point(event.delta)
    booleanPath.shadowBlur = line.length
}