diff options
Diffstat (limited to 'src/modules/core/circled.js')
-rw-r--r-- | src/modules/core/circled.js | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/src/modules/core/circled.js b/src/modules/core/circled.js index 597d252..ad901b9 100644 --- a/src/modules/core/circled.js +++ b/src/modules/core/circled.js @@ -1,53 +1,69 @@ import SVGNumber from '../../types/SVGNumber.js' // Radius x value -export function rx (rx) { - return this.attr('rx', rx) +export function rx ( rx ) { + + return this.attr( 'rx', rx ) + } // Radius y value -export function ry (ry) { - return this.attr('ry', ry) +export function ry ( ry ) { + + return this.attr( 'ry', ry ) + } // Move over x-axis -export function x (x) { +export function x ( x ) { + return x == null ? this.cx() - this.rx() - : this.cx(x + this.rx()) + : this.cx( x + this.rx() ) + } // Move over y-axis -export function y (y) { +export function y ( y ) { + return y == null ? this.cy() - this.ry() - : this.cy(y + this.ry()) + : this.cy( y + this.ry() ) + } // Move by center over x-axis -export function cx (x) { +export function cx ( x ) { + return x == null - ? this.attr('cx') - : this.attr('cx', x) + ? this.attr( 'cx' ) + : this.attr( 'cx', x ) + } // Move by center over y-axis -export function cy (y) { +export function cy ( y ) { + return y == null - ? this.attr('cy') - : this.attr('cy', y) + ? this.attr( 'cy' ) + : this.attr( 'cy', y ) + } // Set width of element -export function width (width) { +export function width ( width ) { + return width == null ? this.rx() * 2 - : this.rx(new SVGNumber(width).divide(2)) + : this.rx( new SVGNumber( width ).divide( 2 ) ) + } // Set height of element -export function height (height) { +export function height ( height ) { + return height == null ? this.ry() * 2 - : this.ry(new SVGNumber(height).divide(2)) + : this.ry( new SVGNumber( height ).divide( 2 ) ) + } |