Search code examples
javascriptjquerycamanjs

Set angle to zero in function parameter


This function is from CamanJS library. This is the code for tiltshift effect of plugin

Caman.Filter.register("tiltShift", function(opts) {
  var defaults, gradient;

  defaults = {
    center: {
      x: this.dimensions.width / 2,
      y: this.dimensions.height / 2
    },
    angle: 45,
    focusWidth: 200,
    startRadius: 3,
    radiusFactor: 1.5,
    steps: 3
  };
  opts = Util.extend(defaults, opts);
  opts.angle *= Math.PI / 180;
  gradient = getLinearGradientMap(this.dimensions.width, this.dimensions.height, opts.center.x, opts.center.y, opts.angle, opts.focusWidth, true);
  return this.processPlugin("compoundBlur", [gradient, opts.startRadius, opts.radiusFactor, opts.steps]);
});

I supplied the following values as parameters.

this.tiltShift(600,400,300,200,0,200,true).render();

But the default angle is still 45. How do I change it?


Solution

  • Looking over the documentation, the specific way to call this is:

    tiltShift({ angle: 0 }); 
    

    The call to Util.extend() in the method creates an object that has the properties of defaults, but is changed to any values that are supplied in opts (the object passed to tiltShift()).