- };
- p.addRoundedCorner = function (r, dir) {
- var R = .5522 * r, rollback = this.isAbsolute, o = this;
- if (rollback) {
- this.relatively();
- rollback = function () {
- o.absolutely();
- };
- } else {
- rollback = function () {};
- }
- var actions = {
- l: function () {
- return {
- u: function () {
- o.curveTo(-R, 0, -r, -(r - R), -r, -r);
- },
- d: function () {
- o.curveTo(-R, 0, -r, r - R, -r, r);
- }
- };
- },
- r: function () {
- return {
- u: function () {
- o.curveTo(R, 0, r, -(r - R), r, -r);
- },
- d: function () {
- o.curveTo(R, 0, r, r - R, r, r);
- }
- };
- },
- u: function () {
- return {
- r: function () {
- o.curveTo(0, -R, -(R - r), -r, r, -r);
- },
- l: function () {
- o.curveTo(0, -R, R - r, -r, -r, -r);
- }
- };
- },
- d: function () {
- return {
- r: function () {
- o.curveTo(0, R, -(R - r), r, r, r);
- },
- l: function () {
- o.curveTo(0, R, R - r, r, -r, r);
- }
- };
- }
- };
- actions[dir.charAt(0)]()[dir.charAt(1)]();
- rollback();
- return o;
- };
- p.andClose = function () {