@@ -16,12 +16,17 @@ function x1Fn(shape) { return shape.x1; }
1616function y0Fn ( shape ) { return shape . y0 ; }
1717function y1Fn ( shape ) { return shape . y1 ; }
1818
19+ function x0shiftFn ( shape ) { return shape . x0shift || 0 ; }
20+ function x1shiftFn ( shape ) { return shape . x1shift || 0 ; }
21+ function y0shiftFn ( shape ) { return shape . y0shift || 0 ; }
22+ function y1shiftFn ( shape ) { return shape . y1shift || 0 ; }
23+
1924function dxFn ( shape , xa ) {
20- return d2l ( shape . x1 , xa ) - d2l ( shape . x0 , xa ) ;
25+ return d2l ( shape . x1 , xa ) + x1shiftFn ( shape ) - d2l ( shape . x0 , xa ) - x0shiftFn ( shape ) ;
2126}
2227
2328function dyFn ( shape , xa , ya ) {
24- return d2l ( shape . y1 , ya ) - d2l ( shape . y0 , ya ) ;
29+ return d2l ( shape . y1 , ya ) + y1shiftFn ( shape ) - d2l ( shape . y0 , ya ) - y0shiftFn ( shape ) ;
2530}
2631
2732function widthFn ( shape , xa ) {
@@ -41,11 +46,11 @@ function lengthFn(shape, xa, ya) {
4146}
4247
4348function xcenterFn ( shape , xa ) {
44- return l2d ( ( d2l ( shape . x1 , xa ) + d2l ( shape . x0 , xa ) ) / 2 , xa ) ;
49+ return l2d ( ( d2l ( shape . x1 , xa ) + x1shiftFn ( shape ) + d2l ( shape . x0 , xa ) + x0shiftFn ( shape ) ) / 2 , xa ) ;
4550}
4651
4752function ycenterFn ( shape , xa , ya ) {
48- return l2d ( ( d2l ( shape . y1 , ya ) + d2l ( shape . y0 , ya ) ) / 2 , ya ) ;
53+ return l2d ( ( d2l ( shape . y1 , ya ) + y1shiftFn ( shape ) + d2l ( shape . y0 , ya ) + y0shiftFn ( shape ) ) / 2 , ya ) ;
4954}
5055
5156function slopeFn ( shape , xa , ya ) {
0 commit comments