gradient.js 1003 B

1234567891011121314151617181920212223242526272829303132
  1. define(function(require, exports, module) {
  2. var svg = require('./svg');
  3. var Resource = require('./resource');
  4. var Color = require('./color');
  5. return require('../core/class').createClass('GradientBrush', {
  6. base: Resource,
  7. constructor: function(gradientNodeType, paper) {
  8. this.callBase(gradientNodeType, paper);
  9. this.stops = [];
  10. },
  11. addStop: function(offset, color, opacity) {
  12. var gstop = svg.createNode('stop');
  13. if (!(color instanceof Color)) {
  14. color = Color.parse(color);
  15. }
  16. if (opacity === undefined) {
  17. opacity = color.get('a');
  18. }
  19. gstop.setAttribute('offset', offset);
  20. gstop.setAttribute('stop-color', color.toRGB());
  21. if (opacity < 1) {
  22. gstop.setAttribute('stop-opacity', opacity);
  23. }
  24. this.node.appendChild(gstop);
  25. return this;
  26. }
  27. });
  28. });