diff options
Diffstat (limited to 'chart2/source/view/main/Stripe.cxx')
-rw-r--r-- | chart2/source/view/main/Stripe.cxx | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/chart2/source/view/main/Stripe.cxx b/chart2/source/view/main/Stripe.cxx index 67b2396682aa..cb35e0e010b9 100644 --- a/chart2/source/view/main/Stripe.cxx +++ b/chart2/source/view/main/Stripe.cxx @@ -161,7 +161,7 @@ uno::Any Stripe::getNormalsPolygon() const return uno::Any( &aPP, ::getCppuType((const drawing::PolyPolygonShape3D*)0) ); } -uno::Any Stripe::getTexturePolygon() const +uno::Any Stripe::getTexturePolygon( bool bRotatedTexture ) const { drawing::PolyPolygonShape3D aPP; @@ -181,21 +181,42 @@ uno::Any Stripe::getTexturePolygon() const double* pInnerSequenceY = pOuterSequenceY->getArray(); double* pInnerSequenceZ = pOuterSequenceZ->getArray(); - *pInnerSequenceX++ = 0.0; - *pInnerSequenceY++ = 0.0; - *pInnerSequenceZ++ = 0.0; + if( !bRotatedTexture ) + { + *pInnerSequenceX++ = 0.0; + *pInnerSequenceY++ = 0.0; + *pInnerSequenceZ++ = 0.0; + + *pInnerSequenceX++ = 1.0; + *pInnerSequenceY++ = 0.0; + *pInnerSequenceZ++ = 0.0; - *pInnerSequenceX++ = 1.0; - *pInnerSequenceY++ = 0.0; - *pInnerSequenceZ++ = 0.0; + *pInnerSequenceX++ = 1.0; + *pInnerSequenceY++ = 1.0; + *pInnerSequenceZ++ = 0.0; - *pInnerSequenceX++ = 1.0; - *pInnerSequenceY++ = 1.0; - *pInnerSequenceZ++ = 0.0; + *pInnerSequenceX++ = 0.0; + *pInnerSequenceY++ = 1.0; + *pInnerSequenceZ++ = 0.0; + } + else + { + *pInnerSequenceX++ = 1.0; + *pInnerSequenceY++ = 0.0; + *pInnerSequenceZ++ = 0.0; - *pInnerSequenceX++ = 0.0; - *pInnerSequenceY++ = 1.0; - *pInnerSequenceZ++ = 0.0; + *pInnerSequenceX++ = 1.0; + *pInnerSequenceY++ = 1.0; + *pInnerSequenceZ++ = 0.0; + + *pInnerSequenceX++ = 0.0; + *pInnerSequenceY++ = 1.0; + *pInnerSequenceZ++ = 0.0; + + *pInnerSequenceX++ = 0.0; + *pInnerSequenceY++ = 0.0; + *pInnerSequenceZ++ = 0.0; + } return uno::Any( &aPP, ::getCppuType((const drawing::PolyPolygonShape3D*)0) ); } |