*** I:\chart2\source\view\main\LabelPositionHelper.cxx Wed Mar 18 10:06:47 2009 --- J:\chart2\source\view\main\LabelPositionHelper.cxx Fri Mar 20 11:51:46 2009 *************** *** 309,334 **** { //correct position for labels at the left top corner of something with a bottom right alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; - (void)fAnglePi; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! //todo ! (void)rfXCorrection;(void)rfYCorrection;(void)aSize; } else if( fAnglePositiveDegree<= 180.0 ) { ! //todo } else if( fAnglePositiveDegree<= 270.0 ) { ! //todo } else { ! //todo } } --- 309,338 ---- { //correct position for labels at the left top corner of something with a bottom right alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! rfYCorrection = -aSize.Width*rtl::math::sin( fAnglePi ); } else if( fAnglePositiveDegree<= 180.0 ) { ! double beta = fAnglePi-F_PI/2.0; ! rfXCorrection = -aSize.Width*rtl::math::sin( beta ); ! rfYCorrection = -aSize.Height*rtl::math::sin( beta ) ! -aSize.Width*rtl::math::cos( beta ); } else if( fAnglePositiveDegree<= 270.0 ) { ! double beta = 3*F_PI/2.0 - fAnglePi; ! rfXCorrection = -aSize.Height*rtl::math::cos( beta ) ! -aSize.Width*rtl::math::sin( beta ); ! rfYCorrection = -aSize.Height*rtl::math::sin( beta ); } else { ! rfXCorrection = aSize.Height*rtl::math::sin( fAnglePi ); } } *************** *** 337,362 **** { //correct position for labels at the left bottom corner of something with a top right alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; - (void)fAnglePi; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! //todo ! (void)rfXCorrection;(void)rfYCorrection;(void)aSize; } else if( fAnglePositiveDegree<= 180.0 ) { ! //todo } else if( fAnglePositiveDegree<= 270.0 ) { ! //todo } else { ! //todo } } --- 341,370 ---- { //correct position for labels at the left bottom corner of something with a top right alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! rfXCorrection = -aSize.Height*rtl::math::sin( fAnglePi ); } else if( fAnglePositiveDegree<= 180.0 ) { ! double beta = fAnglePi-F_PI/2.0; ! rfXCorrection = -aSize.Width*rtl::math::sin( beta ) ! -aSize.Height*rtl::math::cos( beta );; ! rfYCorrection = aSize.Height*rtl::math::sin( beta ); } else if( fAnglePositiveDegree<= 270.0 ) { ! double beta = 3*F_PI/2.0 - fAnglePi; ! rfXCorrection = -aSize.Width*rtl::math::sin( beta ); ! rfYCorrection = aSize.Width*rtl::math::cos( beta ) ! +aSize.Height*rtl::math::sin( beta ); } else { ! rfYCorrection = -aSize.Width*rtl::math::sin( fAnglePi ); } } *************** *** 365,390 **** { //correct position for labels at the right top corner of something with a bottom left alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; - (void)fAnglePi; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! //todo ! (void)rfXCorrection;(void)rfYCorrection;(void)aSize; } else if( fAnglePositiveDegree<= 180.0 ) { ! //todo } else if( fAnglePositiveDegree<= 270.0 ) { ! //todo } else { ! //todo } } --- 373,402 ---- { //correct position for labels at the right top corner of something with a bottom left alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! rfXCorrection = aSize.Height*rtl::math::sin( fAnglePi ); } else if( fAnglePositiveDegree<= 180.0 ) { ! double beta = fAnglePi-F_PI/2.0; ! rfXCorrection = aSize.Width*rtl::math::sin( beta ) ! +aSize.Height*rtl::math::cos( beta ); ! rfYCorrection = -aSize.Height*rtl::math::sin( beta ); } else if( fAnglePositiveDegree<= 270.0 ) { ! double beta = 3*F_PI/2.0 - fAnglePi; ! rfXCorrection = aSize.Width*rtl::math::sin( beta ); ! rfYCorrection = -aSize.Width*rtl::math::cos( beta ) ! -aSize.Height*rtl::math::sin( beta ); } else { ! rfYCorrection = aSize.Width*rtl::math::sin( fAnglePi ); } } *************** *** 393,418 **** { //correct position for labels at the right bottom corner of something with a top left alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; - (void)fAnglePi; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! //todo ! (void)rfXCorrection;(void)rfYCorrection;(void)aSize; } else if( fAnglePositiveDegree<= 180.0 ) { ! //todo } else if( fAnglePositiveDegree<= 270.0 ) { ! //todo } else { ! //todo } } --- 405,434 ---- { //correct position for labels at the right bottom corner of something with a top left alignment double fAnglePi = fAnglePositiveDegree*F_PI/180.0; if( fAnglePositiveDegree==0.0 ) { } else if( fAnglePositiveDegree<= 90.0 ) { ! rfYCorrection = aSize.Width*rtl::math::sin( fAnglePi ); } else if( fAnglePositiveDegree<= 180.0 ) { ! double beta = fAnglePi-F_PI/2.0; ! rfXCorrection = aSize.Width*rtl::math::sin( beta ); ! rfYCorrection = aSize.Height*rtl::math::sin( beta ) ! +aSize.Width*rtl::math::cos( beta ); } else if( fAnglePositiveDegree<= 270.0 ) { ! double beta = 3*F_PI/2.0 - fAnglePi; ! rfXCorrection = aSize.Height*rtl::math::cos( beta ) ! +aSize.Width*rtl::math::sin( beta ); ! rfYCorrection = aSize.Height*rtl::math::sin( beta ); } else { ! rfXCorrection = -aSize.Height*rtl::math::sin( fAnglePi ); } } *************** *** 448,453 **** --- 464,470 ---- break; case LABEL_ALIGN_BOTTOM: lcl_correctRotation_Bottom( fXCorrection, fYCorrection, fAnglePositiveDegree, aSize, bRotateAroundCenter ); + break; case LABEL_ALIGN_LEFT_TOP: lcl_correctRotation_Left_Top( fXCorrection, fYCorrection, fAnglePositiveDegree, aSize ); break;