| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | var Path = require("../Path");var roundRectHelper = require("../helper/roundRect");var _subPixelOptimize = require("../helper/subPixelOptimize");var subPixelOptimizeRect = _subPixelOptimize.subPixelOptimizeRect;/** * 矩形 * @module zrender/graphic/shape/Rect */// Avoid create repeatly.var subPixelOptimizeOutputShape = {};var _default = Path.extend({  type: 'rect',  shape: {    // 左上、右上、右下、左下角的半径依次为r1、r2、r3、r4    // r缩写为1         相当于 [1, 1, 1, 1]    // r缩写为[1]       相当于 [1, 1, 1, 1]    // r缩写为[1, 2]    相当于 [1, 2, 1, 2]    // r缩写为[1, 2, 3] 相当于 [1, 2, 3, 2]    r: 0,    x: 0,    y: 0,    width: 0,    height: 0  },  buildPath: function (ctx, shape) {    var x;    var y;    var width;    var height;    if (this.subPixelOptimize) {      subPixelOptimizeRect(subPixelOptimizeOutputShape, shape, this.style);      x = subPixelOptimizeOutputShape.x;      y = subPixelOptimizeOutputShape.y;      width = subPixelOptimizeOutputShape.width;      height = subPixelOptimizeOutputShape.height;      subPixelOptimizeOutputShape.r = shape.r;      shape = subPixelOptimizeOutputShape;    } else {      x = shape.x;      y = shape.y;      width = shape.width;      height = shape.height;    }    if (!shape.r) {      ctx.rect(x, y, width, height);    } else {      roundRectHelper.buildPath(ctx, shape);    }    ctx.closePath();    return;  }});module.exports = _default;
 |