diff options
author | Oliver Bolte <obo@openoffice.org> | 2008-10-17 08:40:10 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2008-10-17 08:40:10 +0000 |
commit | a8ac4bc4145e7e558153b58c87b2def339aebe36 (patch) | |
tree | d1f5da0a1b702f12725b2b82117b7ff49872bb21 /drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx | |
parent | ae562e931a98e708a75e8d140cf1ff24854acfc7 (diff) |
CWS-TOOLING: integrate CWS aw057
Diffstat (limited to 'drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx')
-rw-r--r-- | drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx b/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx index 639635970c87..e27b8b43fe93 100644 --- a/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx +++ b/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx @@ -41,6 +41,7 @@ #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx> #include <basegfx/polygon/b3dpolypolygontools.hxx> #include <drawinglayer/attribute/sdrattribute.hxx> +#include <drawinglayer/primitive3d/hittestprimitive3d.hxx> ////////////////////////////////////////////////////////////////////////////// @@ -58,18 +59,37 @@ namespace drawinglayer if(getPolyPolygon3D().count()) { - // add fill + ::std::vector< basegfx::B3DPolyPolygon > aFill; + aFill.push_back(getPolyPolygon3D()); + if(getSdrLFSAttribute().getFill()) { - // create single PolyPolygonFill primitives - ::std::vector< basegfx::B3DPolyPolygon > aFill; - aFill.push_back(getPolyPolygon3D()); - + // add fill aRetval = create3DPolyPolygonFillPrimitives( - aFill, getTransform(), getTextureSize(), - getSdr3DObjectAttribute(), *getSdrLFSAttribute().getFill(), + aFill, + getTransform(), + getTextureSize(), + getSdr3DObjectAttribute(), + *getSdrLFSAttribute().getFill(), getSdrLFSAttribute().getFillFloatTransGradient()); } + else + { + // create simplified 3d hit test geometry + const attribute::SdrFillAttribute aSimplifiedFillAttribute(0.0, basegfx::BColor(), 0, 0, 0); + + aRetval = create3DPolyPolygonFillPrimitives( + aFill, + getTransform(), + getTextureSize(), + getSdr3DObjectAttribute(), + aSimplifiedFillAttribute, + 0); + + // encapsulate in HitTestPrimitive3D and add + const Primitive3DReference xRef(new HitTestPrimitive3D(aRetval)); + aRetval = Primitive3DSequence(&xRef, 1L); + } // add line if(getSdrLFSAttribute().getLine()) |