diff options
author | Armin Le Grand <Armin.Le.Grand@Sun.COM> | 2009-09-29 18:33:34 +0200 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@Sun.COM> | 2009-09-29 18:33:34 +0200 |
commit | 78fb1283ea0f5a059740790e3933fe60b520c7cf (patch) | |
tree | 881578cf78604d0e571e8313fb46d36b29e79ce3 /drawinglayer/inc | |
parent | 2d634e6084547875a170d8350850110238b9e55c (diff) |
#i97509# corrected usage of create/get/2D/3DDecomposition for all derivations
Diffstat (limited to 'drawinglayer/inc')
-rw-r--r-- | drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx | 12 | ||||
-rw-r--r-- | drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx | 18 |
2 files changed, 23 insertions, 7 deletions
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx index e505594b2a76..c42853fe54b2 100644 --- a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx +++ b/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx @@ -99,15 +99,15 @@ namespace drawinglayer class AnimatedBlinkPrimitive2D : public AnimatedSwitchPrimitive2D { protected: - // create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - public: AnimatedBlinkPrimitive2D( const animation::AnimationEntry& rAnimationEntry, const Primitive2DSequence& rChildren, bool bIsTextAnimation); + // create local decomposition + virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; + // provide unique ID DeclPrimitrive2DIDBlock() }; @@ -127,9 +127,6 @@ namespace drawinglayer std::vector< basegfx::tools::B2DHomMatrixBufferedDecompose > maMatrixStack; protected: - // create local decomposition - virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; - public: AnimatedInterpolatePrimitive2D( const std::vector< basegfx::B2DHomMatrix >& rmMatrixStack, @@ -137,6 +134,9 @@ namespace drawinglayer const Primitive2DSequence& rChildren, bool bIsTextAnimation); + // create local decomposition + virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const; + // provide unique ID DeclPrimitrive2DIDBlock() }; diff --git a/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx index 5ce81e8c7ad6..695d16ec7cf5 100644 --- a/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx +++ b/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx @@ -55,14 +55,25 @@ namespace drawinglayer class PolygonTubePrimitive3D : public PolygonHairlinePrimitive3D { private: + // hold the last decompositon since it's expensive + Primitive3DSequence maLast3DDecomposition; + + // visualisation parameters double mfRadius; double mfDegreeStepWidth; double mfMiterMinimumAngle; basegfx::B2DLineJoin maLineJoin; protected: + /** access methods to maLast3DDecomposition. The usage of this methods may allow + later thread-safe stuff to be added if needed. Only to be used by getDecomposition() + implementations for buffering the last decomposition. + */ + const Primitive3DSequence& getLast3DDecomposition() const { return maLast3DDecomposition; } + void setLast3DDecomposition(const Primitive3DSequence& rNew) { maLast3DDecomposition = rNew; } + // local decomposition. - virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; + Primitive3DSequence impCreate3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; public: PolygonTubePrimitive3D( @@ -81,6 +92,11 @@ namespace drawinglayer // compare operator virtual bool operator==(const BasePrimitive3D& rPrimitive) const; + /** local decomposition. Use own buffering since we are not derived from + BufferedDecompositionPrimitive3D + */ + virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const; + // provide unique ID DeclPrimitrive3DIDBlock() }; |