public/libraries.js
function (width, baseline, alignCorrection, rotation, align) {

                var costheta = rotation ? mathCos(rotation * deg2rad) : 1,
                  sintheta = rotation ? mathSin(rotation * deg2rad) : 0,
                  height = pick(this.elemHeight, this.element.offsetHeight),
                  quad,
                  nonLeft = align && align !== 'left';

                // correct x and y
                this.xCorr = costheta < 0 && -width;
                this.yCorr = sintheta < 0 && -height;

                // correct for baseline and corners spilling out after rotation
                quad = costheta * sintheta < 0;
                this.xCorr += sintheta * baseline * (quad ? 1 - alignCorrection : alignCorrection);
                this.yCorr -= costheta * baseline * (rotation ? (quad ? alignCorrection : 1 - alignCorrection) : 1);
                // correct for the length/height of the text
                if (nonLeft) {
                    this.xCorr -= width * alignCorrection * (costheta < 0 ? -1 : 1);
                    if (rotation) {
                        this.yCorr -= height * alignCorrection * (sintheta < 0 ? -1 : 1);
                    }
                    css(this.element, {
                        textAlign: align
                    });
                }
            }
function (width, baseline, alignCorrection, rotation, align) {

                var costheta = rotation ? mathCos(rotation * deg2rad) : 1,
                  sintheta = rotation ? mathSin(rotation * deg2rad) : 0,
                  height = pick(this.elemHeight, this.element.offsetHeight),
                  quad,
                  nonLeft = align && align !== 'left';

                // correct x and y
                this.xCorr = costheta < 0 && -width;
                this.yCorr = sintheta < 0 && -height;

                // correct for baseline and corners spilling out after rotation
                quad = costheta * sintheta < 0;
                this.xCorr += sintheta * baseline * (quad ? 1 - alignCorrection : alignCorrection);
                this.yCorr -= costheta * baseline * (rotation ? (quad ? alignCorrection : 1 - alignCorrection) : 1);
                // correct for the length/height of the text
                if (nonLeft) {
                    this.xCorr -= width * alignCorrection * (costheta < 0 ? -1 : 1);
                    if (rotation) {
                        this.yCorr -= height * alignCorrection * (sintheta < 0 ? -1 : 1);
                    }
                    css(this.element, {
                        textAlign: align
                    });
                }
            }
function ( width , baseline , alignCorrection , rotation , align ) { var costheta = rotation ? mathCos ( rotation * deg2rad ) : 1 , sintheta = rotation ? mathSin ( rotation * deg2rad ) : 0 , height = pick ( this . elemHeight , this . element . offsetHeight ) , quad , nonLeft = align && align !== 'left' ; // correct x and y this . xCorr = costheta < 0 && - width ; this . yCorr = sintheta < 0 && - height ; // correct for baseline and corners spilling out after rotation quad = costheta * sintheta < 0 ; this . xCorr += sintheta * baseline * ( quad ? 1 - alignCorrection : alignCorrection ) ; this . yCorr -= costheta * baseline * ( rotation ? ( quad ? alignCorrection : 1 - alignCorrection ) : 1 ) ; // correct for the length/height of the text if ( nonLeft ) { this . xCorr -= width * alignCorrection * ( costheta < 0 ? - 1 : 1 ) ; if ( rotation ) { this . yCorr -= height * alignCorrection * ( sintheta < 0 ? - 1 : 1 ) ; } css ( this . element , { textAlign : align } ) ; } }
Get the positioning correction for the span after rotating.
Get the positioning correction for the span after rotating .