import { __extends } from "tslib"; 
 | 
import Path from '../Path.js'; 
 | 
import * as roundRectHelper from '../helper/roundRect.js'; 
 | 
import { subPixelOptimizeRect } from '../helper/subPixelOptimize.js'; 
 | 
var RectShape = (function () { 
 | 
    function RectShape() { 
 | 
        this.x = 0; 
 | 
        this.y = 0; 
 | 
        this.width = 0; 
 | 
        this.height = 0; 
 | 
    } 
 | 
    return RectShape; 
 | 
}()); 
 | 
export { RectShape }; 
 | 
var subPixelOptimizeOutputShape = {}; 
 | 
var Rect = (function (_super) { 
 | 
    __extends(Rect, _super); 
 | 
    function Rect(opts) { 
 | 
        return _super.call(this, opts) || this; 
 | 
    } 
 | 
    Rect.prototype.getDefaultShape = function () { 
 | 
        return new RectShape(); 
 | 
    }; 
 | 
    Rect.prototype.buildPath = function (ctx, shape) { 
 | 
        var x; 
 | 
        var y; 
 | 
        var width; 
 | 
        var height; 
 | 
        if (this.subPixelOptimize) { 
 | 
            var optimizedShape = subPixelOptimizeRect(subPixelOptimizeOutputShape, shape, this.style); 
 | 
            x = optimizedShape.x; 
 | 
            y = optimizedShape.y; 
 | 
            width = optimizedShape.width; 
 | 
            height = optimizedShape.height; 
 | 
            optimizedShape.r = shape.r; 
 | 
            shape = optimizedShape; 
 | 
        } 
 | 
        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); 
 | 
        } 
 | 
    }; 
 | 
    Rect.prototype.isZeroArea = function () { 
 | 
        return !this.shape.width || !this.shape.height; 
 | 
    }; 
 | 
    return Rect; 
 | 
}(Path)); 
 | 
Rect.prototype.type = 'rect'; 
 | 
export default Rect; 
 |